actor MenuWheelToggler : CustomInventory
{
  Inventory.Amount 1
  -INVBAR
  states
  {
  Spawn:
	TNT1 A -1
	Stop
  Use:
    TNT1 A 0 A_GiveInventory("MenuWheelActive",1)
    TNT1 A 0 ACS_NamedExecuteAlways("AMULET",0)
	Fail
  }
}

ACTOR PodZwei : Pod replaces Pod
{
  DeathSound "Pod/Explode"
  States
  {
  Death:
    PPOD C 5 Bright A_RemovePod
    PPOD D 5 Bright A_Scream
	PPOD A 0 A_RadiusGive("GumpopItem",128,RGF_MONSTERS,1)
    PPOD A 0 A_SpawnItemEx("Gumpop_Impact",0,0,30)
	PPOD A 0 A_SpawnItemEx("PodZweiExplosion",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
    PPOD E 5 Bright
    PPOD F 10 Bright
    Stop
  }
}

ACTOR PodZweiExplosion
{
	+NOINTERACTION
	DamageType Acid
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_Explode
	Stop
	}
}

//Stomping
ACTOR StompItem : CustomInventory
{
  Inventory.MaxAmount 0
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  Use:
    TNT1 A 0 A_JumpIfInventory("PowerSuitToken",1,3)
    TNT1 A 0 A_SpawnItemEx("StompityStomp",0,0,-30,0,0,0,0,SXF_SETTARGET,0) //A_FireCustomMissile("StompityStomp",0,0,0,-40)
    TNT1 A 0 A_ChangeVelocity(0,0,15,CVF_REPLACE)
    Stop
    TNT1 A 0 A_SpawnItemEx("PowerStomp",0,0,-30,0,0,0,0,SXF_SETTARGET,0) //A_FireCustomMissile("StompityStomp",0,0,0,-40)
    TNT1 A 0 A_ChangeVelocity(0,0,25,CVF_REPLACE)
    Stop
  }
}

ACTOR MidasStompItem : CustomInventory
{
  Inventory.MaxAmount 0
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  Use:
    TNT1 A 0 A_JumpIfInventory("PowerSuitToken",1,3)
    TNT1 A 0 A_SpawnItemEx("MidasStompityStomp",0,0,-30,0,0,0,0,SXF_SETTARGET,0)
    TNT1 A 0 A_ChangeVelocity(0,0,15,CVF_REPLACE)
    Stop
    TNT1 A 0 A_SpawnItemEx("PowerMidasStomp",0,0,-30,0,0,0,0,SXF_SETTARGET,0)
    TNT1 A 0 A_ChangeVelocity(0,0,25,CVF_REPLACE)
    Stop
  }
}

ACTOR BerserkStompItem : CustomInventory
{
  Inventory.MaxAmount 0
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  Use:
	TNT1 A 0 A_GiveInventory("SuckerKick")	
    TNT1 A 0 A_JumpIfInventory("PowerSuitToken",1,3)
    TNT1 A 0 A_SpawnItemEx("BerserkStomp",0,0,-30,0,0,0,0,SXF_SETTARGET,0)
    TNT1 A 0 A_ChangeVelocity(0,0,40,CVF_REPLACE)
    Stop
    TNT1 A 0 A_SpawnItemEx("PowerBerserkStomp",0,0,-30,0,0,0,0,SXF_SETTARGET,0)
    TNT1 A 0 A_ChangeVelocity(0,0,50,CVF_REPLACE)
    Stop
  }
}

ACTOR MidasBerserkStompItem : CustomInventory
{
  Inventory.MaxAmount 0
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  Use:
	TNT1 A 0 A_GiveInventory("SuckerKick")	
    TNT1 A 0 A_JumpIfInventory("PowerSuitToken",1,3)
    TNT1 A 0 A_SpawnItemEx("MidasBerserkStomp",0,0,-30,0,0,0,0,SXF_SETTARGET,0)
    TNT1 A 0 A_ChangeVelocity(0,0,40,CVF_REPLACE)
    Stop
    TNT1 A 0 A_SpawnItemEx("PowerMidasBerserkStomp",0,0,-30,0,0,0,0,SXF_SETTARGET,0)
    TNT1 A 0 A_ChangeVelocity(0,0,50,CVF_REPLACE)
	Stop
  }
}

