//==ROCKET LAUNCHER==
//Blaz gets the Overload, which augments his stun shot
//so he can detonate stun crystals.

//Doomslayer is given the Wrath Caster, a rocket launcher that fires
//missiles powered by angry spirits, which can be unleashed
//by detonating them in the air manually

//Kustam unlocks manual flame venters while overheated,
//granting him a short range flame thrower to defend himself
//easier in melee

Actor GMOTARocketLauncher : custominventory replaces RocketLauncher
{
	Radius 14
	Height 14
	+quiet
    +DONTGIB
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 A_CustomMissile ("BlazOverloadSprite",0,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile ("DoomslayerLauncherSprite",0,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile ("KustamStaffSprite",0,0,0,CMF_AIMDIRECTION)
	spawn1:
		ITRO ABCDEFGH 1 Bright
		loop
	Pickup:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory ("IamLordBlaz",1,"BlazOverload")
		TNT1 A 0 A_JumpIfInventory ("IamDoomSlayer",1,"DoomSlayerLauncher")
		TNT1 A 0 A_JumpIfInventory ("IamKustam",1,"KustamStaff")
		TNT1 A 1
		stop
	BlazOverload:
		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 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)			
		TNT1 AAAA 0 A_GiveInventory ("BlazterEnergy",15)
		TNT1 A 0 A_GiveInventory ("OverloadUpgrade",1)
		TNT1 A 1 
		stop
	DoomslayerLauncher:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)			
		//TNT1 A 0 a_log ("You got the wrath caster!")
		TNT1 A 0 A_PlaySound ("misc/w_pkup",CHAN_ITEM)
		TNT1 A 0 A_SetBlend (FFFF00,0.1,5)
		TNT1 A 0 A_GiveInventory ("SlayerGrit",15)
		TNT1 A 0 A_GiveInventory ("Wrathcaster",1)
		TNT1 A 1
		stop
	KustamStaff:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)			
		//TNT1 A 0 a_log ("You got the Inferno Rifle!")
		TNT1 A 0 A_PlaySound ("Kustam/upgradeGet",CHAN_ITEM)
		TNT1 A 0 A_SetBlend (FFFF00,0.1,5)
		TNT1 A 0 A_GiveInventory ("KustamLaserBattery",10)
		TNT1 A 0 A_GiveInventory ("KustamKineticBattery",10)
		TNT1 A 0 A_GiveInventory ("SlowModule",1)
		TNT1 A 1
		stop
	}
}

//Blaz item token
actor OverloadUpgrade : inventory
{inventory.maxamount 1}

//Kustam item token
actor SlowModule : inventory
{inventory.maxamount 1}


//Item Sprites
actor BlazOverloadSprite : GMOTAweaponsprite
{
    VisibleToPlayerClass LordBlaz
    States
    {
	spawn:
		TNT1 A 0
		WBUG 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)
		WBUG A 1 bright
		goto death
	death:
		TNT1 A 1
		stop
    }
}

actor DoomSlayerLauncherSprite : GMOTAweaponsprite
{
    VisibleToPlayerClass DoomSlayer
    States
    {
	spawn:
		TNT1 A 0
		WCPU 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)
		WCPU A 1 bright
		goto death
	death:
		TNT1 A 1
		stop
    }
}

actor KustamStaffSprite: GMOTAweaponsprite
{
    VisibleToPlayerClass Kustam
    States
    {
	spawn:
		TNT1 A 0
		HCSS 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)
		HCSS A 1 bright
		goto death
	death:
		TNT1 A 1
		stop
    }
}

