Actor Stimpack2 : CustomInventory replaces Stimpack { 
	inventory.pickupsound "Items/Stimpack"
	inventory.pickupmessage "\ccHealth pickup : \c[Y5]Stimpack x 10\c-"
	Radius 20
	Height 16
	Renderstyle Translucent
	States
	{
		Spawn:
			TNT1 A 0 NoDelay ACS_NamedExecuteAlways("DND Shared Item Init", 0, SHI_STIMPACK)
		Idle:
		IdlePicked:
			STIM A -1
		Stop
		Pickup:
			TNT1 A 0 A_JumpIf(!ACS_NamedExecuteWithResult("DND Shared Item Check"), "ActualPickup")
		Goto Failed
		ActualPickup:
			TNT1 A 0 A_JumpIfInventory("TaltosUp", 1, "Failed")
			TNT1 A 0 A_JumpIf(1 == ACS_ExecuteWithResult(819, 0), "Success")
		Goto Failed
		Failed:
			TNT1 A 0 ACS_NamedExecuteAlways("DND Shared Item Clear Semaphore", 0)
		Fail
		Success:
			TNT1 A 0 ACS_NamedExecuteAlways("DND Shared Item Pickup", 0)
			TNT1 A 0 A_GiveInventory("StimpackMsg", 1)
			TNT1 A 0 ACS_NamedExecuteAlways("DnD Health Pickup", 0, 10)
		Fail
	}
}

Actor Stimpack_SP : Stimpack2 {
	inventory.pickupmessage "\ccHealth pickup : \c[Y5]Stimpack x 10\c-"
	inventory.pickupsound "Items/Stimpack"
	States {
		Spawn:
			STIM A -1
		Stop
		Pickup:
			TNT1 A 0 A_JumpIfInventory("TaltosUp", 1, "Failed")
			TNT1 A 0 A_JumpIf(1 == ACS_ExecuteWithResult(819, 0), "Success")
		Goto Failed
		Failed:
			TNT1 A 0
		Fail
		Success:
			TNT1 A 0 ACS_NamedExecuteAlways("DnD Health Pickup", 0, 10)
		Stop
	}
}

Actor StimpackMsg : CustomInventory {
	States {
		Pickup:
			TNT1 A 0 ACS_ExecuteAlways(985, 0, 3, SHI_STIMPACK)
			TNT1 A 0 A_PlaySound("Items/Stimpack", 6)
			TNT1 A 0 A_SetBlend("25 99 25", 0.6, 17)
		Stop
	}
}

Actor Medikit2 : CustomInventory replaces Medikit { 
	inventory.pickupsound "Items/medikit"
	inventory.pickupmessage "\ccHealth pickup : \c[Y5]Medikit x 25\c-"
	Radius 20
	Height 16
	Renderstyle Translucent
	States
	{
		Spawn:
			TNT1 A 0 NoDelay ACS_NamedExecuteAlways("DND Shared Item Init", 0, SHI_MEDKIT)
		Idle:
		IdlePicked:
			MEDI A -1
		Stop
		Pickup:
			TNT1 A 0 A_JumpIf(!ACS_NamedExecuteWithResult("DND Shared Item Check"), "ActualPickup")
		Goto Failed
		ActualPickup:
			TNT1 A 0 A_JumpIfInventory("TaltosUp", 1, "Failed")
			TNT1 A 0 A_JumpIf(1 == ACS_ExecuteWithResult(819, 0), "Success")
		Goto Failed
		Failed:
			TNT1 A 0 ACS_NamedExecuteAlways("DND Shared Item Clear Semaphore", 0)
		Fail
		Success:
			TNT1 A 0 ACS_NamedExecuteAlways("DND Shared Item Pickup", 0)
			TNT1 A 0 A_GiveInventory("MedikitMsg", 1)
			TNT1 A 0 ACS_NamedExecuteAlways("DnD Health Pickup", 0, 25)
		Fail
	}
}

Actor Medikit_SP : Medikit2 {
	inventory.pickupmessage "\ccHealth pickup : \c[Y5]Medikit x 25\c-"
	inventory.pickupsound "Items/medikit"
	States {
		Spawn:
			MEDI A -1
		Stop
		Pickup:
			TNT1 A 0 A_JumpIfInventory("TaltosUp", 1, "Failed")
			TNT1 A 0 A_JumpIf(1 == ACS_ExecuteWithResult(819, 0), "Success")
		Goto Failed
		Failed:
			TNT1 A 0
		Fail
		Success:
			TNT1 A 0 ACS_NamedExecuteAlways("DnD Health Pickup", 0, 25)
		Stop
	}
}

Actor MedikitMsg : CustomInventory {
	States {
		Pickup:
			TNT1 A 0 ACS_ExecuteAlways(985, 0, 3, SHI_MEDKIT)
			TNT1 A 0 A_PlaySound("Items/Medikit", 6)
			TNT1 A 0 A_SetBlend("25 99 25", 0.6, 17)
		Stop
	}
}

Actor NewHealthBonus : CustomInventory replaces HealthBonus {
	inventory.pickupsound "items/pickup"
	inventory.pickupmessage "\ccHealth pickup : \c[Y5]Health Bonus x 1\c-"
    +COUNTITEM
    States
    {
		Spawn:
			BON1 ABCDCB 6
		Loop
		Pickup:
			TNT1 A 0 A_JumpIfInventory("TaltosUp", 1, "Failed")
		    TNT1 A 0 ACS_NamedExecuteAlways("DnD Health Pickup", 0, 1, 5)
			TNT1 A 0 A_GiveInventory("DnD_UseNoHealth", 1)
		Stop
		Failed:
			TNT1 A 0
		Fail
  }
}

Actor MaxHealthBonusNew : Health
{
	inventory.amount 1
	inventory.maxamount 16000
}

Actor HealthBonusX : HealthBonus
{
	inventory.amount 1
	inventory.maxamount 16000
	+IGNORESKILL
}

Actor MaxHealthBonusCounter : Ammo
{
	inventory.amount 1
	inventory.maxamount 2000
	ammo.backpackamount 0
	+IGNORESKILL
}

Actor MaxHealthBonusPickup : CustomInventory
{
  Radius 12
  Height 16
  Inventory.Amount 1
  Inventory.MaxAmount 2000
  +COUNTITEM
  inventory.pickupmessage "\ccHealth Bonus : \c[Y5]Health Capacity x 1\c-"
  inventory.pickupsound "items/pickup"
  Translation "0:8=47:47", "198:206=173:188", "207:207=44:44", "240:243=44:47", "244:247=47:47"
  States
  {
  Spawn:
    BON1 ABCDCB 6
    Loop
	Pickup:
		TNT1 A 0 A_GiveInventory("MaxHealthBonusNew", 1)
		TNT1 A 0 A_giveInventorY("MaxHealthBonusCounter", 1)
	Stop
  }
}