//Boomerang

actor BoomerangWeapon : subweaponcandle
{
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 A_CustomMissile ("BlazBoomerangSprite",0,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile ("DoomslayerFlashBombSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 A_CustomMissile ("KustamRailBeamSprite",0,0,0,CMF_AIMDIRECTION)
		Goto spawn1	
	Pickup2:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory ("IamLordBlaz",1,"Blaz")
		TNT1 A 0 A_JumpIfInventory ("IamDoomSlayer",1,"DoomSlayer")
		TNT1 A 0 A_JumpIfInventory ("IamKustam",1,"Kustam")
		TNT1 A 1
		stop
	Blaz:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 A_SetBlend (FFFF00,0.1,5)
		TNT1 A 0 A_PlaySound ("powerups/subweapon",CHAN_ITEM)
		TNT1 A 0 ACS_NamedExecuteAlways("SubLog",0,5,0,0)
		//TNT1 A 0 a_log ("Boomerang Subweapon!")
		TNT1 A 0 A_JumpIfInventory ("BoomerangCheck", 1, "GiveAmmo")
		TNT1 A 0 A_GiveInventory ("BoomerangCheck", 1)
		TNT1 A 0 A_GiveInventory ("SubweaponReload",100)
		TNT1 A 0 A_GiveInventory ("SubweaponPower",100)
		TNT1 A 0 A_TakeInventory ("LanceCheck", 99)
		TNT1 A 0 A_TakeInventory ("MattockCheck", 99)
		TNT1 A 0 A_TakeInventory ("ShieldCheck", 99)	
		TNT1 A 0 A_TakeInventory ("DaggerCheck", 99)
		TNT1 A 0 A_TakeInventory ("FireBottleCheck", 99)
		TNT1 A 0 A_TakeInventory ("HammerCheck", 99)
		stop
	GiveAmmo:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory ("SubweaponReload",100)
		TNT1 A 0 A_GiveInventory ("SubweaponPower",100)
		stop
	Doomslayer:
		TNT1 A 0
		TNT1 A 0 A_SetBlend (FFFF00,0.1,5)
		TNT1 A 0 A_PlaySound ("doomslayer/subpickup",CHAN_ITEM)
		TNT1 A 0 ACS_NamedExecuteAlways("SubLog",0,0,0,0)
		TNT1 A 0 A_GiveInventory ("BombCasterCharge",999)
		TNT1 A 0 A_JumpIfInventory ("SlayerFlashBombCheck", 1, "GiveSlayerAmmo")
		TNT1 A 0 A_TakeInventory ("BombCasterAmmo", 99)
		TNT1 A 0 A_TakeInventory ("SlayerFireBombCheck", 99)
		TNT1 A 0 A_TakeInventory ("SlayerThunderBombCheck", 99)
		TNT1 A 0 A_GiveInventory ("BombCasterAmmo", 3)
		TNT1 A 0 A_GiveInventory ("SlayerFlashBombCheck", 1)
		stop
	GiveSlayerAmmo:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory ("BombCasterAmmo", 3)
		stop
	Kustam:
		TNT1 A 0
		TNT1 A 0 A_SetBlend (FFFF00,0.1,5)
		TNT1 A 0 A_PlaySound ("Kustam/SubweaponGet",CHAN_ITEM)
		TNT1 A 0 ACS_NamedExecuteAlways("SubLog",0,1,0,0)			
		TNT1 A 0 A_TakeInventory ("KustamEquipmentCooldown",999)
		TNT1 A 0 A_JumpIfInventory ("RailBeamCheck", 1, "GiveKustamAmmo")
		TNT1 A 0 A_TakeInventory ("KustamSubAmmo",99)
		TNT1 A 0 A_TakeInventory ("FlashBoltcheck",99)
		TNT1 A 0 A_TakeInventory ("TurretShotCheck",99)
		TNT1 A 0 A_TakeInventory ("ThunderLashCheck", 99)	

		TNT1 A 0 A_GiveInventory ("RailBeamCheck", 1)
		TNT1 A 0 A_GiveInventory ("KustamSubAmmo", 3)
		stop
	GiveKustamAmmo:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory ("KustamSubAmmo", 3)
		stop
	}
}

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

//Blaz
actor BlazBoomerangSprite : GMOTAweaponsprite
{
	+floatbob
    VisibleToPlayerClass LordBlaz
    States
    {
	spawn:
		TNT1 A 0
		BMCN 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)
		BMCN A 1 bright
		Goto death
	death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("Blazwinkout")
		stop
    }
}

actor BoomerangCheck : Inventory
{inventory.maxamount 1}
