ACTOR CreditDrop : CustomInventory //Gives all players credits
{
	Game Doom
	//SpawnID 0
	+INVENTORY.PICKUPFLASH
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.INVBAR
	Inventory.Icon CREDB0 
	Tag "CreditDrop"
	Inventory.MaxAmount 5
	Inventory.Pickupmessage "+1 Credit"
	States
	{
	Spawn:
		CRED B 6
		Loop
	Pickup:
		TNT1 A 0 ACS_NamedExecute("CreditsAll",0,0,0,0)
		Stop
	}
}

ACTOR 2CreditDrop : CustomInventory //Gives all players credits
{
	Game Doom
	//SpawnID 0
	+INVENTORY.PICKUPFLASH
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.INVBAR
	Inventory.Icon CREDC0 
	Tag "2CreditDrop"
	Inventory.MaxAmount 5
	Inventory.Pickupmessage "+2 Credits"
	States
	{
	Spawn:
		CRED C 6
		Loop
	Pickup:
		TNT1 A 0 ACS_NamedExecute("2CreditsAll",0,0,0,0)
		Stop
	}
}

ACTOR 3CreditDrop : CustomInventory //Gives all players credits
{
	Game Doom
	//SpawnID 0
	+INVENTORY.PICKUPFLASH
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.INVBAR
	Inventory.Icon CREDD0 
	Tag "3CreditDrop"
	Inventory.MaxAmount 5
	Inventory.Pickupmessage "+3 Credits"
	States
	{
	Spawn:
		CRED D 6
		Loop
	Pickup:
		TNT1 A 0 ACS_NamedExecute("3CreditsAll",0,0,0,0)
		Stop
	}
}

ACTOR 5CreditDrop : CustomInventory //Gives all players credits
{
	Game Doom
	//SpawnID 0
	+INVENTORY.PICKUPFLASH
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.INVBAR
	Inventory.Icon CREDA0 
	Tag "5CreditDrop"
	Inventory.MaxAmount 5
	Inventory.Pickupmessage "+5 Credits"
	States
	{
	Spawn:
		CRED A 6
		Loop
	Pickup:
		TNT1 A 0 ACS_NamedExecute("5CreditsAll",0,0,0,0)
		Stop
	}
}

ACTOR Credits : CustomInventory 9260
{
	Game Doom
	SpawnID 0
	+INVENTORY.PICKUPFLASH
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.INVBAR
	Inventory.Icon CREDA0 
	Tag "Credits"
	Inventory.MaxAmount 999999
	Inventory.Pickupmessage "Picked up a Credit."
	States
	{
	Spawn:
		CRED A 6
		Loop
	Use: 
		CRED A 1
		Stop
	}
}

ACTOR SuperHealthBonus : Health
{
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.Amount 5
	Inventory.MaxAmount 200
	Inventory.PickupMessage "+5 Health"
	States
	{
	Spawn:
		HBN2 ABCDCB 6
		Loop
	}
}
Actor SuperArmorBonus : ArmorBonus
{
	Radius 20
	Height 16
	Inventory.Pickupmessage "+5 Armor"
	Armor.Saveamount 5
	Armor.Maxsaveamount 200
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	States
	{
	Spawn:
		ABN2 ABCDCB 6
		loop
	}
}

ACTOR 2Shells : Shell 9261
{
	Game Doom
	Inventory.PickupMessage "+2 Shells"
	Inventory.Amount 4
	States
	{
	Spawn:
		DSHL A -1
		Stop
	}
}

Actor RedArmor : BasicArmorPickup 17177
{
	Game Doom
	Radius 20
	Height 16
	Inventory.Pickupmessage "Got Specialist's Armor. 60% Damage Reduction and Poison Resistance."
	Inventory.Icon "ARM3A0"
	DamageFactor "Poison",0.50
	Armor.SavePercent 60
	Armor.SaveAmount 300
	States
	{
	Spawn:
		ARM3 A 6
		ARM3 B 7 bright
		loop
	Pickup:
		TNT1 A 0 A_PlaySound("Armor1")
		Stop
	}
}

ACTOR RedArmorBonus : BasicArmorBonus
{
  Radius 20
  Height 16
  Inventory.PickupMessage "$GOTARMBONUS"
  Inventory.Icon "ARM3A0"
  Armor.SavePercent 60
  Armor.SaveAmount 1
  Armor.MaxSaveAmount 300
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    BON2 ABCDCB 6
    Loop
  }
}

ACTOR HealthRegenPerk : CustomInventory
{
	Game Doom
	SpawnID 0 
	+INVENTORY.PICKUPFLASH
	+INVENTORY.ALWAYSPICKUP
	//+INVENTORY.INVBAR
	Inventory.Icon HRG1A0 
	Tag "Health Regen"
	Inventory.MaxAmount 3
	Inventory.Pickupmessage "Health Regen."
	States
	{
	Spawn:
		HRG1 A 6
		Loop
	Use:
		TNT1 A 0
		Loop
	}
}

