ACTOR FriendMarineExplosiveMinigun : BaseMarine
{
	AttackSound "weapons/minigunfire"
	Translation "112:127=80:111"
	States
	{
	Spawn:
		XPMS A 1
		"####" A 0 A_GiveInventory("TargetIsAMarine")
		XPMS A 1 A_Look
		Loop
	Missile:
        "####" A 0
        "####" A 0 A_ChangeFlag("NODROPOFF", 1)
		"####" A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPlayer")
		"####" A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "CheckRangeToWait")
		"####" A 0 A_ChangeFlag("SHOOTABLE", 1)
		"####" A 0 A_ChangeFlag("SOLID", 0)
		"####" A 0 A_JumpIfCloser(200, "Retreat")
		"####" A 0 A_FaceTarget
		"####" A 1 A_Chase ("","")
		"####" A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "CheckRangeToWait")
		Goto Strafe
	Strafe:
		"####" A 0 A_Jump(128, "Attack")
		"####" A 0 ThrustThing(Angle*256/360+64,12,0,0)
		"####" AABBCCDD 2 A_Chase
		"####" A 0 A_Stop
		Goto Attack
	Attack:
		"####" A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "CheckRangeToWait")
		"####" A 0 A_PlaySound("weapons/expmgunspinstart")
		"####" E 25 A_FaceTarget
		"####" A 0 A_PlaySoundEx("weapons/expmgunspin","Voice")
		"####" A 0 A_PlaySound("sentient/fire")
		"####" A 0 A_CustomMissile("PlayerExplosiveTracer",Random(30,34),0,Random(15,-15),0)
		"####" A 0 A_SpawnItemEx("OrangeShellCasing", 12, 6, 28, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
		"####" E 4 Bright A_CPosAttack
		"####" A 0 A_PlaySound("sentient/fire")
		"####" A 0 A_CustomMissile("PlayerExplosiveTracer",Random(30,34),0,Random(15,-15),0)
		"####" A 0 A_SpawnItemEx("OrangeShellCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
		"####" F 4 Bright A_CPosAttack
		"####" A 0 A_PlaySound("weapons/expmgunspinstop")
		"####" A 0 A_StopSoundEx("Voice")
		"####" A 0 A_CPosRefire
		Goto Attack+3
	Retreat:
		"####" A 0
		"####" A 2 A_Recoil(4)
		"####" A 0 A_FaceTarget
		"####" A 0 
		"####" B 2 A_Recoil(4)
		"####" A 0 A_FaceTarget
		"####" A 0 
		"####" C 2 A_Recoil(4)
		"####" A 0 A_FaceTarget
		"####" D 2 A_Recoil(4)
		"####" A 0 A_FaceTarget
		Goto Attack
		}
}