Actor MarineAllySniper 11681
{
  Game Doom
  //$Category Monsters
  //$Title Ally 17 - Sniper
  Health 325
  GibHealth -45
  Radius 20
  Height 56
  Speed 10
  PainChance 64
  obituary "%o's Allied Sniper must be blind!!"
  mass 100
  SEESOUND "Ally/Position"
  PAINSOUND "Ally/Pain"
  DEATHSOUND "Ally/Death"
  ACTIVESOUND "Ally/Active"
  MaxTargetRange 2048
  MaxStepHeight 32
  MaxDropoffHeight 64
  DamageFactor 0.75
  MONSTER
	DropItem "NemesisHealthBonusMax" 200 25
	DropItem "NemesisArmorBonus16" 200
	DropItem "NemesisHealthBonusMax" 200 25
	DropItem "NemesisArmorBonus16" 200
	DropItem "HealthFlask" 55
	DropItem "ArmorCharge" 55
	DropItem "AmmoPack" 40
	DropItem "HandGrenadeAmmo" 100 1
	DropItem "MineAmmo" 50 1
    +FLOORCLIP
	+AVOIDMELEE
	+NODROPOFF
	+MISSILEMORE
	+MISSILEEVENMORE
	+DONTHARMSPECIES
  //+NOTIMEFREEZE
  //+NOFEAR
  //+LOOKALLAROUND
  //+TELESTOMP
  States
	{
Spawn:
		SZOM A 10 A_Look
		Loop
See:
		SZOM AAA 2 A_Chase
		TNT1 A 0 A_SpawnItemEx("FootStep")
		SZOM BBB 2 A_Chase
		TNT1 A 0 A_SpawnItemEx("FootStep")
		SZOM CCC 2 A_Chase
		TNT1 A 0 A_SpawnItemEx("FootStep")
		SZOM DDD 2 A_Chase
		TNT1 A 0 A_SpawnItemEx("FootStep")
		Loop
Missile:
		TNT1 A 0 A_JumpIfTargetInLOS("Position")
		SZOM F 0 A_PlayWeaponSound("Marine/SniperFire")
		SZOM F 5 Bright A_CustomMissile("MarineSniperProjectile",47)
		TNT1 A 0 A_SpawnItemEx("ShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
		SZOM E 10 A_PlaySoundEx("Marine/SniperReload", "SoundSlot6", 0)
		SZOM E 5 A_FaceTarget
		SZOM E 4 
		Goto See
Position:
		SZOM E 10 A_FaceTarget
PositionLoop:
		SZOM E 10 A_FaceTarget
		TNT1 A 0 A_CheckLOF("ThisIsTooMissile")
		Loop
ThisIsTooMissile:
		SZOM F 0 A_PlayWeaponSound("Marine/SniperFire")
		SZOM F 5 Bright A_CustomMissile("MarineSniperProjectile",47)
		TNT1 A 0 A_SpawnItemEx("ShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
		SZOM E 10 A_PlaySoundEx("Marine/SniperReload", "SoundSlot6", 0)
		SZOM E 5 A_FaceTarget
		SZOM E 4 
		Goto See
Death:
		SZOM H 3
		SZOM I 3 A_Scream
		SZOM J 3 A_NoBlocking
		SZOM KLM 3 
		SZOM N -1
		Stop
XDeath:
		SZOM O 5
		SZOM P 5 A_XScream
		SZOM Q 5 A_NoBlocking
		SZOM RSTUVW 5
		SZOM X -1
		Stop
	}
 }

ACTOR MarineSniperProjectile 
{
	Radius 13
	Height 8
	Speed 50
	Damage 20
	Projectile
	+RANDOMIZE
	+THRUSPECIES
	+MTHRUSPECIES
	RenderStyle Add
	Species "Marines"
	+BLOODSPLATTER
	Decal "BulletChip"
	Alpha 0.9
	Scale 0.001
	States
	{
	Spawn:
		BMPF A 1 Bright
		TNT1 A 0 A_SpawnItemEx("MarineSniperProjectileTrail", (2 *momx)/-35.0, -(2 *momy)/-35.0, 2+(2 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("MarineSniperProjectileTrail", (4 *momx)/-35.0, -(4 *momy)/-35.0, 2+(4 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("MarineSniperProjectileTrail", (6*momx)/-35.0, -(6*momy)/-35.0, 2+(6*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("MarineSniperProjectileTrail", (8*momx)/-35.0, -(8*momy)/-35.0, 2+(8*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("MarineSniperProjectileTrail", (10*momx)/-35.0, -(10*momy)/-35.0, 2+(10*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("MarineSniperProjectileTrail", (12*momx)/-35.0, -(12*momy)/-35.0, 2+(12*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("MarineSniperProjectileTrail", (14*momx)/-35.0, -(14*momy)/-35.0, 2+(14*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("MarineSniperProjectileTrail", (16*momx)/-35.0, -(16*momy)/-35.0, 2+(16*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        Loop
	Death:
		TNT1 A 1
		TNT1 A 0 A_SpawnItem("BulletPuff")
		Stop
	XDeath:
		TNT1 A 1
		Stop
	}
}

Actor MarineSniperProjectileTrail
{
+CLIENTSIDEONLY
+THRUACTORS
+NOGRAVITY
Renderstyle Add
Scale 0.7
Alpha 0.5
States
	{
	Spawn:
		BMPF A 2 BRIGHT
		Stop
	}
}
	