Actor Phase2 30049
{
	Health 270
	Radius 24
	Height 64
	Mass 1000
	Speed 4
	PainChance 60
	Monster
	+NOTARGET
	+DROPOFF
	+FLOORCLIP
	+FLOAT
	+NOBLOOD
	+NOGRAVITY
	SeeSound "Phase2/Allert"
	PainSound "Phase2/Pain"
	DeathSound "Phase2/Die"
	DropItem "20PlasmaCartridges" 255 20
	DropItem "5Missiles" 255 5
	Scale 0.8
	var int user_fly;
	States
	{
	Spawn:
	    TNT1 A 0 A_ChangeFlag("Float", False)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", False)
		PHS2 P 1 A_Look 
		Loop
	See:
	    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(901,0,0,0) >= 50, "Flying")
		PHS2 AAAAA 1 A_Chase
		PHS2 BBBBB 1 A_Chase
		PHS2 CCCCC 1 A_Chase
		PHS2 DDDDD 1 A_Chase
		Loop
	Flying:
	    PHS2 STUV 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:
		PHS2 V 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)
		PHS2 W 5 
		Goto See	
	Missile:
	PlasmaAttack:
	    TNT1 A 0 A_Jump(36, "FastFly")
	    TNT1 A 0 A_Jump(70, "MissileAttack")
	    PHS2 FG 5 A_FaceTarget
		Refire:
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 7 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultPlasmaFire")
		TNT1 A 0 A_CustomMissile("Phase2PlasmaBall", 54)
		TNT1 A 0 A_CPosRefire
		PHS2 Q 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:
	    PHS2 FGH 5 A_FaceTarget
		TNT1 A 0 A_PlaySound("AssaultMissileFire")
		TNT1 A 0 A_CustomMissile("Phase2Missile", 54)
		PHS2 QI 5 A_FaceTarget
		Goto See
	FastFly:
	    TNT1 A 0 A_JumpIfCloser(50, "PlasmaAttack")
	    TNT1 A 0 A_Jump(255, "Right")
		
		Left:
		PHS2 A 1 A_FaceTarget
        TNT1 A 0 A_SetAngle(Angle-90)	
        PHS2 STU 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)
		PHS2 V 5 A_Recoil(-5)
		PHS2 V 5 A_Recoil(-5)
		TNT1 A 0 A_SetAngle(Angle+45)
	    PHS2 V 5 A_Recoil(-5)
		Goto Next
		
		Right:
		PHS2 A 1 A_FaceTarget
        TNT1 A 0 A_SetAngle(Angle+90)	
        PHS2 STU 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)
		PHS2 V 5 A_Recoil(-5)
		PHS2 V 5 A_Recoil(-5)
		TNT1 A 0 A_SetAngle(Angle-45)
	    PHS2 V 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")
		PHS2 V 1 A_FaceTarget
		PHS2 V 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)
		PHS2 W 5
		Goto Missile
	Pain:
	    TNT1 A 0 A_StopSound(5)
		TNT1 A 0 ACS_ExecuteAlways(902, 0, 4) 
	    TNT1 A 0 A_ChangeFlag("Float", False)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", False)
		PHS2 K  5 A_Pain
		Goto See
	Death:
	    TNT1 A 0 A_StopSound(5)
	    TNT1 A 0 A_Scream
		TNT1 A 0 A_Noblocking
		PHS2 IJKLM 5
		PHS2 N  -1   
		Stop
	Death.KyleFistDamage:
	    TNT1 A 0 A_StopSound(5)
	    TNT1 A 0 A_Scream
		TNT1 A 0 A_Noblocking
		PHS2 IJOKLM 5
		PHS2 N  -1   
		Stop
	}
}
  
  
 Actor Phase2PlasmaBall
{
	Radius 4
	Height 4
	Speed 55
	scale 1.0
	Damage (30)
	Projectile
	+NOGRAVITY
	+FORCEPAIN
	DeathSound "MortarGunExplode"
	States
	{
	Spawn: 
		DFP8 ABCD 3 Bright 
		Loop
	Death:
		DFP8 EFGHIJ 3 Bright
		Stop
	XDeath:
		DFP8 EFGHIJ 3 Bright
		Stop	
	}
}

Actor Phase2Missile
{
	Radius 5
	Height 5
	Speed 30
	scale 1.0
	Damage (58)
	Projectile
	+NOGRAVITY
	SeeSound "AssaultRocket"
	ActiveSound "AssaultRocket"
	DeathSound "MortarGunExplode"
	States
	{
	Spawn: 
		DFP9 AB 10 Bright A_LoopActiveSound
		Loop
	Death:
	    TNT1 A 1 A_Explode(58, 100)
		DFP9 CDEFGHIJKLMN 3 Bright
	    Stop
	XDeath:
	    DFP9 CDEFGHIJKLMN 3 Bright
	    Stop	
	}
} 