ACTOR UndeadPriestess : PlayerPawn
{
  Health 100
  Radius 16
  Height 56
  Mass 700
  PainChance 256
  DamageFactor "FlameProtect", 0
  Damagefactor "GraveStalkerLure", 2.0
  Player.ColorRange 112, 127
  Player.Maxhealth 100
  Player.DisplayName "Dark Priestess"
  Player.StartItem "ShellX", 60
  Player.StartItem "ShotgunsX2"
  Player.StartItem "ThrowFireball"
  Player.StartItem "InvisAmmo", 10
  Player.StartItem "FireProtectAmmo",1
  Player.StartItem "DarkFireChargeAmmo", 200
  Player.StartItem "IsHuman", 1
  Player.StartItem "Screamer", 0
  player.soundclass "undeadpriestess"
  Player.ScoreIcon "PRIESTST"
  Damagefactor "AntiAirbolt", 0.0
  Damagefactor "Sentinel", 0.0
  Damagefactor "Fleshbent", 1.0
  Damagefactor "normal", 1.0
  Damagefactor "Sentinel", 0.0
  Damagefactor "MechPewPews", 0.0
  Damagefactor "MacheteSlicerino", 0.0
  Damagefactor "GasterSmokeHurt", 0.0
  Damagefactor "StrifeSuit", 0.0
  limitedtoteam 0
  Player.ForwardMove 1.1, 1.1
  Player.SideMove 1.1, 1.1
  +NOSKIN
  +NOICEDEATH
  +QUICKTORETALIATE
  +GHOST
  States
  {
  Spawn:
	UNDP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
    UNDP A 0 A_StopSound(7)
	UNDP A 1 Setplayerproperty(0,0,0)
    Loop
  See:
	UNDP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
	UNDP A 0 A_JumpIfHealthlower(50,"INeedHealingSee")
    UNDP A 5
    UNDP B 5 A_SpawnItemEx ("PriestessStomp", 0, 0, 0, 0, 0, -20, 0,0, 0) 
    UNDP C 5
    UNDP D 5 A_SpawnItemEx ("PriestessStomp", 0, 0, 0, 0, 0, -20, 0,0, 0) 
	Goto Spawn
  INeedHealingSee:
	UNDP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
	UNDP A 0 A_SpawnItemEx("INeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
    UNDP A 5
    UNDP B 5 A_SpawnItemEx ("PriestessStomp", 0, 0, 0, 0, 0, -20, 0,0, 0) 
    UNDP C 5
    UNDP D 5 A_SpawnItemEx ("PriestessStomp", 0, 0, 0, 0, 0, -20, 0,0, 0) 
	Goto Spawn
  Missile:
	UNDP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
    UNDP E 12
    Goto Spawn
  Melee:
	UNDP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
    UNDP F 6 BRIGHT
    Goto Missile
	Pain.Justicar:
	TNT1 A 0 A_custommissile("Justicarattack",14,0,random(0,360))
	TNT1 A 0 A_GiveToTarget("Health",1)
	TNT1 A 0 A_GiveToTarget("JusticarSecondaryAmmo",1)
	Goto pain
	Pain.TeleOtherPlant:
	TNT1 A 0 A_GiveInventory("TeleOtherPlanted",1)
	Goto Pain
	Pain.TeleOtherActivateDamage:
	TNT1 A 0 A_JumpIfInventory("TeleOtherPlanted",1,"TeleOtherSend")
	Goto Pain	
	TeleOtherSend:
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 ACS_ExecuteAlways(466,0,2)
	UNDP G 1 A_PlaySound("TeleOther/activate",CHAN_6,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	Goto Pain
	Death.TeleOtherActivateDamage:
	TNT1 A 0 A_JumpIfInventory("TeleOtherPlanted",1,"TeleOtherSplode")
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 A_GiveToTarget("KilledMe",1)
	UNDP G 1 A_PlaySound("Gibbage/XSplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
	TeleOtherSplode:
	TNT1 A 0 A_TakeInventory("TeleOtherPlanted",1)
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_7,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	TNT1 A 0 ACS_ExecuteAlways(466,0,2)
	TNT1 A 0 A_GiveToTarget("KilledMe",1)
	UNDP G 1 A_PlaySound("Gibbage/XSplat")
	TNT1 A 0 A_PlaySound("TeleOther/activate",CHAN_6,1)
	TNT1 A 0 A_SpawnItem("TeleOtherFog")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
  Pain.Choke:
	TNT1 A 0 A_GiveToTarget("Health",2)
	TNT1 A 0 A_GiveToTarget("ChokeCharging",1)
	Goto Pain
  Pain.JusticarSpike:
	TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
	TNT1 A 0 A_GiveToTarget("Health",2)
  Pain:
	UNDP A 0 A_JumpIfInventory("GloomWatchStack",100,"GloomDeath")
	UNDP G 0 A_GiveInventory("FireProtectAmmo", 1)
	UNDP G 0 A_Print("Ring of Fire Spell available! (Max. 1 stocked)")
    UNDP G 4
    UNDP G 4 A_Pain
    Goto Spawn
	Pain.LoonaClawing:
	TNT1 A 0 A_GiveToTarget("Health",6)
	UNDP G 20 Setplayerproperty(0,1,0)
	UNDP G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Pain.LoonaClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",5)
	UNDP G 20 Setplayerproperty(0,1,0)
	UNDP G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Pain.LoonaClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",8)
	UNDP G 20 Setplayerproperty(0,1,0)
	UNDP G 2 Setplayerproperty(0,0,0)
	Goto Spawn
	Death.LoonaClawing:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Death.LoonaClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Death.LoonaClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death.Jitter
	Pain.GloomWatcherLure:
	TNT1 A 0 ACS_ExecuteAlways(134)
	TNT1 A 0 A_Playsound("GloomWatcher/FeintAttack",CHAN_7)
	Goto pain
	Death.GloomWatcherlure:
	TNT1 A 0 ACS_ExecuteAlways(134)
	TNT1 A 0 A_Playsound("GloomWatcher/FeintAttack",CHAN_7)
	Goto Death.Jitter
	GloomDeath:
	TNT1 A 1 Damagething(99999,18)
	Goto Death
	Death.Fleshbent:
	TNT1 A 0 A_GiveToTarget("TentacleAmmo",2)
	TNT1 A 0 A_GiveToTarget("Soulscepter1",15)
	TNT1 A 0 A_GiveToTarget("Soulscepter2",50)
	Goto Death.Jitter
	Pain.BastetClawing:
		TNT1 A 0 A_GiveToTarget("Health",4)
		Goto Pain
	Pain.BastetClawingLightSFX:
		TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_5)
		TNT1 A 0 A_GiveToTarget("Health",3)
		Goto Pain
	Pain.BastetClawingHeavySFX:
		TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_5)
		TNT1 A 0 A_GiveToTarget("Health",6)
		Goto Pain
	Pain.Sickle:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
	Pain.Wendigo:
		TNT1 A 0 A_PlaySound("RAVEN1",CHAN_5)
		TNT1 A 0 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), 0, 0, random(2,4), random(0,360), 128)
		TNT1 A 0 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), 0, 0, random(2,4), random(0,360), 128)
		Goto Pain
  Pain.Creepstun:
    UNDP G 0 A_Pain
	UNDP G 0 A_GiveToTarget("health",5)
	UNDP G 40 Setplayerproperty(0,1,0)
	UNDP G 2 Setplayerproperty(0,0,0)
	Goto Spawn	
  Death.Creeper:
	UNDP A 0 A_PlaySoundEx("creeperattack", "Body")
	UNDP A 0 A_SpawnItemEx("CreeperPopUp",0,0,10)
	TNT1 A 0 A_GiveToTarget("GhoulAmmo",1)
	UNDP A 0 A_GiveToTarget("Creeperheal",1)
    UNDP A 0 ACS_ExecuteAlways(997,0,1)
	goto DeathAnimAlt
  Death.Creepstun:
	UNDP A 0 A_GiveToTarget("Unlock13",1)
	UNDP A 0 A_GiveToTarget("CreepGotya",1)
	goto DeathAnimAlt
  Death.SjasScream:
  Death.FrostbiteWind:
  Death.EmtalicSaw:
  Death.LichFire:
    UNDP A 0 A_GiveToTarget("KilledJ",1)
    Goto DeathAnim
  Death:
  DeathAnim:
    UNDF A 0 A_GiveToTarget("KillBeep",1)
	UNDF A 0 A_GiveInventory("ItemDeath",1)
    UNDF A 0 A_StopSound(7)
	UNDP A 0 A_TakeInventory("KilledCount",999)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 0, 124, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 81, 114, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 102, 102, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 114, 91, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 124, 0, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -81, -114, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -102, -102, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -114, -81, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 0, -124, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -124, 0, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -81, 114, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -102, 102, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -114, 81, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 81, -114, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 102, -102, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 114, -81, 0, 0, 0, 0, 0, 32)
    UNDP A 0 A_GiveToTarget("KilledMe",1)
    UNDP A 0 A_GiveToTarget("KilledDarkpriestess",1)
    UNDP H 8
    UNDP I 8 A_PlayerScream
    UNDP J 8 A_NoBlocking
    UNDP KLM 8
    UNDP N -1
    Stop
  DeathAnimAlt:
    UNDF A 0 A_GiveToTarget("KillIndicator",1)
	UNDF A 0 A_GiveInventory("ItemDeath",1)
    UNDF A 0 A_StopSound(7)
	UNDP A 0 A_TakeInventory("KilledCount",999)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 0, 124, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 81, 114, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 102, 102, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 114, 91, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 124, 0, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -81, -114, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -102, -102, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -114, -81, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 0, -124, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -124, 0, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -81, 114, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -102, 102, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", -114, 81, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 81, -114, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 102, -102, 0, 0, 0, 0, 0, 32)
	UNDP A 0 A_SpawnItemEx ("FlameProtect", 114, -81, 0, 0, 0, 0, 0, 32)
    UNDP A 0 A_GiveToTarget("KilledMe",1)
    UNDP A 0 A_GiveToTarget("KilledDarkpriestess",1)
    UNDP H 8
    UNDP I 8 A_PlayerScream
    UNDP J 8 A_NoBlocking
    UNDP KLM 8
    UNDP N -1
    Stop
	Death.GhoulChainSaw:
	TNT1 A 0 A_GiveToTarget("Health",50)
	TNT1 A 0 A_GiveToTarget("BearTarpsAmmo",1)
	TNT1 A 0 A_GiveToTarget("SawyerRageammo",10)
	TNT1 A 0 A_GiveToTarget("DUMMY_SawyerBloodyChainsaw", 1)
	Goto Death.Jitter
	Death.BastetClawing:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.BastetClawingLightSFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitLight",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.BastetClawingHeavySFX:
	TNT1 A 0 A_PlaySound("Bastet/ClawHitHeavy",CHAN_6)
	TNT1 A 0 A_GiveToTarget("Health",30)
	Goto Death.Jitter
	Death.Choke:
		TNT1 A 0 A_GiveToTarget("Health",25)
		TNT1 A 0 A_GiveToTarget("ChokeCharging",40)
	Goto Death.Jitter
	Death.JusticarSpike:
		TNT1 A 0 A_GiveToTarget("Health",15)
	Goto Death.Jitter
	Death.Sinistar:
		TNT1 A 0 A_GiveToTarget("SiniPrimary",1)
	Goto Death.Jitter
	Death.MapGibber:
		TNT1 A 0 A_PlaySound("car/hit",chan_auto)
	Death.MapGibber2:
  Death.Jitter:
	UNDP A 0 A_GiveToTarget("KillBeep",1)
	UNDP A 0 A_GiveInventory("ItemDeath",1)
    UNDP A 0 A_GiveToTarget("Crunched",1)
	UNDP A 0 A_GiveToTarget("KilledMe",1)
	UNDP A 0 A_GiveToTarget("KilledDarkpriestess",1)
	UNDP G 1 A_PlaySound("gibbage/xsplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
  Death.JitterAlt:
	UNDP A 0 A_GiveToTarget("KillIndicator",1)
	UNDP A 0 A_GiveInventory("ItemDeath",1)
    UNDP A 0 A_GiveToTarget("Crunched",1)
	UNDP A 0 A_GiveToTarget("KilledMe",1)
	UNDP A 0 A_GiveToTarget("KilledDarkpriestess",1)
	UNDP G 1 A_PlaySound("gibbage/xsplat")
	NULL A 0 A_PlaySound("gibbage/playergib") 
	NULL A 0 A_NoBlocking 
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
	NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
	NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
	NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
	NULL A -1
	Stop
	Death.Harvester:
		TNT1 A 0 A_GiveToTarget("SoulHarvesterFragment",1)
		TNT1 A 0 A_GiveToTarget("KilledJ",1)
		Goto Death.Jitter
	Death.HarvesterRock:
		TNT1 A 0 ACS_NamedExecute("SilverFieldsBell",55)
		Goto DeathAnim
	Death.HarvesterAlt:
		TNT1 A 0 A_GiveToTarget("Crunched2",1)
		TNT1 A 0 ACS_NamedExecute("SilverFieldsBell",55)
		Goto Death.Jitter
  Death.Ravager:
		UNDP A 0 A_GiveToTarget("KilledR",1)
		UNDP A 0 A_GiveToTarget("Health",100)
		UNDP A 0 ACS_ExecuteAlways(997,0,2)
		UNDP A 0 A_PlaySoundEx("RavagerAttack","Body")
		UNDP A 0 A_SpawnItemEx("RavagerHit",0,0,32)
		Goto DeathAnimAlt
	Death.RavagerBall:
		UNDP A 0 A_GiveToTarget("RavagerGotYa",1)
		UNDP A 0 A_GiveToTarget("KilledJ",1)
		Goto DeathAnimAlt
	Death.Yurei:
		UNDP A 0 A_GiveToTarget("KilledY",1)
		UNDP A 0 A_PlaySoundEx("YureiKill1","Body",0,1)
		UNDP A 0 ACS_ExecuteAlways(997,0,3)
		Goto DeathAnimAlt
	Death.YureiBall:
		UNDP A 0 A_GiveToTarget("Health",10)
		UNDP A 0 A_SpawnItemEx("BallFire")
		Goto Death.SjasScream
	Death.UboaRawrScream:
		Goto DeathAnimAlt
	Death.Misty:
	Death.Whiteface:
		UNDP A 0 A_GiveToTarget("KillBeep",1)
		UNDP A 0 A_GiveInventory("ItemDeath",1)
		UNDP A 0 A_GiveToTarget("KilledMe",1)
		UNDP A 0 A_GiveToTarget("KilledM",1)
		UNDP HHHH 2 A_FadeOut(0.1)
		UNDP A 0 A_PlayerScream
		UNDP IIIIJJ 2 A_FadeOut(0.1)
		UNDP A 0 A_NoBlocking
		NULL A -1
		Stop
	Death.Clowny:
		UNDP A 0 ACS_ExecuteAlways(997,0,4)
		UNDP A 0 A_GiveToTarget("KilledC",1)
		UNDP A 0 A_GiveToTarget("ClownyAmmo",5)
		Goto DeathAnim
	Death.Mohoph:
		TNT1 A 0 A_GiveToTarget("MorphAmmo", 1)
		UDNP A 0 A_GiveToTarget("TransDarkpriestess",1)
		UNDP A 0 A_PlaySoundEx("MohophKill","Body")
		UNDP A 0 ACS_ExecuteAlways(997,0,5)
		Goto DeathAnim
	Death.EmtalicWeak:
		UNDP A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto DeathAnim
	Death.Emtalic:
		UNDP A 0  A_PlaySoundEx("RamSuccess","Body")
		Goto Death.Jitter
	Death.I1:
		UNDP A 0 A_SpawnItemEx("Heart",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		UNDP A 0 A_GiveToTarget("KilledI1",1)
		Goto DeathAnim
	Death.I2:
		UNDP A 0 A_GiveToTarget("KillBeep",1)
		UNDP A 0 A_GiveInventory("ItemDeath",1)
		UNDP A 0 A_GiveToTarget("KilledMe",1)
		UNDP A 0 A_GiveToTarget("KilledI2",1)
		UNDP A 0 A_GiveToTarget("Clip",1)
		UNDP G 0 SetPlayerProperty(0,1,4)
		UNDP G 0 A_Stop
		UNDP GGGGGGGGGGGGGG 5 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		NULL A 0 A_PlayerScream
		NULL A 0 ACS_ExecuteAlways(997,0,6)
		NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, 33, 160, 0)
		NULL A 0 A_SpawnItemEx("PLAYERBOOT", 0, 0, 11, 0, 0, 27, -33, 160, 0)
		NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 25, 0, 0, 50, random(0,360), 160, 0)
		NULL A 0 A_SpawnItemEx("SHOTGUYARM", 0, 0, 36, 0, 0, 32, random(0,360), 160, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("BoneShardSpawner3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
		NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		NULL A 1 A_SpawnItemEx("SkullGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A 1 A_SpawnItemEx("ChestGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("ArmGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("HandGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A 1 A_SpawnItemEx("CoccyxGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AA 1 A_SpawnItemEx("LegGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL AAAAAA 1 A_SpawnItemEx("BoneGib",0,0,0,random(2,4),random(2,4),random(8,12),random(-180,180))
		NULL A -1 A_NoBlocking
		Stop
	Death.I3:
		UNDP A 0 A_GiveToTarget("KillBeep",1)
		UNDP A 0 A_GiveInventory("ItemDeath",1)
		UNDP A 0 A_GiveToTarget("KilledMe",1)
		UNDP A 0 A_GiveToTarget("KilledI3",1)
		UNDP HHHHHHHH 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		UNDP I 0 A_PlayerScream
		UNDP IIIIIIII 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		UNDP J 0 A_NoBlocking
		UNDP JJJJJJJJKKKKKKKKLLLLLLLLMMMMMMMM 1 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		UNDP NNNNNNN 3 A_SpawnItemEx("PainSmoke",0,random(-22,22),random(-22,22),random(2,4),momy,random(8,12),random(-180,180))
		UNDP N -1
		Stop
	Death.I4:
		UNDP A 0 A_GiveToTarget("KilledI4",1)
		Goto DeathAnim
	Death.I5:
		UNDP A 0 A_GiveToTarget("KilledI5",1)
		Goto DeathAnim
	Pain.RavagerBall:
		UNDP A 0 ACS_ExecuteAlways(920,0)
		Goto Pain
	Pain.YureiBall:
		UNDP A 0 A_GiveToTarget("Health",10)
		UNDP A 0 A_SpawnItemEx("BallFire")
		Goto Pain
	Pain.Emtalic:
		UNDP A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto Pain
	Pain.EmtalicWeak:
		UNDP A 0 A_PlaySoundEx("RamSuccess","Body")
		Goto Pain
	Death.Tenebra:
		TNT1 A 0 A_GiveToTarget("Health",20)
		Goto DeathAnim
	Death.TenebraRail:
	Death.Telefrag:
	Death.Grenade:
	Death.Termissiles:
	Death.ChaosExpl12:
	Death.KarenExplo:
	Death.IlluNukeKABUUM:
	Death.CalebDynamite:
	Death.Wendigo:
	Death.MorphRipperGib:
	Death.DarkVortex:
	Death.ImpostorJitter:
	Death.PuppetStrings:
	Death.LichIce:
	Death.LichLightning:
	Death.AsylumCannonBall:
		Goto Death.Jitter
	Death.TrueDivine:
		TNT1 A 0 A_PlaySoundEx("SoulSnatchStinger",CHAN_AUTO,0,1)
		TNT1 A 0 A_SpawnItemEx("SoulSnatch")
		Goto Death.JitterAlt
	Death.Judgement:
		TNT1 A 0 A_SpawnItemEx("StellarisThunderFX")
		Goto Death.JitterAlt
	Death.VoltMelee:
	Death.AmperRail:
		TNT1 A 0 A_GiveToTarget("VoltRingAmmo",2)
		TNT1 A 0 A_GiveToTarget("AmperSpeedTokenCheck",1)
		Goto Death.Jitter
	Pain.FrostbiteWind:
	Pain.Ravager:
	Pain.Juglava:
	Pain.HarvesterRock:
	Pain.EmtalicSaw:
	Pain.MorphRipper:
	Pain.MorphRipperGib:
	Pain.I1:
	Pain.I3:
	Pain.ZombiePoison:
	Pain.Asylum:
	Pain.AsylumCannonBall:
	Pain.FleshlingMissile:
	Pain.DarkVortex:
	Pain.ImpostorJitter:
	Pain.BlueFire:
	Pain.PuppetStrings:
	Pain.LichFire:
	Pain.LichIce:
	Pain.LichLightning:
	Pain.Whiteface:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
		Goto Pain
	}
}

Actor PriestessStomp : CyborgStomp
{
	DeathSound "PriestessStep"
}

actor ShellX : Shell replaces Shell
{
inventory.amount 1
inventory.maxamount 60
ammo.backpackmaxamount 0
}

actor InvisAmmo : Ammo
{
  inventory.pickupmessage ""
  inventory.amount 10
  inventory.maxamount 10
  ammo.backpackamount 10
  ammo.backpackmaxamount 10
  +INVENTORY.IGNORESKILL
  states
  {
  Spawn:
    TNT1 A -1
    stop
  }
}

actor ShotgunsX2 : DoomWeapon
{
  Weapon.SlotNumber 1
  Weapon.SelectionOrder 400
  Weapon.AmmoUse 1
  Weapon.AmmoGive 0
  Weapon.AmmoType "ShellX"
  Weapon.AmmoUse2 10
  Weapon.AmmoType2 "InvisAmmo"
  Inventory.icon "TNT1A0"
  Obituary "%k declared open season on %o!"
  Decal BulletChip
  +WEAPON.NOAUTOAIM
  +INVENTORY.UNDROPPABLE
  States
  {
  Ready:
    X2SG A 1 A_WeaponReady
	loop
  Deselect:
    X2SG A 1 A_Lower
    Loop
  Select:
    X2SG A 1 A_Raise
    Loop
  Fire:
    X2SG A 0 A_JumpIfInventory ("Counter1", 1, "Right1")
	X2SG A 0 A_JumpIfInventory ("Counter2", 1, "Left2")
	X2SG A 0 A_JumpIfInventory ("Counter3", 1, "Right2")
	X2SG A 0 A_JumpIfInventory ("Counter4", 1, "Reload")
  //Left 1
    X2SG D 3 bright A_FireBullets (6, 6, 6, 3, "BulletPuff2")
	TNT1 A 0 bright A_GiveInventory ("Counter1", 1)
	X2SG D 0 bright A_PlaySoundEx ("X2Shotty/Fire", "SoundSlot6")
	X2SG D 0 bright radius_quake(2, 2, 0, 1, 0)
	X2SG D 0 bright A_GunFlash
	X2SG E 2 bright
	X2SG A 3 A_Refire
	Goto Ready
  //Right 1
  Right1:
    X2SG F 3 bright A_FireBullets (6, 6, 6, 3, "BulletPuff2")
	TNT1 A 0 bright A_TakeInventory ("Counter1", 1)
	TNT1 A 0 bright A_GiveInventory ("Counter2", 1)
	X2SG F 0 bright A_PlaySoundEx ("X2Shotty/Fire", "SoundSlot5")
	X2SG D 0 bright radius_quake(2, 2, 0, 1, 0)
	X2SG F 0 bright A_GunFlash
	X2SG G 2 bright
	X2SG A 3 A_Refire
    Goto Ready
  //Left 2
  Left2:
    X2SG D 3 bright A_FireBullets (6, 6, 6, 3, "BulletPuff2")
	TNT1 A 0 bright A_TakeInventory ("Counter2", 1)
	TNT1 A 0 bright A_GiveInventory ("Counter3", 1)
	X2SG D 0 bright A_PlaySoundEx ("X2Shotty/Fire", "SoundSlot6")
	X2SG D 0 bright radius_quake(2, 2, 0, 1, 0)
	X2SG D 0 bright A_GunFlash
	X2SG E 2 bright
	X2SG A 3 A_Refire
	Goto Ready
  //Right 2
  Right2:
    X2SG F 3 bright A_FireBullets (6, 6, 6, 3, "BulletPuff2")
	TNT1 A 0 bright A_TakeInventory ("Counter3", 1)
	TNT1 A 0 bright A_GiveInventory ("Counter4", 1)
	X2SG F 0 bright A_PlaySoundEx ("X2Shotty/Fire", "SoundSlot5")
	X2SG D 0 bright radius_quake(2, 2, 0, 1, 0)
	X2SG F 0 bright A_GunFlash
	X2SG G 2 bright
	X2SG A 3 A_Refire
    Goto Ready
  Reload:
    X2SG A 5
    X2SG B 1 Offset (0, 30) A_PlaySound ("X2Shotty/Open")
	X2SG B 1 Offset (0, 36)
	X2SG B 1 Offset (0, 42)
	X2SG B 1 Offset (0, 48)
	X2SG B 1 Offset (0, 54)
	X2SG B 1 Offset (0, 60)
	X2SG B 1 Offset (0, 66)
	TNT1 A 20 A_TakeInventory ("Counter4", 1)
	X2SG C 1 Offset (0, 66)
	X2SG C 1 Offset (0, 60)
	X2SG C 1 Offset (0, 54)
	X2SG C 1 Offset (0, 48)
	X2SG C 1 Offset (0, 42)
	X2SG C 1 Offset (0, 36)
	X2SG C 1 Offset (0, 30) A_PlaySound ("X2Shotty/Close")
	X2SG C 0 A_GiveInventory("InvisAmmo",5)
    Goto Ready
  Flash:
    TNT1 A 3 Bright A_Light1
    TNT1 A 2 Bright A_Light2
    Goto LightDone
	 Altfire:
		X2SG A 0 A_JumpIfNoAmmo("ready")
        X2SG A 0 A_JumpIfInventory("InvisAmmo",10,"StealthActivate")
		Goto OK
		StealthActivate:
		X2SG A 2
		X2SG A 0 A_Recoil(-30)
		X2SG A 0 A_PlaySoundEx ("DPPOOF", "SoundSlot6")
		X2SG A 0 A_Playsound("FemaleMageTaunt",4)
		X2SG A 0 A_TakeInventory("InvisAmmo",10)
		X2SG A 1 A_Settranslucent(0.8)
		X2SG A 1 A_Settranslucent(0.6)
		X2SG A 1 A_Settranslucent(0.4)
		X2SG A 1 A_Settranslucent(0.2)
		X2SG A 1 A_Settranslucent(0.0)
		X2SG A 1 SetPlayerProperty(0, 1, 3)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 5 A_SpawnItemEx("ShosannaStealthTrace",0,0,20,0,0,0,Random(120,240),0,0)
		X2SG A 1 SetPlayerProperty(0, 0, 3)
		Goto StopStealth
		StopStealth:
		X2SG A 0 A_PlaySoundEx ("DPFOOP", "SoundSlot6")
	    X2SG A 1 A_Settranslucent(0.0)
		X2SG A 1 A_Settranslucent(0.2)
		X2SG A 1 A_Settranslucent(0.6)
		X2SG A 1 A_Settranslucent(0.8)
		X2SG A 1 A_Settranslucent(1.0)
		X2SG A 0 A_ClearRefire
        goto Ready
  }
}

ACTOR Counter1 : Inventory
{
   Inventory.Amount 1
   Inventory.MaxAmount 1
}

ACTOR Counter2 : Inventory
{
   Inventory.Amount 1
   Inventory.MaxAmount 1
}

ACTOR Counter3: Inventory
{
   Inventory.Amount 1
   Inventory.MaxAmount 1
}

ACTOR Counter4 : Inventory
{
   Inventory.Amount 1
   Inventory.MaxAmount 1
}

actor ThrowFireball : DoomWeapon
{
  Weapon.SlotNumber 2
  Weapon.SelectionOrder 1900
  weapon.kickback 3000
  Obituary "%o was fried by %k!"
  Inventory.icon "TNT1A0"
  +WEAPON.WIMPY_WEAPON
  +WEAPON.NOAUTOAIM
  +INVENTORY.UNDROPPABLE
  +WEAPON.ALT_AMMO_OPTIONAL
  Weapon.AmmoType "DarkFireChargeAmmo"
  Weapon.AmmoType2 "DarkFireChargeAmmo"
  Weapon.AmmoGive 0
  Weapon.AmmoUse 10
  Weapon.AmmoUse2 0
  States
  {
  Ready:
	UNDF A 0 A_JumpIfInventory("CyborgDashCheck",1,"FireProtectCheck")
    UNDF A 0 A_StopSound(7)
    UNDF A 5 A_WeaponReady
	UNDF A 0
    Loop
  Deselect:
    UNDF A 0 A_StopSound(7)
    UNDF A 1 A_Lower
    Loop
  Select:
    UNDF A 0 A_StopSound(7)
    UNDF A 1 A_Raise
    Loop
  Fire:
	UNDF A 0 A_StopSound(7)
	UNDF A 0 A_Jump(256,"GreenFirebarragenope","GreenFirebarrageyup","GreenFirebarragenope","GreenFirebarragenope","GreenFirebarragenope")
	GreenFirebarragenope:
    UNDF AB 2
	UNDF C 2
	UNDF D 3 bright
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 3 bright A_FireCustomMissile ("WrathBall",0,1)
	UNDF C 4
    UNDF E 4
	UNDF A 4
    UNDF A 4 A_ReFire
    Goto Ready
	GreenFireBarrageyup:
	UNDF AB 2
	UNDF C 2
	UNDF D 3 bright
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 2 bright A_FireCustomMissile ("WrathBall",-20,4)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 2 bright A_FireCustomMissile ("WrathBall",-10,0)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 2 bright A_FireCustomMissile ("WrathBall",-5,0)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 2 bright A_FireCustomMissile ("WrathBall",0,0)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 2 bright A_FireCustomMissile ("WrathBall",5,0)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 2 bright A_FireCustomMissile ("WrathBall",10,0)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 2 bright A_FireCustomMissile ("WrathBall",20,0)
	UNDF C 2
    UNDF E 2
	UNDF A 2
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 4 bright A_FireCustomMissile ("WrathBall",0,0)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 4 bright A_FireCustomMissile ("WrathBall",0,0)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
    UNDF D 4 bright A_FireCustomMissile ("WrathBall",0,0)
	UNDF C 2
    UNDF E 2
	UNDF A 5
    UNDF A 5 A_ReFire
	Goto Ready
  AltFire:
	Althold:
	UNDF A 0 A_JumpIfInventory("DarkFireChargeAmmo", 200,"FadeAttack")
	UNDF A 0 A_Playsound("DarkPriestessCharge",7,1,1)
	UNDF A 0 Bright A_SpawnItemEx("DarkMatterSpark2", 16, 0, 32, 0.5, 0, Random(-0.5, 0.5), Random(-50, 50), 128)
	UNDF A 2 A_GiveInventory("DarkFireChargeAmmo", 1)
    UNDF A 0 Bright A_SpawnItemEx("DarkMatterSpark2", 16, 0, 32, 0.5, 0, Random(-0.5, 0.5), Random(-50, 50), 128)
	UNDF A 2 A_GiveInventory("DarkFireChargeAmmo", 1)
    UNDF A 0 Bright A_SpawnItemEx("DarkMatterSpark2", 16, 0, 32, 0.5, 0, Random(-0.5, 0.5), Random(-50, 50), 128)
	UNDF A 2 A_GiveInventory("DarkFireChargeAmmo", 1)
    UNDF A 0 Bright A_SpawnItemEx("DarkMatterSpark2", 16, 0, 32, 0.5, 0, Random(-0.5, 0.5), Random(-50, 50), 128)
	UNDF A 2 A_GiveInventory("DarkFireChargeAmmo", 1)
	UNDF A 0 A_Refire
	Goto Ready
	FadeAttack:
    UNDF A 2 A_StopSound(7)
    UNDF A 0 A_TakeInventory("DarkFireChargeAmmo",200)
	UNDF A 4
	UNDF B 4
	UNDF B 0 Radius_Quake(9,60,0,20,0)
	UNDF B 0 ACS_ExecuteAlways(135)
	UNDF B 0 A_Playsound("DarkFireGlobal",6,1,0,ATTN_NONE) 
	UNDF C 40
	UNDF C 1 A_PlayWeaponSound ("FireballAltfire")
	TNT1 A 0 A_FireCustomMissile ("DarkMatterBall",0)
	UNDF C 4
    UNDF E 2
	UNDF A 12
    UNDF A 8 A_ReFire
	Goto Ready
	FireProtectCheck:
	UNDF B 0 A_TakeInventory("CyborgDashCheck",999)
	UNDF B 0 A_JumpIfInventory("FireProtectAmmo",1,"FireProtectSpawning")
	Goto Ready
	FireProtectSpawning:
	UNDF AB 2
	UNDF C 2
	UNDF D 3 bright A_TakeInventory("DarkFireChargeAmmo",40)
	UNDF D 0 bright A_PlayWeaponSound ("Fireball/Throw")
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 0, 124, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 81, 114, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 102, 102, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 114, 91, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 124, 0, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", -81, -114, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", -102, -102, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", -114, -81, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 0, -124, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", -124, 0, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", -81, 114, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", -102, 102, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", -114, 81, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 81, -114, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 102, -102, 0, 0, 0, 0, 0, 32)
	UNDF A 0 A_SpawnItemEx ("FlameProtect", 114, -81, 0, 0, 0, 0, 0, 32)
    UNDF D 3 bright A_TakeInventory ("FireProtectAmmo",10)
	UNDF C 4
    UNDF E 4
	UNDF A 4
    UNDF A 4
	Goto Ready
  }
}

actor WrathBall
{
  Radius 6
  Height 16
  Speed 100
  Damage (12)
  Damagetype "Fire"
  RenderStyle Add
  Alpha 1
  SeeSound "D3Imp/Fireball"
  DeathSound "D3Imp/FireballHit"
  Decal "Scorch"
  Projectile
  +RANDOMIZE
  +SEEKERMISSILE
  states
  {
  Spawn:
    BALG A 0 A_Weave(4.5,0,2.0,0.0)
    BALG A 1 bright A_SpawnItemEx("WrathPuff", -8, 0, 0, random(0 ,1), random(0 ,1), random (-1, 1), 0, 176)
	BALG B 1 bright A_SpawnItemEx("WrathPuff", -8, 0, 0, random(0 ,1), random(0 ,1), random (-1, 1), 0, 176)	
    loop
  XDeath:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	TNT1 A 0 A_Jump(256,"DeathCont")
	Goto DeathCont
  Death:
	TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
	TNT1 A 0 A_Stop
	TNT1 A 0 A_SeekerMissile(0,0,SMF_LOOK|SMF_CURSPEED,256)
	TNT1 A 0 A_JumpIfTargetInLOS("SplashBeep",360,JLOSF_PROJECTILE,141)
	TNT1 A 0 A_Jump(256,"DeathCont")
	Goto DeathCont
  SplashBeep:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	TNT1 A 0 A_Jump(256,"DeathCont")
	Goto DeathCont
  DeathCont:
    BALG C 4 bright A_Explode (15,100,0)
    BALG DE 4 bright
    stop
  }
}

Actor WrathPuff
{
  radius 2
  height 2
  speed 0
  damage 0
  renderstyle Translucent
  alpha 0.5
  scale 0.25
  +MISSILE
  +NOGRAVITY
  +NOBLOCKMAP
  +NOCLIP
  +NOTELEPORT
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    PPUF A 3 A_FadeOut(0.1)
    loop
  }
}

actor FireProtectAmmo : CustomInventory
{
  inventory.amount 1
  inventory.maxamount 1
  +INVENTORY.IGNORESKILL
  +INVBAR
  states
  {
  Spawn:
    TNT1 A -1
    stop
  Use:
	TNT1 A 0 A_GiveInventory("CyborgDashcheck",1)
	Fail
  }
}

actor DarkFireChargeAmmo : Ammo
{
  inventory.pickupmessage ""
  inventory.amount 200
  inventory.maxamount 200
  ammo.backpackamount 200
  ammo.backpackmaxamount 200
  +INVENTORY.IGNORESKILL
  states
  {
  Spawn:
    TNT1 A -1
    stop
  }
}

actor FlameProtect
{
  Radius 8
  Height 16
  Speed 0
  Damage 5
  DamageType "FlameProtect"
  Obituary "%k was too hot for %o!"
  projectile
  -MISSILE
  +RIPPER
  +FLOORHUGGER
  +NODAMAGETHRUST
  +BLOODLESSIMPACT
  -CANBLAST
  RenderStyle Add
  Alpha 1
  States
  {
  Spawn:
    FFLG EFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQEFGHIJKLMNOPQ 2 bright A_Explode (8, 20)
  Death:
    FFLG DCBA 2 bright
	stop
  }
}

ACTOR DarkMatterBall
{
    Radius 11
    Height 8
    Speed 100
    Damage (200)
    Scale 2.5
    Projectile
	Obituary "No mercy was shown to %o."
    +RANDOMIZE
    +EXTREMEDEATH
    +FORCERADIUSDMG
    +DONTREFLECT
    +STRIFEDAMAGE
	+SEEKERMISSILE
    RenderStyle Translucent
    Alpha 0.625
    DamageType "fire2"
    DeathSound "DarkFireDeath"
    States
    {
    Spawn:
	DMGB AA 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB A 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB AA 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB A 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB AA 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB A 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB BB 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB B 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB BB 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB B 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB BB 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB B 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB CC 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB C 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB CC 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB C 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB CC 0 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	DMGB C 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,32,0)
	GoTo Spawn+1
	XDeath:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	TNT1 A 0 A_Jump(256,"DeathCont")
	Goto DeathCont
	Death:
	TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
	TNT1 A 0 A_Stop
	TNT1 A 0 A_SeekerMissile(0,0,SMF_LOOK|SMF_CURSPEED,256)
	TNT1 A 0 A_JumpIfTargetInLOS("SplashBeep",360,JLOSF_PROJECTILE,360)
	TNT1 A 0 A_Jump(256,"DeathCont")
	Goto DeathCont
	SplashBeep:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	TNT1 A 0 A_Jump(256,"DeathCont")
	Goto DeathCont
    DeathCont:
	TNT1 A 0 A_SpawnItemEx("ShadowVaporSpawner",0,0,0,0,0,0,0,32)
	TNT1 A 0 A_Explode(60,256,0)
	TNT1 A 30 Radius_Quake(9,60,0,20,0)
	Stop
	}
}

ACTOR ShadowVaporSpawner
{
+NOINTERACTION
+CLIENTSIDEONLY
RenderStyle none
States
{
Spawn:
	NULL A 0
	NULL AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ShadowVapor",0,0,0,random(4,-4),random(4,-4),random(4,-4),random(0,359),32)
	PLAY A 2
	PLAY BCDEF 4
	Stop
}
}

ACTOR ShadowVapor
{
PROJECTILE
+RIPPER
+RANDOMIZE
+CLIENTSIDEONLY
Damagetype "Fire2"
Damage (4)
Speed 0
Radius 2
Height 2
renderstyle Translucent
Scale 2.0
Alpha 0.4
+DOOMBOUNCE
States
{
Spawn:
	VPXS MNOPQRSTUVWXYZ 2 Bright A_FadeOut(0.01)
	VPXZ ABC 1 A_FadeOut(0.01)
	Stop
}
}

ACTOR DarkMatterSpark
{
    RenderStyle translucent
    Scale 2.0
    Alpha 0.5
    PROJECTILE
	+CLIENTSIDEONLY
    States
    {
    Spawn:
	VPXS ABCDEFGHIJKL 1 Bright A_FadeOut(0.02)
	Loop
    }
}

ACTOR DarkMatterSpark2
{
    RenderStyle translucent
    Scale 2.0
    Alpha 0.5
    PROJECTILE
	+NoGravity
	+CLIENTSIDEONLY
    States
    {
    Spawn:
	VPXS ABCDEFGHIJKL 1 Bright A_FadeOut(0.02)
	Loop
    }
}

