ACTOR StimpackSpawner replaces Stimpack
{
	-SOLID
	+SHOOTABLE
	+FLOORCLIP
	+MOVEWITHSECTOR
	+THRUACTORS
	+NOCLIP
	DamageFactor "Normal", 0.0
	DamageFactor "ItemExplode", 1.0
	PainChance "Normal", 0
	PainChance "ItemExplode", 255
	+NOBLOOD
	Radius 12
	Height 1
	Mass 99999
	Health 0xfffffff
	Renderstyle None
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("Initialized",1,1)
		Goto Initialize
		POSS A 1
		Loop
		See:
		TNT1 A 1
		Goto Spawn
		Pain:
		TNT1 A 0
		Goto Spawn
		Pain.ItemExplode:
		SPOS A 1
		Goto Spawning
		Spawning:
		TNT1 A 0 A_ChangeFlag("SHOOTABLE",0)
		SPOS A 200
		TNT1 A 0 A_Stop
		TNT1 A 0 A_ChangeFlag("SHOOTABLE",1)
		Goto ItemSpawnState
		ItemSpawnState:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("StimpackSpawn",0,0,0)
		Goto Spawn
		Initialize:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("Initialized",1)
		Goto ItemSpawnState
	}
}

ACTOR StimpackSpawn : RandomSpawner
{
	DropItem "StimPack1"
	DropItem "StimPack2"
	DropItem "StimPack3"
	DropItem "StimPack4"
	DropItem "StimPack5"
}

ACTOR StimpackPickup : CustomInventory
{
  Height 16
  Mass 99999
  -SOLID
  Inventory.PickupMessage "You picked up a small box of medical supplies." // "Picked up a stimpack."
  Inventory.PickupSound "stimpack/pickup"
  States
  {
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("ItemSpawnFX",0,0,0)
	TNT1 A 0 A_ChangeVelocity(0,0,10,0)
    HLTP A -1
    Stop
  Pickup:
	TNT1 A 0 A_JumpIfHealthLower(100,1)
	Fail
	TNT1 A 0 A_GiveInventory("StimpackBase",1)
	TNT1 A 0 A_SpawnItemEx("ItemExplode",0,0,0)
	Stop
  }
}

ACTOR StimpackBase : Stimpack
{
  Inventory.PickupMessage "You picked up a small box of medical supplies."
  Inventory.PickupSound "backpack/pickup"
}

ACTOR StimPack1 : StimpackPickup
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("ItemSpawnFX",0,0,0)
	TNT1 A 0 A_ChangeVelocity(0,0,10,0)
    HLTP A -1
    Stop
  }
}

ACTOR StimPack2 : StimpackPickup
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("ItemSpawnFX",0,0,0)
	TNT1 A 0 A_ChangeVelocity(0,0,10,0)
    HLTP B -1
    Stop
  }
}

ACTOR StimPack3 : StimpackPickup
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("ItemSpawnFX",0,0,0)
	TNT1 A 0 A_ChangeVelocity(0,0,10,0)
    HLTP C -1
    Stop
  }
}

ACTOR StimPack4 : StimpackPickup
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("ItemSpawnFX",0,0,0)
	TNT1 A 0 A_ChangeVelocity(0,0,10,0)
    HLTP D -1
    Stop
  }
}

ACTOR StimPack5 : StimpackPickup
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("ItemSpawnFX",0,0,0)
	TNT1 A 0 A_ChangeVelocity(0,0,10,0)
    HLTP E -1
    Stop
  }
}