Actor INFMonTID : Inventory {Inventory.MaxAmount 40005}
Actor INFTIDAssign : Inventory {Inventory.MaxAmount 1}
Actor INFIsZombieman : Inventory {Inventory.MaxAmount 1}
Actor INFIsShotgunner : INFIsZombieman {}
Actor INFIsChaingunner : INFIsZombieman {}
Actor INFIsImp : INFIsZombieman {}
Actor INFIsDemon : INFIsZombieman {}
Actor INFIsSpectre : INFIsZombieman {}
Actor INFIsSoul : INFIsZombieman {}
Actor INFIsCaco : INFIsZombieman {}
Actor INFIsElemental : INFIsZombieman {}
Actor INFIsSpider : INFIsZombieman {}
Actor INFIsFatso : INFIsZombieman {}
Actor INFIsBoner : INFIsZombieman {}
Actor INFIsKnight : INFIsZombieman {}
Actor INFIsBaron : INFIsZombieman {}
Actor INFIsVile : INFIsZombieman {}
Actor INFIsMastermind : INFIsZombieman {}
Actor INFIsCyberdemon : INFIsZombieman {}
Actor INFIsNazi : INFIsZombieman {}

Actor DiceOfResetToken : Inventory {Inventory.MaxAmount 1}

//A majority of the actors here is used by acs... please do not replace

ACTOR DiceOfReset : CustomInventory
{ //Scripted (Item won't be given on map start as well as broken drops from monsters)
//Creator: Fluffy
//Origin: Nexus Infinity
//Sprite: DICX
//Title: "Dice Of Reset"
+NOTIMEFREEZE
+FLOATBOB
+COUNTITEM
+BRIGHT
+FORCEXYBILLBOARD
+DONTGIB
+INVENTORY.BIGPOWERUP
+INVENTORY.FANCYPICKUPSOUND
+INVENTORY.INVBAR
+INVENTORY.HUBPOWER
Inventory.Amount 1
Inventory.MaxAmount 5
Inventory.InterHubAmount 5
Inventory.Icon "DIC2A0"
Inventory.PickupSound "powerup/dice"
Inventory.UseSound "powerup/dice/use"
Inventory.PickupMessage "You got a Dice Of Reset"
Tag "Dice Of Reset - Rerolls monsters, useful if you're trying to beat a hard monster"
Scale 0.04
States
{
  Spawn:
    TNT1 A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult("DOROnOff") == 1,"Remove")
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NexusNoFloat") == 0,2)
	TNT1 A 0 A_ChangeFlag(FLOATBOB,0)
  Looping:
    DIC1 BBCCDDEEFFGGHHIIJJKKLLMM 2 A_SpawnItemEx("CommanderAntiMatterTrail2",0,0,10,Frandom(-2.5,2.5),Frandom(-2.5,2.5),Frandom(-2.5,2.5),0,0,128)
	Loop
  Use:
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("DiceOfResetActiveCheck") == 2,"Nope")
	TNT1 A 0 A_GiveInventory("DiceOfResetToken",1)
	TNT1 A 0 ACS_NamedExecuteAlways("DiceThrowMessage",0)
    TNT1 A 1 A_SpawnItemEx("DiceThrown",0,0,32,random(9,11),0,random(0,2),0,SXF_NOCHECKPOSITION,0,ACS_NamedExecuteWithResult("DiceMode"))
	Stop
  Nope:
    TNT1 A 1 ACS_NamedExecuteAlways("DiceFailMessage",0)
	Fail
  Remove:
    TNT1 A 1 A_SpawnItem("CFCommonBerserkSpawner")
	Stop
	}
}

Actor DiceOfResetSpawnEffect : NemesisFragmentPortal
{
Scale 1
Alpha 1
Scale 0.7
+NOTIMEFREEZE
States
{
  Spawn:
	TNT1 A 0 NoDelay A_PlaySound("tsi/teleportself2")
	TNT1 A 0 A_SpawnItemEx("TSIFLare",0,0,0)
	TNT1 AAAAAAA 0 A_SpawnItemEx("TSISerpExpParticle",Random(-2,2),Random(-2,2),Random(5,10),Random(-1,1),Random(-1,1),Random(-1,1),Random(-360,360),0,32)
	TNT1 A 1
	Stop
	}
}

ACTOR DiceThrown
{
Radius 10
Height 10
Speed 10
Damage 0
PROJECTILE
-NOGRAVITY
+NODROPOFF
-SOLID
+CANBOUNCEWATER
+EXPLODEONWATER
+FLOORCLIP
+NOTIMEFREEZE
-BLOODLESSIMPACT
+FORCEXYBILLBOARD
Scale 0.04
BounceType Hexen
BounceCount 6
BounceFactor 0.6
BounceSound "powerup/dice/bounce"
States
{
 Spawn:
	TNT1 A 0
	DIC1 I 0 A_Jump(256,1,2,3,4,5,6,7,8,9,10,11,12)
	DIC1 NOPQRSTUVWXY 2 Bright
	Goto Spawn+1
 Death:
	TNT1 A 0 ACS_NamedExecuteAlways("DiceActive",0,tid)
	DIC1 "Z" 200 Bright
	DIC1 "Z" 1 A_FadeOut(0.01)
	Wait
    }
}