ACTOR StompityStomp
{
	+NOINTERACTION
	+NOGRAVITY
	+FORCERADIUSDMG
	+MISSILE
	ProjectileKickback 800
	DamageType Shoelaces
	States
	{
	Spawn:
	//Poot more effects later here, if needed
	TNT1 A 0 NoDelay A_SpawnItemEx("StompEffect1",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Stomp/Impact",5,0.8)
	TNT1 A 0 A_Explode(200,192,0)
	TNT1 A 0 A_AlertMonsters(256)
	TNT1 A 35 A_Quake(7,35,0,512,"none")
	Stop
	}
}

ACTOR MidasStompityStomp
{
	+NOINTERACTION
	+NOGRAVITY
	+FORCERADIUSDMG
	+MISSILE
	DamageType MidasCloseCombat
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("StompEffect2",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Stomp/Impact",5,0.8)
	TNT1 A 0 A_Explode(200,192,0)
	TNT1 A 0 A_AlertMonsters(256)
	TNT1 A 35 A_Quake(7,35,0,512,"none")
	Stop
	}
}

ACTOR BerserkStomp
{
	+NOINTERACTION
	+NOGRAVITY
	+FORCERADIUSDMG
	+FOILINVUL
	+MISSILE
	ProjectileKickback 800
	DamageType SuperShoelaces
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_PlaySound("Stomp/Impact",5,0.9)
	TNT1 A 0 A_PlaySound("SuperKick/Hit",6,0.9)
	TNT1 A 0 A_Explode(200,224,0)
	TNT1 A 0 A_AlertMonsters(768)
	TNT1 A 0 A_SpawnItemEx("SuperStomp_Shock",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperStomp_Impact",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperStomp_Wave",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperStomp_GLDEF",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_GiveToTarget("SuckerKick")	
    TNT1 A 35 A_Quake(9,35,0,512,"none")
	Stop
	}
}

ACTOR MidasBerserkStomp : BerserkStomp
{
	DamageType SuperMidasShoelaces
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_PlaySound("Stomp/Impact",5,0.9)
	TNT1 A 0 A_PlaySound("SuperKick/Hit",6,0.9)
	TNT1 A 0 A_Explode(200,224,0)
	TNT1 A 0 A_AlertMonsters(768)
	TNT1 A 0 A_SpawnItemEx("SuperMidasStomp_Shock",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperMidasStomp_Impact",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperMidasStomp_Wave",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperMidasStomp_GLDEF",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_GiveToTarget("SuckerKick")	
    TNT1 A 35 A_Quake(9,35,0,512,"none")
	Stop
	}
}

ACTOR StompEffect1
{
	+NOINTERACTION
	+NOGRAVITY
	+FORCEXYBILLBOARD
	Renderstyle Add
	Alpha 0.99
	Scale 0.1
	States
	{
	Spawn:
	SHCK B 0 NoDelay A_SetScale(ScaleX+0.1,ScaleX)
	SHCK B 1 A_FadeOut(frandom(0.05,0.075))
	Loop
	}
}

ACTOR StompEffect2
{
	+NOINTERACTION
	+NOGRAVITY
	+FORCEXYBILLBOARD
	Renderstyle Add
	Alpha 0.99
	Scale 0.1
	States
	{
	Spawn:
	SHCK E 0 NoDelay A_SetScale(ScaleX+0.1,ScaleX)
	SHCK E 1 A_FadeOut(frandom(0.05,0.075))
	Loop
	}
}

Actor SuperStomp_Base
{
	+NoInteraction
	+ForceXYBillboard
	RenderStyle Add
	Scale 0.015
}

Actor SuperStomp_Shock :  SuperStomp_Base
{
	Scale 0.1
	States
	{
		Spawn:
			SHCK D 0 NoDelay A_SetScale(ScaleX + FRandom(0.035, 0.04))
			SHCK D 1 Bright A_FadeOut(0.025)
			Loop
	}
}

Actor SuperStomp_Impact : SuperStomp_Base
{
	Scale 0.1
	States
	{
		Spawn:
			BLST C 0 NoDelay A_Jump(128,"AltSprite")
			Goto Looplet
		AltSprite:
			BLST D 0
		Looplet:
			"####" "#" 0 A_SetScale(ScaleX + FRandom(0.025, 0.03))
			"####" "#" 1 Bright A_FadeOut(0.05)
			Loop
	}
}

Actor SuperStomp_Wave : SuperStomp_Base
{
	Scale 0.3
	States
	{
		Spawn:
			TNT1 A 0 NoDelay A_Jump(256,"SpriteA","SpriteB","SpriteC","SpriteD")
		SpriteA:
			BRWV A 0
			Goto Looplet
		SpriteB:
			BRWV B 0
			Goto Looplet
		SpriteC:
			BRWV C 0
			Goto Looplet
		SpriteD:
			BRWV D 0
			Goto Looplet
		Looplet:
			"####" "#" 0 A_SetScale(ScaleX + FRandom(0.05, 0.03))
			"####" "#" 1 Bright A_FadeOut(0.025)
			Loop
	}
}

ACTOR SuperStomp_GLDEF
{
	+NOINTERACTION
	+NOGRAVITY
	States
	{
	Spawn:
	TNT1 A 35
	Stop
	}
}

Actor SuperMidasStomp_Shock :  SuperStomp_Base
{
	Scale 0.1
	States
	{
		Spawn:
			SHCK E 0 NoDelay A_SetScale(ScaleX + FRandom(0.035, 0.04))
			SHCK E 1 Bright A_FadeOut(0.025)
			Loop
	}
}

Actor SuperMidasStomp_Impact : SuperStomp_Base
{
	Scale 0.1
	States
	{
		Spawn:
			MDWV A 0 NoDelay A_Jump(128,"AltSprite")
			Goto Looplet
		AltSprite:
			MDWV B 0
		Looplet:
			"####" "#" 0 A_SetScale(ScaleX + FRandom(0.025, 0.03))
			"####" "#" 1 Bright A_FadeOut(0.05)
			Loop
	}
}

Actor SuperMidasStomp_Wave : SuperStomp_Base
{
	Scale 0.3
	States
	{
		Spawn:
			TNT1 A 0 NoDelay A_Jump(256,"SpriteA","SpriteB","SpriteC","SpriteD")
		SpriteA:
			MDWV A 0
			Goto Looplet
		SpriteB:
			MDWV B 0
			Goto Looplet
		SpriteC:
			MDWV C 0
			Goto Looplet
		SpriteD:
			MDWV D 0
			Goto Looplet
		Looplet:
			"####" "#" 0 A_SetScale(ScaleX + FRandom(0.05, 0.03))
			"####" "#" 1 Bright A_FadeOut(0.025)
			Loop
	}
}

ACTOR SuperMidasStomp_GLDEF
{
	+NOINTERACTION
	+NOGRAVITY
	States
	{
	Spawn:
	TNT1 A 35
	Stop
	}
}

//Powersuit stomps
//Stomp stuff
ACTOR PowerStomp : StompityStomp //replaces StompityStomp
{
	DamageType SuperShoelaces
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("KickImpactDustSpawner",0,0,30,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RoundhouseKickoutSpawner",0,0,30,0,0,0,0,SXF_CLIENTSIDE)
	//Poot more effects later here, if needed
	TNT1 A 0 A_SpawnItemEx("PunchImpactShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("PunchImpactShock2",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Stomp/Impact",5,0.8)
	TNT1 A 0 A_PlaySound("Bishop/Hit",6,0.8)
	TNT1 A 0 A_Explode(400,192,0)
	TNT1 A 0 A_AlertMonsters(768)
	TNT1 A 35 A_Quake(7,35,0,512,"none")
	Stop
	}
}

ACTOR PowerMidasStomp : StompityStomp //replaces MidasStompityStomp
{
	DamageType SuperMidasShoelaces
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("KickImpactDustSpawner",0,0,30,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RoundhouseKickoutSpawner",0,0,30,0,0,0,0,SXF_CLIENTSIDE)

	TNT1 A 0 A_SpawnItemEx("SuperMidasKickImpactShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("SuperMidasKickImpactShock2",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Stomp/Impact",5,0.8)
	TNT1 A 0 A_PlaySound("Bishop/Hit",6,0.8)
	TNT1 A 0 A_Explode(400,192,0)
	TNT1 A 0 A_AlertMonsters(768)
	TNT1 A 35 A_Quake(7,35,0,512,"none")
	Stop
	}
}

ACTOR PowerBerserkStomp : BerserkStomp //replaces BerserkStomp
{
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("KickImpactDustSpawner",0,0,30,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RoundhouseKickoutSpawner",0,0,30,0,0,0,0,SXF_CLIENTSIDE)
	
	TNT1 A 0 A_PlaySound("Stomp/Impact",5,0.9)
	TNT1 A 0 A_PlaySound("SuperKick/Hit",6,0.9)
	TNT1 A 0 A_PlaySound("Bishop/Hit",7,0.9)
	
	TNT1 A 0 A_Explode(600,256,0)
	TNT1 A 0 A_AlertMonsters(768)
	
	TNT1 A 0 A_SpawnItemEx("SuperStomp_Shock",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperStomp_Impact",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperStomp_Wave",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperStomp_GLDEF",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	
	TNT1 A 0 A_SpawnItemEx("SuperKickImpactShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("SuperKickImpactShock2",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 45 A_Quake(9,45,0,1024,"none")
	Stop
	}
}

ACTOR PowerMidasBerserkStomp : MidasBerserkStomp //replaces MidasBerserkStomp
{
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("KickImpactDustSpawner",0,0,30,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RoundhouseKickoutSpawner",0,0,30,0,0,0,0,SXF_CLIENTSIDE)
	
	TNT1 A 0 A_PlaySound("Stomp/Impact",5,0.9)
	TNT1 A 0 A_PlaySound("SuperKick/Hit",6,0.9)
	TNT1 A 0 A_PlaySound("Bishop/Hit",7,0.9)
	
	TNT1 A 0 A_Explode(600,256,0)
	TNT1 A 0 A_AlertMonsters(768)
	
	TNT1 A 0 A_SpawnItemEx("SuperMidasStomp_Shock",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperMidasStomp_Impact",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperMidasStomp_Wave",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("SuperMidasStomp_GLDEF",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	
	TNT1 A 0 A_SpawnItemEx("SuperMidasKickImpactShock",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("SuperMidasKickImpactShock2",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 45 A_Quake(9,45,0,1024,"none")
	Stop
	}
}