actor BaseAmmoSlot : SwitchableDecoration
{
	Radius 20
	Height 1
	Activation THINGSPEC_ThingTargets | THINGSPEC_ThingActs | THINGSPEC_Switch
	+SOLID
	+CANPASS
	+BUMPSPECIAL
	States
	{
		Spawn:
			CLIP A 0
			CLIP A 0 ACS_NamedExecuteAlways("AMMOSTATE", 0, args[0])
			goto SpawnLoop
		SpawnLoop:
			CLIP A 35
			CLIP A 0 ACS_NamedExecuteAlways("AMMOSTATE", 0, args[0])
			loop
		HideAmmo:
			TNT1 A 35
			TNT1 A 0 ACS_NamedExecuteAlways("AMMOSTATE", 0, args[0])
			loop
			
		Inactive:
		Active:
			"####" "#" 0 ACS_NamedExecuteWithResult("GIVEAMMOSLOT", args[0])
			goto SpawnLoop
			
		WaitForRespawn:
			TNT1 A 0 A_ChangeFlag("BUMPSPECIAL", 0)
			TNT1 A 0 A_ChangeFlag("SOLID", 0)
			TNT1 A 1050 A_SetTics(ACS_NamedExecuteWithResult("CALCULATERESPAWNTIMER", 0))
			TNT1 A 0 A_SpawnItemEx("ItemFog", 0, 0, 0, 0, 0, 0, 0, 0, 0)
			TNT1 A 0 A_PlaySound("misc/spawn", CHAN_AUTO)
			TNT1 A 0 A_ChangeFlag("BUMPSPECIAL", 1)
			TNT1 A 0 A_ChangeFlag("SOLID", 1)
			TNT1 A 0 ACS_NamedExecuteWithResult("AMMOSTATE", args[0])
			goto SpawnLoop
	}
}

actor AmmoSlot1 : BaseAmmoSlot 11007
{
	Args 0
}

actor AmmoSlot2 : BaseAmmoSlot 12007
{
	Args 1
}

actor AmmoSlot3 : BaseAmmoSlot 13007
{
	Args 2
}

actor AmmoSlot4 : BaseAmmoSlot 13107
{
	Args 3
}

actor AmmoSlot5 : BaseAmmoSlot 15007
{
	Args 4
}

actor AmmoSlot6 : BaseAmmoSlot 16007
{
	Args 5
}

actor AmmoSlot7 : BaseAmmoSlot 17007
{
	Args 6
}

actor AmmoSlot8 : BaseAmmoSlot 18007
{
	Args 7
}