Actor Screamer : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 9999
}

Actor IsHuman : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor IsGhoul : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor HitBeepItem : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor HitMarkerItem : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor KillBeepItem : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor KillMarkerItem : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor PerilIndicatorItem : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor TimerTokens : Inventory
{
    Inventory.MaxAmount 8
}

Actor TimerItem : Inventory
{
	Inventory.MaxAmount 1
}

Actor ClassID : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 255
}

Actor IsHunter : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor IsMohoph : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

Actor CreeperPopUp : Inventory 
{ 
Inventory.MaxAmount 1 
}

Actor AltSkin : Inventory
{
Inventory.MaxAmount 1
}

Actor AltSkin2 : AltSkin
{
}

Actor IconItem : Inventory
{
Inventory.MaxAmount 99
}

ACTOR SpiritTrail
{
 Alpha 0.9
 Radius 1
 Height 1
 renderstyle add
 Gravity 0.03
 scale 3.0
 +NOCLIP
 +FORCEXYBILLBOARD
 +NOINTERACTION
 +CLIENTSIDEONLY
 States
 {
   Spawn:
	TNT1 A 0
	JSPJ F 2
	JSPJ K 2
	JSPJ G 2 A_FadeOut (0.1)
	Stop
	Death:
	TNT1 A 1
	Stop
 }
}


Actor SpiritTrailDeathVFX
{
	Radius 0
	Height 0
	Damage 0
	scale 0.4
	Alpha 0.9
	RenderStyle Add
	PROJECTILE
	+nointeraction
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		JSPJ F 1 Bright
		JSPJ K 1 Bright
		JSPJ G 1 bright A_FadeOut(0.1)
	}
}

ACTOR SpiritTrailPews
{
  RenderStyle add
  Alpha 0.9
  Scale 0.4
  projectile
	+nointeraction
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		PAO5 A 3 bright A_FadeOut(0.2)
	}
}

Actor AdditionalGhoulDeathParticle
{
	Radius 0
	Height 0
	Damage 0
	scale 0.4
	Alpha 0.75
	RenderStyle Add
	PROJECTILE
	+nointeraction
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		PAO5 A 3 bright A_FadeOut(0.1)
	}
}

ACTOR AdditionalGhoulDeathVFX
{
  RenderStyle add
  Alpha 0.9
  Scale 0.8
  projectile
	+nointeraction
	+CLIENTSIDEONLY
	States
	{
	Spawn:
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("AdditionalGhoulDeathParticle",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 0 A_SpawnItemEx("SpiritTrailDeathVFX",random(-50,50),random(-50,50),random(-10,10),0,0,10)
TNT1 A 4
Stop
Death:
TNT1 A 1
Stop
	}
}

Actor BlastEffectNone replaces BlastEffect
{
	+NOINTERACTION
	+NOSECTOR
	+NOBLOCKMAP
	States
	{
	Spawn:
		TNT1 A 0
		Stop
	}
}

Actor HitBeep : CustomInventory
{
	+INVENTORY.ALWAYSPICKUP 
	RenderStyle None
	States
	{
	Spawn:
		TNT1 A 6
		Loop
	Pickup:
		TNT1 A 0 A_JumpIfInventory("HitBeepItem",1,"Play")
		TNT1 A 0 A_JumpIfInventory("HitMarkerItem",1,"Marker")
		Stop
	Play:
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("HitBeepType") == 2, "Play2")
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("HitBeepType") == 3, "Play3")
		TNT1 A 0 A_PlaySound("HitBeep",CHAN_7|CHAN_UI,1.0*(ACS_NamedExecuteWithResult("HitBeepVolume")/100.0),0,255)
		TNT1 A 0 A_JumpIfInventory("HitMarkerItem",1,"Marker")
		Stop
	Play2:
		TNT1 A 0 A_PlaySound("HitBeep2",CHAN_7|CHAN_UI,1.0*(ACS_NamedExecuteWithResult("HitBeepVolume")/100.0),0,255)
		TNT1 A 0 A_JumpIfInventory("HitMarkerItem",1,"Marker")
		Stop
	Play3:
		TNT1 A 0 A_PlaySound("HitBeep3",CHAN_7|CHAN_UI,1.0*(ACS_NamedExecuteWithResult("HitBeepVolume")/100.0),0,255)
		TNT1 A 0 A_JumpIfInventory("HitMarkerItem",1,"Marker")
		Stop
	Marker:
		TNT1 A 0 ACS_NamedExecuteAlways("HitIndicator",0)
		Stop
	}
}

