Actor Satanic_Arachnotron : Arachnotron Replaces Arachnotron 5019
{
	DamageFactor NoDamage,	 		0
	PainChance "Turn", 255
	PainChance "Fire", 				0
	PainChance "Posession", 		255
	-FRIENDLY
	States
	{
	Spawn:
		BSPI A 0 Thing_Hate(0,669,3)
		BSPI AB 10 A_Look
		Goto Spawn+1
	See:
		BSPI A 20
		BSPI I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto StandardSee
		BSPI A 0
		Goto PosessedMove
	PosessedMove:
		BSPI A 0 A_JumpIfInventory("Satanic_PosessedFire",1,1)
		Goto PosessedStandardMove
		BSPI A 0
		Goto PosessedFire
	PosessedFire:
		BSPI E 0 A_TakeInventory("Satanic_PosessedFire",1)
		BSPI E 0 ACS_ExecuteAlways(805,0,2,0,0)
		BSPI F 7 Bright A_CustomMissile("Satanic_ArachnotronPlasma",24.0,0,0.0,2,-pitch)
		BSPI E 0 ACS_ExecuteAlways(805,0,1,0,0)
		BSPI E 6 Bright A_CustomMissile("Satanic_ArachnotronPlasma",24.0,0,0.0,2,-pitch)
		BSPI E 0 ACS_ExecuteAlways(805,0,0,0,0)
		BSPI E 1 
		BSPI E 0 
		Goto See+1
	PosessedStandardMove:
		BSPI AAAAAABBBBBBCCCCCCDDDDDD 1 ACS_Execute(803,0,32,80,15)
		BSPI A 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto Spawn+1
		BSPI A 0
		Goto See+1
	StandardSee:
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI A 3 A_BabyMetal
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI A 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI B 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI B 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI C 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI C 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI D 3 A_BabyMetal
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI D 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI E 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI E 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI F 3 A_Chase
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,"Wander",AAPTR_PLAYER1)
		BSPI F 3 A_Chase
		Goto See+1
	Wander:
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI A 3 A_BabyMetal
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI A 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI B 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI B 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI C 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI C 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI D 3 A_BabyMetal
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI D 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI E 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI E 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI F 3 A_Wander
		TNT1 A 0 A_JumpIfInventory("PowerNecShroud",1,1,AAPTR_PLAYER1)
		Goto See+1
		BSPI F 3 A_Wander
		Goto See+1
	Pain.Turn:
		TNT1 A 0 A_PlaySound("Satanic/Weapons/BellRing",CHAN_WEAPON)
		TNT1 A 0 ACS_Execute(824,0,20,0,0)
		BSPI I 3
		TNT1 A 0 A_ChangeFlag("Friendly",1)
		BSPI I 3 A_Pain
		Goto See+1
	Pain:
		BSPI I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto Pain+2
		BSPI I 0
		Goto See+1
		BSPI I 3
		BSPI I 3 A_Pain
		Goto See+1
	Pain.Posession:
		BSPI H 0
		BSPI H 0 ACS_ExecuteAlways(791,0,40,0,0)
		BSPI H 0 A_GiveInventory("Satanic_IsPosessed",1)
		BSPI H 0 Thing_ChangeTID(0,669)
		BSPI H 0 ACS_ExecuteAlways(802,0,32,0,0)
		Goto See+1
	Pain.DrainHealthEver:
		BSPI I 3
		BSPI I 0 ACS_ExecuteAlways(772,0,4,0,0)
    	BSPI I 3 A_Pain
    	goto See+1
	Death:
		BSPI I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeath
		BSPI I 0 ACS_ExecuteAlways(801,0,0,0,0)
		BSPI I 0 ChangeCamera(0, 0, 0) 
		Goto ActualDeath
	Death.DrainMana:
		BSPI I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeathDrainMana
		BSPI I 0 ACS_ExecuteAlways(801,0,0,0,0)
		BSPI I 0 ChangeCamera(0, 0, 0) 
		Goto ActualDeathDrainMana
	Death.DrainHealthEver:
	Death.DrainHealth:
		BSPI I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualDeathDrainHealth
		BSPI I 0 ACS_ExecuteAlways(801,0,0,0,0)
		BSPI I 0 ChangeCamera(0, 0, 0) 
		Goto ActualDeathDrainHealth
	Death.DemonFire:
	Burn:
		BSPI I 0 A_JumpIfInventory("Satanic_IsPosessed",1,1)
		Goto ActualBurn
		BSPI I 0 ACS_ExecuteAlways(801,0,0,0,0)
		BSPI I 0 ChangeCamera(0, 0, 0) 
		Goto ActualBurn
	ActualDeath:
		BSPI J 20 A_Scream
		BSPI K 7 A_NoBlocking
		BSPI LMNO 7
		BSPI P -1 A_BossDeath
		Stop
	ActualDeathDrainMana:
		BSPI J 0 A_Scream
		BSPI J 0 A_Fall
		BSPI J 0 ACS_ExecuteAlways(779,0,12,0,0)
		BSPI JKLMNO 5
		BSPI P 0 A_BossDeath
		BSPI P -1
		Stop
	ActualDeathDrainHealth:
		BSPI J 0 A_Scream
		BSPI J 0 A_Fall
		BSPI J 0 ACS_ExecuteAlways(772,0,20,0,0)
		BSPI JKLMNO 5
		BSPI P 0 A_BossDeath
		BSPI P -1
		Stop
	ActualBurn:
		BSPB J 0 A_Scream
		BSPB J 0 A_Fall
		BSPB J 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		BSPB J 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		BSPB J 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		BSPB J 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		BSPB J 0 A_CustomMissile("Satanic_HellfireDeviceBoltSecondary",Random(0,64),0,Random(-360,360),0,0)
		BSPB J 0 A_CustomMissile("Satanic_FireStarter",6,Random(-20,20),Random(-360,360),0)         
		BSPB J 0 A_CustomMissile("Satanic_FireStarter",6,Random(-20,20),Random(-360,360),0)
		BSPB JKLMNO 5
		BSPB PPPPPPPPP 4 A_SpawnItem("Satanic_SmokeSpawner")
		BSPB P 0 A_BossDeath
		BSPB P 0 A_SpawnItem("Satanic_ArachnotronBurnedCorpse")
		Stop
	Raise:
		BSPI O 1
		BSPI O 1 A_SetInvulnerable
		BSPI O 1 A_UnsetSolid
		BSPI O 1 A_UnsetShootable
		BSPI O 1 ACS_ExecuteAlways(788,0,0,0,0)
		BSPI O 1
		Stop
	Raise_Spirit:
		BSPI NMLK 6
		BSPI J 0 A_SpawnItem("Satanic_RaisedImp")
		Stop
	Raise_ManaRitual:
		BSPI O 4
		BSPI N 4
		BSPI N 4 A_SpawnItem("Satanic_HealthSpirit")
		BSPI N 4 ACS_ExecuteAlways(779,0,12,0,0)
		BSPI N 4 A_SpawnItem("Satanic_HealthSpiritExplosion")
		BSPI O 4
		BSPB P 0 A_SpawnItem("Satanic_ArachnotronBurnedCorpse")
		Stop
	}
}

Actor Satanic_ArachnotronPlasma : ArachnotronPlasma Replaces ArachnotronPlasma
{
	Speed 24
	Decal ArachnatronScorch
	DamageType DemonFire
}

Actor Satanic_ArachnotronBurnedCorpse
{
	Radius 20
	Height 4
	States
	{
	Spawn:
		BSPB P -1
		Stop
	}
}