* Script  9 TIMER
scrp 2 18 7 9
	gsub decf
	gsub dyse
	doif ov02 eq 0
		gsub mase
		doif ov03 eq 0
			gsub flya
			doif ov08 le 0
				addv ov07 1
				doif ov07 ge 10
					setv ov07 0
					gsub lkpl
				endi
			endi
			stop
		endi
		doif ov03 eq 1
			addv ov07 1
			doif ov07 ge 50
				gsub swlo
			endi
			setv var0 ov21
			setv var1 ov22
			gsub relp
			gsub chpl
			gsub flyt
			stop
		endi
		stop
	endi
	doif ov02 eq 1
		doif ov05 eq 0
			doif ov03 eq 0
				gsub flya
				addv ov07 1
				doif ov07 ge 10
					setv ov07 0
					gsub lkma
				endi
				stop
			endi
			doif ov03 eq 1
				addv ov07 1
				doif ov07 ge 30
					gsub swlo
				endi
				setv var0 ov21
				setv var1 ov22
				gsub relp
				gsub chma
				gsub flyt
				stop
			endi
			stop
		endi
		doif ov05 eq 1
			gsub wait
		endi
		stop
	endi
	doif ov02 eq 2
		gsub lay_
		stop
	endi
	doif ov02 eq 3
		gsub popn
		rndv var0 4 8
		reps var0
			gsub cegg
			targ ownr
		repe
		kill ownr
		stop
	endi
	subr decf
		subv ov08 1
		doif ov08 lt 0
			setv ov08 0
		endi
	retn
	subr dyse
		doif sean eq 3
			gsub die_
			stop
		endi
	retn
	subr mase
		doif seav ge 15
			setv ov02 1
			setv ov03 0
			setv ov07 10
			doif ov05 eq 1
				setv velx 0
				setv vely 0
			endi
			stop
		endi
	retn
	subr lkpl
		inst
		star 2 24 0
		doif targ ne 0
			doif ov00 eq 1
				setv var0 posx
				setv var1 post
				targ ownr
				setv ov03 1
				setv ov21 var0
				setv ov22 var1
			endi
		endi
		slow
	retn
	subr swlo
		setv ov03 0
		setv ov07 10
	retn
	subr chpl
		doif var0 ge -10
			doif var0 le 10
				doif var1 ge -10
					doif var1 le 10
						gsub poll
					endi
				endi
			endi
		endi
	retn
	subr poll
		setv var0 0
		etch 2 24 0
		doif ov00 eq 1
			setv var0 1
		endi
	next
	doif var0 eq 1
		tick 100
		setv velx 0
		setv vely 0
		base 3
		anim [1012R]
		wait 30
	endi
	setv var1 posy
	etch 2 24 0
	setv var2 post
	subv var2 var1
	doif relx ge -10
		doif relx le 10
			doif var2 ge -10
				doif var2 le 10
					mesg wrt+ targ 100 0 0 0
				endi
			endi
		endi
	endi
next
doif var0 eq 1
	addv ov08 100
	gsub swlo
	tick 4
	stop
endi
retn
subr lkma
	inst
	star 2 18 7
	doif targ ne 0
		doif ov02 eq 1
			doif ov05 eq 1
				setv var0 posx
				setv var1 posy
				targ ownr
				setv ov03 1
				setv ov21 var0
				setv ov22 var1
			endi
		endi
	endi
	slow
retn
subr chma
	doif var0 ge -10
		doif var0 le 10
			doif var1 ge -10
				doif var1 le 10
					gsub mate
				endi
			endi
		endi
	endi
retn
subr mate
	setv var0 0
	etch 2 18 7
	doif ov05 eq 1
		setv var0 1
	endi
next
doif var0 eq 1
	tick 100
	setv velx 0
	setv vely 0
	wait 30
endi
etch 2 18 7
doif relx ge -10
	doif relx le 10
		doif rely ge -10
			doif rely le 10
				mesg wrt+ targ 101 0 0 0
			endi
		endi
	endi
endi
next
doif var0 eq 1
	gsub swlo
	tick 4
	stop
endi
retn
subr wait
	rndv var0 0 30
	doif var0 eq 0
		base 0
		doif pose lt 6
			base 6
		endi
	endi
	anim [1012R]
	doif ov23 eq 0
		setv vely -1
		setv ov23 1
	else
		setv vely 1
		setv ov23 0
	endi
retn
subr lay_
	setv var0 obst 3
	doif var0 le 0
		setv velx 0
		setv vely 0
		base 3
		pose 0
		setv ov02 3
		tick 30
		stop
	else
		rndv vely 1 3
		rndv velx -2 2
		setv var0 wndx
		divv var0 100
		addv velx var0
		setv var0 wndy
		divv var0 100
		addv vely var0
		stop
	endi
retn
subr popn
	setv var0 0
	enum 2 18 8
		addv var0 1
	next
	doif var0 ge 18
		kill ownr
	endi
	setv var0 0
	esee 2 18 8
	addv var0 1
next
doif var0 ge 6
	kill ownr
endi
retn
subr cegg
	setv var0 posx
	setv var1 posy
	inst
	new: simp cat2 1 48 6800 0
	setv cls2 2 18 8
	setv attr 195
	mvto var0 var1
	slim
	rndv velx -20 20
	rndv var0 50 150
	tick var0
	slow
retn
subr flya
	gsub rvel
	gsub limv
	gsub anim
	gsub wind
	gsub watr
	stim sign 1 9 1 0 42 5 0 0 0 0 0 0
retn
subr rvel
	rndv var0 -1 1
	addv velx var0
	rndv var0 -1 1
	addv vely var0
retn
subr limv
	doif velx lt -3
		setv velx -3
	endi
	doif velx gt 3
		setv velx 3
	endi
	doif vely lt -3
		setv vely -3
	endi
	doif vely gt 3
		setv vely 3
	endi
retn
subr anim
	doif velx lt 0
		base 0
		anim [1012R]
	endi
	doif velx gt 0
		base 6
		anim [1012R]
	endi
retn
subr wind
	setv var0 wndx
	divv var0 100
	addv velx var0
	setv var0 wndy
	divv var0 100
	addv vely var0
retn
subr watr
	doif rtyp eq 2
		setv vely -10
	endi
retn
subr relp
	subv var0 posx
	subv var1 posy
	doif var0 lt -4176
		addv var0 8352
	endi
	doif var0 gt 4176
		subv var0 8352
	endi
retn
subr flyt
	doif var0 lt 0
		setv velx -2
	else
		setv velx 2
	endi
	doif var1 lt 0
		setv vely -2
	else
		setv vely 2
	endi
	gsub flya
retn
subr pinf
	setv var0 0
	setv var3 posx
	etch 2 24 0
	doif ov00 eq 1
		setv var1 posx
		subv var1 var3
		doif var1 gt 4176
			subv var1 8352
		endi
		doif var1 lt -4176
			addv var1 8352
		endi
		doif var1 lt 1
			negv var1
		endi
		doif var1 le 8
			setv var2 post
			setv var0 1
		endi
	endi
next
retn
subr die_
	tick 0
	base 0
	doif ov00 eq 0
		pose 0
	else
		pose 6
	endi
	addv attr 128
	setv grav 1
	wait 100
	kill ownr
retn
endm