Actor HitMarker : CustomInventory
{
	+INVENTORY.ALWAYSPICKUP 
	RenderStyle None
	States
	{
	Spawn:
		TNT1 A 6
		Loop
	Pickup:
		TNT1 A 0 A_JumpIfInventory("HitMarkerItem",1,"Marker")
		Stop
	Marker:
		TNT1 A 0 ACS_NamedExecuteAlways("HitIndicator",0)
		Stop
	}
}

Actor KillBeep : CustomInventory
{
	+INVENTORY.ALWAYSPICKUP 
	RenderStyle None
	States
	{
	Spawn:
		TNT1 A 6
		Loop
	Pickup:
		TNT1 A 0 A_JumpIfInventory("KillBeepItem",1,"Play")
		TNT1 A 0 A_JumpIfInventory("KillMarkerItem",1,"Marker")
		Stop
	Play:
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("KillBeepType") == 2, "Play2")
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("KillBeepType") == 3, "Play3")
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("KillBeepType") == 4, "Play4")
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("KillBeepType") == 5, "Play5")
		TNT1 A 0 A_PlaySound("KillBeep",CHAN_AUTO|CHAN_UI,1.0*(ACS_NamedExecuteWithResult("KillBeepVolume")/100.0),0,255)
		TNT1 A 0 A_JumpIfInventory("KillMarkerItem",1,"Marker")
		Stop
	Play2:
		TNT1 A 0 A_PlaySound("KillBeep2",CHAN_AUTO|CHAN_UI,1.0*(ACS_NamedExecuteWithResult("KillBeepVolume")/100.0),0,255)
		TNT1 A 0 A_JumpIfInventory("KillMarkerItem",1,"Marker")
		Stop
	Play3:
		TNT1 A 0 A_PlaySound("KillBeep3",CHAN_AUTO|CHAN_UI,1.0*(ACS_NamedExecuteWithResult("KillBeepVolume")/100.0),0,255)
		TNT1 A 0 A_JumpIfInventory("KillMarkerItem",1,"Marker")
		Stop
	Play4:
		TNT1 A 0 A_PlaySound("KillBeep4",CHAN_AUTO|CHAN_UI,1.0*(ACS_NamedExecuteWithResult("KillBeepVolume")/100.0),0,255)
		TNT1 A 0 A_JumpIfInventory("KillMarkerItem",1,"Marker")
		Stop
	Play5:
		TNT1 A 0 A_PlaySound("KillBeep5",CHAN_AUTO|CHAN_UI,1.0*(ACS_NamedExecuteWithResult("KillBeepVolume")/100.0),0,255)
		TNT1 A 0 A_JumpIfInventory("KillMarkerItem",1,"Marker")
		Stop
	Marker:
		TNT1 A 0 ACS_NamedExecuteAlways("KillIndicator",0)
		Stop
	}
}

Actor KillIndicator : CustomInventory
{
	+INVENTORY.ALWAYSPICKUP 
	RenderStyle None
	States
	{
	Spawn:
		TNT1 A 6
		Loop
	Pickup:
		TNT1 A 0 A_JumpIfInventory("KillMarkerItem",1,"Marker")
		Stop
	Marker:
		TNT1 A 0 ACS_NamedExecuteAlways("KillIndicator",0)
		Stop
	}
}

actor BulletPuff2 : BulletPuff
{
+puffonactors
+PUFFGETSOWNER
+NOINTERACTION
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
States
{
  Spawn:
    PUFF A 0
    PUFF A 4 bright A_PlaySound("puff/TSRIC")
    PUFF B 4
    // Intentional fall-through
  Melee:
    PUFF CD 4
    stop
	XDeath:
	TNT1 A 0 A_PlaySound("wolfen/hitflesh")
	TNT1 A 0 A_GiveToTarget("HitBeep",1)
	TNT1 A 1 Bright
	TNT1 A 1
	Stop
}
}

