Actor Satanic_Revenant : Revenant Replaces Revenant 5015
{  
	Height 66
	SpawnID 20
	+NOBLOOD
	-FRIENDLY
	+MISSILEMORE
	+MISSILEEVENMORE
	DamageFactor NoDamage,	 		0
	PainChance "Turn", 255
	PainChance "Fire", 				0
	PainChance "Posession", 		255
	DropItem "Satanic_TaintedCrossAltAmmo" 16
	States
	{
	Spawn:
		SKEL A 0 Thing_Hate(0,669,3)
		SKEL A 10 A_Look
		SKEL B 10 A_Look
		Goto Spawn+1
	See:
		TORT I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto StandardSee
		SKEL A 0
		Goto PosessedMove
	PosessedMove:
		SKEL A 0 A_JumpIfInventory("Satanic_PosessedFire",1,1)
		Goto PosessedStandardMove
		SKEL A 0
		Goto PosessedFire
	PosessedFire:
		SKEL J 0 A_JumpIfInventory("Satanic_PosessedRevenantFireLeft",1,1)
		Goto PosessedFireRight
		SKEL J 0
		Goto PosessedFireLeft
	PosessedFireRight:
		SKEL J 0 A_GiveInventory("Satanic_PosessedRevenantFireLeft",1)
		SKEL J 0 ACS_ExecuteAlways(805,0,0,0,0)
		SKEL J 3 
		SKEL J 0 ACS_ExecuteAlways(805,0,5,0,0)
		SKEL J 3 A_CustomMissile("Satanic_RevenantBall",56.0,12,0.0,2,-pitch)
		SKEL J 0 ACS_ExecuteAlways(805,0,6,0,0)
		SKEL K 3 
		SKEL J 0 ACS_ExecuteAlways(805,0,7,0,0)
		SKEL J 3 
		SKEL J 0 ACS_ExecuteAlways(805,0,0,0,0)
		SKEL J 7
		SKEL J 0 A_TakeInventory("Satanic_PosessedFire",1)
		Goto See
	PosessedFireLeft:
		SKEL J 0 A_TakeInventory("Satanic_PosessedRevenantFireLeft",1)
		SKEL J 0 ACS_ExecuteAlways(805,0,0,0,0)
		SKEL J 3 
		SKEL J 0 ACS_ExecuteAlways(805,0,1,0,0)
		SKEL J 3 A_CustomMissile("Satanic_RevenantBall",56.0,-12,0.0,2,-pitch)
		SKEL J 0 ACS_ExecuteAlways(805,0,2,0,0)
		SKEL K 3 
		SKEL J 0 ACS_ExecuteAlways(805,0,3,0,0)
		SKEL J 3 
		SKEL J 0 ACS_ExecuteAlways(805,0,0,0,0)
		SKEL J 7
		SKEL J 0 A_TakeInventory("Satanic_PosessedFire",1)
		Goto See
	PosessedStandardMove:
		SKEL AAAABBBBCCCCDDDDFFFF 1 ACS_Execute(803,0,56,30,6)
		SKEL A 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto Spawn+1
		SKEL A 0
		Goto See
	StandardSee:
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL A 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL A 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL B 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL B 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL C 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL C 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL D 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL D 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL E 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL E 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL F 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		SKEL F 2 A_Chase
		Goto See
	Wander:
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL A 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL A 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL B 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL B 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL C 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL C 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL D 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL D 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL E 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL E 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL F 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		SKEL F 2 A_Wander
		Goto See
	Pain.Turn:
		TNT1 A 0 ACS_Execute(824,0,20,0,0)
		SKEL L 5
		TNT1 A 0 A_ChangeFlag("Friendly",1)
		SKEL L 5 A_Pain
		Goto See
	Pain:
		SKEL H 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto Pain+2
		SKEL H 0
		Goto See
		SKEL L 5
		SKEL L 5 A_Pain
		Goto See
	Pain.Posession:
		SKEL L 0
		SKEL L 0 ACS_ExecuteAlways(791,0,40,0,0)
		SKEL L 0 A_GiveInventory("Satanic_IsPosessed",1)
		SKEL L 0 Thing_ChangeTID(0,669)
		SKEL L 0 ACS_ExecuteAlways(802,0,56,0,0)
		Goto See
	Pain.DrainHealthEver:
		SKEL L 0
		SKEL L 0 ACS_ExecuteAlways(772,0,2,0,0)
    	SKEL L 5
    	SKEL L 5 A_Pain
    	Goto See
	Death:
		SKEL L 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeath
		SKEL L 0 ACS_ExecuteAlways(801,0,0,0,0)
		SKEL L 0 ChangeCamera(0, 0, 0) 
		Goto ActualDeath
	Death.DrainMana:
		SKEL L 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeathDrainMana
		SKEL L 0 ACS_ExecuteAlways(801,0,0,0,0)
		SKEL L 0 ChangeCamera(0, 0, 0) 
		Goto ActualDeathDrainMana
	Death.DrainHealthEver:
	Death.DrainHealth:
		SKEL L 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeathDrainHealth
		SKEL L 0 ACS_ExecuteAlways(801,0,0,0,0)
		SKEL L 0 ChangeCamera(0, 0, 0) 
		Goto ActualDeathDrainHealth
	Death.DemonFire:
	Burn:
		SKEL L 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualBurn
		SKEL L 0 ACS_ExecuteAlways(801,0,0,0,0)
		SKEL L 0 ChangeCamera(0, 0, 0) 
		Goto ActualBurn
	ActualDeath:
		SKEL LM 7
		SKEL N 7 A_Scream
		SKEL O 7 A_NoBlocking
		SKEL P 7
		SKEL Q -1
		Stop
	Death.BoomHeadshot:
		SKEL LM 7
		SKEL N 7 A_Scream
		SKEL O 7 A_NoBlocking
		SKEL P 7
		SKEL Q -1
		Stop
	ActualDeathDrainMana:
		SKEL M 0 A_Scream   
		SKEL M 0 A_Fall
		SKEL M 0 ACS_ExecuteAlways(779,0,6,0,0)
		SKEL MNOP 5
		SKEL Q -1
		Stop    
	ActualDeathDrainHealth:
		SKEL M 0 A_Scream   
		SKEL M 0 A_Fall
		SKEL M 0 ACS_ExecuteAlways(772,0,10,0,0)
		SKEL MNOP 5
		SKEL Q -1
		Stop  
	ActualBurn:
		SKEB M 0 A_Scream
		SKEB M 0 A_Fall
		SKEB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		SKEB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		SKEB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		SKEB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		SKEB M 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		SKEB M 0 A_CustomMissile("Satanic_FireStarter",6,Random(-20,20),Random(-360,360),0)         
		SKEB M 0 A_CustomMissile("Satanic_FireStarter",6,Random(-20,20),Random(-360,360),0)         
		SKEB MNOP 5
		SKEB QQQQQQQQQ 4 A_SpawnItem("Satanic_SmokeSpawner")
		SKEB Q 0 A_SpawnItem("Satanic_RevenantBurnedCorpse")
		Stop 
	Raise:
		SKEL Q 1
		SKEL Q 1 A_SetInvulnerable
		SKEL Q 1 A_UnsetSolid
		SKEL Q 1 A_UnsetShootable
		SKEL Q 1 ACS_ExecuteAlways(788,0,0,0,0)
		SKEL Q 1
		Stop
	Raise_Spirit:
		SKEL QPON 6
		SKEL N 0 A_SpawnItem("Satanic_RaisedRevenant")
		Stop
	Raise_ManaRitual:
		SKEL QPOM 4
		SKEL N 4 A_SpawnItem("Satanic_HealthSpirit")
		REVB A 4 ACS_ExecuteAlways(779,0,6,0,0)
		REVB B 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		REVB CDEFGHI 4
		REVB I 0 A_SpawnItem("Satanic_RevenantBurnedCorpse")
		Stop
	}
}

Actor Satanic_RevenantTracer : RevenantTracer Replaces RevenantTracer
{
	Speed 19
}

Actor Satanic_RevenantBall
{
	Radius 	11
	Height 	8
	Speed 	19
	Damage 10
	Decal RevenantScorch
	Projectile 
	+RANDOMIZE
	SeeSound 	"skeleton/attack"
	DeathSound 	"skeleton/tracex"
	RenderStyle Add
	States
	{
	Spawn:
		FATB AB 2 Bright
		Loop
	Death:
		FBXP A 8 Bright
		FBXP B 6 Bright
		FBXP C 4 Bright
		Stop
	}
}


Actor Satanic_RevenantBurnedCorpse
{
	Radius 20
	Height 4
	States
	{
	Spawn:
		REVB I -1
		Stop
	}
}

Actor Satanic_PosessedRevenantFireLeft : Inventory
{
	Inventory.MaxAmount 1
}
//------------------------------------------------------------------------------------------------------------------------