167 lines
2.4 KiB
Plaintext
167 lines
2.4 KiB
Plaintext
BWeapon::bePutOn:
|
|
link $3
|
|
pushi $3ec ; 1004, pAction
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
dup
|
|
ldi $a ; 10, inTop
|
|
eq?
|
|
bnt code_0060
|
|
ldi $1
|
|
sat temp[$2]
|
|
jmp code_007c
|
|
|
|
code_0060: dup
|
|
ldi $d ; 13, seenRect
|
|
eq?
|
|
bnt code_006c
|
|
ldi $1
|
|
sat temp[$2]
|
|
jmp code_007c
|
|
|
|
code_006c: dup
|
|
ldi $11 ; 17, bitmap
|
|
eq?
|
|
bnt code_0078
|
|
ldi $1
|
|
sat temp[$2]
|
|
jmp code_007c
|
|
|
|
code_0078: ldi $0
|
|
sat temp[$2]
|
|
code_007c: toss
|
|
pushi $3ed ; 1005, pBaseView
|
|
push0
|
|
pToa pSelf
|
|
send $4
|
|
bnot
|
|
sat temp[$1]
|
|
push2
|
|
pushi $80 ; 128, lastKey
|
|
push
|
|
ldi $a ; 10, inTop
|
|
add
|
|
push
|
|
callk kernel_5, $4
|
|
bnot
|
|
bnt code_00ac
|
|
ldi $0
|
|
aTop pDamageType
|
|
lat temp[$2]
|
|
bnt code_00f6
|
|
pushi $373 ; 883, setAction
|
|
push1
|
|
pushi $a ; 10, inTop
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
jmp code_00f6
|
|
|
|
code_00ac: push2
|
|
pushi $80 ; 128, lastKey
|
|
lst temp[$1]
|
|
ldi $d ; 13, seenRect
|
|
add
|
|
push
|
|
callk kernel_5, $4
|
|
bnot
|
|
bnt code_00d1
|
|
ldi $1
|
|
aTop pDamageType
|
|
lat temp[$2]
|
|
bnt code_00f6
|
|
pushi $373 ; 883, setAction
|
|
push1
|
|
pushi $d ; 13, seenRect
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
jmp code_00f6
|
|
|
|
code_00d1: push2
|
|
pushi $80 ; 128, lastKey
|
|
lst temp[$1]
|
|
ldi $11 ; 17, bitmap
|
|
add
|
|
push
|
|
callk kernel_5, $4
|
|
bnot
|
|
bnt code_00f6
|
|
ldi $2
|
|
aTop pDamageType
|
|
lat temp[$2]
|
|
bnt code_00f6
|
|
pushi $373 ; 883, setAction
|
|
push1
|
|
pushi $11 ; 17, bitmap
|
|
lap param[$1]
|
|
send $6
|
|
bnot
|
|
jmp code_00f6
|
|
|
|
code_00f6: pushi $393 ; 915, bePutOn
|
|
push1
|
|
lsp param[$1]
|
|
&rest $2
|
|
super BWearable, $6
|
|
bnot
|
|
sat temp[$0]
|
|
pushi $40f ; 1039, pWeapon
|
|
push1
|
|
pushSelf
|
|
pToa pWearer
|
|
send $6
|
|
bnot
|
|
lat temp[$0]
|
|
ret
|
|
|
|
BWeapon::fromPacket:
|
|
link $1
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pSize
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pDamageType
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pSpeed
|
|
pushi $134 ; 308, getByte
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pPointBonus
|
|
pushi $2c8 ; 712, lookup
|
|
push1
|
|
pushi $136 ; 310, getLong
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
lag global[$6a]
|
|
send $6
|
|
bnot
|
|
sat temp[$0]
|
|
bnt code_015e
|
|
pushi $393 ; 915, bePutOn
|
|
push1
|
|
push
|
|
self $6
|
|
bnot
|
|
code_015e: ret
|
|
|