# ----------------------------------------------------------------------------- #
.headerstart
IsId          	116
Type          	24
Init          	IonCannonInit
Death         	IonCannonDeath
GndAttkInit   	IonCannonGndAttkInit
AirAttkInit   	IonCannonGndAttkInit
Unused1       	[NONE]
GndAttkRpt    	IonCannonGndAttkRpt
AirAttkRpt    	IonCannonGndAttkRpt
CastSpell     	[NONE]
GndAttkToIdle 	IonCannonGndAttkToIdle
AirAttkToIdle 	IonCannonGndAttkToIdle
Unused2       	[NONE]
Walking       	[NONE]
WalkingToIdle 	[NONE]
SpecialState1 	[NONE]
SpecialState2 	[NONE]
AlmostBuilt   	IonCannonAlmostBuilt
Built         	IonCannonBuilt
Landing       	[NONE]
LiftOff       	[NONE]
IsWorking     	IonCannonIsWorking
WorkingToIdle 	IonCannonIsWorking
WarpIn        	[NONE]
Unused3       	[NONE]
StarEditInit  	[NONE]
Disable       	IonCannonIsWorking
Burrow        	[NONE]
.headerend
# ----------------------------------------------------------------------------- #

IonCannonBaseInit:
	playfram          	0x00
	imgul             	??? 0 0 #ioncannon_underlay
	imgul             	??? 0 0 #ioncannon_shad
IonCannonBaseIsWorking:
	wait              	125
	goto              	IonCannonBaseIsWorking

IonCannonBaseDeath:
	playsnd           	7
	imgol             	334 0 0
	wait              	3
	lowsprul          	273 0 0
	wait              	1
	end

IonCannonBaseGndAttkInit:
	playfram          	0x11
	wait              	3
	playfram          	0x22
IonCannonBaseGndAttkRpt:
	nobrkcodestart
	playsnd           	??? #ion_charge
	wait              	71
	attack
	wait              	8
	sproluselo        	??? 0 #ioncannon_attack_B
	nobrkcodeend
	gotorepeatattk
	goto              	IonCannonBaseIsWorking

IonCannonBaseGndAttkToIdle:
	playfram          	0x11
	wait              	3
	playfram          	0x00
	goto              	IonCannonBaseIsWorking

IonCannonBaseAlmostBuilt:
	playfram          	0x01
	goto              	IonCannonBaseIsWorking

IonCannonBaseBuilt:
	playfram          	0x00
	imgolorig         	??? #ioncannon_attack_A
	imgol             	??? 0 -40 #ioncannon_turret
	imgolorig         	??? #ioncannon_overlay
	wait              	1
	tmprmgraphicstart
	setfldirect       	20
	goto              	IonCannonBaseIsWorking





# ----------------------------------------------------------------------------- #
.headerstart
IsId          	#ioncannon_underlay, ioncannon_shad
Type          	1
Init          	IonCannonUnderlayInit
Death         	IonCannonUnderlayDeath
.headerend
# ----------------------------------------------------------------------------- #

IonCannonUnderlayInit:
	playfram          	0x00
IonCannonUnderlayLocal00:
	wait              	125
	goto              	IonCannonUnderlayLocal00

IonCannonUnderlayDeath:
	wait              	4
	end





# ----------------------------------------------------------------------------- #
.headerstart
IsId          	#ioncannon_turret, ioncannon_overlay
Type          	1
Init          	IonCannonTurretInit
Death         	IonCannonTurretDeath
.headerend
# ----------------------------------------------------------------------------- #

IonCannonTurretInit:
	tmprmgraphicstart
	wait              	1
	tmprmgraphicend
IonCannonTurretLocal00:
	followmaingraphic
	wait              	1
	goto              	IonCannonTurretLocal00

IonCannonTurretDeath:
	wait              	4
	end




# ----------------------------------------------------------------------------- #
.headerstart
IsId          	#ioncannon_attack_A
Type          	24
Init          	IonCannonAttackAInit
Death         	IonCannonAttackADeath
GndAttkInit   	IonCannonAttackAGndAttkInit
AirAttkInit   	IonCannonAttackAGndAttkInit
Unused1       	[NONE]
GndAttkRpt    	IonCannonAttackAGndAttkRpt
AirAttkRpt    	IonCannonAttackAGndAttkRpt
CastSpell     	[NONE]
GndAttkToIdle 	IonCannonAttackAInit
AirAttkToIdle 	IonCannonAttackAInit
Unused2       	[NONE]
Walking       	[NONE]
WalkingToIdle 	[NONE]
SpecialState1 	[NONE]
SpecialState2 	[NONE]
AlmostBuilt   	[NONE]
Built         	[NONE]
Landing       	[NONE]
LiftOff       	[NONE]
IsWorking     	IonCannonAttackAInit
WorkingToIdle 	IonCannonAttackAInit
WarpIn        	[NONE]
Unused3       	[NONE]
StarEditInit  	[NONE]
Disable       	IonCannonAttackAInit
Burrow        	[NONE]
.headerend
# ----------------------------------------------------------------------------- #

