ACTOR DarkJusticar : PlayerPawn
{
  Health 100
  Player.Maxhealth 100
  Radius 16
  Height 56
  Mass 700
  PainChance 80
  bloodcolor "Black"
  Species "Ghoul"
  Scale 0.9
  Player.WeaponSlot 1, JusticarCurseX
  Player.DisplayName "Dark Justicar"
  Player.ScoreIcon "DRJUST"
  Player.StartItem "JusticarCurseX", 1
  Player.StartItem "JusticarPrimaryAmmo", 1
  Player.StartItem "JusticarSecondaryAmmo", 100
  Player.Startitem "MimicAmmo", 3
  Player.StartItem "GhoulAmmo", 1
  Player.StartItem "IsGhoul", 1
  Player.StartItem "Screamer", 0
  Player.ForwardMove 0.9
  Player.SideMove 0.9
  LimitedToTeam 1
  Damagefactor "Vivi", 1.0
  Damagefactor "Divine", 1.0
  Damagefactor "Bluefire", 0.0
  Damagefactor "AntiAirBolt", 1.1
  Damagefactor "LumionaBlueBeamDamageType", 1.1
  Damagefactor "normal", 0.8
  Damagefactor "ChexWarrior", 0.8
  Damagefactor "PistolBullets", 0.9
  Damagefactor "CalebRevolver", 0.9
  Damagefactor "ChexWarriorPistol", 0.9
  Damagefactor "IlluPewpewRifle", 1.1
  Damagefactor "Elecstorm", 1.0
  Damagefactor "Plasma", 0.6
  Damagefactor "ice", 0.7
  Damagefactor "ice2", 0.7
  Damagefactor "AltIce2", 0.8
  Damagefactor "fire2", 0.8
  Damagefactor "RenegadeFire", 0.8
  Damagefactor "minion", 0.0
  Damagefactor "AltFire2", 0.8
  Damagefactor "RevyRifleBullet", 1.1
  Damagefactor "KarStiglitz", 1.0
  Damagefactor "Grenade", 0.9
  DamageFactor "CalebDynamite", 0.9
  Damagefactor "InariPlasma", 1.0
  Damagefactor "SamDeagle", 0.9
  Damagefactor "ZombieIce", 0.0
  Damagefactor "ZombiePoison", 0.0
  Damagefactor "ZombieSlaps", 0.0
  Damagefactor "Tenebra", 0.0
  Damagefactor "Judgement", 0.0
  player.soundclass "DarkSovereign"
  +NOSKIN
  +NOICEDEATH
  +QUICKTORETALIATE
	states
	{
		Spawn:
			SUMM A 0 A_Changeflag("shootable",true)
			SUMM A 0 SetPlayerProperty(0,0,4)
			SUMM A 0 SetPlayerProperty(0,1,3)
			SUMM A 0 A_SetTranslucent(1.0)
			TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
			SUMM A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
			SUMM A 10
			TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
			SUMM A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
			loop
		See:
		SUMM A 0 A_JumpIfHealthLower(50,"INeedHealingSee")
		SUMM A 1
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		SUMM A 0 A_Changeflag("shootable",true)
		SUMM A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")	
		SUMM A 0 A_JumpIfInventory("GhoulDisableTrigger",15,"DisableTheGhoul")
        loop
		INeedHealingSee:
		SUMM A 10
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		SUMM A 0 A_SpawnItemEx("GhoulINeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
		SUMM A 0 A_SpawnItemEx("64GhoulINeedHealingTrail",random(-20,20),random(-20,20),0,0,0,10)
		SUMM A 0 A_Changeflag("shootable",true)
		SUMM A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")	
		SUMM A 0 A_JumpIfInventory("GhoulDisableTrigger",15,"DisableTheGhoul")
        Goto See
	Dancing:
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		SUMM A 0 Setplayerproperty(0,1,4)
		SUMM AAAAAAAAAAAAAAAA 1 A_SetTranslucent(1.0)
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		SUMM A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		SUMM AAAAAAAAAAAAAAAA 1 A_SetTranslucent(1.0)
		SUMM A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		SUMM AAAAAAAAAAAAAAAA 1 A_SetTranslucent(1.0)
		SUMM A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		SUMM AAAAAAAAAAAAAAAA 1 A_SetTranslucent(1.0)
		SUMM A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		SUMM AAAAAAAAAAAAAAAA 1 A_SetTranslucent(1.0)
		SUMM A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		SUMM AAAAAAAAAAAAAAAA 1 A_SetTranslucent(1.0)
		SUMM A 0 ThrustThing(angle*random(0,224), 10, 0, 0)
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		SUMM A 1 Setplayerproperty(0,0,4)
		SUMM A 0 A_TakeInventory("AriaInfluence",10)
		Goto Spawn
	DisableTheGhoul:
		SUMM A 0 A_Changeflag("shootable",false)
		SUMM A 0 A_Changeflag("shootable",false)
		SUMM A 0 Setplayerproperty(0,1,4)
		SUMM A 0 A_TakeInventory("GhoulDisableTrigger",15)
		SUMM A 90 Bright
		SUMM A 0 A_TakeInventory("GhoulDisableTrigger",15)
		SUMM A 0 A_Changeflag("shootable",true)
		SUMM A 0 A_Changeflag("shootable",true)
		SUMM A 0 Setplayerproperty(0,0,4)
		SUMM A 0 Setplayerproperty(0,0,4)
		SUMM A 0 A_TakeInventory("GhoulDisableTrigger",15)
		Goto Spawn
		Pain:
			SUMM A 0 A_Print("Ammo regained! (Max. 3 Mimics stocked.)")
			SUMM A 0 Setplayerproperty(0,0,4)
			SUMM A 0 A_SetTranslucent(1.0)
			TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
			SUMM C 0 A_GiveInventory("MimicAmmo",1)
			SUMM C 0 A_GiveInventory("JusticarSecondaryAmmo",10)
			SUMM F 6 A_pain
			goto Spawn
	Pain.Vivi:
	SUMM A 0 A_SetPitch(pitch - 3.0)
	SUMM A 0 A_SetAngle(angle + (random(-50,50)/10))
	Goto Pain
	Pain.ViviMine:
	SUMM A 0 ThrustThingZ(0,70,0,0)
	Goto Pain
	Death.LoWangVampiric:
	TNT1 A 0 A_GiveToTarget("SWLoWangBloody",1)
	TNT1 A 0 A_JumpIfInventory("BloodCurseItem",1,"Death",AAPTR_TARGET)
	TNT1 A 0 A_GiveToTarget("Health",20)
	Goto Death
	Death.DoomChainSaw:
	TNT1 A 0 A_GiveToTarget("cell",50)
	TNT1 A 0 A_GiveToTarget("RocketAmmo",5)
	TNT1 A 0 A_GiveToTarget("clip1",50)
	TNT1 A 0 A_GiveToTarget("Shell",10)
	Goto Death
	Death.D64Pistol:
	TNT1 A 0 A_GiveToTarget("D64UnmakerUpgrades",1)
	TNT1 A 0 A_GiveToTarget("Cell",75)
	TNT1 A 0 A_GiveToTarget("D64KilledCount",1)
	Goto DeathAnimAlt
	Death.Plasma:
	TNT1 A 0 A_GiveToTarget("CyborgFuel",25)
	Goto DeathAnim
	Death.Telefrag:
	Goto Death.UnmakerLaser
	Death.SkarletPistolDrain:
	TNT1 A 0 A_JumpIfInventory("BloodCurseItem",1,"Death",AAPTR_TARGET)
	TNT1 A 0 A_GiveToTarget("Health",50)
	Goto Death
	Death.SkarletVampiric:
	TNT1 A 0 A_JumpIfInventory("BloodCurseItem",1,"Death",AAPTR_TARGET)
	TNT1 A 0 A_GiveToTarget("Health",60)
	Goto Death
		Missile:
			SUMM A 0 A_JumpIfInventory("AriaInfluence",10,"Dancing")
			SUMM BCD 5
			SUMM D 20
			goto Spawn
	Pain.GwenPlasma2:
		TNT1 A 0 A_JumpIfInventory("GwenGoddessStack",100,"GwenGoddessDeath")
		SUMM F 0 Setplayerproperty(0,0,4)
		SUMM F 0 A_Pain
		SUMM F 20 Setplayerproperty(0,1,0)
		SUMM F 2 Setplayerproperty(0,0,0)
		Goto Spawn
	GwenGoddessDeath:
		TNT1 A 0 SetPlayerProperty(0,1,4)
		TNT1 A 0 A_SetTranslucent (1.0, 0)
		TNT1 A 0 A_SpawnItemEx("GwenTimeImplosionRing")
		TNT1 A 0 A_Playsound("Gwen/DivineExplosionSound",6,1,0,ATTN_NONE)
		SUMM F 24 SetPlayerProperty(0,1,4)
		TNT1 A 0 A_SpawnItemEx("GwenTimeExplosionRingDamageFX")
		TNT1 A 0 A_SpawnItemEx("GwenTimeExplosionRingDamage")
		TNT1 A 0 A_SpawnItemEx("GwenTimeExplosionRing")
		TNT1 A 0 A_SpawnItemEx("GwenTimeExplosionRingX")
		TNT1 A 0 A_SpawnItemEx("GwenThunderFX")
		TNT1 A 0 A_SpawnItemEx("GwenGoddessStateEXP")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark2", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("KNThunderFX_Smoke", 0, 0, 0, 0.01 * Random(-125, 125), 0.01 * Random(-125, 125), 0.01 * Random(25, 245), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GwenThunderFX_Spark", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 A 0 DamageThing(100000)
		Goto Death
			Death:
	DeathAnim:
		TNT1 A 0 A_GiveToTarget("KillBeep",1)
		TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathVFX")
		SUMM A 0 A_StopSoundEx("SoundSlot7")
		SUMM A 0 A_SetTranslucent(1.0)
		SUMM A 0 A_TakeInventory("RocketAmmo",999)
		SUMM A 0 A_TakeInventory("KilledCount",999)
		SUMM A 0 A_GiveToTarget("KilledMe",1)
		SUMM A 0 A_GiveToTarget("KilledYurei",1)
		SUMM A 0 A_PlayerScream
		SUMM A 0 A_Gravity
		SUMM A 0 A_SpawnItemEx("JusticarGemTurret")
		SUMM A 0 A_CustomMissile("JusticarMimicMissile", 0, 0, random(0, 360))
		SUMM A 0 A_CustomMissile("JusticarMimicMissile", 0, 0, random(0, 360))
		SUMM F 28 A_SetTranslucent(0.8,0)
		SUMM FFFFFF 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM F 6 A_SetTranslucent(0.7,0)
		SUMM G 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM G 0 A_CustomMissile("JusticarHealNow", 0, 0, random(0, 360))
		SUMM G 6 A_SetTranslucent(0.6,0)
		SUMM G 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM H 6 A_SetTranslucent(0.5,0)
		SUMM H 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM I 6 A_SetTranslucent(0.4,0)
		SUMM I 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM J 6 A_SetTranslucent(0.3,0)
		SUMM J 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM K 6 A_SetTranslucent(0.2,0)
		SUMM K 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM L 6 A_SetTranslucent(0.1,0)
		SUMM L 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
	    SUMM M 6 A_SetTranslucent(0.1,0)
		SUMM M 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		TNT1 A -1
		Stop
	DeathAnimAlt:
		TNT1 A 0 A_GiveToTarget("KillIndicator",1)
		TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathVFX")
		SUMM A 0 A_StopSoundEx("SoundSlot7")
		SUMM A 0 A_SetTranslucent(1.0)
		SUMM A 0 A_TakeInventory("RocketAmmo",999)
		SUMM A 0 A_TakeInventory("KilledCount",999)
		SUMM A 0 A_GiveToTarget("KilledMe",1)
		SUMM A 0 A_GiveToTarget("KilledYurei",1)
		SUMM A 0 A_PlayerScream
		SUMM A 0 A_Gravity
		SUMM A 0 A_SpawnItemEx("JusticarGemTurret")
		SUMM A 0 A_CustomMissile("JusticarMimicMissile", 0, 0, random(0, 360))
		SUMM A 0 A_CustomMissile("JusticarMimicMissile", 0, 0, random(0, 360))
		SUMM F 28 A_SetTranslucent(0.8,0)
		SUMM FFFFFF 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM F 6 A_SetTranslucent(0.7,0)
		SUMM G 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM G 0 A_CustomMissile("JusticarHealNow", 0, 0, random(0, 360))
		SUMM G 6 A_SetTranslucent(0.6,0)
		SUMM G 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM H 6 A_SetTranslucent(0.5,0)
		SUMM H 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM I 6 A_SetTranslucent(0.4,0)
		SUMM I 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM J 6 A_SetTranslucent(0.3,0)
		SUMM J 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM K 6 A_SetTranslucent(0.2,0)
		SUMM K 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		SUMM L 6 A_SetTranslucent(0.1,0)
		SUMM L 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
	    SUMM M 6 A_SetTranslucent(0.1,0)
		SUMM M 0 A_CustomMissile("ArchvileFirex3", 0, 0, random(0, 360))
		TNT1 A -1
		Stop
	Death.ChexWarrior:
		SUMM F 0 A_GiveToTarget("KillIndicator",1)
		SUMM F 0 A_TakeInventory("RocketAmmo",999)
		SUMM F 0 A_TakeInventory("KilledCount",999)
		SUMM F 0 A_GiveToTarget("KilledMe",1)
		SUMM F 0 A_GiveToTarget("KilledYurei",1)
		SUMM F 0 A_SpawnItemEx("JusticarGemTurret")
		SUMM F 0 A_CustomMissile("JusticarMimicMissile", 0, 0, random(0, 360))
		SUMM F 0 A_CustomMissile("JusticarMimicMissile", 0, 0, random(0, 360))
		SUMM F 0 A_StopSoundEx("SoundSlot7")
		SUMM F 0 A_SpawnItemEx("ChexCereal",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		SUMM F 0 A_GiveToTarget("ChexArmorBonus",25)
		SUMM F 0 A_GiveToTarget("ChexBoop",1)
		SUMM F 0 A_Stop
		SUMM F 0 A_NoGravity
		SUMM F 0 A_ChangeFlag("DONTGIB",1)
		SUMM F 0 A_PlaySoundEx("Teleport/Chex",6)
		SUMM F 0 A_PlaySoundEx("DarkSovereign/pain", "Body")
		SUMM F 3 A_SpawnItem("SmallZorch")
		SUMM F 3 A_SetTranslucent(0.9,0)
		SUMM F 0 A_Scream
		SUMM F 3 A_SetTranslucent(0.8,0)
		SUMM F 0 A_NoBlocking
		SUMM F 3 A_SetTranslucent(0.7,0)
		SUMM F 3 A_SetTranslucent(0.6,0)
		SUMM F 3 A_SetTranslucent(0.5,0)
		SUMM F 3 A_SetTranslucent(0.4,0)
		SUMM F 3 A_SetTranslucent(0.3,0)
		SUMM F 3 A_SetTranslucent(0.2,0)
		SUMM F 3 A_SetTranslucent(0.1,0) 
		SUMM F 0 A_CustomMissile("JusticarHealNow", 0, 0, random(0, 360))
		TNT1 A 1 A_SetTranslucent(1,0)
		TNT1 A -1
		Stop
	Death.CarolineDamage:
		NULL A 0 A_SpawnItemEx("CarolineHeart",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		Goto Death.UnmakerLaser
	Death.MapGibber:
		TNT1 A 0 A_PlaySound("car/hit",chan_auto)
	Death.MapGibber2:
	Death.UnmakerLaser:
		TNT1 A 0 A_GiveToTarget("KillBeep",1)
		TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathVFX")
		TNT1 A 0 A_TakeInventory("KilledCount",999)
		TNT1 A 0 A_GiveToTarget("KilledMe",1)
		TNT1 A 0 A_GiveToTarget("KilledYurei",1)
		TNT1 A 1 A_SpawnItemEx("JusticarGemTurret")
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_Gravity
		SUMM A 0 A_CustomMissile("JusticarMimicMissile", 0, 0, random(0, 360))
		SUMM A 0 A_CustomMissile("JusticarMimicMissile", 0, 0, random(0, 360))
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		TNT1 A 0 A_CustomMissile("ArchvileFirex3", 0,0,random(0,360), 2,0)
		NULL A 1 A_SpawnItemEx("SoulGIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		NULL A -1
		Stop
	Death.MarineShotgun:
	SUMM E 0 A_GiveToTarget("grenadeammo",1)
	SUMM E 0 A_GiveToTarget("shell",3)
	SUMM E 0 A_GiveToTarget("clip1",20)
	Goto DeathAnim
	Death.Marinemachinegun:
	SUMM E 0 A_GiveToTarget("grenadeammo",1)
	SUMM E 0 A_GiveToTarget("shell",3)
	SUMM E 0 A_GiveToTarget("clip1",20)
	Goto Deathanim
	Death.Marinepistol:
	SUMM E 0 A_GiveToTarget("grenadeammo",1)
	SUMM E 0 A_GiveToTarget("shell",3)
	SUMM E 0 A_GiveToTarget("clip1",20)
	Goto Deathanim
	Death.Grenade:
		SUMM E 0 A_GiveToTarget("KilledG",1)
		Goto DeathAnim
	Death.CrapPlasma:
		SUMM E 0 A_GiveToTarget("Unlock9",1)
		Goto DeathAnim
	Death.Ice2:
		SUMM A 0 A_GiveToTarget("KilledIce2",1)
		Goto DeathAnim
	Death.Fire2:
		SUMM A 0 A_GiveToTarget("KilledFire2",1)
		Goto DeathAnim
	Death.Railgun:
		SUMM A 0 A_GiveToTarget("KilledLightning",1)
		Goto DeathAnim
	Death.GhostTrap:
		SUMM A 0 A_GiveToTarget("KilledG",1)
		Goto DeathAnim
	Death.AltFire2:
		SUMM A 0 A_GiveToTarget("KilledAltFire2",1)
		Goto Death.Fire2
	Death.AltIce2:
		SUMM A 0 A_GiveToTarget("KilledAltIce2",1)
		Goto Death.Ice2
	Death.AltGrenade:
		SUMM A 0 A_GiveToTarget("KilledAltG",1)
		Goto Death.Grenade
	Death.Fire3:
		SUMM A 0 A_GiveToTarget("KilledFire3",1)
		Goto DeathAnim
	Death.Ice3:
		SUMM A 0 A_GiveToTarget("KilledIce3",1)
		Goto DeathAnim
	Death.Grenade2:
		SUMM A 0 A_GiveToTarget("KilledG2",1)
		Goto DeathAnim
	Pain.Drainer:
		SUMM A 0 A_GiveToTarget("Health",10)
		Goto Spawn
	Death.ChexWarriorPistol:
	Death.ChexWarriorChainsaw:
	Goto Death.ChexWarrior
	Death.RenegadeBullets:
	Death.RenegadeFire:
	Death.ArtilleryDamage:
		TNT1 A 0 A_GiveToTarget("RenegadeKillItem",1)
		Goto DeathAnimAlt
	Death.CalebDynamite:
		TNT1 A 0 A_GiveToTarget("KilledG",1)
	Death.CalebShotgun:
	Death.CalebRevolver:
		TNT1 A 0 A_GiveToTarget("Health",20)
		TNT1 A 0 A_SpawnItemEx("CalebHeart",0,0,32,random(2,3),momy,random(8,12),random(-180,180))
		TNT1 A 0 A_GiveToTarget("CalebHeartbeat",1)
		Goto DeathAnimAlt
	Pain.EngineerSaw:
	Pain.Ghosttrap:
	Pain.GBFire:
	Pain.Misty:
	Pain.GBSaw:
	Pain.GBString:
	Pain.GBNuke:
	Pain.Ice2:
	Pain.Ice:
	Pain.ElecStorm:
	Pain.AltFire2:
	Pain.AltIce2:
	Pain.Fire2:
	Pain.Doggo:
	Pain.LaraArrow:
	Pain.Wind2:
	Pain.Grenade:
	Pain.Grenade2:
	Pain.TemplarLightningRain:
	Pain.CarolineDamage:
	Pain.ChexWarrior:
	Pain.InariPlasma:
	Pain.Plasma:
	Pain.FlameProtect:
	Pain.DutchShotgun:
	Pain.KarenExplo:
	Pain.Sentinel:
	Pain.Divine:
	Pain.GwenPlasma3:
	Pain.MacheteSlicerino:
	Pain.AntiAirbolt:
	Pain.MechPewPews:
	Pain.RainbowNado:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
		Goto Pain
	}
}

ACTOR Justicarattack
{
   Speed 30
   Damage (0)
   Height 10
   Radius 10
   DeathSound "YUREIHLS"
   Projectile
   +seekermissile
   States
   {
   Spawn:
	  JSPJ F 1 BRIGHT A_SpawnItemEx("JusticarEtherealSideTrail")
	  JSPJ F 0 BRIGHT A_Seekermissile(200,200,SMF_PRECISE)
      loop
   Death:
	TNT1 A 0 A_Scream
	TNT1 A 0
	JSPJ F 4 BRIGHT
	JSPJ K 4 BRIGHT
	JSPJ G 4 BRIGHT A_FadeOut
      Stop 
   } 
} 

Actor JusticarAOEHealTrigger : CustomInventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Inventory.Pickupmessage "Otherworldly spirits surround you!"
	Inventory.PickupSound "Justicar/healup"
	Scale 0.035
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_FadeOut(0.1)
		Goto Spawn
	Pickup:
		TNT1 A 0 A_JumpIfInventory("IsHuman",1,"Darkness")
		TNT1 A 0 A_JumpIfInventory("sjashands",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("creeperweapon",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("Jitterskullweapon",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("BastetWeapon",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("frostteeth",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("choketeeth",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("eyesoreteeth",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("ravagerweapon",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("jugulumteeth",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("harvesterteeth",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("samaravisionsx",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("mistyhands",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("clownyface",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("emtalicweapon",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("righthand",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("uboahands",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("undeathface",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("ImpostorHands",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("FleshlingHands",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("Emberwand",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("gravestalkermalezombie",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("soulscepter",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("puppeteerhands",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("shallowteeth",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("JusticarCurseX",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("gravestalkermalezombie",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("BlazeSpawnWeapon",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("AmorbisWeapon",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("GaunaWeapon",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("AsylumVision",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("z-Z.Morph.Z-z",1,"GhoulAOEHeal")
		TNT1 A 0 A_JumpIfInventory("GhoulChainsawX",1,"GhoulAOEHeal")
		fail
	GhoulAOEHeal:
		TNT1 A 0 A_GiveInventory("Health",2)
		Stop
	Darkness:
		TNT1 A 0 ACS_ExecuteAlways(134)
		TNT1 A 0 A_Playsound("Justicar/AOEHeal")
		Stop
	}
}

Actor JusticarHealNow
{
	Radius 10
	Height 10
	Damage 0
	Speed 10
	Alpha 0.8
	Scale 0.05
	PROJECTILE
	States
	{
	Spawn:
		TNT1 A 0 bright
		TNT1 A 0 A_Gravity
		Goto Death
	Death:
		TNT1 A 0 A_SpawnItemEx("JusticarAreaHeal1",0,0,-9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("JusticarAreaHeal2",0,0,-9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("JusticarAreaHeal3",0,0,-9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 1 bright A_FadeOut(0.1)
		Loop
	}
}

Actor JusticarAreaHeal1
{
	+FLOORHUGGER
	States
	{
	Spawn:
	Death:
		TNT1 A 0
		TNT1 AAAAAAAAAAAAA 10 A_SpawnItemEx("JusticarHealingEngage1",random(-210,80),random(-130,130),0,0,0,10)
		Stop
	}
}

Actor JusticarHealingEngage1
{
	Radius 8
	Height 8
	Damage 0
	Speed 0
	PROJECTILE
	States
	{
	Spawn:
		JSPJ K 0 A_SpawnItemEx("JusticarAOEHealTrigger")
		JSPJ K 3 A_FadeOut(0.1)
		Loop
	Death:
		JSPJ K 3 A_FadeOut(0.1)
		Loop
	}
}

Actor JusticarAreaHeal2
{
	+FLOORHUGGER
	States
	{
	Spawn:
	Death:
		TNT1 A 0
		TNT1 AAAAAAAAAAAAA 10 A_SpawnItemEx("JusticarHealingEngage1",random(-210,80),random(-130,130),0,0,0,10)
		Stop
	}
}

Actor JusticarHealingEngage2
{
	Radius 8
	Height 8
	Damage 0
	Speed 0
	PROJECTILE
	States
	{
	Spawn:
		JSPJ K 0 A_SpawnItemEx("JusticarAOEHealTrigger")
		JSPJ F 3 A_FadeOut(0.1)
		Loop
	Death:
		JSPJ F 3 A_FadeOut(0.1)
		Loop
	}
}

Actor JusticarAreaHeal3
{
	+FLOORHUGGER
	States
	{
	Spawn:
	Death:
		TNT1 A 0
		TNT1 AAAAAAAAAAAAA 10 A_SpawnItemEx("JusticarHealingEngage3",random(-210,80),random(-130,130),0,0,0,10)
		Stop
	}
}

Actor JusticarHealingEngage3
{
	Radius 8
	Height 8
	Damage 0
	Speed 0
	PROJECTILE
	States
	{
	Spawn:
		JSPJ K 0 A_SpawnItemEx("JusticarAOEHealTrigger")
		JSPJ G 3 A_FadeOut(0.1)
		Loop
	Death:
		JSPJ G 3 A_FadeOut(0.1)
		Loop
	}
}

actor JusticarHealTrail
{
 Alpha 0.9
 Radius 1
 Height 1
 renderstyle translucent
 Gravity 0.01
 +NOGRAVITY
 +NOCLIP
 +CORPSE
 +FORCEXYBILLBOARD
 +NOINTERACTION
 +CLIENTSIDEONLY
 States
 {
   Spawn:
	Death:
	JSPJ F 1 BRIGHT
	JSPJ K 1 BRIGHT
	JSPJ G 1 BRIGHT A_FadeOut
		Loop
	}
}

actor JusticarEtherealSideTrail
{
 Alpha 0.9
 Radius 1
 Height 1
 renderstyle translucent
 Gravity 0.03
 +NOCLIP
 +CORPSE
 +FORCEXYBILLBOARD
 +NOINTERACTION
 +CLIENTSIDEONLY
 States
 {
   Spawn:
	TNT1 A 1 BRIGHT
	JSPJ F 1 BRIGHT
	JSPJ K 1 BRIGHT
	JSPJ G 1 BRIGHT A_FadeOut
	goto Spawn+3
 }
}

ACTOR JusticarCurseX : Weapon
{
Weapon.SelectionOrder 450
Weapon.AmmoUse 0
Weapon.AmmoUse2 1
Weapon.AmmoGive 40
Weapon.Slotnumber 5
Inventory.icon "TNT1A0"
Weapon.AmmoType2 "JusticarSecondaryAmmo"
Obituary "%k turned %o into a shish kebab."
States
{
Ready:
	CYNH R 0 A_StopSoundEx("SoundSlot7")
	CYNH R 8 A_WeaponReady
	CYNH R 0 A_GiveInventory("JusticarSecondaryAmmo",1)
	CYNH R 0 A_JumpIfInventory("CyborgDashCheck",1,"MimicSummon")
	Loop 
Deselect:
	CYNH R 0 A_StopSoundEx("SoundSlot7")
	CYNH R 1 A_Lower
	Loop
Select:
	CYNH R 0 A_StopSoundEx("SoundSlot7")
	CYNH R 1 A_Raise
	Loop
Fire:
	 CYNH R 1 offset(0,32)
	 CYNH R 0 offset(0,36)
	 CYNH R 1 offset(0,42)
	 CYNH R 0 offset(0,46)
	 CYNH R 1 offset(0,50)
	 CYNH R 0 offset(0,54)
	 CYNH R 1 offset(0,58)
	 CYNH R 0 offset(0,62)
	 CYNH R 1 offset(0,66)
	 CYNH R 0 offset(0,70)
	 CYNH R 1 offset(0,74)
	 CYNH R 0 offset(0,78)
	 CYNH R 1 offset(0,82)
	 CYNH R 0 offset(0,86)
	 CYNH R 1 offset(0,90)
	 CYNH R 0 offset(0,94)
	 CYNH R 1 offset(0,98)
	 CYNH R 0 offset(0,102)
	 CYNH S 1 offset(0,104)
     CYNH S 0 offset(0,102)
	 CYNH S 1 offset(0,98)
	 CYNH S 0 offset(0,94)
	 CYNH S 1 offset(0,86)
	 CYNH S 0 offset(0,82)
	 CYNH S 1 offset(0,78)
	 CYNH S 0 offset(0,74)
	 CYNH S 1 offset(0,70)
	 CYNH S 1 offset(0,66)
	 CYNH S 0 offset(0,62)
	 CYNH S 1 offset(0,58)
	 CYNH S 0 offset(0,54)
	 CYNH S 1 offset(0,50)
	 CYNH S 0 offset(0,46)
	 CYNH S 1 offset(0,42)
	 CYNH S 0 offset(0,38)
	 CYNH S 1 offset(0,34)
	 CYNH S 0 offset(0,32) A_FireCustomMissile("BloodSpikeProjectile")
	 CYNH S 1 offset(0,32)
	 CYNH S 0 offset(0,36)
	 CYNH S 1 offset(0,42)
	 CYNH S 0 offset(0,46)
	 CYNH S 1 offset(0,50)
	 CYNH S 0 offset(0,54)
	 CYNH S 1 offset(0,58)
	 CYNH S 0 offset(0,62)
	 CYNH S 1 offset(0,66)
	 CYNH S 0 offset(0,70)
	 CYNH S 1 offset(0,74)
	 CYNH S 0 offset(0,78)
	 CYNH S 1 offset(0,82)
	 CYNH S 0 offset(0,86)
	 CYNH S 1 offset(0,90)
	 CYNH S 0 offset(0,94)
	 CYNH S 1 offset(0,98)
	 CYNH S 0 offset(0,102)
	 CYNH R 1 offset(0,104)
     CYNH R 0 offset(0,102)
	 CYNH R 1 offset(0,98)
	 CYNH R 0 offset(0,94)
	 CYNH R 1 offset(0,86)
	 CYNH R 0 offset(0,82)
	 CYNH R 1 offset(0,78)
	 CYNH R 0 offset(0,74)
	 CYNH R 1 offset(0,70)
	 CYNH R 0 offset(0,66)
	 CYNH R 1 offset(0,62)
	 CYNH R 0 offset(0,58)
	 CYNH R 1 offset(0,54)
	 CYNH R 0 offset(0,50)
	 CYNH R 1 offset(0,46)
	 CYNH R 0 offset(0,42)
	 CYNH R 1 offset(0,38)
	 CYNH R 0 offset(0,34)
	 CYNH R 1 offset(0,32)
	 CYNH R 14
	 Goto Ready
   altfire:
    CYNH R 1
    CYNH R 0 A_JumpIfInventory("JusticarSecondaryAmmo",1,"JusticarShieldActivate")
	Goto Ready
   JusticarShieldActivate:
    CYNH R 1
   althold:
    CYNH R 0 A_JumpIfInventory("JusticarSecondaryAmmo",1,"JusticarShieldSpawn")
    goto altdone
   JusticarShieldSpawn:
    CYNH R 0 A_TakeInventory("JusticarSecondaryAmmo",1)
    CYNH R 1 bright A_SpawnItemEx ("JusticarShieldSpawner", 0, 140, -15, 0, 0, 0, -270)
    CYNH R 0 bright A_PlaySoundEx ("Weapons/JusticarCurse/Shielding", "SoundSlot7", 1)
    CYNH RR 1 bright A_SpawnItemEx ("JusticarShieldSpawner", 0, 140, -15, 0, 0, 0, -270)
	CYNH R 0 Bright A_Refire
	Goto Altdone
   Altdone:
	CYNH RRRR 10 Bright
	Goto Ready
	MimicSummon:
		CSPU A 0 A_TakeInventory("CyborgDashCheck",999)
		CSPU A 0 A_JumpIfInventory("MimicAmmo",1,"MimicSummonActive")
	Goto Ready
	MimicSummonActive:
	 CYNH A 0 A_TakeInventory("MimicAmmo",1)
	 CYNH R 0 A_Playweaponsound("Weapons/JusticarCurse/Blotspawn")
	 CYNH R 1 offset(0,32)
	 CYNH R 0 offset(0,36)
	 CYNH R 1 offset(0,42)
	 CYNH R 0 offset(0,46)
	 CYNH R 1 offset(0,50)
	 CYNH R 0 offset(0,54)
	 CYNH R 1 offset(0,58)
	 CYNH R 0 offset(0,62)
	 CYNH R 1 offset(0,66)
	 CYNH R 0 offset(0,70)
	 CYNH R 1 offset(0,74)
	 CYNH R 0 offset(0,78)
	 CYNH R 1 offset(0,82)
	 CYNH R 0 offset(0,86)
	 CYNH R 1 offset(0,90)
	 CYNH R 0 offset(0,94)
	 CYNH R 1 offset(0,98)
	 CYNH R 0 offset(0,102)
	 CYNH S 1 offset(0,104)
     CYNH S 0 offset(0,102)
	 CYNH S 1 offset(0,98)
	 CYNH S 0 offset(0,94)
	 CYNH S 1 offset(0,86)
	 CYNH S 0 offset(0,82)
	 CYNH S 1 offset(0,78)
	 CYNH S 0 offset(0,74)
	 CYNH S 1 offset(0,70)
	 CYNH S 1 offset(0,66)
	 CYNH S 0 offset(0,62)
	 CYNH S 1 offset(0,58)
	 CYNH S 0 offset(0,54)
	 CYNH S 1 offset(0,50)
	 CYNH S 0 offset(0,46)
	 CYNH S 1 offset(0,42)
	 CYNH S 0 offset(0,38)
	 CYNH S 1 offset(0,34) A_PlayWeaponSound("Weapons/JusticarCurse/Blotspawn2")
	 CYNH S 0 offset(0,32) A_FireCustomMissile("JusticarMimicMissile")
	 CYNH S 1 offset(0,32)
	 CYNH S 0 offset(0,36)
	 CYNH S 1 offset(0,42)
	 CYNH S 0 offset(0,46)
	 CYNH S 1 offset(0,50)
	 CYNH S 0 offset(0,54)
	 CYNH S 1 offset(0,58)
	 CYNH S 0 offset(0,62)
	 CYNH S 1 offset(0,66)
	 CYNH S 0 offset(0,70)
	 CYNH S 1 offset(0,74)
	 CYNH S 0 offset(0,78)
	 CYNH S 1 offset(0,82)
	 CYNH S 0 offset(0,86)
	 CYNH S 1 offset(0,90)
	 CYNH S 0 offset(0,94)
	 CYNH S 1 offset(0,98)
	 CYNH S 0 offset(0,102)
	 CYNH R 1 offset(0,104)
     CYNH R 0 offset(0,102)
	 CYNH R 1 offset(0,98)
	 CYNH R 0 offset(0,94)
	 CYNH R 1 offset(0,86)
	 CYNH R 0 offset(0,82)
	 CYNH R 1 offset(0,78)
	 CYNH R 0 offset(0,74)
	 CYNH R 1 offset(0,70)
	 CYNH R 0 offset(0,66)
	 CYNH R 1 offset(0,62)
	 CYNH R 0 offset(0,58)
	 CYNH R 1 offset(0,54)
	 CYNH R 0 offset(0,50)
	 CYNH R 1 offset(0,46)
	 CYNH R 0 offset(0,42)
	 CYNH R 1 offset(0,38)
	 CYNH R 0 offset(0,34)
	 CYNH R 1 offset(0,32)
	 CYNH R 20
	Goto Ready
}
}

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

ACTOR JusticarMimicMissile
{
	Radius 6
	Height 8
	Speed 14
	Damage 0
	Projectile
	+bloodlessimpact
	+RANDOMIZE
	+RIPPER
	+SKYEXPLODE
    +DONTREFLECT
	RenderStyle "ADD"
	Alpha 0.75
	SeeSound "imp/attack"
	DeathSound "imp/shotx"
	Decal DoomImpScorch
	States
	{
	Spawn: 
		SBAL ABC 4 BRIGHT A_SpawnItemEx("ShadowTrail", 0, 0, 0, 0, 0, 0, 0, 128)
		SBAL C 1 A_Gravity
		Loop
	Death:
		SBAL C 3 Bright
		SBAL DEFGH 1 BRIGHT 
		SBAL H 1 A_SpawnItemEx("FireSpinAttack",40,0,0,0,0,0,0,0)
        SBAL H 1 A_SpawnItemEx("FireSpinAttack",20,20,0,0,0,0,0,0)
		SBAL H 1 A_SpawnItemEx("FireSpinAttack",0,40,0,0,0,0,0,0)
		SBAL H 1 A_SpawnItemEx("FireSpinAttack",-20,20,0,0,0,0,0,0)
		SBAL H 1 A_SpawnItemEx("SpookyMimic")
		SBAL H 1 A_SpawnItemEx("FireSpinAttack",-40,0,0,0,0,0,0,0)
		SBAL H 1 A_SpawnItemEx("FireSpinAttack",-20,-20,0,0,0,0,0,0)
		SBAL H 1 A_SpawnItemEx("FireSpinAttack",0,-40,0,0,0,0,0,0)
		SBAL H 1 A_SpawnItemEx("FireSpinAttack",20,-20,0,0,0,0,0,0)
		SBAL H 0 A_Gravity
		Stop
	}
}

ACTOR SpookyMimic
{
  obituary "%o got hugged by a mimic."
  health 300
  mass 2000
  speed 10
  Radius 19
  Height 52
  painchance 100
  seesound "Mimic/active"
  painsound "Mimic/pain"
  deathsound "Mimic/death"
  activesound "Mimic/active"
  Species "Ghoul"
Damagefactor "normal", 0.8
Damagefactor "minion", 0.0
Damagefactor "minion2", 0.0
damagefactor "Plasma", 1.2
damagefactor "CrapPlasma", 1.1
damagefactor "Ghosttrap", 0.8
damagefactor "Proton", 1.0
Damagefactor "ice", 0.6
Damagefactor "ice2", 0.6
Damagefactor "AltIce2", 0.6
Damagefactor "fire2", 1.6
Damagefactor "AltFire2", 1.6
Damagefactor "creeper", 0.0
Damagefactor "Creepstun", 0.0
Damagefactor "ravager", 0.0
Damagefactor "ravagerball", 0.0
Damagefactor "SjasScream", 0.0
Damagefactor "Jitter", 0.0
Damagefactor "Bluefire", 0.0
Damagefactor "Hellzone", 0.0
Damagefactor "Choke", 0.0
Damagefactor "eyesoreball", 0.0
Damagefactor "Juglava", 0.0
Damagefactor "Yurei", 0.0
Damagefactor "YureiBall", 0.0
Damagefactor "EyesoreballX", 0.0
Damagefactor "Misty", 0.0
Damagefactor "clowny", 0.0
Damagefactor "Mohoph", 0.0
Damagefactor "Emtalic", 0.0
Damagefactor "EmtalicWeak", 0.0
Damagefactor "I1", 0.0
Damagefactor "I2", 0.0
Damagefactor "I3", 0.0
Damagefactor "I4", 0.0
Damagefactor "I5", 0.0
Damagefactor "GraveStalkerLure", 0.0
Damagefactor "ZombiePoison", 0.0
Damagefactor "ZombieIce", 0.0
Damagefactor "Sentinel", 1.2
Damagefactor "ChaosExpl12", 1.3
Damagefactor "MechPewPews", 3.0
Damagefactor "BlueFire", 0.0
Damagefactor "Tenebra", 0.0
Damagefactor "Judgement", 0.0
DamageFactor "Obliterator", 0.0
Damagefactor "PuppetStrings", 0.0
Damagefactor "ChexWarriorChainsaw", 4.0
Damagefactor "RenegadeBullets", 2.3
  MONSTER
	+FRIENDLY
  	+DONTBLAST
	+LOOKALLAROUND
	+DONTMORPH
	+FRIENDLY
	+DONTHURTSPECIES
    +MISSILEMORE
    +QUICKTORETALIATE
    -COUNTKILL
  States
  {
   Spawn:
	MIMC ABCDE 1 A_Playsound("Mimic/Spawn1",5)
    MIMC ABC 4
	MIMC D 0 A_Playsound("Mimic/Spawn2",7)
	MIMC DEF 4
	MIMC GHIJKLMNOPQRSTUWVXYZ 4 
	MIMD A 0 A_Playsound("Mimic/ScreamSpawn",6)
	MIMD ABCDEFGH 4 
	MIMD H 0 A_Look
    Goto See
  See:
	MIMM AABBCCDD 3 A_Chase
    loop
  Melee:
    MIMF ABCD 2 A_FaceTarget
    MIMF E 8 A_CustomMeleeAttack (random (1, 5) *5, "knifehit", "Mimic/Miss", "Fleshbent")
    MIMF F 4
    goto See
  Pain:
    MIMP E 3 A_Pain
    MIMP B 3
	MIMP C 3
    goto See
  Death:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	MIMX A 0 A_Scream
    MIMX ABCD 3
    MIMX ABCD 3 A_NoBlocking
    MIMX E 5
    MIMX F 5
	MIMX G 5
    MIMX H -1
    stop
	Death.ChexWarrior:
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		MIMX E 0 A_PlaySoundEx("Teleport/Chex",7)
		MIMX E 0 A_Stop
		MIMX E 0 A_NoGravity
		MIMX E 0 A_PlaySound("Mimic/Pain")
		MIMX E 3 A_SpawnItem("SmallZorch")
		MIMX E 3 A_SetTranslucent(0.9,0)
		MIMX E 3 A_SetTranslucent(0.8,0)
		MIMX E 0 A_NoBlocking
		MIMX E 3 A_SetTranslucent(0.7,0)
		MIMX E 3 A_SetTranslucent(0.6,0)
		MIMX E 3 A_SetTranslucent(0.5,0)
		MIMX E 3 A_SetTranslucent(0.4,0)
		MIMX E 3 A_SetTranslucent(0.3,0)
		MIMX E 3 A_SetTranslucent(0.2,0)
		MIMX E 3 A_SetTranslucent(0.1,0) 
		TNT1 A 1 A_SetTranslucent(1,0)
		TNT1 A -1
		Stop
	Death.MapGibber:
		TNT1 A 0 A_PlaySound("car/hit",chan_auto)
	Death.MapGibber2:
	Death.UnmakerLaser:
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		TNT1 A 1 A_NoBlocking
		NULL A 1 A_SpawnItemEx("GIBBER", 0, 0, 0, 0, 0, 0, 0, 160, 0)
		NULL A -1
		Stop
	Death.ChexWarriorChainsaw:
	Death.ChexWarriorPistol:
	Goto Death.ChexWarrior
  Raise:
    MIMC A 0 A_Playsound("Mimic/Spawn1",6)
    MIMC ABCDE 2 A_Playsound("Mimic/Spawn2",7)
	MIMC F 2
	MIMC GHIJKLMNOPQRSTUWVXYZ 2 A_Look
	MIMD A 0 A_Playsound("Mimic/Scream",6)
	MIMD ABCDEFGH 2 A_Look
    goto See
	Pain.EngineerSaw:
	Pain.Ghosttrap:
	Pain.GBFire:
	Pain.Misty:
	Pain.GBSaw:
	Pain.GBString:
	Pain.GBNuke:
	Pain.Ice2:
	Pain.Ice:
	Pain.ElecStorm:
	Pain.AltFire2:
	Pain.AltIce2:
	Pain.Fire2:
	Pain.Doggo:
	Pain.LaraArrow:
	Pain.Wind2:
	Pain.Grenade:
	Pain.Grenade2:
	Pain.TemplarLightningRain:
	Pain.CarolineDamage:
	Pain.ChexWarrior:
	Pain.InariPlasma:
	Pain.Plasma:
	Pain.FlameProtect:
	Pain.DutchShotgun:
	Pain.KarenExplo:
	Pain.Sentinel:
	Pain.Divine:
	Pain.GwenPlasma3:
	Pain.MacheteSlicerino:
	Pain.AntiAirbolt:
	Pain.MechPewPews:
	Pain.RainbowNado:
	Pain.MirabelPlasma:
		TNT1 A 0 ACS_NamedExecuteAlways("ChangeActivator",0)
		Goto Pain
  }
}

ACTOR BloodSpikeProjectile : fastprojectile
{
   Radius 3
   Height 3
   Speed 800
   Damage (8)
   Scale .75
   Alpha 1.0
   PROJECTILE
   Damagetype "Choke"
   Obituary "%k turned %o into a shish kebab."
   RENDERSTYLE Normal
   +NOEXTREMEDEATH
   States
   {
   Spawn:
      TNT1 A 1
      loop
   XDeath:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	Goto Death
   Death:
	TNT1 A 0 A_SpawnItemEx("BloodPuff")
    TNT1 A 0 A_PlaySound("Justicargibbage/xsplat")
	TNT1 A 24 
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 0, 124, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 81, 114, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 102, 102, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 114, 91, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 124, 0, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", -81, -114, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", -102, -102, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", -114, -81, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 0, -124, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", -124, 0, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", -81, 114, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", -102, 102, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", -114, 81, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 81, -114, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 102, -102, 0, 0, 0, 0, 0, 32)
	TNT1 A 0 A_SpawnItemEx ("BloodSpikeSpawn", 114, -81, 0, 0, 0, 0, 0, 32)
      stop
   }
}


ACTOR BloodSpikeSpawn
{
   Radius 3
   Height 3
   Speed 0
   Damage (6)
   Scale .75
   Alpha 1.0
   PROJECTILE
   -NOGRAVITY
   +floorhugger
   +floorclip
   RENDERSTYLE Normal
   Obituary "%k turned %o into a shish kebab."
   Damagetype "JusticarSpike"
   States
   {
   Spawn:
	  BCPL AA 1 A_Playsound("Bloodspike/Appear",6)
      BCPL ABCDEFGHI 1 A_Explode(3,90,0)
      BCPL IHGFEDCBA 1
      Goto Death
   Death:
	  TNT1 A 1
      stop
   }
}

actor JusticarShieldSpawner
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner4up", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner5up", 24, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner5up", -24, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner4up", 48, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner4up", -48, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner3up", 72, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner3up", -72, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner2up", 96, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldSpawner2up", -96, 0, 0, 0, 0, 0, 0, 32)
    stop
  }
}

actor JusticarShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("JusticarJusticarShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor JusticarShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor JusticarShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}


actor JusticarShieldSpawner2up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("JusticarShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    stop
  }
}

actor JusticarShieldPart
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "RedBPShieldHit"
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  +SOLID
  +REFLECTIVE
  States
  {
  Spawn:
    JEHS A 2 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor JusticarShieldPartVisual
{
  Radius 10
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  
  +FLOORCLIP
  States
  {
  Spawn:
    JEHS A 2 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

Actor BlotSmoke
{
  Radius 2
  Height 2
  +NOCLIP
  +NOINTERACTION
  RenderStyle Translucent
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump (256, "Blot1", "Blot2", "Blot3", "Blot4")
  Blot1:
    BLOT A 8 
    BLOT B 8 A_SetTranslucent (0.4, 0)
    BLOT C 8 A_SetTranslucent (0.3, 0)
    BLOT D 8 A_SetTranslucent (0.2, 0)
    BLOT E 8 A_SetTranslucent (0.1, 0)
    stop
  Blot2:
    BLOT F 8 
    BLOT G 8 A_SetTranslucent (0.4, 0)
    BLOT H 8 A_SetTranslucent (0.3, 0)
    BLOT I 8 A_SetTranslucent (0.2, 0)
    BLOT J 8 A_SetTranslucent (0.1, 0)
    stop
  Blot3:
    BLOT K 8 
    BLOT L 8 A_SetTranslucent (0.4, 0)
    BLOT M 8 A_SetTranslucent (0.3, 0)
    BLOT N 8 A_SetTranslucent (0.2, 0)
    BLOT O 8 A_SetTranslucent (0.1, 0)
    stop
  Blot4:
    BLOT P 8 
    BLOT Q 8 A_SetTranslucent (0.4, 0)
    BLOT R 8 A_SetTranslucent (0.3, 0)
    BLOT S 8 A_SetTranslucent (0.2, 0)
    BLOT T 8 A_SetTranslucent (0.1, 0)
    stop
  }
}

actor Blot
{
  obituary "%o's personal space was invaded."
  health 20
  radius 24
  height 24
  mass 100
  speed 10
  Painchance 256
  seesound "Blot/Sight"
  deathsound "Blot/Death"
  Species "Ghoul"
    Damagetype "Minion"
	Damagefactor "Macheteslicerino", 0
	Damagefactor "Mechpewpews", 0
	Damagefactor "Sentinel", 0
	Damagefactor "Minion", 0
	Damagefactor "Minion2", 0
	Damagefactor "Bluefire", 0
	Damagefactor "Hellzone", 0
	Damagefactor "Lamiafire", 0
	Damagefactor "bloodpuff", 0
	Damagefactor "bluefire", 0
	DamageFactor "SjasScream", 0
	DamageFactor "Creeper", 0
	DamageFactor "CreepStun", 0
	DamageFactor "Jitter", 0
	DamageFactor "Choke", 0
	DamageFactor "Ravager", 0
	DamageFactor "RavagerBall", 0
	DamageFactor "Yurei", 0
	DamageFactor "Justicar", 0
	DamageFactor "YureiBall", 0
	DamageFactor "Misty", 0
	DamageFactor "Clowny", 0
	DamageFactor "Mohoph", 0
	DamageFactor "Emtalic", 0
	DamageFactor "EmtalicWeak", 0
	DamageFactor "I1", 0
	DamageFactor "I2", 0
	DamageFactor "I3", 0
	DamageFactor "I4", 0
	DamageFactor "I5", 0
	DamageFactor "GraveStalkerLure", 0
	DamageFactor "BastetClawingLightSFX", 0
	DamageFactor "BastetClawing", 0
	DamageFactor "BastetClawingHeavySFX", 0
	DamageFactor "DarkSovereign", 0
	Damagefactor "BloodScepter", 0
	Damagefactor "ZombieIce", 0.0
    Damagefactor "ZombiePoison", 0.0
	DamageFactor "Obliterator", 0.0
	Damagefactor "PuppetStrings", 0.0
    BloodType None
    MONSTER
	+DONTBLAST
	+NOCLIP
	+LOOKALLAROUND
	+DONTMORPH
	+FRIENDLY
	+NOGRAVITY
	+DONTHURTSPECIES
	+FLOAT
    +NOGRAVITY
    +SPAWNFLOAT
    +MISSILEMORE
	+MISSILEEVENMORE
    +PUSHABLE
    +QUICKTORETALIATE
    -COUNTKILL
  //+GHOST   < In Heretic or Hexen, this would fit rather well.
  states
  {
  Spawn:
    SEYE A 10 A_Look
    Goto See
  See:
    SEYE A 1 bright A_Chase
    SEYE AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-1, 1), random (-1, 1), 0, 160)
    loop
	Giveup:
    SEYE A 0 A_ClearTarget
    goto See
  Idle:
    SEYE A 0 A_LookEx(0, 0, 0, 0, 460, "See")
    SEYE AAAAAAAAA 3 A_Wander
    SEYE A 0 A_LookEx(0, 0, 0, 0, 460, "See")
    loop
  Missile:
    SEYE A 1 bright A_FaceTarget
	SEYE A 0 bright A_Skullattack(15)
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-1, 1), random (-1, 1), 0, 160)
	Goto missile
  Pain:	
	SEYE A 1 A_GiveToTarget("JusticarAOEHealTriggerBlot",1)
	SEYE A 1 A_GiveToTarget("JusticarAOEHealTriggerBlot",1)
	SEYE A 1 A_GiveToTarget("JusticarAOEHealTriggerBlot",1)
	Goto See
  Death:
	TNT1 A 1 A_GiveToTarget("JusticarAOEHealTriggerBlot",1)
    TNT1 A 1 A_Stop
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-2, 2), random (-2, 2), 0, 160)
    TNT1 A 1 A_ScreamAndUnblock
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-3, 3), random (-3, 3), 0, 160)
    TNT1 A 1 A_Stop
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-4, 4), random (-4, 4), 0, 160)
    TNT1 A 1 A_Stop
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-5, 5), random (-5, 5), 0, 160)
    TNT1 A 1 A_Stop
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-6, 6), random (-6, 6), 0, 160)
    TNT1 A 1 A_Stop
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-7, 7), random (-7, 7), 0, 160)
    TNT1 A 1 A_Stop
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-8, 8), random (-8, 8), 0, 160)
    TNT1 A 1 A_Stop
    TNT1 AAAAA 0 A_SpawnItemEx ("BlotSmoke", -2, random (0, -8), random (-4, 4), 0, random (-9, 9), random (-9, 9), 0, 160)
    stop
  }
}

Actor BlotAmmo : Ammo
{
  Inventory.Amount 2
  Inventory.MaxAmount 2
  Ammo.BackpackAmount 2
  Ammo.BackpackMaxAmount 2
  States
  {
  Spawn:
   TNT1 A 0  Bright
    Loop
  }
}

Actor BlotHealTrail
{
	RenderStyle Translucent
	+NoGravity
	visibletoteam 1
	Alpha 0.8
	Scale 0.6
	States
	{
	Spawn:
		TNT1 A 3 A_SpawnItemEx("JusticarAOEHealTriggerBlot2")
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3 A_SpawnItemEx("JusticarAOEHealTriggerBlot2")
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3 A_SpawnItemEx("JusticarAOEHealTriggerBlot2")
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3 A_SpawnItemEx("JusticarAOEHealTriggerBlot2")
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3 A_SpawnItemEx("JusticarAOEHealTriggerBlot2")
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
		TNT1 A 3 A_SpawnItemEx("JusticarAOEHealTriggerBlot2")
		TNT1 A 0 A_SpawnItemEx("JusticarEtherealSideTrail2",0,0,30)
	Fade:
		TNT1 A 10
		Wait
	}
}


Actor JusticarAOEHealTriggerBlot : CustomInventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Inventory.PickupSound "Justicar/healup"
	Scale 0.035
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_FadeOut(0.1)
		Goto Spawn
	Pickup:
		TNT1 A 0 A_JumpIfInventory("IsHuman",1,"Darkness")
		fail
	Darkness:
		TNT1 A 0 ACS_ExecuteAlways(134)
		TNT1 A 0 A_Playsound("Justicar/AOEHeal")
		Stop
	}
}

Actor JusticarAOEHealTriggerBlot2 : CustomInventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Inventory.PickupSound "Justicar/healup"
	Scale 0.035
	+NOSCREENFLASH
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_FadeOut(0.1)
		Goto Spawn
	Pickup:
		TNT1 A 0 A_JumpIfInventory("IsHuman",1,"Darkness")
		TNT1 A 0 A_JumpIfInventory("IsGhoul",1,"GhoulAOEHeal")
		fail
	GhoulAOEHeal:
		TNT1 A 0 A_GiveInventory("Health",2)
		Stop
	Darkness:
		TNT1 A 0 ACS_ExecuteAlways(134)
		TNT1 A 0 A_Playsound("Justicar/AOEHeal")
		Stop
	}
}

ACTOR JusticarGemTurret 14242
{
  Health 500
  Radius 16
  Height 40
  Mass 50000
  Speed 0
  DeathSound "GemTurret/Death"
  Species "Ghoul"
  Monster
  -PUSHABLE
  +LOOKALLAROUND
  +NOBLOOD
  +NOTARGET
  +NOINFIGHTING
  +NOFEAR
  +DONTMORPH
  +NOICEDEATH
  +FRIENDLY
	Damagefactor "Minion", 0
	Damagefactor "Minion2", 0
	Damagefactor "Bluefire", 0
	Damagefactor "Hellzone", 0
	Damagefactor "Lamiafire", 0
	Damagefactor "bloodpuff", 0
	Damagefactor "bluefire", 0
	DamageFactor "SjasScream", 0
	DamageFactor "Creeper", 0
	DamageFactor "CreepStun", 0
	DamageFactor "Jitter", 0
	DamageFactor "Choke", 0
	DamageFactor "Ravager", 0
	DamageFactor "RavagerBall", 0
	DamageFactor "Yurei", 0
	DamageFactor "YureiBall", 0
	DamageFactor "Misty", 0
	DamageFactor "Gaster", 0
	DamageFactor "Clowny", 0
	DamageFactor "Mohoph", 0
	DamageFactor "Emtalic", 0
	DamageFactor "EmtalicWeak", 0
	DamageFactor "I1", 0
	DamageFactor "I2", 0
	DamageFactor "I3", 0
	DamageFactor "I4", 0
	DamageFactor "I5", 0
	DamageFactor "GraveStalkerLure", 0
	DamageFactor "BastetClawingLightSFX", 0
	DamageFactor "BastetClawing", 0
	DamageFactor "BastetClawingHeavySFX", 0
	DamageFactor "DarkSovereign", 0
	Damagefactor "BloodScepter", 0
	Damagefactor "ZombieIce", 0.0
    Damagefactor "ZombiePoison", 0.0
	Damagefactor "Tenebra", 0.0
	Damagefactor "Judgement", 0.0
	DamageFactor "Obliterator", 0.0
	Damagefactor "PuppetStrings", 0.0
  States
  {
  Spawn:
    GTUR A 4 Bright A_Look
    Goto See
  See:
    GTUR A 147 Bright
	GTUR A 0 Bright A_PlaySound("GemTurret/HealSpawn")
	GTUR A 0 bright A_SpawnItemEx("BlotHealTrail",30,30,-30)
	GTUR A 0 bright A_SpawnItemEx("BlotHealTrail",-30,-30,-30)
	GTUR A 0 bright A_SpawnItemEx("BlotHealTrail",-30,0,-30)
	GTUR A 0 bright A_SpawnItemEx("BlotHealTrail",30,0,-30)
	GTUR A 0 bright A_SpawnItemEx("BlotHealTrail",0,30,-30)
	GTUR A 0 bright A_SpawnItemEx("BlotHealTrail",0,-30,-30)
	GTUR A 0 bright A_SpawnItemEx("BlotHealTrail",30,-30,-30)
	GTUR A 0 bright A_SpawnItemEx("BlotHealTrail",-30,30,-30)
	GTUR BCD 5 Bright
    Loop
  Death:
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	GTUR EEEEEEEEEE 0 A_SpawnItemEx ("GemShard", 0, 0, 36, random(-2, 2), random(-2, 2), random(4, 8), 0, 0, 0) 
    GTUR E 4 A_ScreamAndUnblock
    GTUR E -1
    Stop
	Death.ChexWarrior:
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		GTUR A 0 A_PlaySoundEx("Teleport/Chex",7)
		GTUR A 0 A_Stop
		GTUR A 0 A_NoGravity
		GTUR A 3 A_SpawnItem("SmallZorch")
		GTUR A 3 A_SetTranslucent(0.9,0)
		GTUR A 3 A_SetTranslucent(0.8,0)
		GTUR A 0 A_NoBlocking
		GTUR A 3 A_SetTranslucent(0.7,0)
		GTUR A 3 A_SetTranslucent(0.6,0)
		GTUR A 3 A_SetTranslucent(0.5,0)
		GTUR A 3 A_SetTranslucent(0.4,0)
		GTUR A 3 A_SetTranslucent(0.3,0)
		GTUR A 3 A_SetTranslucent(0.2,0)
		GTUR A 3 A_SetTranslucent(0.1,0) 
		TNT1 A 1 A_SetTranslucent(1,0)
		TNT1 A -1
		Stop
	Death.ChexWarriorChainsaw:
	Death.ChexWarriorPistol:
	Goto Death.ChexWarrior
  }
}

ACTOR GemFlash
{
  RenderStyle Add
  +NOINTERACTION

  States
  {
  Spawn:
    GTUF ABCDE 2 bright
    Stop
  }
}

ACTOR GemShard
{
  Radius 4
  Mass 4
  Projectile
  -ACTIVATEMCROSS
  -ACTIVATEIMPACT
  -NOGRAVITY
  +DOOMBOUNCE
  BounceFactor 0.3
  States
  {
  Spawn:
    GTUS ABCDE 4
    Loop
  Death:
    GTUS E 105
    // fall through
  FadeAway:
    GTUS E 4 A_FadeOut (0.1)
	Loop
  }
}

Actor Justicarpuff : fastprojectile
{
   Speed 2000
   Damage (4)
   Height 3
   Radius 3
   Obituary "%o has nothing more to give."
   Damagetype "Justicar"
   Projectile
  States
  {
  Spawn:
    TNT1 A 50 Bright 
    loop
  Death:
    TNT1 A 1
    Stop
  }
} 

ACTOR JusticarPrimaryAmmo : Ammo
{
Inventory.Amount 1
Inventory.MaxAmount 1
Ammo.BackpackAmount 1
Ammo.BackpackMaxAmount 1
Inventory.Icon "COTLC0"
renderstyle ADD
alpha 0.9
States
{
Spawn:
	COTL ABC 4 BRIGHT
	Loop
}
}

ACTOR JusticarSecondaryAmmo : ammo
{
Inventory.Amount 100
Inventory.MaxAmount 100
Ammo.BackpackAmount 100
Ammo.BackpackMaxAmount 100
Inventory.Icon "COTSC0"
renderstyle ADD
alpha 0.9
States
{
Spawn:
	COTS ABC 4 BRIGHT
	Loop
}
}