//Subweapon ammo

actor subweaponammo : ammo
{
	inventory.amount 0
	inventory.maxamount 99
	ammo.backpackamount 0
	ammo.BackpackMaxAmount 99
	Inventory.Icon "PICNA0"
	states
	{
	spawn:
		PICN A -1
		stop
	}
}

actor smallsubrefresh : custominventory 
{
	+notimefreeze
	+dropped
	+quiet
    +INVENTORY.AUTOACTIVATE
	inventory.maxamount 0
	inventory.pickupmessage ""
	states
	{
	spawn:
		SWGM A 6 bright
		SWGM B 3 Bright 
		SWGM A 6  
		SWGM B 3  
		loop
	pickup:
		TNT1 A 0
		TNT1 A 0 a_setblend (FFFF00,0.1,5)
		TNT1 A 0 a_jumpifinventory ("IamDoomslayer",1,"giveslayerammo")
		TNT1 A 0 ACS_NamedExecuteAlways("AmmoLog",0,8,0,0)
		//TNT1 A 0 a_log ("Small Sub Refresh!")
		TNT1 A 0 a_playsound ("powerups/smallammo",CHAN_ITEM) 
		TNT1 A 0 a_jumpifinventory ("shieldcheck", 1, "GiveShieldAmmo")
		TNT1 A 0 a_jumpifinventory ("hammercheck", 1, "GiveHammerAmmo")
		TNT1 A 0 a_jumpifinventory ("boomerangcheck", 1, "GiveBoomerangAmmo")
		TNT1 A 1 a_giveinventory ("subweaponammo",3)
		stop
	GiveShieldAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",1)
		stop	
	GiveHammerAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",1)
		stop
	GiveBoomerangAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",1)
		stop
	giveslayerammo:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("AmmoLog",0,8,0,0)
		//TNT1 A 0 a_log ("Bullet and mace ammo!")
		TNT1 A 0 a_playsound ("Doomslayer/Itemget",CHAN_ITEM) 
		TNT1 A 1 a_giveinventory ("spikes",4)
		TNT1 A 1 a_giveinventory ("maceorbs",4)
		stop
	Noget:
		TNT1 A 0
		fail
	}
}



//subrefresh

actor subrefresh : custominventory 
{
	+notimefreeze
	+dropped
	+quiet
    +INVENTORY.AUTOACTIVATE
	inventory.maxamount 0
	inventory.pickupmessage ""
	states
	{
	spawn:
		BWGM A 6 bright
		BWGM B 3 Bright 
		BWGM A 6  
		BWGM B 3  
		loop
	pickup:
		TNT1 A 0
		TNT1 A 0 a_setblend (FFFF00,0.1,5)
		TNT1 A 0 a_jumpifinventory ("IamDoomslayer",1,"giveslayerammo")
		TNT1 A 0 ACS_NamedExecuteAlways("AmmoLog",0,9,0,0)
		//TNT1 A 0 a_log ("Sub Refresh!")
		TNT1 A 0 a_playsound ("powerups/bigammo",CHAN_ITEM) 
		TNT1 A 0 a_jumpifinventory ("shieldcheck", 1, "GiveShieldAmmo")
		TNT1 A 0 a_jumpifinventory ("hammercheck", 1, "GiveHammerAmmo")
		TNT1 A 0 a_jumpifinventory ("boomerangcheck", 1, "GiveBoomerangAmmo")
		TNT1 A 1 a_giveinventory ("subweaponammo",15)
		stop
	GiveShieldAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",2)
		stop	
	GiveHammerAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",2)
		stop
	GiveBoomerangAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",2)
		stop
	giveslayerammo:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("AmmoLog",0,9,0,0)
		//TNT1 A 0 a_log ("Mini ammo pack!")
		TNT1 A 0 a_playsound ("Doomslayer/Bigitem",CHAN_ITEM) 
		TNT1 A 1 a_giveinventory ("spikes",10)
		TNT1 A 1 a_giveinventory ("maceorbs",6)
		TNT1 A 1 a_giveinventory ("wrathrockets",5)
		TNT1 A 1 a_giveinventory ("firegems",15)
		stop
	Noget:
		TNT1 A 0
		fail
	}
}


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


//Backpack
//Blaz gets the Subweapon Pouch, granting him more subweapon
//ammo on restock.
//Doomslayer gets a backpack full of ammo, increasing
//his maximum ammo capacity