Actor RailPuff
{
	+CLIENTSIDEONLY
	+NOINTERACTION
	+ALWAYSPUFF
	+PUFFGETSOWNER
	+EXTREMEDEATH
	+FORCEXYBILLBOARD
	+MTHRUSPECIES
	States
	{
	Spawn:
		TNT1 A 0 
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		Goto Crash
	Xdeath:
		TNT1 A 0 
		TNT1 A 0 A_GiveToTarget("HitBeep",1)
		TNT1 A 1
		Stop
	Crash:
		TNT1 A 1
		Stop
	}
}

Actor BlankRailPuff : RailPuff
{
	States
	{
	Spawn:
		TNT1 A 1
		Goto Crash
	Xdeath:
		TNT1 A 1
		Stop
	Crash:
		TNT1 A 1
		Stop
	}
}

ACtor teleportfog2 replaces teleportfog
{
  States
  {
  Spawn:      
	TNT1 A 0
	TNT1 A 1 A_SpawnItemEx("DummyFog")
	Stop
  }
}

Actor DummyFog
{
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 2 ACS_NamedExecuteAlways("TeleportFog",0)
	Stop
  }
}

Actor HumanTeleFog
{
  Scale 0.5
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	GOFH A 5 NoDelay A_PlaySound("Teleport/Human")
	GOFH BCDEFGH 5 Bright
	Stop
  }
}

Actor EmptyFog : HumanTeleFog
{
  States
  {
  Spawn:
    TNT1 A 1
	Stop
  }
}

Actor BigHumanTeleFog
{
  Scale 0.7
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	GOFH A 5 NoDelay A_PlaySound("Teleport/Human")
	GOFH BCDEFGH 5 Bright
	Stop
  }
}

Actor ElezaHumanTeleFog
{
  Scale 0.3
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	GOFH A 5 NoDelay A_PlaySound("Teleport/Human")
	GOFH BCDEFGH 5 Bright
	Stop
  }
}

Actor CalebTeleFog
{
	+NoInteraction
	+BRIGHT
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 A 0
		goto Death
	Death:
		TNT1 A 10 A_PlaySound("Teleport/Caleb")
		TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("CalebThunderFX_Spark", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("CalebThunderFX_Spark", 0, 0, 8, 0.01 * Random(-300, 300), 0.01 * Random(-300, 300), 0.01 * Random(0, 600), 0, 128, 0)
		Stop
	}
}

ACTOR GhoulTeleFog
{
  Scale 0.5
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
 Spawn:
	GOFG A 9 NoDelay A_PlaySound("Teleport/Ghoul")
	GOFG B 9
	GOFG C 10
	GOFG DEFGHIJ 4 Bright
	Stop
  }
}

ACTOR BigGhoulTeleFog
{
  Scale 0.8
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
 Spawn:
	GOFG A 9 NoDelay A_PlaySound("Teleport/Ghoul")
	GOFG B 9
	GOFG C 10
	GOFG DEFGHIJ 4 Bright
	Stop
  }
}

ACTOR CreeperGhoulTeleFog
{
  Scale 0.2
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
 Spawn:
	GOFG A 9 NoDelay A_PlaySound("Teleport/Ghoul")
	GOFG B 9
	GOFG C 10
	GOFG DEFGHIJ 4 Bright
	Stop
  }
}

ACTOR RavagerGhoulTeleFog
{
  Scale 0.3
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
 Spawn:
	GOFG A 9 NoDelay A_PlaySound("Teleport/Ghoul")
	GOFG B 9
	GOFG C 10
	GOFG DEFGHIJ 4 Bright
	Stop
  }
}

Actor HexenTeleFog 
{
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	GOFE A 5 Bright
	GOFE B 5 Bright A_PlaySound("Teleport/Hexen")
	GOFE CDEFGHGFEDC 5 Bright
	Stop
  }
}

Actor StrifeTeleFog 
{
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	GOFS A 5 Bright
	GOFS B 5 Bright A_PlaySound("Teleport/Strife")
	GOFS CDEFEDCB 5 Bright
	Stop
  }
}

Actor HereticTeleFog 
{
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	GOFC A 5 Bright
	GOFC B 5 Bright A_PlaySound("Teleport/Heretic")
	GOFC CDEFGHGFEDC 5 Bright
	Stop
  }
}

Actor DoomTeleFog 
{
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	GOFD A 5 Bright
	GOFD B 5 Bright A_PlaySound("Teleport/Doom")
	GOFD ABCDEFGHIJ 5 Bright
	Stop
  }
}

