* Script  9 TIMER
scrp 2 20 9 9
	tick 9
	doif rtyp ne 2
		doif ov50 lt 0
			base 0
		else
			base 9
		endi
		negv ov51
		setv attr 195
		setv grav 1
		setv var0 0
		loop
			doif obst 3 le 0
				rndv var1 -10 10
				setv velx var1
				setv vely -5
				doif velx lt 0
					base 0
				else
					base 9
				endi
			endi
			wait 1
			addv var0 1
			doif var0 ge 300
				addv ontr 10
				kill ownr
			endi
		untl rtyp eq 2
		setv grav 0
		setv attr 67
		tick 1
	else
		setv grav 0
		setv attr 67
		gsub addr
		doif obst 0 lt 20
			rndv ov50 1 2
		endi
		doif obst 1 lt 20
			rndv ov50 -2 -1
		endi
		doif obst 2 lt 20
			rndv ov51 1 2
		endi
		doif obst 3 lt 20
			rndv ov51 -2 -1
		endi
		setv var0 ov50
		doif var0 lt 0
			negv var0
		endi
		setv var1 ov51
		doif var1 lt 0
			negv var1
		endi
		addv var0 var1
		doif var0 ge 3
			mulv ov50 3
			mulv ov51 3
			divv ov50 var0
			divv ov51 var0
		endi
		doif ov51 gt 1
			setv ov51 1
		endi
		doif ov51 lt -1
			setv ov51 -1
		endi
		doif ov50 eq 0
			rndv var0 0 1
			doif var0 eq 0
				setv ov50 -1
			else
				setv ov50 1
			endi
		endi
		doif ov51 eq 0
			rndv var0 0 1
			doif var0 eq 0
				setv ov51 -1
			else
				setv ov51 1
			endi
		endi
		rndv var0 0 3
		doif var0 gt 0
			setv ov51 0
		endi
		doif ov50 lt 0
			base 0
		endi
		doif ov50 gt 0
			base 9
		endi
		setv velx ov50
		setv vely ov51
		rndv var0 0 4
		doif var0 eq 0
			gsub bubb
		endi
	endi
	subr addr
		rndv var1 0 9
		doif var1 ge 6
			setv var0 -1
		else
			setv var0 1
		endi
		doif ov50 lt 0
			negv var0
		endi
		addv ov50 var0
		rndv var1 0 8
		doif var1 ge 4
			setv var0 -1
		else
			setv var0 1
		endi
		doif ov51 lt 0
			negv var0
		endi
		addv ov51 var0
	retn
	subr bubb
		setv var0 posl
		doif ov50 lt 0
			subv var0 13
		else
			addv var0 13
		endi
		setv var9 ov50
		mulv var9 2
		addv var0 var9
		setv var1 post
		subv var1 8
		reps 10
			rtar 2 1 28
			doif ov00 eq 0
				mesg wrt+ targ 256 var0 var1 0
				stop
			endi
		repe
	retn
endm
