enum {
	PAINBLEND_RED,
	PAINBLEND_GREEN,
	PAINBLEND_DARKSLATEGRAY,
	PAINBLEND_MIDNIGHTBLUE,
	PAINBLEND_DARKSLATEBLUE,
	PAINBLEND_ORANGE,
	PAINBLEND_LIGHTGREEN,
	PAINBLEND_DARKGOLDENROD,
	PAINBLEND_LIGHTBLUE,
	PAINBLEND_LIGHTSLATEBLUE,
	PAINBLEND_MEDIUMPURPLE,
	PAINBLEND_BLUE,
	PAINBLEND_GRAY
};

Actor DnD_Player : PlayerPawn {
	Speed 1
	Health 100
	Radius 16
	Height 56
	Mass 100
	PainChance 255
	Species "Player"
	
	Player.DamageScreenColor "Black", 0
	Player.ColorRange 112, 127
	Player.DisplayName "DnDPlayer"
	
	Player.StartItem "DnD_PlayerInventoryPages", 1
	Player.StartItem "DnD_PlayerCurrentPage", 1
	Player.StartItem "HPNormal"
	Player.StartItem "Menu_Setup"
	Player.StartItem "Accessory_0"
	
	Player.StartItem "StartOnly"
	Player.StartItem "NoRewardsGiven"
	Player.StartItem "SetMyLives"
	Player.StartItem "DnD_CountdownProtection"
	
	Player.StartItem "SpecialAmmoMode_4", 4 // AMMO_BULLET constant from specialweapons.txt
	Player.StartITem "SpecialAmmoMode_5X", 5 // AMMO_GRENADE constant from specialweapons.txt
	Player.StartItem "SpecialAmmoMode_6", 4
	
	Player.StartItem "Clip", 50
	
	Player.StartItem "MGClip", 50
	Player.StartItem "MGClip2", 60
	Player.StartItem "MGClip3", 75
	Player.StartItem "MGClip4", 40
	Player.StartItem "MGClip5", 31
	Player.StartItem "MGClip6", 40
	Player.StartItem "MGClip7", 75
	Player.StartItem "AcidClip", 32
	
	Player.StartItem "AkimboClipLeft", 12
	Player.StartItem "AkimboClipRight", 12
	Player.StartItem "RiotgunClip", 8
	Player.StartItem "BulletSize_6", 6
	Player.StartItem "PCanClip", 5
	Player.StartItem "FuelClip", 75
	
	Player.StartItem "ShellSize_2", 2
	Player.StartItem "ShellSize_8", 8
	Player.StartItem "ShellSize_8N", 8
	Player.StartItem "ShellSize_10", 10
	Player.StartItem "ShellSize_12", 12
	Player.StartItem "ShellSize_16", 16
	Player.StartItem "ShellSize_18", 18
	
	+NOSKIN
	+QUICKTORETALIATE
	+NODAMAGETHRUST
	+NOICEDEATH
	-FLOORCLIP // no view sink on liquid floors
	+THRUSPECIES
	+USEDAMAGEEVENTSCRIPT

	States {
		/*
			SPAWN STATES
		*/
		
		
		Spawn:
			// this delay is needed so the proper class can be setup from clientside => serverside after a selection is made
			TNT1 A 5
			TNT1 A 30 A_JumpIfInventory("DnD_Character", 1, 1)
		SpawnDelaySkip:
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 7, "Spawn_Berserker")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 6, "Spawn_Cyborg")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 5, "Spawn_Wanderer")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 4, "Spawn_Punisher")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 3, "Spawn_Hobo")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 2, "Spawn_Marine")
		Spawn_Doomguy:
			DPLY A -1 A_JumpIfInventory("P_StepTaken", 1, 1)
			DPLY C -1
		Spawn_Marine:
			PLAY A -1 A_JumpIfInventory("P_StepTaken", 1, 1)
			PLAY C -1
		Spawn_Hobo:
			PREN A -1 A_JumpIfInventory("P_StepTaken", 1, 1)
			PREN C -1
		Spawn_Punisher:
			BLAZ A -1 A_JumpIfInventory("P_StepTaken", 1, 1)
			BLAZ A -1
		Spawn_Wanderer:
			MNK1 A -1 A_JumpIfInventory("P_StepTaken", 1, 1)
			MNK1 C -1
		Spawn_Cyborg:
			PLY6 A -1 A_JumpIfInventory("P_StepTaken", 1, 1)
			PLY6 C -1
		Spawn_Berserker:
			BERP A -1 A_JumpIfInventory("P_StepTaken", 1, 1)
			BERP C -1
		Goto SpawnDelaySkip
		
		
		/*
			SEE STATES
		*/
		

		See:
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 7, "See_Berserker")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 6, "See_Cyborg")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 5, "See_Wanderer")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 4, "See_Punisher")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 3, "See_Hobo")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 2, "See_Marine")
		See_Doomguy:
			DPLY A 0 A_JumpIfInventory("P_StepTaken", 1, "See2")
			DPLY A 5
			DPLY B 5 A_GiveInventory("P_StepTaken", 1)
		Goto Spawn_Doomguy
		See2:
			DPLY C 5
			DPLY D 5 A_TakeInventory("P_StepTaken", 1)
		Goto Spawn_Doomguy
		
		See_Marine:
			PLAY A 0 A_JumpIfInventory("P_StepTaken", 1, "See2_Marine")
			PLAY A 5
			PLAY B 5 A_GiveInventory("P_StepTaken", 1)
		Goto Spawn_Marine
		See2_Marine:
			PLAY C 5
			PLAY D 5 A_TakeInventory("P_StepTaken", 1)
		Goto Spawn_Marine
		
		See_Hobo:
			PREN A 0 A_JumpIfInventory("P_StepTaken", 1, "See2_Hobo")
			PREN A 5
			PREN B 5 A_GiveInventory("P_StepTaken", 1)
		Goto Spawn_Hobo
		See2_Hobo:
			PREN C 5
			PREN D 5 A_TakeInventory("P_StepTaken", 1)
		Goto Spawn_Hobo
		
		See_Punisher:
			BLAZ A 0 A_JumpIfInventory("P_StepTaken", 1, "See2_Punisher")
			BLAZ A 5
			BLAZ B 5 A_GiveInventory("P_StepTaken", 1)
		Goto Spawn_Punisher
		See2_Punisher:
			BLAZ C 5
			BLAZ D 5 A_TakeInventory("P_StepTaken", 1)
		Goto Spawn_Punisher
		
		See_Wanderer:
			MNK1 A 0 A_JumpIfInventory("P_StepTaken", 1, "See2_Wanderer")
			MNK1 A 5
			MNK1 B 5 A_GiveInventory("P_StepTaken", 1)
		Goto Spawn_Wanderer
		See2_Wanderer:
			MNK1 C 5
			MNK1 D 5 A_TakeInventory("P_StepTaken", 1)
		Goto Spawn_Wanderer
		
		See_Cyborg:
			PLY6 A 0 A_JumpIfInventory("P_StepTaken", 1, "See2_Cyborg")
			PLY6 A 5
			PLY6 B 5 A_GiveInventory("P_StepTaken", 1)
		Goto Spawn_Cyborg
		See2_Cyborg:
			PLY6 C 5
			PLY6 D 5 A_TakeInventory("P_StepTaken", 1)
		Goto Spawn_Cyborg
		
		See_Berserker:
			BERP A 0 A_JumpIfInventory("P_StepTaken", 1, "See2_Berserker")
			BERP A 5
			BERP B 5 A_GiveInventory("P_StepTaken", 1)
		Goto Spawn_Berserker
		See2_Berserker:
			BERP C 5
			BERP D 5 A_TakeInventory("P_StepTaken", 1)
		Goto Spawn_Berserker
		
		
		/*
			MISSILE STATE
		*/
		
		
		Missile:
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 7, "Missile_Berserker")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 6, "Missile_Cyborg")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 5, "Missile_Wanderer")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 4, "Missile_Punisher")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 3, "Missile_Hobo")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 2, "Missile_Marine")
		Missile_Doomguy:
			DPLY E 12 
		Goto Spawn_Doomguy
		
		Missile_Marine:
			PLAY E 12 
		Goto Spawn_Marine

		Missile_Hobo:
			PREN E 12 
		Goto Spawn_Hobo

		Missile_Punisher:
			BLAZ E 12 
		Goto Spawn_Punisher

		Missile_Wanderer:
			MNK1 E 12 
		Goto Spawn_Wanderer
		
		Missile_Cyborg:
			PLY6 E 12 
		Goto Spawn_Cyborg
		
		Missile_Berserker:
			BERP E 12 
		Goto Spawn_Berserker
		
		
		/*
			MELEE STATE
		*/
		
		
		Melee:
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 7, "Melee_Berserker")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 6, "Melee_Cyborg")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 5, "Melee_Wanderer")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 4, "Melee_Punisher")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 3, "Melee_Hobo")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 2, "Melee_Marine")
		
			TNT1 A 0 A_JumpIfInventory("P_Grayfire", 1, "GrayFire")
			TNT1 A 0 A_JumpIfInventory("P_PurpleFire", 1, "PurpleFire")
			TNT1 A 0 A_JumpIfInventory("P_RedFire", 1, "RedFire")
			TNT1 A 0 A_JumpIfInventory("P_GreenFire", 1, "GreenFire")
			TNT1 A 0 A_JumpIfInventory("P_PlasmaFire", 1, "PlasmaFire")
			DPLY F 6 BRIGHT
		Goto Missile_Doomguy
		PlasmaFire:
			DPLP A 6 Bright
		Goto Missile_Doomguy
		GreenFire:
			DPLP B 6 Bright
		Goto Missile_Doomguy
		RedFire:
			DPLP C 6 Bright
		Goto Missile_Doomguy
		PurpleFire:
			DPLP D 6 Bright
		Goto Missile_Doomguy
		GrayFire:
			DPLP E 6 Bright
		Goto Missile_Doomguy
		
		Melee_Marine:
			TNT1 A 0 A_JumpIfInventory("P_Grayfire", 1, "GrayFire_Marine")
			TNT1 A 0 A_JumpIfInventory("P_PurpleFire", 1, "PurpleFire_Marine")
			TNT1 A 0 A_JumpIfInventory("P_RedFire", 1, "RedFire_Marine")
			TNT1 A 0 A_JumpIfInventory("P_GreenFire", 1, "GreenFire_Marine")
			TNT1 A 0 A_JumpIfInventory("P_PlasmaFire", 1, "PlasmaFire_Marine")
			PLAY F 6 BRIGHT
		Goto Missile_Marine
		PlasmaFire_Marine:
			PLYP A 6 Bright
		Goto Missile_Marine
		GreenFire_Marine:
			PLYP B 6 Bright
		Goto Missile_Marine
		RedFire_Marine:
			PLYP C 6 Bright
		Goto Missile_Marine
		PurpleFire_Marine:
			PLYP D 6 Bright
		Goto Missile_Marine
		GrayFire_Marine:
			PLYP E 6 Bright
		Goto Missile_Marine
		
		Melee_Hobo:
			TNT1 A 0 A_JumpIfInventory("P_Grayfire", 1, "GrayFire_Hobo")
			TNT1 A 0 A_JumpIfInventory("P_PurpleFire", 1, "PurpleFire_Hobo")
			TNT1 A 0 A_JumpIfInventory("P_RedFire", 1, "RedFire_Hobo")
			TNT1 A 0 A_JumpIfInventory("P_GreenFire", 1, "GreenFire_Hobo")
			TNT1 A 0 A_JumpIfInventory("P_PlasmaFire", 1, "PlasmaFire_Hobo")
			PREN F 6 BRIGHT
		Goto Missile_Hobo
		PlasmaFire_Hobo:
			PRNP A 6 Bright
		Goto Missile_Hobo
		GreenFire_Hobo:
			PRNP B 6 Bright
		Goto Missile_Hobo
		RedFire_Hobo:
			PRNP C 6 Bright
		Goto Missile_Hobo
		PurpleFire_Hobo:
			PRNP D 6 Bright
		Goto Missile_Hobo
		GrayFire_Hobo:
			PRNP E 6 Bright
		Goto Missile_Hobo
		
		Melee_Punisher:
			TNT1 A 0 A_JumpIfInventory("P_Grayfire", 1, "GrayFire_Punisher")
			TNT1 A 0 A_JumpIfInventory("P_PurpleFire", 1, "PurpleFire_Punisher")
			TNT1 A 0 A_JumpIfInventory("P_RedFire", 1, "RedFire_Punisher")
			TNT1 A 0 A_JumpIfInventory("P_GreenFire", 1, "GreenFire_Punisher")
			TNT1 A 0 A_JumpIfInventory("P_PlasmaFire", 1, "PlasmaFire_Punisher")
			BLAZ F 6 BRIGHT
		Goto Missile_Punisher
		PlasmaFire_Punisher:
			PPUN A 6 Bright
		Goto Missile_Punisher
		GreenFire_Punisher:
			PPUN B 6 Bright
		Goto Missile_Punisher
		RedFire_Punisher:
			PPUN C 6 Bright
		Goto Missile_Punisher
		PurpleFire_Punisher:
			PPUN D 6 Bright
		Goto Missile_Punisher
		GrayFire_Punisher:
			PPUN E 6 Bright
		Goto Missile_Punisher
		
		Melee_Wanderer:
			TNT1 A 0 A_JumpIfInventory("P_Grayfire", 1, "GrayFire_Wanderer")
			TNT1 A 0 A_JumpIfInventory("P_PurpleFire", 1, "PurpleFire_Wanderer")
			TNT1 A 0 A_JumpIfInventory("P_RedFire", 1, "RedFire_Wanderer")
			TNT1 A 0 A_JumpIfInventory("P_GreenFire", 1, "GreenFire_Wanderer")
			TNT1 A 0 A_JumpIfInventory("P_PlasmaFire", 1, "PlasmaFire_Wanderer")
			MNK1 F 6 BRIGHT
		Goto Missile_Wanderer
		PlasmaFire_Wanderer:
			MNKP A 6 Bright
		Goto Missile_Wanderer
		GreenFire_Wanderer:
			MNKP B 6 Bright
		Goto Missile_Wanderer
		RedFire_Wanderer:
			MNKP C 6 Bright
		Goto Missile_Wanderer
		PurpleFire_Wanderer:
			MNKP D 6 Bright
		Goto Missile_Wanderer
		GrayFire_Wanderer:
			MNKP E 6 Bright
		Goto Missile_Wanderer
		
		Melee_Cyborg:
			TNT1 A 0 A_JumpIfInventory("P_Grayfire", 1, "GrayFire_Cyborg")
			TNT1 A 0 A_JumpIfInventory("P_PurpleFire", 1, "PurpleFire_Cyborg")
			TNT1 A 0 A_JumpIfInventory("P_RedFire", 1, "RedFire_Cyborg")
			TNT1 A 0 A_JumpIfInventory("P_GreenFire", 1, "GreenFire_Cyborg")
			TNT1 A 0 A_JumpIfInventory("P_PlasmaFire", 1, "PlasmaFire_Cyborg")
			PLY6 F 6 BRIGHT
		Goto Missile_Cyborg
		PlasmaFire_Cyborg:
			PLZ6 A 6 Bright
		Goto Missile_Cyborg
		GreenFire_Cyborg:
			PLZ6 B 6 Bright
		Goto Missile_Cyborg
		RedFire_Cyborg:
			PLZ6 C 6 Bright
		Goto Missile_Cyborg
		PurpleFire_Cyborg:
			PLZ6 D 6 Bright
		Goto Missile_Cyborg
		GrayFire_Cyborg:
			PLZ6 E 6 Bright
		Goto Missile_Cyborg
		
		Melee_Berserker:
			BERP F 6 BRIGHT
		Goto Missile_Berserker
		
		
		/*
			PAIN STATE
		*/
		
		
		PainAnim:
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 7, "PainAnim_Berserker")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 6, "PainAnim_Cyborg")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 5, "PainAnim_Wanderer")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 4, "PainAnim_Punisher")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 3, "PainAnim_Hobo")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 2, "PainAnim_Marine")
			DPLY G 4
			DPLY G 4 ACS_NamedExecuteAlways("DnD Player Pain Sound")
		Goto Spawn_Doomguy

		PainAnim_Marine:
			PLAY G 4 
			PLAY G 4 ACS_NamedExecuteAlways("DnD Player Pain Sound")
		Goto Spawn_Marine
		
		PainAnim_Hobo:
			PREN G 4 
			PREN G 4 ACS_NamedExecuteAlways("DnD Player Pain Sound")
		Goto Spawn_Hobo
		
		PainAnim_Punisher:
			BLAZ G 4 
			BLAZ G 4 ACS_NamedExecuteAlways("DnD Player Pain Sound")
		Goto Spawn_Punisher
		
		PainAnim_Wanderer:
			MNK1 G 4 
			MNK1 G 4 ACS_NamedExecuteAlways("DnD Player Pain Sound")
		Goto Spawn_Wanderer
		
		PainAnim_Cyborg:
			PLY6 G 4 
			PLY6 G 4 ACS_NamedExecuteAlways("DnD Player Pain Sound")
		Goto Spawn_Cyborg
		
		PainAnim_Berserker:
			BERP G 4 
			BERP G 4 ACS_NamedExecuteAlways("DnD Player Pain Sound")
		Goto Spawn_Berserker
		
		
		/*
			DEATH STATE
		*/
		
		
		DeathAnim:
			TNT1 A 0 A_StopSound(7)
			TNT1 A 0 ACS_ExecuteAlways(920, 0, 1)
		
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 7, "DeathAnim_Berserker")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 6, "DeathAnim_Cyborg")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 5, "DeathAnim_Wanderer")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 4, "DeathAnim_Punisher")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 3, "DeathAnim_Hobo")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 2, "DeathAnim_Marine")
			
			DPLY H 10
			DPLY I 10 ACS_NamedExecuteAlways("DnD Player Death Sound")
			DPLY J 10 A_NoBlocking
			DPLY K 10
			DPLY L -1
		Stop
		
		DeathAnim_Marine:
			PLAY H 10
			PLAY I 10 ACS_NamedExecuteAlways("DnD Player Death Sound")
			PLAY J 10 A_NoBlocking
			PLAY KLM 10
			PLAY N -1
		Stop
		
		DeathAnim_Hobo:
			PREN H 10
			PREN I 10 ACS_NamedExecuteAlways("DnD Player Death Sound")
			PREN J 10 A_NoBlocking
			PREN KLM 10
			PREN N -1
		Stop
		
		DeathAnim_Punisher:
			BLAZ H 10
			BLAZ I 10 ACS_NamedExecuteAlways("DnD Player Death Sound")
			BLAZ J 10 A_NoBlocking
			BLAZ K 10
			BLAZ L -1
		Stop
		
		DeathAnim_Wanderer:
			MNK1 H 5
			MNK1 I 5 ACS_NamedExecuteAlways("DnD Player Death Sound")
			MNK1 J 5 A_NoBlocking
			MNK1 KLM 5
			MNK1 N -1
		Stop
		
		DeathAnim_Cyborg:
			PLY6 H 10
			PLY6 I 10 ACS_NamedExecuteAlways("DnD Player Death Sound")
			PLY6 J 10 A_NoBlocking
			PLY6 KLM 10
			PLY6 N -1
		Stop
		
		DeathAnim_Berserker:
			BERP H 8
			BERP I 8 ACS_NamedExecuteAlways("DnD Player Death Sound")
			BERP J 8 A_NoBlocking
			BERP KLM 8
			BERP N -1
		Stop
		
		
		/*
			XDEATH STATE
		*/
		
		
		XdeathAnim:
			TNT1 A 0 A_StopSound(7)
			TNT1 A 0 ACS_ExecuteAlways(920, 0, 1)
			TNT1 A 0 A_SpawnDebris("NashGore_Gib9",0)
			TNT1 A 0 A_SpawnDebris("NashGore_Gib10",0)
			TNT1 A 0 A_SpawnDebris("NashGore_Gib11",0)
			TNT1 A 0 A_SpawnDebris("NashGore_Gib11",0)
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)	
			
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 7, "XDeathAnim_Berserker")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 6, "XDeathAnim_Cyborg")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 5, "XDeathAnim_Wanderer")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 4, "XDeathAnim_Punisher")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 3, "XDeathAnim_Hobo")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 2, "XDeathAnim_Marine")
  
			DPLY O 5
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			DPLY P 5 ACS_NamedExecuteAlways("DnD Player Death Sound", 0, 1)
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			DPLY Q 5 A_NoBlocking
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			DPLY RSTUV 5
			DPLY W -1
		Stop
		
		XDeathAnim_Marine:
			PLAY O 5
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PLAY P 5 ACS_NamedExecuteAlways("DnD Player Death Sound", 0, 1)
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PLAY Q 5 A_NoBlocking
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PLAY RSTUV 5
			PLAY W -1
		Stop
		
		XDeathAnim_Hobo:
			PREN O 5
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PREN P 5 ACS_NamedExecuteAlways("DnD Player Death Sound", 0, 1)
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PREN Q 5 A_NoBlocking
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PREN RSTU 5
			PREN V -1
		Stop
		
		XDeathAnim_Punisher:  
			BLAZ O 5
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			BLAZ P 5 ACS_NamedExecuteAlways("DnD Player Death Sound", 0, 1)
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			BLAZ Q 5 A_NoBlocking
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			BLAZ RSTUV 5
			BLAZ W -1
		Stop
		
		XDeathAnim_Wanderer:
			MNK1 H 5
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			MNK1 I 5 ACS_NamedExecuteAlways("DnD Player Death Sound", 0, 1)
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			MNK1 J 5 A_NoBlocking
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			MNK1 KLM 5
			MNK1 N -1
		Stop
		
		XDeathAnim_Cyborg: 
			PLY6 O 5
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PLY6 P 5 ACS_NamedExecuteAlways("DnD Player Death Sound", 0, 1)
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PLY6 Q 5 A_NoBlocking
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			PLY6 RSTUV 5
			PLY6 W -1
		Stop
		
		XDeathAnim_Berserker:
			BERP O 5
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			BERP P 5 ACS_NamedExecuteAlways("DnD Player Death Sound", 0, 1)
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			BERP Q 5 A_NoBlocking
			TNT1 A 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
			BERP RSTUV 5
			BERP W -1
		Stop
		
		/*
			GENERIC BURN STATE
		*/

		PlayerBurn:
			"####" "#" 0 A_StopSound(7)
			"####" "#" 0 ACS_ExecuteAlways(920, 0, 1)
			"####" "#" 3
			TNT1 A 0 A_Fall
			TNT1 A 0 A_Scream
			TNT1 A 0 A_Playsound("Burn/Death", 6)
			TNT1 A 0 A_SpawnItem("BurnDeath1",1)
			BLAN A -1
		Stop
		
		/*
			ICE DEATH STATE
		*/
		
	    IceDeath:
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_Stop
			TNT1 A 0 A_SetBlend("Blue", 0.66, 1)
			TNT1 A 0 A_PlaySound("misc/freeze")
			TNT1 A 1 A_GiveInventory("DnD_IceDeathMaker", 1)
			TNT1 A -1
		Stop
	
	
	
	    Pain:
		Pain.LightningRed:
		Pain.EnergyRed:
		Pain.MagicalRed:
		Pain.MagicalLightningRed:
			// unspecified / red (default) damage types
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_RED)
		PainCont:
			"####" "#" 0 A_GiveInventory("P_Damaged", 1)
			"####" "#" 0 A_GiveInventory("RegenStopper", 1)
			"####" "#" 0 A_GiveInventory("PendantEffect", 1)
			"####" "#" 0 A_Jump(256, "PainAnim")
			"####" "#" 35
		Wait

		// Damage blends
		Pain.PhysicalTornado:
			"####" "#" 0 ACS_NamedExecuteAlways("DND Dark Lich Warp Shake", 0)
		Goto PainCont
		Pain.MagicalVisionDimmer:
			"####" "#" 0 A_GiveInventory("DnD_Curse_VisionDim", 1)
		Goto PainCont
		Pain.MagicalArmorCorrupt:
			"####" "#" 0 A_GiveInventory("DnD_Curse_Paladin", 1)
		Goto PainCont
		Pain.PhysicalSlow:
			"####" "#" 0 A_GiveInventory("Stomp_Slower", 1)
		Goto PainCont
		
		
		// Ice category
		Pain.IceEryxia:
			"####" "#" 0 A_GiveInventory("EryxiaSlower", 1)
		Pain.Ice:
		Pain.MagicalIce:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_BLUE)
		Goto PainCont
		
		// Black Category
		Pain.MagicalDark:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_DARKSLATEGRAY)
		Goto PainCont
		
		// Dark Blue
		Pain.MagicalBlue:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_MIDNIGHTBLUE)
		Goto PainCont
		
		// Less dark blue
		Pain.FireBlue:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_DARKSLATEBLUE)
		Goto PainCont
		
		// Fire category
		Pain.Fire:
		Pain.MagicalOrange:
		Pain.ExplosiveFire:
		Pain.MagicalFire:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_ORANGE)
		Goto PainCont
		
		// Green Category
		Pain.MagicalGreen:
		Pain.ExplosiveGreen:
		Pain.FireGreen:
		Pain.EnergyGreen:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_LIGHTGREEN)
		Goto PainCont
		
		// Poison Category
		Pain.Poison:
		Pain.MagicalPoison:
		Pain.PoisonDOT:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_GREEN)
		Goto PainCont
		
		// Yellow Category
		Pain.EnergyYellow:
		Pain.LightningYellow:
		Pain.MagicalYellow:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_DARKGOLDENROD)
		Goto PainCont
		
		// Energy / Blue Category
		Pain.Energy:
		Pain.Lightning:
		Pain.ExplosiveLightning:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_LIGHTBLUE)
		Goto PainCont
		
		// Energy (Cyan) Category
		Pain.EnergyCyan:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_LIGHTSLATEBLUE)
		Goto PainCont
		
		// mostly black, sometimes purple
		// Void Category
		Pain.MagicalVoid:
		Pain.EnergyVoid:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_MEDIUMPURPLE)
		Goto PainCont
		Pain.MagicalRedLeash:
			"####" "#" 0 A_GiveInventory("FleshWizardSlow2", 1)
			"####" "#" 0 A_GiveInventory("FleshWizardWeaken", 1)
		Goto Pain
		Pain.MagicalSnare:
			"####" "#" 0 A_GiveInventory("DnD_Curse_Ensnare", 1)
		Goto Pain
		Pain.FireDreamer:
			"####" "#" 0 A_GiveInventory("DreamerBurnCount", random(1, 2))
		Goto Pain
		Pain.PhysicalSnare:
			"####" "#" 0 A_Stop
			"####" "#" 0 A_GiveInventory("TorrasqueSnare", 1)
		Goto Pain
		Pain.MagicalWeaken75:
			"####" "#" 0 A_GiveInventory("LegendaryWeaken", 1)
		Goto PainCont
		Pain.MagicalSlow50:
			"####" "#" 0 A_GiveInventory("LegendarySlow", 1)
		Goto PainCont
		Pain.Magical_SSrath:
			"####" "#" 0 A_GiveInventory("DnD_Curse_SSrath", 1)
		Goto PainCont
		
		
		// Arcane - Purple and pink hues
		Pain.MagicalGray:
			"####" "#" 0 ACS_NamedExecuteWithResult("DnD Hit Blend", PAINBLEND_GRAY)
		Goto PainCont
		
		// death colors
		Death:
			"####" "#" 0 A_SetBlend("Red", 0.5, 25)
			"####" "#" 0 A_Jump(256, "DeathAnim")
			"####" "#" 35
		Wait
		
		Death.MagicalVoid:
		Death.EnergyVoid:
			"####" "#" 0 A_SetBlend("MediumPurple1", 0.5, 25)
			"####" "#" 0 A_Jump(256, "DeathAnim")
			"####" "#" 35
		Wait
		
		Death.ExplosiveFire:
		Death.Fire:
		Death.MagicalOrange:
		Death.ExplosiveFire:
		Death.MagicalFire:
			"####" "#" 0 A_SetBlend("Orange", 0.5, 25)
		Goto DoBurn
		Death.FireBlue:
			"####" "#" 0 A_SetBlend("DarkSlateBlue", 0.5, 25)
		Goto DoBurn
		Death.FireGreen:
			"####" "#" 0 A_SetBlend("LightGreen", 0.5, 25)
		Goto DoBurn
		DoBurn:
			"####" "#" 0 A_Jump(256, "PlayerBurn")
			"####" "#" 35
		Wait
		
		XDeath:
		Death.Explosive:
		Death.Explosives:
		Death.ExplosiveGreen:
		Death.ExplosiveLightning:
			"####" "#" 0 A_SetBlend("Red", 0.5, 25)
			"####" "#" 0 A_Jump(256, "XdeathAnim")
			"####" "#" 35
		Wait
		
		Death.Ice:
		Death.IceEryxia:
		Death.MagicalIce:
			"####" "#" 0 A_SetBlend("Blue", 0.5, 25)
			"####" "#" 0 A_Jump(256, "IceDeath")
			"####" "#" 35
		Wait
	}
}

