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

