
Actor CAChaingun : custominventory replaces chaingun
{
	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 ("VultureSMGSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("DefianceSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("MoonBeamSprite",0,0,0,CMF_AIMDIRECTION)
        TNT1 A 0 a_custommissile ("CrisSwordSprite",0,0,0,CMF_AIMDIRECTION)
		DSCR D -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 ("VultureSMG",1,"CollabAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("VultureSMG", 1)
		TNT1 A 0 a_giveinventory ("Clip", 20)
		stop
	CollabAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("clip",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("VultureSMG", 1)
		TNT1 A 0 a_giveinventory ("Clip", 20)
		stop
	
//Blastmaster Mk. 2
	GiveBlastMaster:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BMmachinegun",1,"BlastAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("BMmachinegun", 1)
		TNT1 A 0 a_giveinventory ("Clip", 20)
		stop
	BlastAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Clip",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("BMmachinegun", 1)
		TNT1 A 0 a_giveinventory ("Clip", 20)
		stop
	
//Tech Monk		
	GiveTechMonk:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("MoonBeam",1,"MonkAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("MoonBeam", 1)
		TNT1 A 0 a_giveinventory ("Clip", 20)
		stop
	MonkAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Clip",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("MoonBeam", 1)
		TNT1 A 0 a_giveinventory ("Clip", 20)
		stop
		
//Past Linked	
	GivePastLinked:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("CrisSword",1,"LinkedAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("CrisSword", 1)
		TNT1 A 0 a_giveinventory ("Clip", 20)
		stop
	LinkedAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Clip",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("CrisSword", 1)
		TNT1 A 0 a_giveinventory ("Clip", 20)
		stop

	Noget:
		TNT1 A 0
		TNT1 A 0
		fail
	ThisWasDropped:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CAChainGunDrop", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_TRANSFERPOINTERS, 0, tid)
		Stop
	}
}

Actor CAChainGunDrop : CAChainGun
{
	+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 ("VultureSMG",1,"CollabAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("VultureSMG", 1)
		TNT1 A 0 a_giveinventory ("Clip", 10)
		stop
	CollabAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("clip",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("VultureSMG", 1)
		TNT1 A 0 a_giveinventory ("Clip", 10)
		stop
	
//Blastmaster Mk. 2
	GiveBlastMaster:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BMmachinegun",1,"BlastAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("BMmachinegun", 1)
		TNT1 A 0 a_giveinventory ("Clip", 10)
		stop
	BlastAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Clip",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("BMmachinegun", 1)
		TNT1 A 0 a_giveinventory ("Clip", 10)
		stop
	
//Tech Monk		
	GiveTechMonk:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("MoonBeam",1,"MonkAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("MoonBeam", 1)
		TNT1 A 0 a_giveinventory ("Clip", 10)
		stop
	MonkAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Clip",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("MoonBeam", 1)
		TNT1 A 0 a_giveinventory ("Clip", 10)
		stop
		
//Past Linked	
	GivePastLinked:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("CrisSword",1,"LinkedAmmocheck")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("CrisSword", 1)
		TNT1 A 0 a_giveinventory ("Clip", 10)
		stop
	LinkedAmmocheck:
		TNT1 A 0
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("Clip",0,"Noget")
		TNT1 A 0 ACS_NamedExecuteAlways("WeaponLog",0,3,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 ("CrisSword", 1)
		TNT1 A 0 a_giveinventory ("Clip", 10)
		stop
	}
}

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



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

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

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


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