Actor Satanic_Archvile
{
	DropItem "Satanic_TaintedCrossAltAmmo" 64
	Health 	800
	Radius 	20
	Height 	56
	Mass 	500
	Speed 	15
	PainChance 64
	DamageFactor NoDamage,	0
	DamageFactor Posession,	0
	RenderStyle Translucent
	Alpha 		128
	MaxTargetRange 896
	MONSTER
	+QUICKTORETALIATE 
	+FLOORCLIP 
	+NOTARGET
	//+STEALTH
	SeeSound 	"vile/sight"
	PainSound 	"vile/pain"
	DeathSound 	"Satanic/Monsters/Archvile/Death"
	ActiveSound "vile/active"
	MeleeSound 	"vile/stop"
	Obituary 	"%o was incinerated by an archvile."
	States
	{
	Spawn:
		VILE A 0 Thing_Hate(0,669,3)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE A 10 A_Look
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE B 10 A_Look
		Goto Spawn+1
	See:
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE A 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE A 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE B 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE B 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE C 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE C 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE D 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE D 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE E 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE E 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE F 2 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE F 2 A_Chase
		Loop
	Wander:
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE A 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE A 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE B 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE B 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE C 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE C 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE D 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE D 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE E 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE E 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE F 2 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE F 2 A_Wander
		Goto See
	Missile:
		VILE G 0 		Bright A_VileStart
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE G 10 		Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE H 8 		Bright A_VileTarget
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE I 8 	Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE J 8 	Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE K 8 	Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE L 8 	Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE M 8 	Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE N 8 	Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE O 8 		Bright A_VileAttack
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE P 10 		Bright
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE P 10 		Bright
		Goto See
	Pain:
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE Q 5   
		TNT1 A 0 A_SpawnItemEx("ArchvileHeadTarget10",0,0,56,velx,vely,velz,0,SXF_SETMASTER)
		VILE Q 5 A_Pain
		Goto See
	Pain.DrainHealthEver:
		VILE Q 5   
		VILE Q 0 ACS_ExecuteAlways(772,0,4,0,0)
    	VILE Q 5 A_Pain
    	Goto See		
	Death:
		VILE Q 7
		VILE R 7 A_Scream
		VILE S 7 A_NoBlocking
		VILE TUVWXY 7
		VILE Z -1
		Stop
	Death.BoomHeadshot:
		TNT1 AAAAAAAA 0 A_GiveToTarget("DrainedHealth",1)
		TNT1 A 0 A_XScream
		VILH A 12 A_SpawnItemEx("SRBloodFountain",0,0,56,velx,vely,velz,0)
		VILH A 12 A_SpawnItemEx("SRBloodFountain",0,0,56,velx,vely,velz,0)
		VILH A 12 A_SpawnItemEx("SRBloodFountain",0,0,56,velx,vely,velz,0)
		VILB R 7
		VILE S 7 A_NoBlocking
		VILE TUVWXY 7
		VILE Z -1
		Stop
	Death.DrainMana:
		VILE R 0 A_Scream
		VILE R 0 A_Fall
		VILE R 0 ACS_ExecuteAlways(779,0,12,0,0)
		VILE RSTUVWXY 4
		VILE Z -1
		Stop
	Death.DrainHealthEver:	
	Death.DrainHealth:
		VILE R 0 A_Scream
		VILE R 0 A_Fall
		VILE R 0 ACS_ExecuteAlways(772,0,20,0,0)
		VILE RSTUVWXY 4
		VILE Z -1
		Stop
	Death.DemonFire:
	Burn:
		VILB R 0 A_Scream
		VILB R 0 A_Fall
		VILB R 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		VILB R 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		VILB R 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		VILB R 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		VILB R 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		VILB R 0 A_CustomMissile("Satanic_FireStarter",6,Random(-20,20),Random(-360,360),0)         
		VILB R 0 A_CustomMissile("Satanic_FireStarter",6,Random(-20,20),Random(-360,360),0)
		VILB RSTUVWXY 4
		VILB ZZZZZZZZZ 4 A_SpawnItem("Satanic_SmokeSpawner")
		VILB Z -1
		Stop
	Raise:
		VILE Z 1 
		VILE Z 1 A_SetInvulnerable
		VILE Z 1 A_UnsetSolid
		VILE Z 1 A_UnsetShootable
		VILE Z 1 ACS_ExecuteAlways(788,0,0,0,0)
		VILE Z 1
		Stop
	Raise_Spirit:
		VILE YXWVUTSRQPO 3
		VILE J 0 A_SpawnItem("Satanic_RaisedRevenant")
		Stop
	Raise_ManaRitual:
		VILE YXWVUT 4
		VILE S 4 A_SpawnItem("Satanic_HealthSpirit")
		VILE R 4 ACS_ExecuteAlways(779,0,3,0,0)
		VILE P 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		VILE Q 4
		VILE Q 0 A_SpawnItem("Satanic_ArchvileBurnedCorpse")
		Stop
	}
}

Actor Satanic_ArchvileBurnedCorpse
{
	Radius 20
	Height 4
	States
	{
	Spawn:
		VILB Z -1
		Stop
	}
}