Actor INFZombieTagGiver
{
Radius 2
Height 2
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFzombieTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFShotgunnerTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFShotgunnerTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFChaingunnerTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFChaingunnerTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFImpTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFImpTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFDemonTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFDemonTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFSpectreTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFSpectreTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFSoulTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFSoulTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFCacoTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFCacoTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFElementalTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFElementalTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFSpiderTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 0 A_RadiusGive("INFMonTID",35,RGF_MONSTERS,tid)
	TNT1 A 1 A_RadiusGive("INFSpiderTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFFatsoTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 0 A_RadiusGive("INFMonTID",35,RGF_MONSTERS,tid)
	TNT1 A 1 A_RadiusGive("INFFatsoTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFBonerTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFBonerTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFKnightTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFKnightTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFBaronTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 0 A_RadiusGive("INFMonTID",35,RGF_MONSTERS,tid)
	TNT1 A 1 A_RadiusGive("INFBaronTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFVileTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFVileTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFMastermindTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 0 A_RadiusGive("INFMonTID",100,RGF_MONSTERS,tid)
	TNT1 A 1 A_RadiusGive("INFMastermindTag",100,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFCyberdemonTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 0 A_RadiusGive("INFMonTID",100,RGF_MONSTERS,tid)
	TNT1 A 1 A_RadiusGive("INFCyberdemonTag",100,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFNaziTagGiver : INFzombieTagGiver
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 6
	TNT1 A 1 A_RadiusGive("INFNaziTag",35,RGF_MONSTERS,2)
	TNT1 A 0
	Stop
	}
}

Actor INFZombieTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsZombieman",1)
	Stop
  }
}

Actor INFShotgunnerTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsShotgunner",1)
	Stop
  }
}

Actor INFChaingunnerTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsChaingunner",1)
	Stop
  }
}

Actor INFImpTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsImp",1)
	Stop
  }
}

Actor INFDemonTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsDemon",1)
	Stop
  }
}

Actor INFSpectreTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsSpectre",1)
	Stop
  }
}

Actor INFSoulTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsSoul",1)
	Stop
  }
}

Actor INFCacoTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsCaco",1)
	Stop
  }
}

Actor INFElementalTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsElemental",1)
	Stop
  }
}

Actor INFSpiderTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 ACS_NamedExecuteAlways("INFMonsterSetup",0,1)
	Stop
  }
}

Actor INFFatsoTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 ACS_NamedExecuteAlways("INFMonsterSetup",0,2)
	Stop
  }
}

Actor INFBonerTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsBoner",1)
	Stop
  }
}

Actor INFKnightTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsKnight",1)
	Stop
  }
}

Actor INFBaronTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 ACS_NamedExecuteAlways("INFMonsterSetup",0,3)
	Stop
  }
}

Actor INFVileTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsVile",1)
	Stop
  }
}

Actor INFMastermindTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 ACS_NamedExecuteAlways("INFMonsterSetup",0,4)
	Stop
  }
}

Actor INFCyberdemonTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 ACS_NamedExecuteAlways("INFMonsterSetup",0,5)
	Stop
  }
}

Actor INFNaziTag : CrusaderBuff
{
  States
  {
  Pickup:
	TNT1 A 1
	TNT1 A 0 A_GiveInventory("INFIsNazi",1)
	Stop
  }
}

ACTOR DiceOfResetGiverApex
{
+NOGRAVITY
States 
{
  Spawn:  
	TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectApex",16383,RGF_MONSTERS|RGF_NOSIGHT)
	TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	stop
	}
}

Actor INFDormantGiverACS : DiceOfResetGiverApex
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_RadiusGive("INFDormantEffectACS",16383,RGF_MONSTERS|RGF_NOSIGHT)
	Stop
	}
}

ACTOR DiceOfResetGiverInfinity : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectInfinity",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverAgony : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectAgony",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverTrueCF : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectTrueCF",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverPandorasBox : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectPandorasBox",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverTrueInfinity : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectTrueInfinity",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverRoaster : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectRoaster",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverWTF : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectWTF",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverSpecOps : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectSpecOps",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverSpooky : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectSpooky",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}


ACTOR DiceOfResetGiverNazi : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectNazi",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverMarine : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectMarine",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverHallo : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0
	 TNT1 A 0 ACS_NamedExecuteAlways("SpookyDice",0)
	 TNT1 A 10 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverHallo2 : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0
	 TNT1 A 0 A_RadiusGive("HalloweenEffectGiver2",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 TNT1 A 1
	 stop
	}
}