Actor GMOTAbackpack : custominventory replaces backpack
{
	+FORCEXYBILLBOARD
	Radius 14
	Height 14
	+quiet
    +DONTGIB
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
        TNT1 A 0 a_custommissile ("BlazPouchSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("DoomslayerBackpackSprite",0,0,0,CMF_AIMDIRECTION)
	spawn1:
		TNT1 A 1
		loop
	Pickup:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory ("IamLordBlaz",1,"BlazPouch")
		TNT1 A 0 A_JumpIfInventory ("IamDoomSlayer",1,"DoomslayerBackpack")
		TNT1 A 1
		stop
	BlazPouch:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_setblend (FFFF00,0.1,5)
		TNT1 A 0 a_playsound ("powerups/upgrade",CHAN_ITEM)
		TNT1 A 0 a_jumpifinventory ("pouchupgrade", 1, "nohelp")
		TNT1 A 0 ACS_NamedExecuteAlways("AmmoLog",0,10,0,0)			
		//TNT1 A 0 a_log ("Subweapon pouch expansion!")
		TNT1 A 0 a_print ("More ammo granted on Subweapon restock!")
		TNT1 A 0 a_giveinventory ("pouchupgrade",1)
		TNT1 A 1 
		stop
	nohelp:
		TNT1 A 0
		TNT1 A 0 a_log ("Subweapon pouch expansion!")
		TNT1 A 0 a_jumpifinventory ("shieldcheck", 1, "GiveShieldAmmo")
		TNT1 A 0 a_jumpifinventory ("hammercheck", 1, "GiveHammerAmmo")
		TNT1 A 0 a_jumpifinventory ("boomerangcheck", 1, "GiveBoomerangAmmo")
		TNT1 A 1 a_giveinventory ("subweaponammo",30)
		stop
	GiveShieldAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",5)
		stop	
	GiveHammerAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",8)
		stop
	GiveBoomerangAmmo:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("subweaponammo",10)
		stop
	DoomslayerBackpack:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("AmmoLog",0,10,0,0)			
		//TNT1 A 0 a_log ("You got a backpack full of ammo!")
		TNT1 A 0 a_playsound ("doomslayer/bigitem",CHAN_ITEM)
		TNT1 A 0 a_setblend (FFFF00,0.1,5)
		TNT1 A 0 a_jumpifinventory ("backpack", 1, "nohelpslayer")
		TNT1 A 0 a_giveinventory ("backpack",1)
		TNT1 A 1
		stop
	nohelpSlayer:
		TNT1 A 0
		TNT1 A 1 a_giveinventory ("backpack",1)
		stop
	}
}

actor BlazPouchSprite : GMOTAweaponsprite
{
	Scale 1.5
    VisibleToPlayerClass LordBlaz
    States
    {
	spawn:
		TNT1 A 0
		PUPG A 1 bright
		TNT1 A 0 a_warp (AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
		TNT1 A 0 a_checkflag ("SPECIAL","spawn",AAPTR_TARGET)
		PUPG A 1 bright
		goto death
	death:
		TNT1 A 1
		stop
    }
}

actor DoomSlayerBackpackSprite : GMOTAweaponsprite
{
    VisibleToPlayerClass DoomSlayer
    States
    {
	spawn:
		TNT1 A 0
		DSBP A 1 bright
		TNT1 A 0 a_warp (AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
		TNT1 A 0 a_checkflag ("SPECIAL","spawn",AAPTR_TARGET)
		DSBP A 1 bright
		goto death
	death:
		TNT1 A 1
		stop
	}
}


actor packdrop : GMOTABackpack
{
	+DROPPED
}


actor pouchupgrade : inventory
{inventory.maxamount 1}

actor itemtoken : inventory
{inventory.maxamount 1}

actor blinktimer : inventory
{inventory.maxamount 15}


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


//Doomslayer ammo
actor spikes : ammo
{
	inventory.amount 10
	inventory.maxamount 180
	ammo.backpackamount 50
	ammo.BackpackMaxAmount 240
	Inventory.Icon "PICNA0"
	states
	{
	spawn:
		PICN A -1
		stop
	}
}

actor maceorbs : ammo
{
	inventory.amount 10
	inventory.maxamount 40
	ammo.backpackamount 15
	ammo.BackpackMaxAmount 80
	Inventory.Icon "PICNA0"
	states
	{
	spawn:
		PICN A -1
		stop
	}
}

actor wrathrockets : ammo
{
	inventory.amount 10
	inventory.maxamount 30
	ammo.backpackamount 15
	ammo.BackpackMaxAmount 60
	Inventory.Icon "PICNA0"
	states
	{
	spawn:
		PICN A -1
		stop
	}
}

actor firegems : ammo
{
	inventory.amount 10
	inventory.maxamount 200
	ammo.backpackamount 80
	ammo.BackpackMaxAmount 400
	Inventory.Icon "PICNA0"
	states
	{
	spawn:
		PICN A -1
		stop
	}
}

actor bombammo : ammo
{
	inventory.amount 1
	inventory.maxamount 9
	ammo.backpackamount 0
	ammo.BackpackMaxAmount 9
	Inventory.Icon "PICNA0"
	states
	{
	spawn:
		PICN A -1
		stop
	}
}

actor daggerammo : ammo
{
	inventory.amount 1
	inventory.maxamount 9
	ammo.backpackamount 0
	ammo.BackpackMaxAmount 9
	Inventory.Icon "PICNA0"
	states
	{
	spawn:
		PICN A -1
		stop
	}
}