ACTOR ArmorRegenPerk : CustomInventory
{
	Game Doom
	SpawnID 0 
	+INVENTORY.PICKUPFLASH
	+INVENTORY.ALWAYSPICKUP
	//+INVENTORY.INVBAR
	Inventory.Icon ARG1A0 
	Tag "Armor Regen"
	Inventory.MaxAmount 3
	Inventory.Pickupmessage "Armor Regen."
	States
	{
	Spawn:
		ARG1 A 6
		Loop
	Use:
		TNT1 A 0
		Loop
	}
}

ACTOR ExtraLifePerk : CustomInventory
{
	Game Doom
	SpawnID 0 
	+INVENTORY.PICKUPFLASH
	+INVENTORY.ALWAYSPICKUP
	//+INVENTORY.INVBAR
	Inventory.Icon INVNA0 
	Tag "Extra Life"
	Inventory.MaxAmount 1
	Inventory.Pickupmessage "Extra Life."
	States
	{
	Spawn:
		INVN A 6
		Loop
	Use:
		TNT1 A 0
		Loop
	}
}

ACTOR ExtraLifeInvuln : InvulnerabilitySphere
{
	+COUNTITEM
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	Inventory.MaxAmount 0
	Powerup.Type Invulnerable
	//Powerup.Color "00 33 FF" 0.20
	Powerup.Color InverseMap
	Powerup.Duration -15 //15 seconds
	States
	{
	Spawn:
		PINV ABCD 6 Bright
		Loop
	Pickup:
		TNT1 A 0 A_PlaySound("Protect")
		Stop
	}
}

ACTOR PowerupInvis : CustomInventory
{
	+COUNTITEM
	+VISIBILITYPULSE
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	+FLOATBOB
	Inventory.MaxAmount 0
	Inventory.PickupMessage "Partial Invisibility!"
	States
	{
	Spawn:
		PINS ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright //Each is 8 seconds
		PINS ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		PINS ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		PINS ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		PINS ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		PINS ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		PINS ABCDZABCDZABCDZABCDZ 8 Bright
		PINS ABCDZABCDZABCDZABCDZ 6 Bright
		PINS ABCDZABCDZABCDZABCDZ 4 Bright
		PINS ABCDZABCDZABCDZABCDZ 2 Bright
		PINS ABCDZABCDZABCDZABCDZ 2 Bright
		PINS ABCDZABCDZABCDZABCDZ 2 Bright
		PINS ABCDZABCDZABCDZABCDZ 2 Bright
		Stop
	Pickup:
		TNT1 A 1 ACS_NamedExecute("PowerupInvis",0)
		Stop
	}
}	

ACTOR PowerupMaxAmmo : CustomInventory
{
	+COUNTITEM
	+VISIBILITYPULSE
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	+FLOATBOB
	Inventory.MaxAmount 0
	Inventory.PickupMessage "Max Ammo!"
	States
	{
	Spawn:
		AMSP A 256 Bright //Each is 8 seconds
		AMSP A 256 Bright
		AMSP A 256 Bright
		AMSP A 256 Bright
		AMSP A 256 Bright
		AMSP A 256 Bright
		AMSP AAAAZAAAAZAAAAZAAAAZ 8 Bright
		AMSP AAAAZAAAAZAAAAZAAAAZ 6 Bright
		AMSP AAAAZAAAAZAAAAZAAAAZ 4 Bright
		AMSP AAAAZAAAAZAAAAZAAAAZ 2 Bright
		AMSP AAAAZAAAAZAAAAZAAAAZ 2 Bright
		AMSP AAAAZAAAAZAAAAZAAAAZ 2 Bright
		AMSP AAAAZAAAAZAAAAZAAAAZ 2 Bright
		Stop
	Pickup:
		TNT1 A 1 ACS_NamedExecute("PowerupMaxAmmo",0)
		Stop
	}
}	

ACTOR PowerupQuad : CustomInventory
{
	+COUNTITEM
	+VISIBILITYPULSE
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	+FLOATBOB
	Inventory.MaxAmount 0
	States
	{
	Spawn:
		DDAM ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright //Each is 8 seconds
		DDAM ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		DDAM ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		DDAM ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		DDAM ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		DDAM ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		DDAM ABCDZABCDZABCDZABCDZ 8 Bright
		DDAM ABCDZABCDZABCDZABCDZ 6 Bright
		DDAM ABCDZABCDZABCDZABCDZ 4 Bright
		DDAM ABCDZABCDZABCDZABCDZ 2 Bright
		DDAM ABCDZABCDZABCDZABCDZ 2 Bright
		DDAM ABCDZABCDZABCDZABCDZ 2 Bright
		DDAM ABCDZABCDZABCDZABCDZ 2 Bright
		Stop
	Pickup:
		TNT1 A 1 ACS_NamedExecute("PowerupQuad",0)
		Stop
	}
}	

