// This file was created for Satanic Redux, by amv2k9. It's purpose? To make 
// corpses placed in the level (ie not killed by the player) consumable through
// Mana Ritual and raisable through the Staff of Suffering.

ACTOR Satanic_GibbedMarine : Zombieman replaces GibbedMarine
{
	-COUNTKILL
	DropItem ""
	Game Doom
	SpawnID 145
	States
	{
	Spawn:
		PLAY W 1
		PLAY W 1 A_Die
		Goto Death
	See:
		PLAY W 1
		PLAY W 1 A_Die
		Goto Death
	Melee:
		PLAY W 1
		PLAY W 1 A_Die
		Goto Death
	Missile:
		PLAY W 1
		PLAY W 1 A_Die
		Goto Death
	Death:
		PLAY W 1
		PLAY W 1 A_NoBlocking
		PLAY W -1
		Stop
	XDeath:
	Raise:
		PLAY VUTSRQPO 3
		MRNR G 1
		MRNR G 1 A_SetInvulnerable
		MRNR G 1 A_UnsetSolid
		MRNR G 1 A_UnsetShootable
		MRNR G 1 ACS_ExecuteAlways(788,0,0,0,0)
		MRNR G 1
		Stop
	Raise_ManaRitual:
		MRNR G 4
		MRNR G 4 A_SpawnItem("Satanic_HealthSpirit")
		MRNR G 4 ACS_ExecuteAlways(779,0,3,0,0)
		MRNR H 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		MRNR I 4
		MRNR LMNOP 4
		TNT1 A 0 A_SpawnItem("Satanic_MarineBurnedCorpse")
		Stop
	Raise_Spirit:
		MRNR H 4
		MRNR I 4
		TNT1 A 0 A_SpawnItem("Satanic_RaisedMarine")
		Stop
	}
}
 
ACTOR Satanic_GibbedMarineExtra : Satanic_GibbedMarine replaces GibbedMarineExtra {}

ACTOR Satanic_DeadMarine : Zombieman replaces DeadMarine
{
	-COUNTKILL
	DropItem ""
	Game Doom
	States
	{
	Spawn:
		PLAY N 1
		PLAY N 1 A_Die
		Goto Death
	See:
		PLAY N 1
		PLAY N 1 A_Die
		Goto Death
	Melee:
		PLAY N 1
		PLAY N 1 A_Die
		Goto Death
	Missile:
		PLAY N 1
		PLAY N 1 A_Die
		Goto Death
	Death:
		PLAY N 1
		PLAY N 1 A_NoBlocking
		PLAY N -1
		Stop
	XDeath:
	Raise:
		MRNR A 1
		MRNR A 1 A_SetInvulnerable
		MRNR A 1 A_UnsetSolid
		MRNR A 1 A_UnsetShootable
		MRNR A 1 ACS_ExecuteAlways(788,0,0,0,0)
		MRNR A 1
		Stop
	Raise_ManaRitual:
		MRNR BC 4
		MRNR D 4 A_SpawnItem("Satanic_HealthSpirit")
		MRNR E 4 ACS_ExecuteAlways(779,0,3,0,0)
		MRNR F 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		MRNR GHI 4
		MRNR LMNOP 4
		TNT1 A 0 A_SpawnItem("Satanic_MarineBurnedCorpse")
		Stop
	Raise_Spirit:
		MRNR BCDEFG 4
		TNT1 A 0 A_SpawnItem("Satanic_RaisedMarine")
		Stop
	}
}	

ACTOR Satanic_MarineBurnedCorpse
{
	Radius 20
	Height 4
	
	States
	{
	Spawn:
		MRNR P -1
		Stop
	}
}

// SKEWERED CORPSE //

// CREDITS //  

// Submitted: Captain Toenail
// Decorate: Captain Toenail
// Sounds: none
// Sprites: iD Software
// Sprite Edit: Captain Toenail
// GLDEFS: none


ACTOR ChestSkewered1
{
  Radius 16
  Height 64
  +SOLID
  States
  {
  Spawn:
    SKW1 A -1
    Stop
  }
}