ACTOR DiceOfResetGiverExplosions : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetEffectExplosions",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverGlitch : DiceOfResetGiverApex
{
States 
{
	Spawn:  
	 TNT1 A 0 NoDelay A_RadiusGive("DiceOfResetGlitch",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetGiverPMC : DiceOfResetGiverApex
{
+NOCLIP
+NOINTERACTION
States 
{
	Spawn:  
	 TNT1 A 0
	 TNT1 A 175 ACS_NamedExecuteAlways("InfinityMusic",0,9999,4502)
	 TNT1 A 105 A_Quake(3,620,0,4000,"worlds/quake")
	 TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,6767,4503)
	 TNT1 A 0 A_RadiusGive("DiceOfResetPMC",16383,RGF_MONSTERS|RGF_NOSIGHT)
	 TNT1 A 7800 A_RadiusGive("DiceOfResetPMCPlayer",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 TNT1 A 1 //A_RadiusGive("DiceOfResetRemoveToken",16383,RGF_PLAYERS|RGF_NOSIGHT)
	 stop
	}
}

ACTOR DiceOfResetRemoveToken : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_TakeInventory("DiceOfResetToken",1)
			stop
	}
}

ACTOR INFDormantEffectACS : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 ACS_NamedExecuteAlways("INFThingActivate",0)
			stop
	}
}

ACTOR DiceOfResetEffectApex : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0)
			stop
	}
}

ACTOR DiceOfResetEffectInfinity : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,1)
			stop
	}
}

ACTOR DiceOfResetEffectAgony : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,2)
			stop
	}
}

ACTOR DiceOfResetEffectTrueCF : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,3)
			stop
	}
}

ACTOR DiceOfResetEffectPandorasBox : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,4)
			stop
	}
}

ACTOR DiceOfResetEffectTrueInfinity : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,5)
			stop
	}
}

ACTOR DiceOfResetEffectRoaster : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_Jump(210,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,6)
			stop
	}
}

ACTOR DiceOfResetEffectWTF : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_Jump(200,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,7)
			stop
	}
}

ACTOR DiceOfResetEffectSpecOps : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_Jump(128,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,8)
			stop
	}
}

ACTOR DiceOfResetEffectSpooky : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_Jump(230,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,9)
			stop
	}
}

ACTOR DiceOfResetEffectNazi : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_Jump(128,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,10)
			stop
	}
}

ACTOR DiceOfResetEffectMarine : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_Jump(190,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,11,1000)
			stop
	}
}

ACTOR DiceOfResetEffectExplosions : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_Jump(150,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfResetExplode",0,Random(150,500))
			stop
	}
}

ACTOR DiceOfResetGlitch : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
		    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("INFIsBoss") == TRUE,2)
			TNT1 A 0 A_Jump(128,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfResetGlitch",0,Random(1,4))
			stop
	}
}

ACTOR DiceOfResetPMC : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("INFIsBoss") == TRUE,2)
			TNT1 A 0 A_Jump(128,"NULL")
			TNT1 A 0 ACS_NamedExecuteAlways("DiceOfReset",0,12,630)
			stop
	}
}

ACTOR DiceOfResetPMCPlayer : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 ACS_NamedExecuteAlways("PMCText",0)
			stop
	}
}

ACTOR NoDamagePower : PowerupGiver
{
Inventory.MaxAmount 1
Powerup.Duration 0x7FFFFFFF
Powerup.Type "PowerNoDamage"
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
}

ACTOR PowerNoDamage : PowerDamage { DamageFactor "Normal", 0.0 }

ACTOR DiceOfResetGlitchFriendly : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_ChangeFlag(THRUSPECIES,1)
			stop
	}
}

ACTOR DiceOfResetGlitchBoss : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_ChangeFlag(NOTIMEFREEZE,1)
			TNT1 A 0 A_ChangeFlag(NOFEAR,1)
			TNT1 A 0 A_ChangeFlag(NOICEDEATH,1)
			TNT1 A 0 A_ChangeFlag(REFLECTIVE,1)
			TNT1 A 0 A_ChangeFlag(QUICKTORETALIATE,1)
			TNT1 A 0 A_ChangeFlag(LOOKALLAROUND,1)
			TNT1 A 0 A_ChangeFlag(BOSS,1)
			stop
	}
}

ACTOR DiceOfResetGlitchNoclip : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_ChangeFlag(NOCLIP,1)
			stop
	}
}

ACTOR DiceOfResetGlitchFloat : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_ChangeFlag(FLOAT,1)
			TNT1 A 0 A_ChangeFlag(NOGRAVITY,1)
			stop
	}
}

ACTOR DiceOfResetGlitchNoFloat : Crusaderbuff
{
	States 
	{
		Pickup:
		    TNT1 A 1
			TNT1 A 0 A_ChangeFlag(FLOAT,0)
			TNT1 A 0 A_ChangeFlag(NOGRAVITY,0)
			stop
	}
}

ACTOR DiceOfResetRemoveChildren : Crusaderbuff
{
	States 
	{
		Pickup:
			TNT1 A 0
			TNT1 A 0 A_KillChildren
			TNT1 A 0 A_ChangeFlag(COUNTKILL,FALSE)
			TNT1 A 1
			stop
	}
}