Actor DukeTeleFog
{
   XScale 0.5
   YScale 0.9
   +NOINTERACTION   
    +BRIGHT
	+CLIENTSIDEONLY
	RenderStyle Add
    States
    {
    Spawn:
		GODK AA 2 Bright
		GODK B 2 Bright A_PlaySound("Teleport/Duke")
		GODK BCCDDEEFF 2 Bright
	    Stop
    }
} 

Actor Doom64TeleFog 
{
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	TFOG D 4 Bright NoDelay A_PlaySound("D64Teleport")
	TFOG CBABCDEFGH 4 Bright
	Stop
  }
}

Actor ChexTeleFog 
{
  +NOINTERACTION
  +BRIGHT
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	CHFO A 5 Bright
	CHFO B 5 Bright A_PlaySound("Teleport/Chex")
	CHFO ABCDEFGHIJ 5 Bright
	Stop
  }
}

ACTOR InfoPage : Inventory
{
Inventory.Maxamount 1
}

Actor CalebThunderFX_Spark
{
	+Missile
	-NoGravity
	+NoInteraction
	+CLIENTSIDEONLY
	
	Gravity 0.1
	Radius 4
	Height 8
	RenderStyle Add
	Scale 0.0500
	States
	{ 
	Spawn:
		BFLR A 3 Bright A_FadeOut(0.1)
		Loop
	}
}

ACTOR HehImp
{
  Health 5000
  Radius 20
  Height 56
  Mass 100
  Speed 8
  PainChance 32
  Monster
  +FLOORCLIP
  SeeSound "imp/sight"
  PainSound "imp/pain"
  DeathSound "imp/death"
  ActiveSound "imp/active"
  HitObituary "$OB_IMPHIT"
  Obituary "$OB_IMP"
  Translation "48:79=112:127"
  States
  {
  Spawn:
    TROO AB 10 A_Look
    Loop
  See:
    TROO A 0 a_giveinventory("DamageCalculatorItem2",1)
    TROO AABB 3 A_Chase
    TROO C 0 a_giveinventory("DamageCalculatorItem2",1)
    TROO CCDD 3 A_Chase
    Loop
  Melee:
  Missile:
    TROO EF 8 A_FaceTarget
    TROO G 0 a_giveinventory("DamageCalculatorItem2",1)
    TROO G 6 A_TroopAttack
    Goto See
  Pain:
    TROO H 1
    TROO H 0 a_giveinventory("DamageCalculatorItem",1)        
    TROO H 2 
    TROO H 2
    TROO H 2 A_Pain
    Goto See
  Death:
    TROO I 8
    TROO J 8 A_Scream
    TROO K 6
    TROO L 6 A_NoBlocking
    TROO M -1
    Stop
  XDeath:
    TROO N 5
    TROO O 5 A_XScream
    TROO P 5
    TROO Q 5 A_NoBlocking
    TROO RST 5
    TROO U -1
    Stop
  Raise:
    TROO ML 8
    TROO KJI 6
    Goto See
  }
}