ACTOR Satanic_TwitchyImpaledHuman : ZombieMan replaces LiveStick
{
	-COUNTKILL
	Mass 0x7FFFFFF
	Speed 0
	States
	{
	Spawn:
		POL6 A 7
		POL6 B 7
		Loop
	See:
	Melee:
	Missile:
	Pain:
		POL6 A 3
		TNT1 A 0 A_Pain
		POL6 B 3
		Goto See
	Death:
		POL6 A 3
		TNT1 A 0 A_Scream
		POL6 A -1
		Stop
	XDeath:
		POL6 A 3
		TNT1 A 0 A_Scream
		POL6 A -1
		Stop
	Raise:
		POL6 A 1
		POL6 A 1 A_SetInvulnerable
		POL6 A 1 A_UnsetSolid
		POL6 A 1 A_UnsetShootable
		POL6 A 1 ACS_ExecuteAlways(788,0,0,0,0)
		POL6 A 1
		Stop
	Raise_ManaRitual:
		POL6 C 4
		POL6 D 4
		POL6 E 4 A_SpawnItem("Satanic_HealthSpirit")
		POL6 F 4 ACS_ExecuteAlways(779,0,3,0,0)
		POL6 G 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		POL6 H 4
		POL6 I 0 
		POL6 I 4
		POL6 J 4
		POL6 K 0 A_SpawnItem("Satanic_ImpaledBurnedCorpse")
		Stop
	Raise_Spirit:
		POL6 A 4 
		POL6 A 4
		POL6 L 0 A_SpawnItem("Satanic_RaisedZombie")
		POL6 L 4
		POL6 L 0 A_SpawnItem("Satanic_Pike")
		Stop
	}
}

ACTOR Satanic_TwitchyImpaledHuman2 : Satanic_TwitchyImpaledHuman replaces DeadStick {}

ACTOR Satanic_ImpaledBurnedCorpse : DeadStick
{
	Radius 10
	States
	{
	Spawn:
		POL6 K -1
		Stop
	}
}

ACTOR Satanic_Pike : DeadStick //This is what's left after you resurrect an impaled body.
{
	-SOLID
	Radius 10
	States
	{
	Spawn:
		POL6 L 70
		POL6 L 0 A_SetSolid
		POL6 L -1
		Stop
	}
}

ACTOR Satanic_DeadZombieMan : ZombieMan replaces DeadZombieMan
{
	-COUNTKILL
	DropItem ""
	States
	{
	Spawn:
		POSS L 1
		POSS L 1 A_Die
		Goto Death
	See:
		POSS L 1
		POSS L 1 A_Die
		Goto Death
	Melee:
		POSS L 1
		POSS L 1 A_Die
		Goto Death
	Missile:
		POSS L 1
		POSS L 1 A_Die
		Goto Death
	Pain:
		POSS L 1
		POSS L 1 A_Die
		Goto Death
	Death:
		POSS L 1
		POSS L 1 A_NoBlocking
		POSS L -1
		Stop
	Raise:
		POSS K 1
		POSS K 1 A_SetInvulnerable
		POSS K 1 A_UnsetSolid
		POSS K 1 A_UnsetShootable
		POSS K 1 ACS_ExecuteAlways(788,0,0,0,0)
		POSS K 1
		Stop
	Raise_ManaRitual:
		POSS K 4
		POSS J 4
		POSS J 4 A_SpawnItem("Satanic_HealthSpirit")
		POSS J 4 ACS_ExecuteAlways(779,0,3,0,0)
		POSS J 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		POSS K 4
		POSB U 0 A_SpawnItem("Satanic_ZombieBurnedCorpse")
		Stop
	Raise_Spirit:
		POSS K 4 
		POSS JI 5
		POSS I 0 A_SpawnItem("Satanic_RaisedZombie")
		Stop
	}
}

ACTOR Satanic_DeadShotgunGuy : ShotgunGuy replaces DeadShotgunGuy
{
	-COUNTKILL
	DropItem ""
	States
	{
	Spawn:
		SPOS L 1
		SPOS L 1 A_Die
		Goto Death
	See:
		SPOS L 1
		SPOS L 1 A_Die
		Goto Death
	Melee:
		SPOS L 1
		SPOS L 1 A_Die
		Goto Death
	Missile:
		SPOS L 1
		SPOS L 1 A_Die
		Goto Death
	Pain:
		SPOS L 1
		SPOS L 1 A_Die
		Goto Death
	Death:
		SPOS L 1
		SPOS L 1 A_NoBlocking
		SPOS L -1
		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 LKJI 5
		SPOS I 0 A_UnsetSolid
		SPOS I 0 A_SpawnItem("Satanic_RaisedZombie")
		Stop
	Raise_ManaRitual:
		SPOS K 4
		SPOS J 4
		SPOS J 4 A_SpawnItem("Satanic_HealthSpirit")
		SPOS J 4 ACS_ExecuteAlways(779,0,3,0,0)
		SPOS J 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		SPOS K 4
		POSB U 0 A_SpawnItem("Satanic_ZombieBurnedCorpse")
		Stop
	}
}

