

actor Soldierpuff : DooskPuff
{
  SeeSound "Weapon/Hit" //  SeeSound "Sickles/Flesh" 
  AttackSound "Sickles/Wall"

//	RenderStyle Stencil
//	StencilColor Yellow
}


ACTOR Soldier_bulletFX
{
	+NOBLOCKMAP
+NOINTERACTION
	Gravity 0.125
	RenderStyle Stencil
	StencilColor Gray

	Scale 0.25
	States
	{
	Spawn:
		PART A 1 A_FadeOut(0.04)
		Loop
	}
}



//===========================================================================
//
// Projectile
//
//===========================================================================
ACTOR Soldier_Bullet
{
	Game Doom
//	SpawnID 10
	Radius 6
	Height 8
	Speed 25
	Damage 2
	Projectile
	+RANDOMIZE
//	RenderStyle Stencil
//	StencilColor Red
//	Alpha 1
//	SeeSound "Bullet/Air"
	DeathSound "sil/encio"
DamageType "SoldierProj"

Scale 0.08
	States
	{
	Spawn:
		BLLT A 1 A_SpawnItemEx("Soldier_BulletFX", random2[BoltSpark]()*0.015625, random2[BoltSpark]()*0.015625, 0, 0,0,0,0,SXF_ABSOLUTEPOSITION, 50)//A_SpawnItem("Blood")
		Loop
	Death:
		"####" "#" 1 Thing_ChangeTid(0,1998)
		"####" "#" 1 BRIGHT

	TNT1 A 0 A_PlaySound("bullet/wall")
		BLLT A 0 BRIGHT A_SpawnItem("Soldierpuff")
		Stop

	Crash:
		TNT1 A 1 BRIGHT 
		Stop

	}
}



//Same as above, but with a different see sound.
//So sickles monster doesn't play the fire sound while attacking.

ACTOR Soldier_BulletDeflect : Soldier_Bullet
{
DamageType "DeflectedProjectile"
	SeeSound "Sil/Encio"//"Sword/Deflect"
States
	{
	Death:
	TNT1 A 0 A_PlaySound("bullet/wall")
		BLLT A 0 BRIGHT A_SpawnItem("Soldierpuff")
		Stop
	}
}




ACTOR ShotgunSoldier_Bullet
{
	Game Doom
//	SpawnID 10
	Radius 6
	Height 8
	Speed 25
	Damage (random(1,2)*3)
	Projectile
	+RANDOMIZE
//	RenderStyle Stencil
//	StencilColor Red
//	Alpha 1
//	SeeSound "Bullet/Air"
	DeathSound "sil/encio"
DamageType "SoldierProj"

Scale 0.08
	States
	{
	Spawn:
		BLLT A 1 A_SpawnItemEx("Soldier_BulletFX", random2[BoltSpark]()*0.015625, random2[BoltSpark]()*0.015625, 0, 0,0,0,0,SXF_ABSOLUTEPOSITION, 50)//A_SpawnItem("Blood")
		Loop
	Death:
		"####" "#" 1 Thing_ChangeTid(0,1998)
		"####" "#" 1 BRIGHT

	TNT1 A 0 A_PlaySound("bullet/wall")
		BLLT A 0 BRIGHT A_SpawnItem("Soldierpuff")
		Stop

	Crash:
		TNT1 A 1 BRIGHT 
		Stop

	}
}