ACTOR QuadDamage : PowerupGiver
{
	+COUNTITEM
	+VISIBILITYPULSE
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	+FLOATBOB
	Inventory.MaxAmount 0
	Inventory.PickupSound "damage"
	Powerup.Type "QuadDamage"
	Powerup.Color RedMap
	Inventory.PickupMessage "Quad Damage!"
	Powerup.Duration -30
	States
	{
	Spawn:
		TNT1 A 1
		Goto Spawn
	Pickup:
		TNT1 A 1 
		Stop
	}
}	

Actor PowerQuadDamage : PowerDamage
{
	damagefactor "normal", 4
	inventory.icon "DDAME0"
}

ACTOR PowerupMegaSphere : CustomInventory
{
	+COUNTITEM
	+VISIBILITYPULSE
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	+INVENTORY.FANCYPICKUPSOUND
	+FLOATBOB  
	Inventory.MaxAmount 0
	States
	{
	Spawn:
		MEGA ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright //Each is 8 seconds
		MEGA ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		MEGA ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		MEGA ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		MEGA ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		MEGA ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		MEGA ABCDZABCDZABCDZABCDZ 8 Bright
		MEGA ABCDZABCDZABCDZABCDZ 6 Bright
		MEGA ABCDZABCDZABCDZABCDZ 4 Bright
		MEGA ABCDZABCDZABCDZABCDZ 2 Bright
		MEGA ABCDZABCDZABCDZABCDZ 2 Bright
		MEGA ABCDZABCDZABCDZABCDZ 2 Bright
		MEGA ABCDZABCDZABCDZABCDZ 2 Bright
		Stop
	Pickup:
		TNT1 A 1 ACS_NamedExecute("PowerupMegasphere",0)
		Stop
	}
}
	
ACTOR RedArmorMegasphere : 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("RedArmor", 1)
		TNT1 A 0 A_GiveInventory("MegasphereHealth", 1)
		Stop
	}
}	

ACTOR PowerupInvuln : CustomInventory
{
	+COUNTITEM
	+VISIBILITYPULSE
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	+INVENTORY.FANCYPICKUPSOUND
	+FLOATBOB  
	Inventory.MaxAmount 0
	Inventory.PickupMessage "Invulnerability!"
	States
	{
	Spawn:
		INVN ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright //Each is 8 seconds
		INVN ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		INVN ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		INVN ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		INVN ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		INVN ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		INVN ABCDZABCDZABCDZABCDZ 8 Bright
		INVN ABCDZABCDZABCDZABCDZ 6 Bright
		INVN ABCDZABCDZABCDZABCDZ 4 Bright
		INVN ABCDZABCDZABCDZABCDZ 2 Bright
		INVN ABCDZABCDZABCDZABCDZ 2 Bright
		INVN ABCDZABCDZABCDZABCDZ 2 Bright
		INVN ABCDZABCDZABCDZABCDZ 2 Bright
		Stop
	Pickup:
		TNT1 A 1 ACS_NamedExecute("PowerupInvuln",0)
		Stop
	}
}	

ACTOR PowerupTimeFreeze : CustomInventory
{
	+COUNTITEM
	+VISIBILITYPULSE
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	+INVENTORY.FANCYPICKUPSOUND
	+FLOATBOB  
	Inventory.MaxAmount 0
	Inventory.PickupMessage "Time Freeze!"
	States
	{
	Spawn:
		TIME ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright //Each is 8 seconds
		TIME ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		TIME ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		TIME ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		TIME ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		TIME ABCDABCDABCDABCDABCDABCDABCDABCD 8 Bright
		TIME ABCDZABCDZABCDZABCDZ 8 Bright
		TIME ABCDZABCDZABCDZABCDZ 6 Bright
		TIME ABCDZABCDZABCDZABCDZ 4 Bright
		TIME ABCDZABCDZABCDZABCDZ 2 Bright
		TIME ABCDZABCDZABCDZABCDZ 2 Bright
		TIME ABCDZABCDZABCDZABCDZ 2 Bright
		TIME ABCDZABCDZABCDZABCDZ 2 Bright
		Stop
	Pickup:
		TNT1 A 1 ACS_NamedExecute("PowerupTimeFreeze",0)
		Stop
	}
}	

Actor TimeFreezeSphere : PowerupGiver
{
  +CountItem
  +NoGravity
  +Inventory.AutoActivate
  +Inventory.AlwaysPickup
  Inventory.MaxAmount 0
  Powerup.Duration -15 //15 seconds
  Powerup.Type TimeFreezer
  Powerup.Colormap 1.0, 1.0, 1.0
  Inventory.PickupMessage "Time freeze!"
  States
  {
  Spawn:
    TIME ABCD 6 Bright
    Loop
  }
}