ACTOR Satanic_DeadDoomImp : DoomImp replaces DeadDoomImp
{
	-COUNTKILL
	DropItem ""
	States
	{
	Spawn:
		TROO M 1
		TROO M 1 A_Die
		Goto Death
	See:
		TROO M 1
		TROO M 1 A_Die
		Goto Death
	Melee:
		TROO M 1
		TROO M 1 A_Die
		Goto Death
	Missile:
		TROO M 1
		TROO M 1 A_Die
		Goto Death
	Pain:
		TROO M 1
		TROO M 1 A_Die
		Goto Death
	Death:
		TROO M 1
		TROO M 1 A_NoBlocking
		TROO M -1
		Stop
	Raise:
		TROO M 1
		TROO M 1 A_SetInvulnerable
		TROO M 1 A_UnsetSolid
		TROO M 1 A_UnsetShootable
		TROO M 1 ACS_ExecuteAlways(788,0,0,0,0)
		TROO M 1
		Stop
	Raise_Spirit:
		TROO MLKJ 6
		TROO J 0 A_SpawnItem("Satanic_RaisedImp")
		Stop
	Raise_ManaRitual:
		TROO M 4
		TROO L 4
		TROO L 4 A_SpawnItem("Satanic_HealthSpirit")
		TROO L 4 ACS_ExecuteAlways(779,0,3,0,0)
		TROO L 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		TROO M 4
		TROB U 0 A_SpawnItem("Satanic_ImpBurnedCorpse")
		Stop
	}
}

ACTOR Satanic_DeadDemon : Satanic_EvilDemon replaces DeadDemon
{
	-COUNTKILL
	DropItem ""
	States
	{
	Spawn:
		EDEM N 1
		EDEM N 1 A_Die
		Goto Death
	See:
		EDEM N 1
		EDEM N 1 A_Die
		Goto Death
	Melee:
		EDEM N 1
		EDEM N 1 A_Die
		Goto Death
	Missile:
		EDEM N 1
		EDEM N 1 A_Die
		Goto Death
	Pain:
		EDEM N 1
		EDEM N 1 A_Die
		Goto Death
	Death:
		EDEM N 1
		EDEM N 1 A_NoBlocking
		EDEM N -1 
		Stop
	Raise:
		EDEM M 1
		EDEM M 1 A_SetInvulnerable
		EDEM M 1 A_UnsetSolid
		EDEM M 1 A_UnsetShootable
		EDEM M 1 ACS_ExecuteAlways(788,0,0,0,0)
		EDEM M 1
		Stop
	Raise_Spirit:
		EDEM MLKJ 6
		EDEM J 0 A_SpawnItem("Satanic_RaisedImp")
		Stop
	Raise_ManaRitual:
		EDEM M 4
		EDEM L 4
		EDEM L 4 A_SpawnItem("Satanic_HealthSpirit")
		EDEM L 4 ACS_ExecuteAlways(779,0,9,0,0)
		EDEM L 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		EDEM M 4
		SARB N 0 A_SpawnItem("Satanic_EvilDemonBurnedCorpse")
		Stop
	}
}

ACTOR Satanic_DeadCacodemon : Satanic_CacodemonDefault replaces DeadCacodemon
{
	-COUNTKILL
	DropItem ""
	States
	{
	Spawn:
		HEAD L 1
		HEAD L 1 A_Die
		Goto Death
	See:
		HEAD L 1
		HEAD L 1 A_Die
		Goto Death
	Melee:
		HEAD L 1
		HEAD L 1 A_Die
		Goto Death
	Missile:
		HEAD L 1
		HEAD L 1 A_Die
		Goto Death
	Pain:
		HEAD L 1
		HEAD L 1 A_Die
		Goto Death
	Death:
		HEAD L 1
		HEAD L 1 A_NoBlocking
		HEAD L -1 A_SetFloorClip
		Stop
	Raise:
		HEAD L 1
		HEAD L 1 A_SetInvulnerable
		HEAD L 1 A_UnsetSolid
		HEAD L 1 A_UnsetShootable
		HEAD L 1 ACS_ExecuteAlways(788,0,0,0,0)
		HEAD L 1
		Stop
	Raise_Spirit:
		HEAD LKJI 6
		HEAD H 0 A_SpawnItem("Satanic_RaisedCacodemon")
		Stop
	Raise_ManaRitual:
		HEAD L 4
		HEAD K 4
		HEAD K 4 A_SpawnItem("Satanic_HealthSpirit")
		HEAD K 4 ACS_ExecuteAlways(779,0,6,0,0)
		HEAD K 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		HEAD L 4
		HEAB L 0 A_SpawnItem("Satanic_CacodemonBurnedCorpse")
		Stop
	}
}
	