//===========================================================================
//
// Soldiers (Pistol/Shotgun/Chaingun variants)
//
//===========================================================================
ACTOR Pistol_Soldier 501//replaces zombieMan
{
	//$Category Doosk Monsters
	//$Sprite SD1ZA0
	//$Title Pistol soldier
	//$Color 6
	Game Doom
	SpawnID 111
	Health 25
	PainChance 255

	+FORCEPAIN
	+QUICKTORETALIATE
	Speed 4
	Radius 20
	Height 56
	Mass 400
	Monster
	ReactionTime 105
	+FLOORCLIP
	SeeSound "soldier/sight"
	AttackSound "soldier/fire"
	PainSound "soldier/pain"
	DeathSound "soldier/death"
	ActiveSound "soldier/active"
	Obituary "$PSLD_DTH"
	DamageFactor "Deflectedprojectile", 5.0

	DropItem Clip
	Scale 0.35
	States
	{
	Spawn:
		SD1Z A 10 A_Look
		Loop
	See:
        SD1A AACCEEGGIIJJLLMMOOQQSSUUWWYY 1 A_Chase
		SD1B AACCEEGGIIKKMM 1 A_Chase
		Loop

	Missile:
TNT1 A 0 A_PlaySound("soldier/pre_fire")
		SD1C ABCCDDEFGHHIJJ 1 bright A_FaceTarget
TNT1 A 0 A_PlaySound("soldier/fire")
		SD1C J 6 bright A_CustomMissile("Soldier_Bullet",32,0,random(-3,3),CMF_OFFSETPITCH,random(-2,2))
TNT1 A 0 A_PlaySound("soldier/fire")
		SD1C J 6 bright A_CustomMissile("Soldier_Bullet",32,0,random(-2,2),CMF_OFFSETPITCH,random(-1,1))
TNT1 A 0 A_PlaySound("soldier/fire")
		SD1C J 16 bright A_CustomMissile("Soldier_Bullet",32,0,random(-3,3),CMF_OFFSETPITCH,random(-2,2))
		Goto See

	Pain:
		SD1D A 0 A_Pain
		SD1D ABCCDDEFGHHIJJ 1
		Goto See
	Death:
		TNT1 A 0 A_SpawnItemEx(DestroyableBodyThing,0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		BPLZ A 0 A_ChangeFlag("noclip",true)
		SD1Z A 0 A_ScreamAndUnblock

//        TNT1 A 1 A_SpawnItemEx("Pistol_Soldier_Death",0,0,0,0,0,0,0,0)
//		TNT1 A 1

TNT1 A 0 A_ChangeVelocity(0.0, 0.0, 7.5,CVF_RELATIVE)

SD1E ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
SD1F ABCD 1

		SD1F D -1

		Stop


	Crush:
	XDeath:
//TNT1 A 0 A_PlaySound("monster/explodegore")
		TNT1 A 0 A_NoBlocking

        TNT1 A 1 A_SpawnItemEx("Dusk_GenericMonsterGore",0,0,0,0,0,0,0,32)
		TNT1 A 1
		Stop


	}
}





ACTOR Shotgun_Soldier 502//replaces shotgunguy
{
	//$Category Doosk Monsters
	//$Sprite SD2ZA0
	//$Title Shotgun soldier
	//$Color 6
//	var int user_delaywinchsoldatk;
	Game Doom
	SpawnID 111
	Health 40
	PainChance 255

	+FORCEPAIN
	+QUICKTORETALIATE
	Speed 4
	Radius 20
	Height 56
	Mass 400
	Monster
	ReactionTime 105
	+FLOORCLIP
	SeeSound "soldier/sight"
	AttackSound "winchester/fire"
	PainSound "soldier/pain"
	DeathSound "soldier/death"
	ActiveSound "soldier/active"
	Obituary "$SSLD_DTH"
	DamageFactor "Deflectedprojectile", 5.0

//	DropItem Winchester_Pickup
	DropItem Shotgun
	Scale 0.375
	States
	{
	Spawn:
		SD2Z A 10 A_Look
		Loop
	See:
/*
		D4DW A 0 A_JumpIf(user_delaywinchsoldatk<1,"See_atk")

	See_noatk:
        SD2A ACCEGGIJLLMMOQQSUUWWY 1 A_Chase("","")
		SD2B AACEEGIIKKMM 1 A_Chase("","")
TNT1 A 0 A_SetUserVar(user_delaywinchsoldatk,user_delaywinchsoldatk-1)
		Loop

	See_atk:
*/
        SD2A ACCEGGIJLLMMOQQSUUWWY 1 A_Chase
		SD2B AACEEGIIKKMM 1 A_Chase
//TNT1 A 0 A_SetUserVar(user_delaywinchsoldatk,user_delaywinchsoldatk-1)
		Loop


	Missile:
TNT1 A 0 A_PlaySound("soldier/pre_fire")
		SD2C ABCCDDEFGHHIJJ 1 bright A_FaceTarget
TNT1 A 0 A_PlaySound("winchester/fire")
//TNT1 A 0 A_SetUserVar(user_delaywinchsoldkatk,1)
		SD1C JJJJJ 0 bright A_CustomMissile("ShotgunSoldier_Bullet",32,0,random(-5,5),CMF_OFFSETPITCH,random(-2,2))
		SD2C J 26 bright 
//TNT1 A 0 A_PlaySound("winchester/fire")
//		SD2C J 26 bright 
		Goto See

	Pain:
		SD2D A 0 A_Pain
		SD2D ABCCDDEFGHHIJJ 1
		Goto See
	Death:
		TNT1 A 0 A_SpawnItemEx(DestroyableBodyThing,0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		BPLZ A 0 A_ChangeFlag("noclip",true)
		SD2Z A 0 A_ScreamAndUnblock

//        TNT1 A 1 A_SpawnItemEx("Shotgun_Soldier_Death",0,0,0,0,0,0,0,0)
//		TNT1 A 1

TNT1 A 0 A_ChangeVelocity(0.0, 0.0, 7.5,CVF_RELATIVE)

SD2E ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
SD2F ABCD 1

		SD2F D -1

		Stop

	Crush:
	XDeath:
//TNT1 A 0 A_PlaySound("monster/explodegore")
		TNT1 A 0 A_NoBlocking

        TNT1 A 1 A_SpawnItemEx("Dusk_GenericMonsterGore",0,0,0,0,0,0,0,32)
		TNT1 A 1
		Stop

	}
}





ACTOR Chaingun_Soldier 503//replaces chaingunguy
{
	//$Category Doosk Monsters
	//$Sprite sd3ZA0
	//$Title Chaingun soldier
	//$Color 6
	Game Doom
	SpawnID 111
	Health 80
	GibHealth 75
	PainChance 255

	+FORCEPAIN
	+QUICKTORETALIATE
	Speed 4
	Radius 20
	Height 56
	Mass 400
	Monster
	ReactionTime 105
	+FLOORCLIP
	SeeSound "soldier/sight"
	AttackSound "ass_rifle/fire"
	PainSound "soldier/pain"
	DeathSound "soldier/death"
	ActiveSound "soldier/active"
	Obituary "$CSLD_DTH"
	DamageFactor "Deflectedprojectile", 5.0

//	DropItem Assrifle_Pickup
	DropItem Chaingun
	Scale 0.4
	States
	{
	Spawn:
		SD3Z A 10 A_Look
		Loop
	See:
        SD3A ABCCDEEFGGHIIJKKLMNNOOPQQRSSTUUVWWXXYZZ 1 A_Chase
		SD3B AABBCDEEFFGHIIJKKLMM 1 A_Chase
		Loop

	Missile:
TNT1 A 0 A_PlaySound("soldier/pre_fire")
		SD3C ABCCDDEFGHHIJJ 1 bright A_FaceTarget
	Missile_Loop:
TNT1 A 0 A_PlaySound("ass_rifle/fire")
		SD3C J 5 bright A_CustomMissile("Soldier_Bullet",32,0,random(-3,3),CMF_OFFSETPITCH,random(-1,1))
TNT1 A 0 A_PlaySound("ass_rifle/fire")
		SD3C J 5 bright A_CustomMissile("Soldier_Bullet",32,0,random(-3,3),CMF_OFFSETPITCH,random(-1,1))
		TNT1 a 0 A_MonsterRefire(0,"See")
//	Goto Missile_Loop
		Goto Missile_Loop

	Pain:
		SD3D A 0 A_Pain
		SD3D ABCCDDEFGHHIJJ 1
		Goto See
	Death:
		TNT1 A 0 A_SpawnItemEx(DestroyableBodyThing,0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		BPLZ A 0 A_ChangeFlag("noclip",true)
		SD3Z A 0 A_ScreamAndUnblock

//        TNT1 A 1 A_SpawnItemEx("Chaingun_Soldier_Death",0,0,0,0,0,0,0,0)
//		TNT1 A 1

TNT1 A 0 A_ChangeVelocity(0.0, 0.0, 7.5,CVF_RELATIVE)

SD3E ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
SD3F ABCD 1

		SD3F D -1

		Stop


	Crush:
	XDeath:
//TNT1 A 0 A_PlaySound("monster/explodegore")
		TNT1 A 0 A_NoBlocking

        TNT1 A 1 A_SpawnItemEx("Dusk_GenericMonsterGore",0,0,0,0,0,0,0,32)
		TNT1 A 1
		Stop
	}
}









//Done this way because of wrong offests with models.
actor Pistol_Soldier_Death
{
	Game Doom
	+NOBLOCKMAP
	+NOCLIP

//Gravity 0.75
	Scale 0.35
	States
	{
	Spawn:
SD1E A 1
TNT1 A 0 A_ChangeVelocity(0.0, 0.0, 7.5,CVF_RELATIVE)

SD1E BCDEFGHIJKLMNOPQRSTUVWXYZ 1
SD1F ABCD 1

		SD1F D -1 A_ChangeFlag("NoBlockmap",0)
		Stop
	}
}



actor Shotgun_Soldier_Death
{
	Game Doom
	+NOBLOCKMAP
	+NOCLIP

//Gravity 0.75
	Scale 0.375
	States
	{
	Spawn:
SD2E A 1 
TNT1 A 0 A_ChangeVelocity(0.0, 0.0, 7.5,CVF_RELATIVE)

SD2E BCDEFGHIJKLMNOPQRSTUVWXYZ 1
SD2F ABCD 1

		SD2F D -1 A_ChangeFlag("NoBlockmap",0)
		Stop
	}
}



actor Chaingun_Soldier_Death
{
	Game Doom
	+NOBLOCKMAP
	+NOCLIP

//Gravity 0.75
	Scale 0.4
	States
	{
	Spawn:
SD3E A 1
TNT1 A 0 A_ChangeVelocity(0.0, 0.0, 7.5,CVF_RELATIVE)

SD3E BCDEFGHIJKLMNOPQRSTUVWXYZ 1
SD3F ABCD 1 A_ChangeFlag("Noclip",0)

		SD3F D -1 A_ChangeFlag("NoBlockmap",0)
		Stop
	}
}