* 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
