// Invulnerability Sphere ---------------------------------------------------

ACTOR InvulnerabilitySphere : PowerupGiver
{
	+COUNTITEM
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	Inventory.MaxAmount 0
	Powerup.Type Invulnerable
	Powerup.Color InverseMap
	Inventory.PickupMessage "$GOTINVUL"
	States
	{
	Spawn:
		PINV ABCD 6 Bright
		Loop
	}
}

// Soulsphere --------------------------------------------------------------

ACTOR Soulsphere : Health
{
	+COUNTITEM
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.FANCYPICKUPSOUND
	Inventory.Amount 100
	Inventory.MaxAmount 200
	Inventory.PickupMessage "$GOTSUPER"
	Inventory.PickupSound "misc/p_pkup"
	States
	{
	Spawn:
		SOUL ABCDCB 6 Bright
		Loop
	}
}

// Mega sphere --------------------------------------------------------------

ACTOR MegasphereHealth : Health	// for manipulation by Dehacked
{
	Inventory.Amount 200
	Inventory.MaxAmount 200
	+INVENTORY.ALWAYSPICKUP
}

// DeHackEd can only modify the blue armor's type, not the megasphere's.
actor BlueArmorForMegasphere : BlueArmor
{
	Armor.SavePercent 50
	Armor.SaveAmount 200
}

ACTOR Megasphere : CustomInventory
{
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTMSPHERE"
	Inventory.PickupSound "misc/p_pkup"
	States
	{
	Spawn:
		MEGA ABCD 6 BRIGHT
		Loop
	Pickup:
		TNT1 A 0 A_GiveInventory("BlueArmorForMegasphere", 1)
		TNT1 A 0 A_GiveInventory("MegasphereHealth", 1)
		Stop
	}
}	

// Invisibility -------------------------------------------------------------

ACTOR BlurSphere : PowerupGiver
{
	+COUNTITEM
	+VISIBILITYPULSE
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	Inventory.MaxAmount 0
	Powerup.Type Invisibility
	RenderStyle Translucent
	Inventory.PickupMessage "$GOTINVIS"
	States
	{
	Spawn:
		PINS ABCD 6 Bright
		Loop
	}
}	

// Radiation suit (aka iron feet) -------------------------------------------

ACTOR RadSuit : PowerupGiver
{
	Height 46
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 0
	Inventory.PickupMessage "$GOTSUIT"
	Powerup.Type IronFeet
	States
	{
	Spawn:
		SUIT A -1 Bright
		Stop
	}
}	

// infrared -----------------------------------------------------------------

ACTOR Infrared : PowerupGiver
{
	+COUNTITEM
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 0
	Powerup.Type LightAmp
	Inventory.PickupMessage "$GOTVISOR"
	States
	{
	Spawn:
		PVIS A 6 Bright
		PVIS B 6
		Loop
	}
}
	
// Allmap -------------------------------------------------------------------

ACTOR Allmap : MapRevealer
{
	+COUNTITEM
	+INVENTORY.FANCYPICKUPSOUND
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 0
	Inventory.PickupSound "misc/p_pkup"
	Inventory.PickupMessage "$GOTMAP"
	States
	{
	Spawn:
		PMAP ABCDCB 6 Bright
		Loop
	}
}

// Berserk ------------------------------------------------------------------

ACTOR Berserk : CustomInventory
{
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTBERSERK"
	Inventory.PickupSound "misc/p_pkup"
	States
	{
	Spawn:
		PSTR A -1
		Stop
	Pickup:
		TNT1 A 0 A_GiveInventory("PowerStrength")
		TNT1 A 0 HealThing(100, 0)
		TNT1 A 0 A_SelectWeapon("Fist")
		Stop
	}
}
	