IonCannonAttackAInit:
	tmprmgraphicstart
	playfram          	0x00
IonCannonAttackALocal00:
	wait              	125
	goto              	IonCannonAttackALocal00

IonCannonAttackADeath:
	wait              	1
	end

IonCannonAttackAGndAttkInit:
	wait              	3
IonCannonAttackAGndAttkRpt:
	wait              	31
	tmprmgraphicend
	wait              	2
	playfram          	0x11
	wait              	2
	playfram          	0x22
	wait              	2
	playfram          	0x33
	wait              	2
	playfram          	0x44
	wait              	2
	playfram          	0x55
	wait              	2
	playfram          	0x66
	wait              	2
	playfram          	0x77
	wait              	2
	playfram          	0x88
	wait              	2
	playfram          	0x99
	wait              	2
	playfram          	0xAA
	wait              	2
	playfram          	0xBB
	wait              	2
	playfram          	0xCC
	wait              	2
	playfram          	0xDD
	wait              	2
	playfram          	0xEE
	wait              	2
	playfram          	0xFF
	wait              	2
	playfram          	0x110
	wait              	2
	playfram          	0x121
	wait              	2
	playfram          	0x132
	wait              	2
	playfram          	0x143
	wait              	2
	playfram          	0x154
	wait              	2
	playfram          	0x165
	wait              	2
	playfram          	0x176
	wait              	2
	playfram          	0x187
	wait              	2
	goto              	IonCannonAttackAInit





# ----------------------------------------------------------------------------- #
.headerstart
IsId          	#ioncannon_attack_B
Type          	0
Init          	IonCannonAttackBInit
Death         	[NONE]
.headerend
# ----------------------------------------------------------------------------- #

IonCannonAttackBInit:
	playfram          	0x198
	wait              	2
	playfram          	0x1A9
	wait              	2
	playfram          	0x1BA
	wait              	2
	playfram          	0x1CB
	wait              	2
	playfram          	0x1DC
	wait              	2
	playfram          	0x1ED
	wait              	2
	playfram          	0x1FE
	wait              	2
	playfram          	0x20F
	wait              	2
	playfram          	0x220
	wait              	2
	end





# ----------------------------------------------------------------------------- #
.headerstart
IsId          	#ioncannon_projectile
Type          	2
Init          	IonCannonProjectileInit
Death         	IonCannonProjectileDeath
GndAttkInit   	IonCannonProjectileGndAttkInit
AirAttkInit   	[NONE]
.headerend
# ----------------------------------------------------------------------------- #

IonCannonProjectileInit:
	tmprmgraphicstart
	trgtrangecondjmp  	192 IonCannonProjectileLocal00
	tmprmgraphicend
IonCannonProjectileLocal00:
	playfram          	0x00
	playsnd           	??? #ion_fire
	wait              	1
	sigorder          	1
	wait              	1
IonCannonProjectileGndAttkInit:
	playfram          	0x11
	wait              	2
	playfram          	0x22
	wait              	2
	playfram          	0x33
	wait              	2
	playfram          	0x44
	wait              	2
	playfram          	0x55
	wait              	2
	playfram          	0x66
	wait              	2
	playfram          	0x77
	wait              	2
	goto              	IonCannonProjectileGndAttkInit

IonCannonProjectileDeath:
	playfram          	0x88
	imgol             	215 0 0
	playsnd           	??? #ion_hit
	domissiledmg
	wait              	2
	end





# ----------------------------------------------------------------------------- #
.headerstart
IsId          	#ioncannon_hit
Type          	0
Init          	IonCannonHitInit
Death         	[NONE]
.headerend
# ----------------------------------------------------------------------------- #

IonCannonHitInit:
	playfram          	0x00
	wait              	1
	playfram          	0x01
	wait              	1
	playfram          	0x02
	wait              	1
	playfram          	0x03
	imgul             	555 0 0
	wait              	1
	playfram          	0x04
	wait              	1
	playfram          	0x05
	wait              	1
	playfram          	0x06
	wait              	1
	end