//This stuff has 100% been stolen from GMOTA's weapon pickup code, which in
//turn was based on Final Doomer's pick up system. All hail Yholl,
//King Crimera Haxfucker etc etc.


actor CAWeaponSprite
{
	projectile
	Scale 1
	+NOCLIP
	+NOINTERACTION
	+CLIENTSIDEONLY
	+Dontblast
    -SOLID
    +DONTGIB
}

	

Actor CAChainsaw : custominventory replaces chainsaw
{
	Radius 14
	Height 14
	+quiet
    +DONTGIB
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
        TNT1 A 0 a_custommissile ("SkillAxeSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("MantisBunkerSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("StrikerBeamSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("BoomerangUpgradeSprite",0,0,0,CMF_AIMDIRECTION)
	spawn1:
		DSCR A 1 Bright
		loop
	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 ACS_NamedExecuteAlways("WeaponLog",0,0,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 ("skill", 50)
		TNT1 A 0 a_giveinventory ("skillaxe", 1)
		stop
	
//Blastmaster Mk. 2
	GiveBlastmaster:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,0,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 ("MantisBunker", 1)
		stop


//TechMonk
	GiveTechMonk:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,0,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 ("StrikerModule", 1)
		TNT1 A 0 a_print ("Hold altfire to power up!")
		TNT1 A 0 a_jumpifinventory ("StrikerModule",1,"NoHint")
		stop
	NoHint:
		TNT1 A 0
		stop

//Past Linked
	GivePastLinked:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,0,0,0)
		TNT1 A 0 a_jumpifinventory ("MagicalBoomerangToken",1, "GiveFireBoomerang")
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 a_giveinventory ("MagicalBoomerangToken", 1)
		stop
	GiveFireBoomerang:
		TNT1 A 0
		TNT1 A 0 a_setblend (FFFF00,0.1,3)
		TNT1 A 0 a_playsound ("misc/weaponget",CHAN_ITEM)
		TNT1 A 0 acs_namedexecutewithresult ("LinkedUpgrades")
		TNT1 A 0 a_giveinventory ("FireBoomerangToken", 1)
		stop
		

	}
}


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


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

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

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


actor StrikerModule : inventory
{inventory.maxamount 1}


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




actor MagicalBoomerangToken : inventory
{inventory.maxamount 1}

actor FireBoomerangToken : inventory
{inventory.maxamount 1}

