Actor Phase3 30050
{
	Health 800
	Radius 40
	Height 110
	Mass 1000
	Speed 4
	PainChance 50
	Monster
	+ALWAYSFAST
	+NOTARGET
	+DROPOFF
	+FLOORCLIP
	+FLOAT
	+NOBLOOD
	+NOGRAVITY
	SeeSound "Phase3/Allert"
	PainSound "Phase3/Pain"
	DeathSound "Phase3/Die"
	DropItem "KyleAssaultCannon" 255 30
	Scale 0.8
	var int user_fly;
	States
	{
	Spawn:
	    TNT1 A 0 A_ChangeFlag("Float", False)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", False)
		PHS3 K 1 A_Look 
		Loop
	See:
	    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(901,0,0,0) >= 50, "Flying")
		PHS3 AAAAA 1 A_Chase
		PHS3 BBBBB 1 A_Chase
		PHS3 CCCCC 1 A_Chase
		PHS3 DDDDD 1 A_Chase
		PHS3 EEEEE 1 A_Chase
		Loop
	Flying:
	    PHS3 OPQ 5
		TNT1 A 0 A_PlaySound("AssaultRocket", 5, 1.0, True)
		TNT1 A 0 ACS_ExecuteAlways(902, 0, 10) //ChangeSpeed, awwww)
		TNT1 A 0 A_ChangeFlag("FLOAT", True)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", True)
		//TNT1 A 0 A_ChangeFlag("NOPAIN", True)
		Looping:
		PHS3 Q 1 A_Chase("DoneFly","")
		Loop
		DoneFly:
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", False)
		TNT1 A 0 A_ChangeFlag("FLOAT", False)
		//TNT1 A 0 A_ChangeFlag("NOPAIN", False)
		TNT1 A 0 A_StopSound(5)
		TNT1 A 0 ACS_ExecuteAlways(902, 0, 4) //ChangeSpeed, awwww)
		PHS3 R 5 
		Goto See	
	Missile:
	PlasmaAttack:
	    TNT1 A 0 A_Jump(36, "FastFly")
	    TNT1 A 0 A_Jump(50, "MissileAttack")
	    PHS3 FG 5 A_FaceTarget
		Refire:
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS3 G 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		TNT1 A 0 A_Jump(96, "Refire")
		Goto See
	 MissileAttack:
	    PHS3 LMNS 5 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultMissileFire")
		TNT1 A 0 A_CustomMissile("FlyingMine", 54, 0, 260)
		TNT1 A 0 A_CustomMissile("FlyingMine", 54, 0, 240)
		TNT1 A 0 A_CustomMissile("FlyingMine", 54, 0, 220)
		TNT1 A 0 A_CustomMissile("FlyingMine", 54, 0, 280)
		TNT1 A 0 A_CustomMissile("FlyingMine", 54, 0, 300)
		TNT1 A 0 A_CustomMissile("FlyingMine", 54, 0, 320)
		Goto See
	FastFly:
	    TNT1 A 0 A_JumpIfCloser(50, "PlasmaAttack")
	    TNT1 A 0 A_Jump(255, "Right")
		
		Left:
		PHS3 A 1 A_FaceTarget
        TNT1 A 0 A_SetAngle(Angle-90)	
        PHS3 OPQ 5
		TNT1 A 0 A_ChangeFlag("NOPAIN", True)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", True)
		TNT1 A 0 A_PlaySound("AssaultRocket", 5, 1.0, True)
		PHS3 Q 5 A_Recoil(-5)
		PHS2 Q 5 A_Recoil(-5)
		TNT1 A 0 A_SetAngle(Angle+45)
	    PHS3 Q 5 A_Recoil(-5)
		Goto Next
		
		Right:
		PHS3 A 1 A_FaceTarget
        TNT1 A 0 A_SetAngle(Angle+90)	
        PHS3 OPQ 5
		TNT1 A 0 A_ChangeFlag("NOPAIN", True)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", True)
		TNT1 A 0 A_PlaySound("AssaultRocket", 5, 1.0, True)
		PHS3 Q 5 A_Recoil(-5)
		PHS3 Q 5 A_Recoil(-5)
		TNT1 A 0 A_SetAngle(Angle-45)
	    PHS3 Q 5 A_Recoil(-5)
		Goto Next
		
		Next:
		TNT1 A 0 A_JumpIf(user_fly == 25, "DoneFaster")
		TNT1 A 0 A_JumpIfCloser(40, "DoneFaster")
		TNT1 A 0 A_JumpIfCloser(30, "DoneFaster")
		TNT1 A 0 A_JumpIfCloser(20, "DoneFaster")
		TNT1 A 0 A_JumpIfCloser(10, "DoneFaster")
		PHS3 Q 1 A_FaceTarget
		PHS3 Q 1 A_Recoil(-5)
		TNT1 A 0 A_SetUserVar("user_fly", user_fly+1)
		Loop
		
		DoneFaster:
		TNT1 A 0 A_ChangeFlag("NOPAIN", False)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", False)
		TNT1 A 0 A_StopSound(5)
		TNT1 A 0 A_SetUserVar("user_fly", 0)
		PHS3 R 5
		Goto Missile
	Pain:
	    TNT1 A 0 A_StopSound(5)
	    TNT1 A 0 A_ChangeFlag("Float", False)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", False)
		TNT1 A 0 ACS_ExecuteAlways(902, 0, 4) //ChangeSpeed, awwww)
		PHS3 H 5 A_Pain
		Goto See
	Death:
	    TNT1 A 0 A_StopSound(5)
	    TNT1 A 0 A_Scream
		TNT1 A 0 A_Noblocking
		PHS3 HI 5
		PHS3 J  -1   
		Stop
	}
}
  
Actor FlyingMine
{
	Radius 5
	Height 5
	Speed 1
	scale 1.0
	Damage (58)
	Projectile
	+NOGRAVITY
	DeathSound "MortarGunExplode"
	States
	{
	Spawn: 
	    TNT1 A 0 
		TNT1 A 0 A_PlaySound("Phase3/Tracker", 5, 1.0, True)
		Looping:
		DFP0 AB 10 Bright 
		Loop
	Death:
	    TNT1 A 0 A_StopSound(5)
	    TNT1 A 1 A_Explode(58, 100)
		DFP9 CDEFGHIJKLMN 3 Bright
	    Stop
	XDeath:
	    TNT1 A 0 A_StopSound(5)
		TNT1 A 1 A_Explode(58, 100)
	    DFP9 CDEFGHIJKLMN 3 Bright
	    Stop	
	}
}  
