Chase::init:
		lsp	param[$0]
		ldi	$1
		ge?
		bnt	code_0082
		lap	param[$1]
		aTop	client
		lsp	param[$0]
		ldi	$2
		ge?
		bnt	code_0082
		lap	param[$2]
		aTop	who
		lsp	param[$0]
		ldi	$3		; z
		ge?
		bnt	code_0082
		lap	param[$3]
		aTop	distance
		lsp	param[$0]
		ldi	$4		; scaleX
		ge?
		bnt	code_0082
		lap	param[$4]
		aTop	caller
code_0082:	pushi	$94		; 148, init
		pushi	$4		; scaleX
		pTos	client
		push1
		push0
		pToa	who
		send	$4
		bnot
		push
		push2
		push0
		pToa	who
		send	$4
		bnot
		push
		pTos	caller
		super	Motion, $c
		bnot
		ret

Chase::onTarget:
		pushi	$165		; 357, distanceTo
		push1
		pTos	who
		pToa	client
		send	$6
		bnot
		push
		pToa	distance
		le?
		ret

Chase::setTarget:
		lap	param[$0]
		bnt	code_00c1
		pushi	$157		; 343, setTarget
		push0
		&rest	$1
		super	Motion, $4
		bnot
		jmp	code_00e3

code_00c1:	pushi	$158		; 344, onTarget
		push0
		self	$4
		bnot
		not
		bnt	code_00e3
		pushi	$157		; 343, setTarget
		push2
		push1
		push0
		pToa	who
		send	$4
		bnot
		push
		push2
		push0
		pToa	who
		send	$4
		bnot
		push
		super	Motion, $8
		bnot
code_00e3:	ret

Chase::doit:
		pushi	$45		; 69, 'E', doit
		push0
		super	Motion, $4
		bnot
		bnt	code_0115
		pushi	$158		; 344, onTarget
		push0
		self	$4
		bnot
		not
		bnt	code_0115
		pushi	$94		; 148, init
		pushi	$4		; scaleX
		pTos	client
		push1
		push0
		pToa	who
		send	$4
		bnot
		push
		push2
		push0
		pToa	who
		send	$4
		bnot
		push
		pTos	caller
		super	Motion, $c
		bnot
code_0115:	ret

