Actor Satanic_Sergeant : ShotgunGuy Replaces ShotgunGuy 5003
{  
	Health 36
	SpawnID 1  
	DropItem Satanic_Shotgun 128
	Mass 250
	Height 42
	DamageFactor NoDamage,	 		0
	PainChance "Turn", 				255
	PainChance "Fire", 				0
	PainChance "Posession", 		255
	-FRIENDLY
	+MISSILEMORE
	+MISSILEEVENMORE
	States
	{
	Spawn:
		SPOS A 0 Thing_Hate(0,669,3)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget10",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS A 10 A_Look
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget10",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS B 10 A_Look
		Goto Spawn+1
	See:
		SPOS A 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto StandardSee
		SPOS A 0
		Goto PosessedMove
	PosessedMove:
		SPOS A 0 A_JumpIfInventory("Satanic_PosessedFire",1,1)
		Goto PosessedStandardMove
		SPOS A 0
		Goto PosessedFire
	PosessedFire:
		SPOS E 0 ACS_ExecuteAlways(805,0,1,0,0)
		SPOS E 7
		SPOS E 0 A_CustomMissile("SpentShotgunShell",32,0,135+Random(-15,15),2,45+Random(-15,15))
		SPOS E 0 ACS_ExecuteAlways(805,0,2,0,0)
		SPOS F 7 Bright A_CustomBulletAttack(5,6,7,2,"BulletPuff",5000,true)
		SPOS E 0 ACS_ExecuteAlways(805,0,3,0,0)
		SPOS E 5 
		SPOS E 0 ACS_ExecuteAlways(805,0,0,0,0)
		SPOS E 5
		SPOS E 0 A_TakeInventory("Satanic_PosessedFire",1)
		Goto See
	PosessedStandardMove:
		SPOS AAAAAABBBBBBCCCCCCDDDDDD 1 ACS_Execute(803,0,48,30,13)
		SPOS A 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto Spawn+1
		SPOS A 0
		Goto See
	StandardSee:
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS A 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS A 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS B 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS B 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS C 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS C 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS D 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS D 3 A_Chase
		Goto See
	Wander:
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SPOS A 4 A_Wander
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SPOS A 4 A_Wander
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SPOS B 4 A_Wander
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SPOS B 4 A_Wander
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SPOS C 4 A_Wander
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SPOS C 4 A_Wander
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SPOS D 4 A_Wander
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SPOS D 4 A_Wander
		Loop
	Pain.Bludgeon:
		SPOS G 0 ThrustThing(45,15,0)
		SPOS G 3
		SPOS G 3 A_Pain
		Goto See
	Pain:
		SPOS H 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto Pain+2
		SPOS H 0
		Goto See
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS G 3
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS G 3 A_Pain
		Goto See
	Pain.Turn:
		TNT1 A 0 A_PlaySound("Satanic/Weapons/BellRing",CHAN_WEAPON)
		TNT1 A 0 ACS_Execute(824,0,20,0,0)
		SPOS G 3
		TNT1 A 0 A_ChangeFlag("Friendly",1)
		SPOS G 3 A_Pain
		Goto See
	Pain.Posession:
		SPOS H 0
		SPOS H 0 ACS_ExecuteAlways(791,0,5,0,0)
		SPOS H 0 A_GiveInventory("Satanic_IsPosessed",1)
		SPOS H 0 Thing_ChangeTID(0,669)
		SPOS H 0 ACS_ExecuteAlways(802,0,48,0,0)
		Goto See
	Missile:
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget10",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS E 10 A_FaceTarget
		SPOS E 0 A_CustomMissile("SpentShotgunShell",32,0,135+Random(-15,15),2,45+Random(-15,15))
		TNT1 A 0 A_CustomMissile("SargePellet",32,0,frandom(-5,5),0,frandom(-5,5))
		TNT1 A 0 A_CustomMissile("SargePellet",32,0,frandom(-5,5),0,frandom(-5,5))
		TNT1 A 0 A_CustomMissile("SargePellet",32,0,frandom(-5,5),0,frandom(-5,5))
		TNT1 A 0 A_CustomMissile("SargePellet",32,0,frandom(-5,5),0,frandom(-5,5))
		TNT1 A 0 A_CustomMissile("SargePellet",32,0,frandom(-5,5),0,frandom(-5,5))
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget10",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS F 8 BRIGHT A_CustomMissile("SargePellet",32,0,frandom(-5,5),0,frandom(-5,5))
		TNT1 A 0 A_SpawnItemEx("ZombieHeadTarget10",0,0,42,velx,vely,velz,0,SXF_SETMASTER)
		SPOS E 10
		Goto See
	Pain.DrainHealthEver:
		SPOS G 3
		SPOS G 0 ACS_ExecuteAlways(772,0,3,0,0)
    	SPOS G 3 A_Pain
    	Goto See
	Death:
		SPOS I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeath
		SPOS I 0 ACS_ExecuteAlways(801,0,0,0,0)
		SPOS I 0 ChangeCamera(0, 0, 0) 
		Goto ActualXDeath
	Death.BoomHeadshot:
		TNT1 AAAA 0 A_GiveToTarget("DrainedHealth",1)
		TNT1 A 0 A_XScream
		TNT1 A 0 A_JumpIfInventory("Satanic_Shotgun",1,"Death.BHDropAmmoInsteadofGun",AAPTR_PLAYER1)
		TNT1 A 0 A_NoBlocking
		SARH A 12 A_SpawnItemEx("SRBloodFountain",0,0,42,velx,vely,velz,0)
		SARH A 12 A_SpawnItemEx("SRBloodFountain",0,0,42,velx,vely,velz,0)
		SARH A 12 A_SpawnItemEx("SRBloodFountain",0,0,42,velx,vely,velz,0)
		SARH B 5
		SARH C 5
		SPOS K 5
		SPOS L -1
		Stop
	DeathBHDropAmmoInsteadofGun:
		TNT1 A 0 A_UnSetSolid
		TNT1 A 0 A_SpawnItemEx("Satanic_Shell",0,0,0,random(-2,2),random(-2,2),2,0,0,128)
		SARH A 12 A_SpawnItemEx("SRBloodFountain",0,0,42,velx,vely,velz,0)
		SARH A 12 A_SpawnItemEx("SRBloodFountain",0,0,42,velx,vely,velz,0)
		SARH A 12 A_SpawnItemEx("SRBloodFountain",0,0,42,velx,vely,velz,0)
		SARH B 5
		SARH C 5
		SPOS K 5
		SPOS L -1
		Stop
	XDeath:
		SPOS I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualXDeath
		SPOS I 0 ACS_ExecuteAlways(801,0,0,0,0)
		SPOS I 0 ChangeCamera(0, 0, 0) 
		Goto ActualXDeath
	Death.DrainMana:
		SPOS I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeathDrainMana
		SPOS I 0 ACS_ExecuteAlways(801,0,0,0,0)
		SPOS I 0 ChangeCamera(0, 0, 0) 
		Goto ActualDeathDrainMana
	Death.DrainHealthEver:
	Death.DrainHealth:
		SPOS I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeathDrainHealth
		SPOS I 0 ACS_ExecuteAlways(801,0,0,0,0)
		SPOS I 0 ChangeCamera(0, 0, 0) 
		Goto ActualDeathDrainHealth
	Death.DemonFire:
	Burn:
		SPOS I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualBurn
		SPOS I 0 ACS_ExecuteAlways(801,0,0,0,0)
		SPOS I 0 ChangeCamera(0, 0, 0) 
		Goto ActualBurn
	ActualDeath:
		SPOS H 5
		SPOS I 5 A_Scream
		TNT1 A 0 A_JumpIfInventory("Satanic_Shotgun",1,"ActualDeathDropAmmoInsteadofGun",AAPTR_PLAYER1)
		SPOS J 5 A_NoBlocking
		TNT1 A 0 A_JumpIfInventory("Satanic_Head",1,"ActualDeathSpawnHeadAmmoNotHeadWeapon",AAPTR_PLAYER1)
		SPOS K 5 A_SpawnItem("Satanic_Head")
		SPOS L -1
		Stop
	ActualDeathSpawnHeadAmmoNotHeadWeapon:
		SPOS K 5 A_SpawnItem("Satanic_HeadAmmo")
		SPOS L -1
		Stop
	ActualDeathDropAmmoInsteadOfGun:
		SPOS J 5 A_UnSetSolid
		TNT1 A 0 A_SpawnItemEx("Satanic_Shell",0,0,0,random(-2,2),random(-2,2),2,0,0,128)
		TNT1 A 0 A_JumpIfInventory("Satanic_Head",1,"ActualDeathDropAmmoInsteadOfGunSpawnHeadAmmoNotHeadWeapon",AAPTR_PLAYER1)
		SPOS K 5 A_SpawnItem("Satanic_Head")
		SPOS L -1
		Stop
	ActualDeathDropAmmoInsteadOfGunSpawnHeadAmmoNotHeadWeapon:
		SPOS K 5 A_SpawnItem("Satanic_HeadAmmo")
		SPOS L -1
		Stop
	ActualXdeath:
		TNT1 A 0 A_SpawnItem("SRBloodFountain", 0, 0, 0, 0)
		SPOS M 0 A_XScream
		TNT1 A 0 A_JumpIfInventory("Satanic_Shotgun",1,"ActualXDeathDropAmmoInsteadofGun",AAPTR_PLAYER1)
		SPOS M 0 A_Fall
		SPOS M 0 A_CustomMissile("Satanic_Blood",10,0,25,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",15,0,50,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",5,0,75,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",2,0,100,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",6,0,125,0)     
		SPOS M 5
		TNT1 A 0 A_SpawnItem("SRGibGenerator", 0, 0, 0, 0)
		SPOS NOPQRST 5
		SPOS U -1
		Stop
	ActualXDeathDropAmmoInsteadofGun:
		TNT1 A 0 A_UnSetSolid
		TNT1 A 0 A_SpawnItemEx("Satanic_Shell",0,0,0,random(-2,2),random(-2,2),2,0,0,128)
		SPOS M 0 A_CustomMissile("Satanic_Blood",10,0,25,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",15,0,50,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",5,0,75,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",2,0,100,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",6,0,125,0)     
		SPOS M 5
		TNT1 A 0 A_SpawnItem("SRGibGenerator", 0, 0, 0, 0)
		SPOS NOPQRST 5
		SPOS U -1
		Stop
	ActualDeathDrainMana:
		SPOS M 0 A_XScream
		TNT1 A 0 A_JumpIfInventory("Satanic_Shotgun",1,"ActualDeathDrainManaDropAmmoInsteadofGun",AAPTR_PLAYER1)
		SPOS M 0 A_Fall
		SPOS M 0 A_CustomMissile("Satanic_Blood",10,0,25,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",15,0,50,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",5,0,75,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",2,0,100,0)     
		SPOS M 0 ACS_ExecuteAlways(779,0,3,0,0)
		SPOS MNOPQRST 5 
		SPOS U -1
		Stop    
	ActualDeathDrainManaDropAmmoInsteadofGun:
		TNT1 A 0 A_UnSetSolid
		TNT1 A 0 A_SpawnItemEx("Satanic_Shell",0,0,0,random(-2,2),random(-2,2),2,0,0,128)
		SPOS M 0 A_CustomMissile("Satanic_Blood",10,0,25,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",15,0,50,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",5,0,75,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",2,0,100,0)     
		SPOS M 0 ACS_ExecuteAlways(779,0,3,0,0)
		SPOS MNOPQRST 5 
		SPOS U -1
		Stop    
	ActualDeathDrainHealth:
		SPOS M 0 A_XScream
		TNT1 A 0 A_JumpIfInventory("Satanic_Shotgun",1,"ActualDeathDrainHealthDropAmmoInsteadofGun",AAPTR_PLAYER1)
		SPOS M 0 A_Fall
		SPOS M 0 A_CustomMissile("Satanic_Blood",10,0,25,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",15,0,50,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",5,0,75,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",2,0,100,0)     
		SPOS M 0 ACS_ExecuteAlways(772,0,5,0,0)
		SPOS MNOPQRST 5 
		SPOS U -1
		Stop      
	ActualDeathDrainHealthDropAmmoInsteadofGun:	
		TNT1 A 0 A_UnSetSolid
		TNT1 A 0 A_SpawnItemEx("Satanic_Shell",0,0,0,random(-2,2),random(-2,2),2,0,0,128)
		SPOS M 0 A_CustomMissile("Satanic_Blood",10,0,25,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",15,0,50,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",5,0,75,0)     
		SPOS M 0 A_CustomMissile("Satanic_Blood",2,0,100,0)     
		SPOS M 0 ACS_ExecuteAlways(772,0,5,0,0)
		SPOS MNOPQRST 5 
		SPOS U -1
		Stop      
	ActualBurn:
		TNT1 A 0 A_JumpIfInventory("Satanic_Shotgun",1,"ActualBurnDrainHealthDropAmmoInsteadofGun",AAPTR_PLAYER1)
		POSB M 0 A_XScream
		POSB M 0 A_Fall
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_FireStarter",5,0,75,0)
		POSB M 0 A_CustomMissile("Satanic_FireStarter",5,0,75,0)
		POSB MNOPQRST 5 
		POSB VVVVVV 4 A_SpawnItem("Satanic_SmokeSpawner")
		POSB U 0 A_SpawnItem("Satanic_ZombieBurnedCorpse")
		Stop
	ActualBurnDrainHealthDropAmmoInsteadofGun:
		TNT1 A 0 A_UnSetSolid
		TNT1 A 0 A_SpawnItemEx("Satanic_Shell",0,0,0,random(-2,2),random(-2,2),2,0,0,128)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		POSB M 0 A_CustomMissile("Satanic_FireStarter",5,0,75,0)
		POSB M 0 A_CustomMissile("Satanic_FireStarter",5,0,75,0)
		POSB MNOPQRST 5 
		POSB VVVVVV 4 A_SpawnItem("Satanic_SmokeSpawner")
		POSB U 0 A_SpawnItem("Satanic_ZombieBurnedCorpse")
		Stop
	Raise:
		SPOS L 1
		SPOS L 1 A_SetInvulnerable
		SPOS L 1 A_UnsetSolid
		SPOS L 1 A_UnsetShootable
		SPOS L 1 ACS_ExecuteAlways(788,0,0,0,0)
		SPOS L 1
		Stop
	Raise_Spirit:
		SPOS KJ 5
		SPOS I 0 A_UnsetSolid
		SPOS I 0 A_SpawnItem("Satanic_RaisedZombie")
		Stop
	Raise_ManaRitual:
		SPOS K 4
		SPOS J 4
		SZOM A 4 A_SpawnItem("Satanic_HealthSpirit")
		SZOM B 4 ACS_ExecuteAlways(779,0,3,0,0)
		SZOM C 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		SZOM DEFGH 4
		POSB U 0 A_SpawnItem("Satanic_SargeBurnedCorpse")
		Stop
	}
}

ACTOR SargePellet : FastProjectile
{
	Speed 50
	Damage 1
	Scale 0.20
	Height 1
	Radius 1
	States
	{
	Spawn:
		//TNT1 AAAAAAAAAA 0 A_SpawnItemEx("BulletAfterEffect")
		SPRK A 1 BRIGHT
		Loop
	Death:
		TNT1 A 0 A_SpawnItemEx("BulletPuff")
		Stop
	XDeath:
		TNT1 A 0 A_SpawnItemEx("Blood")
	Crash:
		TNT1 A 0 A_SpawnItemEx("BulletPuff")
		Stop
	}
}

ACTOR Satanic_SargeBurnedCorpse
{
	Radius 20
	Height 4
	States
	{
	Spawn:
		SZOM H -1
		Stop
	}
}