Actor PainBlend_Red : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("Red", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_Green : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("Green", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_MidnightBlue : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("MidnightBlue", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_DarkGoldenRod : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("DarkGoldenRod", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_DarkSlateGray : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("DarkSlateGray", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_DarkSlateBlue : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("DarkSlateBlue", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_Orange : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("Orange", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_LightGreen : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("LightGreen", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_LightBlue : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("LightBlue", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_LightSlateBlue : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("LightSlateBlue", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_MediumPurple : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("MediumPurple1", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_Blue : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("Blue", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor PainBlend_Gray : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SetBlend("Gray", ACS_NamedExecuteWithResult("DnD Get Pain Alpha") / 100.0, ACS_NamedExecuteWithResult("DnD Get Pain Tics"))
		Stop
	}
}

Actor DnD_PDead : DnD_Boolean { }

Actor TheDoomGuyFrozen {
	+CLIENTSIDEONLY
	Translation Ice
	States  {
		Spawn:
			DPLY G 35
			TNT1 A 0 A_Die("Ice")
			DPLY G 1 A_IceGuyDie
			DPLY G -1
		Stop
		Ice:
			DPLY G 5 A_GenericFreezeDeath
			DPLY G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor TheMarineFrozen {
	+CLIENTSIDEONLY
	Translation Ice
	States  {
		Spawn:
			PLAY G 35
			TNT1 A 0 A_Die("Ice")
			PLAY G 1 A_IceGuyDie
			PLAY G -1
		Stop
		Ice:
			PLAY G 5 A_GenericFreezeDeath
			PLAY G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor TheHoboFrozen {
	+CLIENTSIDEONLY
	Translation Ice
	States  {
		Spawn:
			PREN G 35
			TNT1 A 0 A_Die("Ice")
			PREN G 1 A_IceGuyDie
			PREN G -1
		Stop
		Ice:
			PREN G 5 A_GenericFreezeDeath
			PREN G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor ThePunisherFrozen {
	+CLIENTSIDEONLY
	Translation Ice
	States  {
		Spawn:
			BLAZ G 35
			TNT1 A 0 A_Die("Ice")
			BLAZ G 1 A_IceGuyDie
			BLAZ G -1
		Stop
		Ice:
			BLAZ G 5 A_GenericFreezeDeath
			BLAZ G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor TheWandererFrozen {
	+CLIENTSIDEONLY
	Translation Ice
	States  {
		Spawn:
			MNK1 G 35
			TNT1 A 0 A_Die("Ice")
			MNK1 G 1 A_IceGuyDie
			MNK1 G -1
		Stop
		Ice:
			MNK1 G 5 A_GenericFreezeDeath
			MNK1 G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor TheCyborgFrozen {
	+CLIENTSIDEONLY
	Translation Ice
	States  {
		Spawn:
			PLY6 G 35
			TNT1 A 0 A_Die("Ice")
			PLY6 G 1 A_IceGuyDie
			PLY6 G -1
		Stop
		Ice:
			PLY6 G 5 A_GenericFreezeDeath
			PLY6 G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor TheBerserkerFrozen {
	+CLIENTSIDEONLY
	Translation Ice
	States  {
		Spawn:
			BERP G 35
			TNT1 A 0 A_Die("Ice")
			BERP G 1 A_IceGuyDie
			BERP G -1
		Stop
		Ice:
			BERP G 5 A_GenericFreezeDeath
			BERP G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor ShockExplosionFX
{
	Scale 0.6
	Alpha 0.85
	Renderstyle Add
	+NOINTERACTION
	+CLIENTSIDEONLY
	
	States
	{
		Spawn:
			DPLX D 6 Bright
			DPLX E 2 Bright
			DPLX EFF 3 Bright A_Fadeout(0.1)
			DPLX GGGG 2 Bright A_Fadeout(0.1)
		Stop
	}
}

Actor ShockLighter
{
	+NOGRAVITY
	+NOINTERACTION
	-SOLID
	+NOBLOCKMAP
	Radius 0
	Height 0
	states
	{
		Spawn:
			TNT1 A 18
		Stop
	}
}

actor BFireTrail
{
  radius 13
  height 8
  RENDERSTYLE ADD
  Scale 0.3
  alpha 0.9
  Vspeed 2
  +NOBLOCKMAP
  +RANDOMIZE
  +NOGRAVITY
  +WINDTHRUST
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump(128, "Var2")
    TNT1 A 0 A_Jump(220,1,2,3,4,5,6,7)
    SFIR ABCDEFGH 4 bright
    stop
  Var2:
    TNT1 A 0 A_Jump(220,1,2,3,4,5,6,7)
    SFIR IJKLMNOP 4 bright  
    Stop
  }
}

actor NapalmDebris
{
  health 5
  radius 1
  height 1
  Speed 10
  Scale 0.2
  PROJECTILE
  +NOBLOCKMAP
  +DONTSPLASH
  +RANDOMIZE
  -NOGRAVITY
  -SOLID
  +WINDTHRUST
  //RENDERSTYLE ADD
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    FSPK A 0 bright A_Jump(192,3,4,6,8)
    FSPK A 10 bright
    FSPK A 200 bright A_LowGravity
    stop
    FSPK B 10 bright
    FSPK B 200 bright A_LowGravity
    stop
    FSPK C 10 bright
    FSPK C 200 bright A_LowGravity
    stop
    FSPK D 10 bright
    FSPK D 200 bright A_LowGravity
    stop
    FSPK E 10 bright
    FSPK E 200 bright A_LowGravity
    stop
  Death:
    FSPK A 1
    stop
  }
}

actor BurnDeathSmoke
{  
  radius 64
  height 16
  RENDERSTYLE Translucent
  ALPHA 0.30
  +NOBLOCKMAP
  +NOGRAVITY  
  +DONTSPLASH
  +FIXMAPTHINGPOS
  +CLIENTSIDEONLY
  -SOLID
  states
  {
  Spawn:
    LVAS KGHIJGHIJGHIJGHIJGHIJGHIJGHIJGHIJGHIJGHIJGHIJGHIJGHIJGHIJGHIJK 4
    Stop
  }
}

ACTOR BurnDeath1
{
    Radius 16
    Height 56
    Speed 4
    Scale 0.45
    +DONTSPLASH
    +FLOORCLIP
    +LOOKALLAROUND
    States
    {
    Spawn:
        FGUY AA 1 A_Look
		FGUY A 2 Bright A_Look
        goto See
    See:
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY AAA 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY BBB 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY CCC 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY DDD 1 Bright A_Wander
        FGUY A 0 
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY EEE 1 Bright A_Wander
        FGUY A 0
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY FFF 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY AAA 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY BBB 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY CCC 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY DDD 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY EEE 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY FFF 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY AAA 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY BBB 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY CCC 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY DDD 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY EEE 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY FFF 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY AAA 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY BBB 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY CCC 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY DDD 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY EEE 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY FFF 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY AAA 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY BBB 1 Bright A_Wander
        FGUY A 0 A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY CCC 1 Bright A_Wander
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY DDD 1 Bright A_Wander
        FGUY A 0 
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY EEE 1 Bright A_Wander
        FGUY A 0
		FGUY A 0 A_Jump(64,"See")
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
        FGUY FFF 1 Bright A_Wander
        FGUY A 0 A_SpawnItem ("BFireTrail",8+random(-5,5),58+random(-5,5),0,0)
		TNT1 A 0 A_Die
        Goto Death
    Death:
		FGUY G 0 A_StopSound
        FGUY G 3 Bright
        FGUY G 0 A_SpawnDebris("NashGore_FlyingBlood")
        FGUY G 0 A_SpawnDebris("NashGore_FlyingBlood")
        FGUY G 0 A_SpawnDebris("NashGore_FlyingBlood")
        FGUY G 0 A_SpawnDebris("NashGore_FlyingBlood")
        FGUY G 0 A_SpawnDebris("NashGore_FlyingBlood")
        FGUY G 0 A_SpawnDebris ("NapalmDebris")
        FGUY G 0 A_Fall
        FGUY GGHHII 3 Bright A_SpawnItem("BFireTrail",8+random(-5,5),20+random(-5,5))
        FGUY A 0 //A_LoopActiveSound
        FGUY A 0 Bright A_SpawnItem ("BurnDeathSmoke")
        FGUY JJKKLLMMNNOO 3  Bright A_SpawnItem ("BFireTrail",8+random(-5,5),20+random(-5,5))
        FGUY A 0 //A_LoopActiveSound 
        FGUY JJKKLLMMNNOO 3  Bright A_SpawnItem ("BFireTrail",8+random(-5,5),20+random(-5,5))
        FGUY A 0 //A_LoopActiveSound
        FGUY JJKKLLMMNNOO 3  Bright A_SpawnItem ("BFireTrail",8+random(-5,5),20+random(-5,5))
        FGUY O 0 //A_StopSound
        FGUY PPQQRRSS 3 Bright
        FGUT T -1
        Stop
    }
}

Actor P_Damaged : PowerDamage {
	damagefactor "normal", 1.0
	powerup.duration -3
}

Actor DnD_IceDeathMaker : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 7, "Berserker")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 6, "Cyborg")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 5, "Wanderer")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 4, "Punisher")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 3, "Hobo")
			TNT1 A 0 A_JumpIfInventory("DnD_Character", 2, "Marine")
			
			TNT1 A 0 A_SpawnItemEx("TheDoomGuyFrozen",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		Stop
		
		Marine:
			TNT1 A 0 A_SpawnItemEx("TheMarineFrozen",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		Stop
	
		Hobo:
			TNT1 A 0 A_SpawnItemEx("TheHoboFrozen",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		Stop
	
		Punisher:
			TNT1 A 0 A_SpawnItemEx("ThePunisherFrozen",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		Stop
		
		Wanderer:
			TNT1 A 0 A_SpawnItemEx("TheWandererFrozen",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		Stop
	
		Cyborg:
			TNT1 A 0 A_SpawnItemEx("TheCyborgFrozen",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		Stop
		
		Berserker:
			TNT1 A 0 A_SpawnItemEx("TheBerserkerFrozen",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		Stop
	}
}