Actor DamageCalculatorItem : CustomInventory 
{
  Inventory.PickupMessage ""
  Inventory.PickupSound ""
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    SOUL A -1
    Stop
  Pickup:
    TNT1 A 0 a_takeinventory("CurrentHealth",8000)
    TNT1 A 0 a_giveinventory("CurrentHealth",health)        
    TNT1 A 0 a_giveinventory("DifferenceHealth", ACS_EXECUTEWITHRESULT(5001,0,0,0,0)-ACS_EXECUTEWITHRESULT(5000,0,0,0,0))
    TNT1 A 0 a_giveinventory("DifferenceHealthBackup", ACS_EXECUTEWITHRESULT(5001,0,0,0,0)-ACS_EXECUTEWITHRESULT(5000,0,0,0,0))             
    TNT1 A 0 a_jumpif(ACS_EXECUTEWITHRESULT(5001,0,0,0,0) < 2 , "DoNotDisplayYet")            
    TNT1 A 0 a_takeinventory("PreviousHealth",8000)       
    TNT1 A 0 a_giveinventory("PreviousHealth",ACS_EXECUTEWITHRESULT(5000,0,0,0,0))
    Goto ThirdDigit  
      
    DoNotDisplayYet:
    TNT1 A 0 a_takeinventory("PreviousHealth",8000)       
    TNT1 A 0 a_giveinventory("PreviousHealth",ACS_EXECUTEWITHRESULT(5000,0,0,0,0))
    Goto JustStopAlready
    
    ThirdDigit:      
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",900,"SpawnC9")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",800,"SpawnC8")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",700,"SpawnC7")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",600,"SpawnC6")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",500,"SpawnC5")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",400,"SpawnC4")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",300,"SpawnC3")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",200,"SpawnC2")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",100,"SpawnC1")
  
    
    
    Goto SecondDigit    
        
    SpawnC1: 
    TNT1 A 0 a_spawnitemex("NumberC1",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",100)
    Goto SecondDigit
    
    SpawnC2: 
    TNT1 A 0 a_spawnitemex("NumberC2",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",200)
    Goto SecondDigit
    
    SpawnC3: 
    TNT1 A 0 a_spawnitemex("NumberC3",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",300)
    Goto SecondDigit
    
    SpawnC4: 
    TNT1 A 0 a_spawnitemex("NumberC4",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",400)
    Goto SecondDigit
    
    SpawnC5: 
    TNT1 A 0 a_spawnitemex("NumberC5",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",500)
    Goto SecondDigit
    
    SpawnC6: 
    TNT1 A 0 a_spawnitemex("NumberC6",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",600)
    Goto SecondDigit
    
    SpawnC7: 
    TNT1 A 0 a_spawnitemex("NumberC7",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",700)
    Goto SecondDigit
    
    SpawnC8: 
    TNT1 A 0 a_spawnitemex("NumberC8",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",800)
    Goto SecondDigit    
        
    SpawnC9: 
    TNT1 A 0 a_spawnitemex("NumberC9",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",900)
    Goto SecondDigit   
    
    
    
        
    SecondDigit:
    
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",90,"SpawnB9")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",80,"SpawnB8")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",70,"SpawnB7")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",60,"SpawnB6")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",50,"SpawnB5")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",40,"SpawnB4")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",30,"SpawnB3")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",20,"SpawnB2")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",10,"SpawnB1")
    
    TNT1 A 0 A_JumpIfInventory("DifferenceHealthBackup",100,2)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 a_spawnitemex("NumberB0",0,0,64,0,0,4)
    TNT1 A 0
    
    Goto LastDigit    
     
    SpawnB1: 
    TNT1 A 0 a_spawnitemex("NumberB1",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",10)
    Goto LastDigit
    
    SpawnB2: 
    TNT1 A 0 a_spawnitemex("NumberB2",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",20)
    Goto LastDigit
     
    SpawnB3: 
    TNT1 A 0 a_spawnitemex("NumberB3",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",30)
    Goto LastDigit 
    
    SpawnB4: 
    TNT1 A 0 a_spawnitemex("NumberB4",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",40)
    Goto LastDigit
    
    SpawnB5: 
    TNT1 A 0 a_spawnitemex("NumberB5",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",50)
    Goto LastDigit
    
    SpawnB6: 
    TNT1 A 0 a_spawnitemex("NumberB6",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",60)
    Goto LastDigit
    
    SpawnB7: 
    TNT1 A 0 a_spawnitemex("NumberB7",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",70)
    Goto LastDigit
    
    SpawnB8: 
    TNT1 A 0 a_spawnitemex("NumberB8",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",80)
    Goto LastDigit
    
    SpawnB9: 
    TNT1 A 0 a_spawnitemex("NumberB9",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",90)
    Goto LastDigit
    
    
    
    LastDigit:
    
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",9,"SpawnA9")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",8,"SpawnA8")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",7,"SpawnA7")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",6,"SpawnA6")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",5,"SpawnA5")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",4,"SpawnA4")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",3,"SpawnA3")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",2,"SpawnA2")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",1,"SpawnA1")
       
        
    TNT1 A 0 a_spawnitemex("NumberA0",0,0,64,0,0,4)
    
    Goto JustStopAlready      
    SpawnA1:
    TNT1 A 0 a_spawnitemex("NumberA1",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA2:
    TNT1 A 0 a_spawnitemex("NumberA2",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA3:
    TNT1 A 0 a_spawnitemex("NumberA3",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA4:
    TNT1 A 0 a_spawnitemex("NumberA4",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA5:
    TNT1 A 0 a_spawnitemex("NumberA5",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA6:
    TNT1 A 0 a_spawnitemex("NumberA6",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA7:
    TNT1 A 0 a_spawnitemex("NumberA7",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA8:
    TNT1 A 0 a_spawnitemex("NumberA8",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA9:
    TNT1 A 0 a_spawnitemex("NumberA9",0,0,64,0,0,4)
    Goto JustStopAlready
    
    
    
    JustStopAlready:
    TNT1 A 0 a_takeinventory("DifferenceHealth",8000)
    TNT1 A 0 a_takeinventory("DifferenceHealthBackup",8000)
    Stop
  }
}




actor PreviousHealth : Inventory
{
Inventory.MaxAmount 8000
+INVENTORY.UNDROPPABLE
}
actor CurrentHealth : Inventory
{
Inventory.MaxAmount 8000
+INVENTORY.UNDROPPABLE
}
actor DifferenceHealth : Inventory
{
Inventory.MaxAmount 8000
+INVENTORY.UNDROPPABLE
}
actor DifferenceHealthBackup : Inventory
{
Inventory.MaxAmount 8000
+INVENTORY.UNDROPPABLE
}


ACTOR HehBall210
{
  Radius 6
  Height 8
  Speed 10
  Damage (210)
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 1
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
    BAL1 AB 4 Bright
    Loop
  Death:
    BAL1 CDE 6 Bright
    Stop
  }
}
ACTOR HehBall5
{
  Radius 6
  Height 8
  Speed 10
  Damage (5)
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 1
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
    BAL1 AB 4 Bright
    Loop
  Death:
    BAL1 CDE 6 Bright
    Stop
  }
}
ACTOR HehBall100
{
  Radius 6
  Height 8
  Speed 10
  Damage (100)
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 1
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
    BAL1 AB 4 Bright
    Loop
  Death:
    BAL1 CDE 6 Bright
    Stop
  }
}






ACTOR NumberA0
{
  +NOBLOCKMAP
  +NOGRAVITY
  RenderStyle Translucent
  Alpha 1
  States
  {
  Spawn:
    NUMB A 10 Bright
    Stop
  }
}
ACTOR NumberA1 : NumberA0
{
  States
  {
  Spawn:
    NUMB B 10 Bright
    Stop
  }
}
ACTOR NumberA2 : NumberA0
{
  States
  {
  Spawn:
    NUMB C 10 Bright
    Stop
  }
}
ACTOR NumberA3 : NumberA0
{
  States
  {
  Spawn:
    NUMB D 10 Bright
    Stop
  }
}
ACTOR NumberA4 : NumberA0
{
  States
  {
  Spawn:
    NUMB E 10 Bright
    Stop
  }
}
ACTOR NumberA5 : NumberA0
{
  States
  {
  Spawn:
    NUMB F 10 Bright
    Stop
  }
}
ACTOR NumberA6 : NumberA0
{
  States
  {
  Spawn:
    NUMB G 10 Bright
    Stop
  }
}
ACTOR NumberA7 : NumberA0
{
  States
  {
  Spawn:
    NUMB H 10 Bright
    Stop
  }
}
ACTOR NumberA8 : NumberA0
{
  States
  {
  Spawn:
    NUMB I 10 Bright
    Stop
  }
}
ACTOR NumberA9 : NumberA0
{
  States
  {
  Spawn:
    NUMB J 10 Bright
    Stop
  }
}

ACTOR NumberB0 : NumberA0
{
  States
  {
  Spawn:
    NUMC A 10 Bright
    Stop
  }
}
ACTOR NumberB1 : NumberA0
{
  States
  {
  Spawn:
    NUMC B 10 Bright
    Stop
  }
}
ACTOR NumberB2 : NumberA0
{
  States
  {
  Spawn:
    NUMC C 10 Bright
    Stop
  }
}
ACTOR NumberB3 : NumberA0
{
  States
  {
  Spawn:
    NUMC D 10 Bright
    Stop
  }
}
ACTOR NumberB4 : NumberA0
{
  States
  {
  Spawn:
    NUMC E 10 Bright
    Stop
  }
}
ACTOR NumberB5 : NumberA0
{
  States
  {
  Spawn:
    NUMC F 10 Bright
    Stop
  }
}
ACTOR NumberB6 : NumberA0
{
  States
  {
  Spawn:
    NUMC G 10 Bright
    Stop
  }
}
ACTOR NumberB7 : NumberA0
{
  States
  {
  Spawn:
    NUMC H 10 Bright
    Stop
  }
}
ACTOR NumberB8 : NumberA0
{
  States
  {
  Spawn:
    NUMC I 10 Bright
    Stop
  }
}
ACTOR NumberB9 : NumberA0
{
  States
  {
  Spawn:
    NUMC J 10 Bright
    Stop
  }
}

ACTOR NumberC0 : NumberA0
{
  States
  {
  Spawn:
    NUMD A 10 Bright
    Stop
  }
}

ACTOR NumberC1 : NumberA0
{
  States
  {
  Spawn:
    NUMD B 10 Bright
    Stop
  }
}
ACTOR NumberC2 : NumberA0
{
  States
  {
  Spawn:
    NUMD C 10 Bright
    Stop
  }
}
ACTOR NumberC3 : NumberA0
{
  States
  {
  Spawn:
    NUMD D 10 Bright
    Stop
  }
}
ACTOR NumberC4 : NumberA0
{
  States
  {
  Spawn:
    NUMD E 10 Bright
    Stop
  }
}
ACTOR NumberC5 : NumberA0
{
  States
  {
  Spawn:
    NUMD F 10 Bright
    Stop
  }
}
ACTOR NumberC6 : NumberA0
{
  States
  {
  Spawn:
    NUMD G 10 Bright
    Stop
  }
}
ACTOR NumberC7 : NumberA0
{
  States
  {
  Spawn:
    NUMD H 10 Bright
    Stop
  }
}
ACTOR NumberC8 : NumberA0
{
  States
  {
  Spawn:
    NUMD I 10 Bright
    Stop
  }
}
ACTOR NumberC9 : NumberA0
{
  States
  {
  Spawn:
    NUMD J 10 Bright
    Stop
  }
}

Actor DamageCalculatorItem2 : CustomInventory 
{
  Inventory.PickupMessage ""
  Inventory.PickupSound ""
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    SOUL A -1
    Stop
  Pickup:
    TNT1 A 0 a_takeinventory("CurrentHealth",8000)
    TNT1 A 0 a_giveinventory("CurrentHealth",health)        
    TNT1 A 0 a_giveinventory("DifferenceHealth", ACS_EXECUTEWITHRESULT(5001,0,0,0,0)-ACS_EXECUTEWITHRESULT(5000,0,0,0,0))
    TNT1 A 0 a_giveinventory("DifferenceHealthBackup", ACS_EXECUTEWITHRESULT(5001,0,0,0,0)-ACS_EXECUTEWITHRESULT(5000,0,0,0,0))             
    TNT1 A 0 a_jumpif(ACS_EXECUTEWITHRESULT(5001,0,0,0,0) < 2 , "DoNotDisplayYet")            
    TNT1 A 0 a_takeinventory("PreviousHealth",8000)       
    TNT1 A 0 a_giveinventory("PreviousHealth",ACS_EXECUTEWITHRESULT(5000,0,0,0,0))
    Goto ThirdDigit  
      
    DoNotDisplayYet:
    TNT1 A 0 a_takeinventory("PreviousHealth",8000)       
    TNT1 A 0 a_giveinventory("PreviousHealth",ACS_EXECUTEWITHRESULT(5000,0,0,0,0))
    Goto JustStopAlready
    
    ThirdDigit:      
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",900,"SpawnC9")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",800,"SpawnC8")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",700,"SpawnC7")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",600,"SpawnC6")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",500,"SpawnC5")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",400,"SpawnC4")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",300,"SpawnC3")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",200,"SpawnC2")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",100,"SpawnC1")
  
    
    
    Goto SecondDigit    
        
    SpawnC1: 
    TNT1 A 0 a_spawnitemex("NumberC1",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",100)
    Goto SecondDigit
    
    SpawnC2: 
    TNT1 A 0 a_spawnitemex("NumberC2",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",200)
    Goto SecondDigit
    
    SpawnC3: 
    TNT1 A 0 a_spawnitemex("NumberC3",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",300)
    Goto SecondDigit
    
    SpawnC4: 
    TNT1 A 0 a_spawnitemex("NumberC4",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",400)
    Goto SecondDigit
    
    SpawnC5: 
    TNT1 A 0 a_spawnitemex("NumberC5",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",500)
    Goto SecondDigit
    
    SpawnC6: 
    TNT1 A 0 a_spawnitemex("NumberC6",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",600)
    Goto SecondDigit
    
    SpawnC7: 
    TNT1 A 0 a_spawnitemex("NumberC7",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",700)
    Goto SecondDigit
    
    SpawnC8: 
    TNT1 A 0 a_spawnitemex("NumberC8",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",800)
    Goto SecondDigit    
        
    SpawnC9: 
    TNT1 A 0 a_spawnitemex("NumberC9",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",900)
    Goto SecondDigit   
    
    
    
        
    SecondDigit:
    
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",90,"SpawnB9")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",80,"SpawnB8")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",70,"SpawnB7")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",60,"SpawnB6")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",50,"SpawnB5")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",40,"SpawnB4")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",30,"SpawnB3")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",20,"SpawnB2")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",10,"SpawnB1")
    
    TNT1 A 0 A_JumpIfInventory("DifferenceHealthBackup",100,2)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 a_spawnitemex("NumberB0",0,0,64,0,0,4)
    TNT1 A 0
    
    Goto LastDigit    
     
    SpawnB1: 
    TNT1 A 0 a_spawnitemex("NumberB1",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",10)
    Goto LastDigit
    
    SpawnB2: 
    TNT1 A 0 a_spawnitemex("NumberB2",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",20)
    Goto LastDigit
     
    SpawnB3: 
    TNT1 A 0 a_spawnitemex("NumberB3",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",30)
    Goto LastDigit 
    
    SpawnB4: 
    TNT1 A 0 a_spawnitemex("NumberB4",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",40)
    Goto LastDigit
    
    SpawnB5: 
    TNT1 A 0 a_spawnitemex("NumberB5",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",50)
    Goto LastDigit
    
    SpawnB6: 
    TNT1 A 0 a_spawnitemex("NumberB6",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",60)
    Goto LastDigit
    
    SpawnB7: 
    TNT1 A 0 a_spawnitemex("NumberB7",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",70)
    Goto LastDigit
    
    SpawnB8: 
    TNT1 A 0 a_spawnitemex("NumberB8",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",80)
    Goto LastDigit
    
    SpawnB9: 
    TNT1 A 0 a_spawnitemex("NumberB9",0,0,64,0,0,4)
    TNT1 A 0 a_takeinventory("DifferenceHealth",90)
    Goto LastDigit
    
    
    
    LastDigit:
    
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",9,"SpawnA9")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",8,"SpawnA8")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",7,"SpawnA7")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",6,"SpawnA6")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",5,"SpawnA5")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",4,"SpawnA4")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",3,"SpawnA3")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",2,"SpawnA2")
    TNT1 A 0 A_JumpIfInventory("DifferenceHealth",1,"SpawnA1")
       
        
    TNT1 A 0 a_spawnitemex("NumberA0",0,0,64,0,0,4)
    
    Goto JustStopAlready      
    SpawnA1:
    TNT1 A 0
    Goto JustStopAlready
    
    SpawnA2:
    TNT1 A 0 a_spawnitemex("NumberA2",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA3:
    TNT1 A 0 a_spawnitemex("NumberA3",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA4:
    TNT1 A 0 a_spawnitemex("NumberA4",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA5:
    TNT1 A 0 a_spawnitemex("NumberA5",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA6:
    TNT1 A 0 a_spawnitemex("NumberA6",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA7:
    TNT1 A 0 a_spawnitemex("NumberA7",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA8:
    TNT1 A 0 a_spawnitemex("NumberA8",0,0,64,0,0,4)
    Goto JustStopAlready
    
    SpawnA9:
    TNT1 A 0 a_spawnitemex("NumberA9",0,0,64,0,0,4)
    Goto JustStopAlready
    
    
    
    JustStopAlready:
    TNT1 A 0 a_takeinventory("DifferenceHealth",8000)
    TNT1 A 0 a_takeinventory("DifferenceHealthBackup",8000)
    Stop
  }
}

actor PermanentPowerup : PowerupGiver {
	+AUTOACTIVATE
	Inventory.MaxAmount 0
	Powerup.Duration 0x7FFFFFFF
	states {
	Spawn:
		TNT1 A 0
		stop
	}
}