List
func(id int, priceUgnot int64)- OID
- 04d5ee…c2be:3
List details
UpdatePrice
func(id int, priceUgnot int64)- OID
- 04d5ee…c2be:5
UpdatePrice details
Cancel
func(id int)- OID
- 04d5ee…c2be:6
Cancel details
Buy
func(id int)- OID
- 04d5ee…c2be:7
Buy details
SellerOf
func(id int) .uverse.address- OID
- 04d5ee…c2be:8
SellerOf details
PriceOf
func(id int) int64- OID
- 04d5ee…c2be:9
PriceOf details
ImageOf
func(id int) string- OID
- 04d5ee…c2be:10
ImageOf details
NameOf
func(id int) string- OID
- 04d5ee…c2be:11
NameOf details
GrcOwnerOf
func(id int) string- OID
- 04d5ee…c2be:12
GrcOwnerOf details
ItemLine
func(id int) string- OID
- 04d5ee…c2be:13
ItemLine details
ListOpen
func() string- OID
- 04d5ee…c2be:14
ListOpen details
addrStr
func(a .uverse.address) string- OID
- 04d5ee…c2be:15
addrStr details
damageRow
typeValue
fish.damageRow
blows
[][]fish.damageRowblows\[victimID] sums HP actually removed, keyed by the attacker's owner.
Value
<zero>
Bite
func(id int, target int)Bite is one user call and takes no payment. The hit test is sector-center reach plus a 42 degree mouth cone. A miss does not start cooldown. Members of the same party cannot bite each other. A killing blow pays the smaller Pool X and leaves the NFT at 30% HP. The killer share is split by HP removed. Empty cheer pays the team sink. A new kill does not drop watch shards. Buyback GNOT that cannot buy one FISH from the reserve burns. Spent GNOT joins liquidity.
- OID
- 04d5ee…c2be:17
Bite details
payKill
func(atk *fish.fishBody, vic *fish.fishBody, rlm .uverse.realm)- OID
- 04d5ee…c2be:19
payKill details
payKiller
func(owner .uverse.address, victim int, amount int64, rlm .uverse.realm)payKiller splits the killer share by HP removed among current members. The party realm holds no coins. A solo owner, or a party with no recorded damage, receives the whole share. Dust goes to the highest damage, and a tie prefers the owner who landed the blow.
- OID
- 04d5ee…c2be:20
payKiller details
splitWeights
func(amount int64, weights []int, prefer .uverse.address, owners [].uverse.address) []int64- OID
- 04d5ee…c2be:21
splitWeights details
addDamage
func(id int, owner .uverse.address, n int)- OID
- 04d5ee…c2be:22
addDamage details
damageOf
func(id int, owner .uverse.address) int- OID
- 04d5ee…c2be:23
damageOf details
clearDamage
func(id int)clearDamage drops incoming blows so the next entry starts clean.
- OID
- 04d5ee…c2be:24
clearDamage details
creditBout
func(body *fish.fishBody)creditBout counts one finished entry. Leave does not call it. SettleMatch does not count the entry again.
- OID
- 04d5ee…c2be:25
creditBout details
liveFish
func(body *fish.fishBody, now int64) bool- OID
- 04d5ee…c2be:26
liveFish details
downHP
func(max int) int- OID
- 04d5ee…c2be:27
downHP details
coveredStake
func(killerPool int64, victimPool int64) int64- OID
- 04d5ee…c2be:28
coveredStake details
splitParts
func(amount int64) (killer int64, lp int64, team int64, buyback int64, cheer int64)splitParts is 80/10/3/3/4. Killer, liquidity, team, FISH buyback, cheer. Dust joins the buyback.
- OID
- 04d5ee…c2be:29
splitParts details
settleBuyback
func(budget int64, rlm .uverse.realm) int64settleBuyback spends whole FISH from the reserve at 0.02 GNOT each. GNOT that cannot buy one FISH stays with the caller to burn. This does not mint.
- OID
- 04d5ee…c2be:30
settleBuyback details
payWinFish
func(owner .uverse.address, stake int64, rlm .uverse.realm)payWinFish pays 1 whole FISH per 1 whole GNOT of the winner stake, then the party bonus. Both come from the reserve after buyback. A short reserve pays less. This does not mint.
- OID
- 04d5ee…c2be:31
payWinFish details
reserveUnits
func(whole int64) int64- OID
- 04d5ee…c2be:32
reserveUnits details
partyMembers
func(owner .uverse.address, rlm .uverse.realm) [].uverse.address- OID
- 04d5ee…c2be:33
partyMembers details
partyFishBonusBps
func(members int) int- OID
- 04d5ee…c2be:34
partyFishBonusBps details
splitPartyFish
func(bonus int64, owners [].uverse.address, killer .uverse.address) []int64- OID
- 04d5ee…c2be:35
splitPartyFish details
strikeDamage
func(bite int, hpMax int, atkSize string, defSize string) int- OID
- 04d5ee…c2be:36
strikeDamage details
sizeIndex
func(size string) int- OID
- 04d5ee…c2be:37
sizeIndex details
biteOf
func(rarity string, size string, trait string) int- OID
- 04d5ee…c2be:38
biteOf details
cooldownMs
func(rarity string) int64- OID
- 04d5ee…c2be:39
cooldownMs details
reachUnits
func(rarity string, size string, dodgeTenths int) int64reachUnits is the dodged bite reach in 1/10000 of a world unit. A sector is 8 world units, so the next center is 80000 units away.
- OID
- 04d5ee…c2be:40
reachUnits details
inReach
func(atk *fish.fishBody, def *fish.fishBody) bool- OID
- 04d5ee…c2be:41
inReach details
inReachDodge
func(atk *fish.fishBody, def *fish.fishBody, dodge int) bool- OID
- 04d5ee…c2be:42
inReachDodge details
denom
untyped stringValue
"ugnot"
ugnot
untyped bigintValue
(1000000 <untyped> bigint)
layFee
untyped bigintValue
(2000000 <untyped> bigint)
fishUnit
untyped bigintValue
(1000000 <untyped> bigint)
twapUgnot
untyped bigintValue
(20000 <untyped> bigint)
upgradeFishFee
untyped bigintValue
(15000000 <untyped> bigint)
protocolBps
untyped bigintValue
(200 <untyped> bigint)
maxRoyalty
untyped bigintValue
(1000 <untyped> bigint)
maxPrice
untyped bigintValue
(1000000000000 <untyped> bigint)
stakeCeil
untyped bigintValue
(922337203685477 <untyped> bigint)
combatLockMs
untyped bigintValue
(5000 <untyped> bigint)
layBlocks
untyped bigintValue
(2 <untyped> bigint)
listCap
untyped bigintValue
(50 <untyped> bigint)
fishBody
typeValue
fish.fishBody
bodies
[]*fish.fishBody- OID
- 04d5ee…c2be:312
bodies details
nextID
intValue
5
minted
intValue
5
inited
boolValue
true
token
*v0.Token- OID
- 04d5ee…c2be:220
token details
ledger
*v0.PrivateLedger- OID
- 04d5ee…c2be:222
ledger details
metaView
*v0.Metadata- OID
- 04d5ee…c2be:229
metaView details
metaLed
*v0.Ledger- OID
- 04d5ee…c2be:235
metaLed details
tokenSeq
v0.IDValue
<zero>
creator
.uverse.addressValue
<gnolang.StringValue>
self
.uverse.addressValue
<gnolang.StringValue>
upgradeSink
.uverse.addressValue
<gnolang.StringValue>
lpSink
.uverse.addressValue
<gnolang.StringValue>
burnSink
.uverse.addressValue
<gnolang.StringValue>
teamSink
.uverse.addressValue
<gnolang.StringValue>
protocolSink
.uverse.addressValue
<gnolang.StringValue>
seasonSink
.uverse.addressValue
<gnolang.StringValue>
fishReserve
.uverse.addressValue
<gnolang.StringValue>
royaltyBps
int64Value
500
imageBase
stringValue
"https://shoal.example/art"
portrait
stringValue
"https://gateway.pinata.cloud/ipfs/bafybeid6uahelm3h2oo7rs4z6cgdyrpkueuvcychwuz5fw5tf7mj6hggli"
colName
stringValue
"Shoal Fish"
colSymbol
stringValue
"FISH"
mintFee
int64Value
150000000
stakeMin
int64Value
10000000
Init
func(name string, symbol string, images string, royalty int64, upgrade .uverse.address, lp .uverse.address, burn .uverse.address, team .uverse.address, protocol .uverse.address, season .uverse.address)- OID
- 04d5ee…c2be:68
Init details
Mint
func(name string, size string, trait string) int- OID
- 04d5ee…c2be:70
Mint details
SetArt
func(image string)SetArt sets one https image on every unburned fish. The creator may call it again.
- OID
- 04d5ee…c2be:71
SetArt details
Portrait
func() string- OID
- 04d5ee…c2be:72
Portrait details
Transfer
func(to .uverse.address, id int)- OID
- 04d5ee…c2be:73
Transfer details
TransferFrom
func(from string, to string, tid string)- OID
- 04d5ee…c2be:74
TransferFrom details
Approve
func(to string, tid string)- OID
- 04d5ee…c2be:75
Approve details
SetApprovalForAll
func(operator string, approved bool)- OID
- 04d5ee…c2be:76
SetApprovalForAll details
OwnerOf
func(tid string) (.uverse.address, .uverse.error)- OID
- 04d5ee…c2be:77
OwnerOf details
Name
func() string- OID
- 04d5ee…c2be:78
Name details
Symbol
func() string- OID
- 04d5ee…c2be:79
Symbol details
GrcName
func() string- OID
- 04d5ee…c2be:80
GrcName details
GrcSymbol
func() string- OID
- 04d5ee…c2be:81
GrcSymbol details
BalanceOf
func(addr string) int64- OID
- 04d5ee…c2be:82
BalanceOf details
GrcBalanceOf
func(addr string) int64- OID
- 04d5ee…c2be:83
GrcBalanceOf details
TokenURI
func(tid string) string- OID
- 04d5ee…c2be:84
TokenURI details
TokensOf
func(owner string) string- OID
- 04d5ee…c2be:85
TokensOf details
TokenOfOwnerByIndex
func(owner string, index int64) string- OID
- 04d5ee…c2be:86
TokenOfOwnerByIndex details
TotalSupply
func() int64- OID
- 04d5ee…c2be:87
TotalSupply details
GetApproved
func(id int) string- OID
- 04d5ee…c2be:88
GetApproved details
IsApprovedForAll
func(owner string, operator string) bool- OID
- 04d5ee…c2be:89
IsApprovedForAll details
MintPrice
func() int64- OID
- 04d5ee…c2be:90
MintPrice details
StakeMin
func() int64- OID
- 04d5ee…c2be:91
StakeMin details
StakeCeil
func() int64- OID
- 04d5ee…c2be:92
StakeCeil details
Version
func() string- OID
- 04d5ee…c2be:93
Version details
SetFishReserve
func(who .uverse.address)SetFishReserve names the address whose FISH allowance pays a kill. The reserve must approve this realm. This does not mint FISH.
- OID
- 04d5ee…c2be:94
SetFishReserve details
FishReserve
func() .uverse.address- OID
- 04d5ee…c2be:95
FishReserve details
SetMintFee
func(next int64)SetMintFee changes the next mint price. The default is 50 GNOT.
- OID
- 04d5ee…c2be:96
SetMintFee details
SetStakeMin
func(next int64)SetStakeMin changes the sea floor. There is no product maximum. stakeCeil stays the integer ceiling.
- OID
- 04d5ee…c2be:97
SetStakeMin details
MaxSupply
func() int- OID
- 04d5ee…c2be:98
MaxSupply details
Minted
func() int- OID
- 04d5ee…c2be:99
Minted details
RoyaltyBps
func() int64- OID
- 04d5ee…c2be:100
RoyaltyBps details
Creator
func() .uverse.address- OID
- 04d5ee…c2be:101
Creator details
ProtocolBps
func() int64- OID
- 04d5ee…c2be:102
ProtocolBps details
BoutsOf
func(id int) int- OID
- 04d5ee…c2be:103
BoutsOf details
PoolOf
func(id int) int64- OID
- 04d5ee…c2be:104
PoolOf details
Listed
func(id int) bool- OID
- 04d5ee…c2be:105
Listed details
InMatch
func(id int) bool- OID
- 04d5ee…c2be:106
InMatch details
LayOpen
func(id int) bool- OID
- 04d5ee…c2be:107
LayOpen details
RarityOf
func(id int) string- OID
- 04d5ee…c2be:108
RarityOf details
SizeOf
func(id int) string- OID
- 04d5ee…c2be:109
SizeOf details
TraitOf
func(id int) string- OID
- 04d5ee…c2be:110
TraitOf details
SpeciesOf
func(id int) string- OID
- 04d5ee…c2be:111
SpeciesOf details
issue
func(to .uverse.address, name string, rarity string, size string, trait string) int- OID
- 04d5ee…c2be:112
issue details
mintGRC
func(to .uverse.address, body *fish.fishBody)- OID
- 04d5ee…c2be:113
mintGRC details
writeURI
func(body *fish.fishBody)- OID
- 04d5ee…c2be:114
writeURI details
artOf
func(rarity string) string- OID
- 04d5ee…c2be:115
artOf details
burnGRC
func(id int)- OID
- 04d5ee…c2be:116
burnGRC details
moveToken
func(spender .uverse.address, from .uverse.address, to .uverse.address, id int)- OID
- 04d5ee…c2be:117
moveToken details
tokenJSON
func(body *fish.fishBody) string- OID
- 04d5ee…c2be:118
tokenJSON details
requireUser
func() .uverse.address- OID
- 04d5ee…c2be:119
requireUser details
requireInit
func()- OID
- 04d5ee…c2be:120
requireInit details
takeExact
func(n int64)- OID
- 04d5ee…c2be:121
takeExact details
payMint
func(fee int64, rlm .uverse.realm)- OID
- 04d5ee…c2be:122
payMint details
fishTokenReady
func() bool- OID
- 04d5ee…c2be:123
fishTokenReady details
send
func(to .uverse.address, amt int64, rlm .uverse.realm)- OID
- 04d5ee…c2be:124
send details
must
func(id int) *fish.fishBody- OID
- 04d5ee…c2be:125
must details
guardMovable
func(body *fish.fishBody)- OID
- 04d5ee…c2be:126
guardMovable details
unplayed
func(owner .uverse.address) bool- OID
- 04d5ee…c2be:127
unplayed details
tokenID
func(id int) v0.TokenID- OID
- 04d5ee…c2be:128
tokenID details
parseID
func(tid string) int- OID
- 04d5ee…c2be:129
parseID details
validFishName
func(name string) bool- OID
- 04d5ee…c2be:130
validFishName details
validCollectionName
func(name string) bool- OID
- 04d5ee…c2be:131
validCollectionName details
validArt
func(image string) bool- OID
- 04d5ee…c2be:132
validArt details
validSymbol
func(symbol string) bool- OID
- 04d5ee…c2be:133
validSymbol details
validSize
func(size string) bool- OID
- 04d5ee…c2be:134
validSize details
validTrait
func(trait string) bool- OID
- 04d5ee…c2be:135
validTrait details
speciesOf
func(rarity string) string- OID
- 04d5ee…c2be:136
speciesOf details
hpBase
func(rarity string) int- OID
- 04d5ee…c2be:137
hpBase details
hpOf
func(rarity string, size string, trait string) int- OID
- 04d5ee…c2be:138
hpOf details
dodgeOf
func(size string) int- OID
- 04d5ee…c2be:139
dodgeOf details
arenaStake
func(stake int64) bool- OID
- 04d5ee…c2be:140
arenaStake details
Register
func(id int, stake int64)- OID
- 04d5ee…c2be:141
Register details
Leave
func(id int)- OID
- 04d5ee…c2be:143
Leave details
SettleMatch
func(id int)- OID
- 04d5ee…c2be:144
SettleMatch details
CommitLay
func(id int)- OID
- 04d5ee…c2be:145
CommitLay details
SettleLay
func(id int) int- OID
- 04d5ee…c2be:146
SettleLay details
Upgrade
func(keep int, food int) intUpgrade spends 15 FISH to step two played Common fish to Uncommon. The FISH fee burns. The team takes none of it. No GNOT moves. Higher tiers stay closed until a commit-reveal roll exists.
- OID
- 04d5ee…c2be:147
Upgrade details
burnBody
func(body *fish.fishBody)- OID
- 04d5ee…c2be:148
burnBody details
traitFrom
func(id int, commitHeight int64, settleHeight int64, unix int64) string- OID
- 04d5ee…c2be:149
traitFrom details
seaRadius
untyped bigintValue
(360 <untyped> bigint)
sector
untyped bigintValue
(8 <untyped> bigint)
unitMilli
untyped bigintValue
(1000 <untyped> bigint)
sectorMilli
untyped bigintValue
(8000 <untyped> bigint)
mouthAlignNum
untyped bigintValue
(552264 <untyped> bigint)
mouthContact
untyped bigintValue
(1000 <untyped> bigint)
healsPerDay
untyped bigintValue
(2 <untyped> bigint)
healPercent
untyped bigintValue
(40 <untyped> bigint)
healCooldownMs
untyped bigintValue
(28800000 <untyped> bigint)
ictOffsetMs
untyped bigintValue
(25200000 <untyped> bigint)
dayMs
untyped bigintValue
(86400000 <untyped> bigint)
springPeriodMs
untyped bigintValue
(20000 <untyped> bigint)
springLifeMs
untyped bigintValue
(15000 <untyped> bigint)
springRadiusMilli
untyped bigintValue
(3000 <untyped> bigint)
springHealPercent
untyped bigintValue
(20 <untyped> bigint)
shelterHPMax
untyped bigintValue
(64 <untyped> bigint)
shelterRebuildMs
untyped bigintValue
(20000 <untyped> bigint)
burstWindowMs
untyped bigintValue
(1000 <untyped> bigint)
burstCoolMs
untyped bigintValue
(2000 <untyped> bigint)
viewerShards
untyped bigintValue
(10 <untyped> bigint)
viewerWatchMs
untyped bigintValue
(15000 <untyped> bigint)
viewerWindowMs
untyped bigintValue
(30000 <untyped> bigint)
minCheer
untyped bigintValue
(1000000 <untyped> bigint)
growMediumAt
untyped bigintValue
(2 <untyped> bigint)
growLargeAt
untyped bigintValue
(4 <untyped> bigint)
growEvolveAt
untyped bigintValue
(6 <untyped> bigint)
cheerRow
typeValue
fish.cheerRow
claimRow
typeValue
fish.claimRow
watchRow
typeValue
fish.watchRow
disc
typeValue
fish.disc
cheers
[]fish.cheerRowValue
<zero>
claims
[]fish.claimRowValue
<zero>
watches
[]fish.watchRowValue
<zero>
killSeq
intValue
0
shelterHP
[]int- OID
- 04d5ee…c2be:285
shelterHP details
shelterDown
[]int64- OID
- 04d5ee…c2be:286
shelterDown details
shelterTable
[]fish.disc- OID
- 04d5ee…c2be:157
shelterTable details
rockTable
[]fish.disc- OID
- 04d5ee…c2be:163
rockTable details
Turn
func(id int, dx int, dz int)- OID
- 04d5ee…c2be:167
Turn details
Move
func(id int)- OID
- 04d5ee…c2be:169
Move details
Burst
func(id int)- OID
- 04d5ee…c2be:170
Burst details
Heal
func(id int)- OID
- 04d5ee…c2be:171
Heal details
RushHeal
func(id int)- OID
- 04d5ee…c2be:172
RushHeal details
Cheer
func(id int)Cheer locks ugnot on a fish already in the sea. The deposit comes back when that fish leaves or is downed. It does not change bite.
- OID
- 04d5ee…c2be:173
Cheer details
Watch
func(on bool)- OID
- 04d5ee…c2be:174
Watch details
Claim
func(id int)- OID
- 04d5ee…c2be:175
Claim details
swimming
func(id int) *fish.fishBody- OID
- 04d5ee…c2be:176
swimming details
walletInSea
func(owner .uverse.address) bool- OID
- 04d5ee…c2be:177
walletInSea details
tooHurt
func(body *fish.fishBody) bool- OID
- 04d5ee…c2be:178
tooHurt details
placeSwimmer
func(body *fish.fishBody)- OID
- 04d5ee…c2be:179
placeSwimmer details
tryPlace
func(body *fish.fishBody, sx int, sz int) bool- OID
- 04d5ee…c2be:180
tryPlace details
stepFish
func(body *fish.fishBody, now int64)- OID
- 04d5ee…c2be:181
stepFish details
sectorInSea
func(sx int, sz int) bool- OID
- 04d5ee…c2be:182
sectorInSea details
cellTaken
func(sx int, sz int, self int) bool- OID
- 04d5ee…c2be:183
cellTaken details
spawnBlocked
func(sx int, sz int) bool- OID
- 04d5ee…c2be:184
spawnBlocked details
cellBlocked
func(sx int, sz int, size string, now int64) bool- OID
- 04d5ee…c2be:185
cellBlocked details
cellMilli
func(sx int, sz int) (int, int)- OID
- 04d5ee…c2be:186
cellMilli details
insideDisc
func(x int, z int, cx int, cz int, r int) bool- OID
- 04d5ee…c2be:187
insideDisc details
ensureSea
func()- OID
- 04d5ee…c2be:188
ensureSea details
refreshShelter
func(i int, now int64)- OID
- 04d5ee…c2be:189
refreshShelter details
shelterAdmits
func(kind string, size string) bool- OID
- 04d5ee…c2be:190
shelterAdmits details
coverIndex
func(body *fish.fishBody, now int64) int- OID
- 04d5ee…c2be:191
coverIndex details
redirectShelter
func(atk *fish.fishBody, vic *fish.fishBody, now int64) bool- OID
- 04d5ee…c2be:192
redirectShelter details
mouthHit
func(atk *fish.fishBody, def *fish.fishBody) bool- OID
- 04d5ee…c2be:193
mouthHit details
shelterMouth
func(atk *fish.fishBody, vic *fish.fishBody, now int64) boolshelterMouth is a bite against the pocket, not against the fish's dodge. The attacker must stand outside, must not fit inside, and must face the fish.
- OID
- 04d5ee…c2be:194
shelterMouth details
discHolds
func(sx int, sz int, cx int, cz int, r int) boolSector centers sit off the practice discs, same as a spring on z = 0. The cell that holds the point counts as inside.
- OID
- 04d5ee…c2be:195
discHolds details
mouthAimed
func(atk *fish.fishBody, def *fish.fishBody, dodge int) bool- OID
- 04d5ee…c2be:196
mouthAimed details
faceMilli
func(dx int, dz int) (int, int)- OID
- 04d5ee…c2be:197
faceMilli details
mouthLead
func(size string) int- OID
- 04d5ee…c2be:198
mouthLead details
biteNow
func(body *fish.fishBody) int- OID
- 04d5ee…c2be:199
biteNow details
strikeFought
func(bite int, hpMax int, atkSize string, defSize string, atkR string, defR string) int- OID
- 04d5ee…c2be:200
strikeFought details
preyOf
func(rarity string) string- OID
- 04d5ee…c2be:201
preyOf details
nextRarity
func(rarity string) string- OID
- 04d5ee…c2be:202
nextRarity details
growFromKill
func(atk *fish.fishBody, vic *fish.fishBody)- OID
- 04d5ee…c2be:203
growFromKill details
worldSpeed
func(body *fish.fishBody) int- OID
- 04d5ee…c2be:204
worldSpeed details
moveDelay
func(body *fish.fishBody, now int64) int64- OID
- 04d5ee…c2be:205
moveDelay details
tierOf
func(rarity string) int- OID
- 04d5ee…c2be:206
tierOf details
rolledHeal
func(body *fish.fishBody, now int64) (day int64, used int, ready int64)- OID
- 04d5ee…c2be:207
rolledHeal details
writeHeal
func(body *fish.fishBody, day int64, used int, ready int64)- OID
- 04d5ee…c2be:208
writeHeal details
cheerLocked
func(id int) int64- OID
- 04d5ee…c2be:209
cheerLocked details
returnCheers
func(body *fish.fishBody, rlm .uverse.realm)- OID
- 04d5ee…c2be:210
returnCheers details
bookCheerClaims
func(atk *fish.fishBody, vic *fish.fishBody, cheer int64, now int64) int64- OID
- 04d5ee…c2be:211
bookCheerClaims details
bookWatchClaims
func(atk *fish.fishBody, vic *fish.fishBody, viewer int64, now int64) int64- OID
- 04d5ee…c2be:212
bookWatchClaims details
anyEligible
func(killer .uverse.address, victim .uverse.address, killAt int64) bool- OID
- 04d5ee…c2be:213
anyEligible details
watchEligible
func(who .uverse.address, killAt int64) bool- OID
- 04d5ee…c2be:214
watchEligible details
watchClaimed
func(who .uverse.address, killID int) bool- OID
- 04d5ee…c2be:215
watchClaimed details
dropWatch
func(who .uverse.address)- OID
- 04d5ee…c2be:216
dropWatch details
springMilli
func(now int64) (x int, z int, born int64, ok bool)- OID
- 04d5ee…c2be:217
springMilli details
springTouches
func(sx int, sz int, springX int, springZ int) bool- OID
- 04d5ee…c2be:218
springTouches details
touchSpring
func(body *fish.fishBody, now int64)- OID
- 04d5ee…c2be:219