
Actor CARocketLauncher : custominventory replaces RocketLauncher
{
	Radius 14
	Height 14
	+quiet
	-DONTGIB
	-SPECIAL
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 a_jumpif(CallAcs("DroppedWeapon",0,0,0) == 0,"ThisWasDropped")
		TNT1 A 0 A_ChangeFlag ("SPECIAL", 1)
		TNT1 A 1 a_jump (256, "Spawn1")
		Goto Spawn1
	Spawn1:
		TNT1 A 0
		TNT1 A 0 a_custommissile ("CyclopsSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("BMGrenaderSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("ClashBallSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("BombBagSprite",0,0,0,CMF_AIMDIRECTION)
		DSCR E -1 Bright
		Wait
	Pickup:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory ("IamArtificer",1,"GiveArtificer")
		TNT1 A 0 A_JumpIfInventory ("IamBlastMaster",1,"GiveBlastMaster")
		TNT1 A 0 A_JumpIfInventory ("IamTechMonk",1,"GiveTechMonk")
		TNT1 A 0 A_JumpIfInventory ("IamPastLinked",1,"GivePastLinked")
		TNT1 A 1
		stop
	
//Artificer
	GiveArtificer:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("CyclopsCannon",1,"CollabAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("CyclopsCannon", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 2)
		stop
	CollabAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("rocketammo",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("CyclopsCannon", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 2)
		stop
	
//BlastMaster Mk 2
	GiveBlastMaster:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BMGrenader",1,"BlastAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("BMGrenader", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 2)
		stop
	BlastAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Rocketammo",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("BMGrenader", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 2)
		stop

//Tech Monk
	GiveTechMonk:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("ClashBall",1,"MonkAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("ClashBall", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 2)
		stop
	MonkAmmoCheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Rocketammo",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("ClashBall", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 2)
		stop

//Past Linked
	GivePastLinked:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BombBag",1,"LinkedAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 2)
		TNT1 A 0 a_giveinventory ("BombBag", 1)
		stop
	LinkedAmmoCheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Rocketammo",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 2)
		stop
	
	Noget:
		TNT1 A 0
		TNT1 A 0
		fail
	ThisWasDropped:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CARocketLauncherDrop", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_TRANSFERPOINTERS, 0, tid)
		stop
	}
}

Actor CARocketLauncherDrop : CARocketLauncher
{
	+DROPPED
	+SPECIAL
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 1 a_jump (256, "Spawn1")
		goto Spawn1

//Artificer
	GiveArtificer:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("CyclopsCannon",1,"CollabAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("CyclopsCannon", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 1)
		stop
	CollabAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("rocketammo",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("CyclopsCannon", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 1)
		stop
	
//BlastMaster Mk 2
	GiveBlastMaster:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BMGrenader",1,"BlastAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("BMGrenader", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 1)
		stop
	BlastAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Rocketammo",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("BMGrenader", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 1)
		stop

//Tech Monk
	GiveTechMonk:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("ClashBall",1,"MonkAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("ClashBall", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 1)
		stop
	MonkAmmoCheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Rocketammo",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("ClashBall", 1)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 1)
		stop

//Past Linked
	GivePastLinked:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BombBag",1,"LinkedAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 1)
		TNT1 A 0 a_giveinventory ("BombBag", 1)
		stop
	LinkedAmmoCheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Rocketammo",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,4,0,0)	
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("RocketAmmo", 1)
		stop
	}
}



//===============================================================================
//===============================================================================
//WEAPON SPRITES
//===============================================================================
//===============================================================================

actor BombBag : inventory
{inventory.maxamount 1}


actor CyclopsSprite : CAWeaponSprite
{
    VisibleToPlayerClass Artificer
	scale 1
    States
    {
	spawn:
		TNT1 A 0
		CGPU 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)
		CGPU A 1 bright
		goto death
	death:
		TNT1 A 1
		stop
    }
}

actor BMGrenaderSprite : CAWeaponSprite
{
    renderstyle translucent
	XScale 1
	Yscale 0.70
	alpha 0.50
    VisibleToPlayerClass Blastmaster
    States
    {
	spawn:
		TNT1 A 0
		GGPU 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)
		GGPU A 1 bright
		goto death
	death:
		TNT1 A 1
		stop
    }
}

actor ClashBallSprite : CAWeaponSprite
{
    VisibleToPlayerClass TechMonk
	scale 1
    States
    {
	spawn:
		TNT1 A 0
		TKPU D 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)
		TKPU D 1 bright
		goto death
	death:
		TNT1 A 1
		stop
    }
}

actor BombBagSprite : CAWeaponSprite
{
    VisibleToPlayerClass PastLinked
	scale 1
    States
    {
	spawn:
		TNT1 A 0
		PLPU E 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)
		PLPU E 1 bright
		goto death
	death:
		TNT1 A 1
		stop
    }
}
