/*

==LONGARM (KINETIC SCATTER GUN MODE)==
The other power source inside of the Longarm: A unique battery
that contains and transmits kinetic force and solid matter. 
Pairing it with the rifle to transforms it into a wide angled 
metallic scatter gun. This mode is best suited for dense crowds 
of targets, though closing the gap and making a target take the 
full force of all the pellets can prove to be effective.

Kustam can still draw from the energy battery to deploy a glaive 
for close combat in this mode. The blade is best used for wide
sweeping cuts, and features a piercing finishing strike. Slashing 
things with this beam glaive will harvest biomass from targets 
to help replenish kinetic ammunition.

If the metal supply runs empty, the battery is capable of generating
a charge to fire out a fan of biomass converting lasers.

It should be noted besides the stock and glaive, Kustam's legs are
also formidable weapons, his powerful kicks drive foes back 
and stun them, along with nearby foes. A successful kick can also
start Kustam's auto-repair systems, keeping his body in fighting 
condition even while in combat. Though these super charged kicks
drain from an auxiliary battery that'll need to be replenished after
a few attacks
*/

actor KustamKineticGun : KustamLaserGun
{
	Weapon.SelectionOrder 1600
	Tag "Kinetic shot"
	states
	{
	spawn:
		ESHT A -1
		stop
	Select:
		TNT1 A 0
		TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_Raise
		TNT1 A 1 A_Raise
		TNT1 A 0 A_JumpIfInventory ("KustamGlaiveActive", 1, "GlaiveReady")
		goto ready
	Ready:
		LL2M FGHI 1 A_WeaponReady (WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		Goto RealReady

	RealReady:
		TNT1 A 0 A_JumpIfInventory ("Gunarms",1,"Overclock")
		TNT1 A 0 A_JumpIfInventory ("BarrelToken",1,"BarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("GoldenBarrelToken",1,"GoldenBarrelEquip")
		LAM1 A 1 A_WeaponReady (WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		TNT1 A 0 A_JumpIfInventory ("BarrelToken",1,"BarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("GoldenBarrelToken",1,"GoldenBarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("Gunarms",1,"Overclock")
		loop
	Deselect:
		TNT1 A 0
		TNT1 A 0 A_GunFlash ("AllFlashEnd",GFF_NOEXTCHANGE)
		TNT1 A 0 A_JumpIfInventory ("BarrelToken",1,"BarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("GoldenBarrelToken",1,"GoldenBarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("KustamGlaiveActive",1,"BladeDown")
		TNT1 A 0 A_Jumpifhealthlower (1, "DeadLower")
		LM2L A 2
		TNT1 A 0 A_PlaySound ("Kustam/boltout",0)
		TNT1 A 0 A_PlaySound ("Kustam/pistolspin",0)
		LM2L BC 1		
		Goto Holster
	BladeDown:
		TNT1 A 0 A_TakeInventory ("KustamGlaiveActive",99)
		TNT1 A 0 A_PlaySound ("Kustam/ShieldDown",0)
		KLG7 ABDEH 1
		LM2L A 2
		TNT1 A 0 A_PlaySound ("Kustam/boltout",0)
		TNT1 A 0 A_PlaySound ("Kustam/pistolspin",0)
		LM2L BC 1		
		Goto Holster


	Fire:
		TNT1 A 0
		TNT1 A 0 A_GunFlash ("AllFlashEnd",GFF_NOEXTCHANGE)
		TNT1 A 0 A_JumpIfInventory ("BarrelToken", 1, "BarrelKick")
		TNT1 A 0 A_JumpIfInventory ("GoldenBarrelToken", 1, "GoldenBarrelKick")
		TNT1 A 0 A_JumpIfInventory ("SentinelForm", 1, "OCLaserStart")
		TNT1 A 0 A_GiveInventory ("UsingKustamPistol",1)
		TNT1 A 0 A_JumpIfInventory ("KustamGlaiveActive", 1, "GlaiveToShot")
		TNT1 A 0 A_JumpIfInventory ("KustamKineticReload",1,2)
		LAM1 A 1 A_JumpIfInventory ("KustamKineticBattery",1, "ScatterShot")
		TNT1 A 0 A_PlaySound ("Kustam/ReclaimBeamWindup",CHAN_WEAPON)
		LAM2 ABCD 1
		LAM2 ABCD 1
			//LAM1 B 1
			//LAM1 CC 1
			//LAM1 J 2
		LAM2 EF 1 Bright
		TNT1 A 0 A_PlaySound ("Kustam/ReclaimBeamShot",CHAN_WEAPON)
		
		TNT1 A 0 A_GunFlash ("ScatterBeamShot",GFF_NOEXTCHANGE)
		TNT1 A 0 A_FireBullets (0,0,1,0,"flickpuff",FBF_NOFLASH)
		LAM2 GHI 2 bright A_WeaponReady (WRF_NOFIRE|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		LAM2 J 2 A_WeaponReady (WRF_NOFIRE|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		LAM1 A 9 A_WeaponReady (WRF_NOPRIMARY|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		Goto RealReady
		
	
	GlaiveToShot:
		TNT1 A 0 A_PlaySound ("kustam/staffdown",0)
		TNT1 A 0 A_TakeInventory ("KustamGlaiveActive",99)
		KLG7 BDEH 1
		TNT1 A 0 A_JumpIfInventory ("KustamKineticReload",1,2)
		LAM1 A 1 A_JumpIfInventory ("KustamKineticBattery",1, "ScatterShot")
		TNT1 A 0 A_PlaySound ("Kustam/ReclaimBeamWindup",CHAN_WEAPON)
		LAM2 ABCD 1
		LAM2 ABCD 1
			//LAM1 B 1
			//LAM1 CC 1
			//LAM1 J 2
		LAM2 EF 1 Bright
		TNT1 A 0 A_PlaySound ("Kustam/ReclaimBeamShot",CHAN_WEAPON)

		TNT1 A 0 A_GunFlash ("ScatterBeamShot",GFF_NOEXTCHANGE)
		TNT1 A 0 A_FireBullets (0,0,1,0,"flickpuff",FBF_NOFLASH)
		LAM2 GHI 2 bright A_WeaponReady (WRF_NOFIRE|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		LAM2 J 2 A_WeaponReady (WRF_NOFIRE|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		LAM1 A 3 A_WeaponReady (WRF_NOPRIMARY|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		Goto RealReady		
	ScatterShot:
		TNT1 A 0
		TNT1 A 0 A_PlaySound ("Kustam/ventretract2",0,0.80)
		LAM1 B 1
		LAM1 CC 1
		TNT1 A 0 A_PlaySound ("Kustam/ClipInstall",0,0.50)
		LAM1 J 2
		LAM1 D 1 Bright
		TNT1 A 0 A_TakeInventory ("KustamGlaiveActive",99)
		KPS2 B 0 Bright A_PlaySound("Kustam/spreadshot", 1)
		TNT1 A 0 A_TakeInventory ("KustamKineticBattery",10)
		//TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet",-10)
		//TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet",10)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet",-6)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet",6)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet",0)
		TNT1 A 0 A_GunFlash ("PelletUpgradeCheck", GFF_NOEXTCHANGE)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_FireBullets (0,0,1,0,"flickpuff",FBF_NOFLASH)
		LAM1 E 1 Bright
		TNT1 A 0 A_GunFlash ("ComboUpgradeCheck", GFF_NOEXTCHANGE)
		TNT1 A 0 A_Quake (2, 6, 0, 32)
		LAM1 FGH 2 Bright
		TNT1 A 0 ACS_NamedExecuteAlways("KustamAmmoWarning",0,1,0,0)	
		Goto GunFireEnd

	//Gunflash states
	ScatterBeamShot:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory ("ReclaimatorBooster",1,"BoostedBeams")
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterBeam",-6)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterBeam",6)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterBeam",0)
		TNT1 A 1
		stop
	BoostedBeams:
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterBeam2",-6)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterBeam2",6)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterBeam2",0)
		TNT1 A 1
		stop
		
	PelletUpgradeCheck:
		TNT1 A 0
		TNT1 A 1 A_JumpIfInventory ("ScatterUpgrade",1,"ExtraPellets")
		Stop
	ExtraPellets:
		TNT1 A 0
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet",-12)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet",12)
		TNT1 A 1
		stop

	ComboUpgradeCheck:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 1 A_JumpIfInventory ("KustamScatterCombo", 45, "ComboVolley1")
		stop
	ComboVolley1:
		TNT1 A 0
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet2",-4)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet2",4)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet2",0)
		TNT1 A 0 A_JumpIfInventory ("KustamScatterCombo", 90, "ComboVolley2")
		TNT1 A 0 A_PlaySound ("Kustam/SpreadCombo1",0)
		TNT1 A 1
		Stop
	ComboVolley2:
		TNT1 A 0
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet2",-10)
		TNT1 A 0 Bright A_FireCustomMissile("KustamScatterPellet2",10)
		TNT1 A 0 A_PlaySound ("Kustam/SpreadCombo2",0)
		TNT1 A 1
		Stop
		
		
	GunFireEnd:
		LAM1 I 1
		LAM1 A 3 A_WeaponReady (WRF_NOPRIMARY|WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_NOBOB)
		Goto RealReady
		

	//------------------------------------------------------------------
	//------------------------------------------------------------------
	//Altfire attacks
	//------------------------------------------------------------------
	//------------------------------------------------------------------
	Altfire:
		TNT1 A 0
		TNT1 A 0 A_GunFlash ("AllFlashEnd",GFF_NOEXTCHANGE)
		TNT1 A 0 A_JumpIfInventory ("BarrelToken", 1, "BarrelCancel")
		TNT1 A 0 A_JumpIfInventory ("GoldenBarrelToken", 1, "GoldenBarrelCancel")
		TNT1 A 0 A_JumpIfInventory ("SentinelForm", 1, "OCKineticArmStart")
		TNT1 A 0 A_JumpIfInventory ("KustamGlaiveActive",1,"ReadiedGlaiveStrike")
		KLG1 AB 1
		TNT1 A 0 A_PlaySound ("Kustam/ShieldUp1",0)
		TNT1 A 0 A_PlaySound ("Kustam/ShieldUp2",0,0.15)
		KLG1 CCDD 1
		//TNT1 A 0 A_GiveInventory ("KustamGlaiveActive",1)
		Goto GlaiveAttack1
	
	
	//Glaive attacks
	ReadiedGlaiveStrike:
		KLG5 B 1
		KLG1 CCDD 1
	GlaiveAttack1:		
		KLG2 A 2
		TNT1 A 0 A_GiveInventory ("KustamGlaiveActive",1)
		TNT1 A 0 A_PlaySound ("Kustam/BeamGlaive",CHAN_WEAPON,0.60)
		TNT1 A 0 A_FireCustomMissile ("GlaiveStrike1",0,0,-23,5)
		TNT1 A 0 A_FireCustomMissile ("GlaiveStrike1",0,0,0,5)
		KLG2 B 1 A_FireCustomMissile ("GlaiveStrike1",0,0,23,5)
		KLG2 CDE 1
		TNT1 A 8
		TNT1 A 0 A_JumpIfInventory ("KustamLaserReload",1,"GlaiveReset")
		TNT1 A 0 A_Refire ("GlaiveAttack2")
		TNT1 A 5 A_WeaponReady (WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_NOSWITCH)
		Goto GlaiveReset
	GlaiveAttack2:
		KLG3 A 2
		TNT1 A 0 A_GiveInventory ("KustamGlaiveActive",1)
		TNT1 A 0 A_PlaySound ("Kustam/BeamGlaive",CHAN_WEAPON,0.60)
		TNT1 A 0 A_FireCustomMissile ("GlaiveStrike2",0,0,23,5)
		TNT1 A 0 A_FireCustomMissile ("GlaiveStrike2",0,0,0,5)
		KLG3 B 1 A_FireCustomMissile ("GlaiveStrike2",0,0,-23,5)
		KLG3 CDE 1
		TNT1 A 8
		TNT1 A 0 A_JumpIfInventory ("KustamLaserReload",1,"GlaiveReset")
		TNT1 A 0 A_Refire ("GlaiveAttack3")
		TNT1 A 5 A_WeaponReady (WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_NOSWITCH)
		Goto GlaiveReset


	/*
	GlaiveAttack1:		
		KSF7 GH 2
		TNT1 A 0 A_GiveInventory ("KustamGlaiveActive",1)
		KSF8 A 2
		KSF8 B 1
		TNT1 A 0 A_PlaySound ("Kustam/BeamGlaive",CHAN_WEAPON,0.60)
		TNT1 A 0 A_FireCustomMissile ("GlaiveStrike1",0,0,-14,1)
		TNT1 A 0 A_FireCustomMissile ("GlaiveStrike1",0,0,0,1)
		KSF8 C 1 A_FireCustomMissile ("GlaiveStrike1",0,0,14,1)
		KSF8 DE 1
		TNT1 A 6
		TNT1 A 0 A_JumpIfInventory ("KustamLaserReload",1,"GlaiveReset")
		TNT1 A 0 A_Refire ("GlaiveAttack2")
		TNT1 A 5 A_WeaponReady (WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_NOSWITCH)
		Goto GlaiveReset
	GlaiveAttack2:
		KSF9 A 2
		TNT1 A 0 A_GiveInventory ("KustamGlaiveActive",1)
		KSF9 B 1
		TNT1 A 0 A_PlaySound ("Kustam/BeamGlaive",CHAN_WEAPON,0.60)
		TNT1 A 0 A_FireCustomMissile ("GlaiveStrike2",0,0,14,1)
		TNT1 A 0 A_FireCustomMissile ("GlaiveStrike2",0,0,0,1)
		KSF9 C 1 A_FireCustomMissile ("GlaiveStrike2",0,0,-14,1)
		KSF9 DE 1
		TNT1 A 6
		TNT1 A 0 A_JumpIfInventory ("KustamLaserReload",1,"GlaiveReset")
		TNT1 A 0 A_Refire ("GlaiveAttack3")
		TNT1 A 5 A_WeaponReady (WRF_ALLOWRELOAD|WRF_ALLOWZOOM|WRF_NOSWITCH)
		Goto GlaiveReset
	*/


	GlaiveAttack3:
		TNT1 A 0 
		TNT1 A 0 A_JumpIfInventory ("GlaiveBoostModule",1,"GlaiveBoost")
		KLG4 A 2
		KLG4 B 1
		TNT1 A 0 A_TakeInventory ("KustamLaserBattery",10)
		TNT1 A 0 A_GunFlash ("GlaiveRingCheck1",GFF_NOEXTCHANGE)
		TNT1 A 0 A_RailAttack (200, 0, 0, none, none, RGF_SILENT | RGF_FULLBRIGHT, 0, "GlaiveHitParticle", 0, 0, 350, 10, 0, 0, "GlaiveBeamCore",-5)
		TNT1 A 0 A_PlaySound ("Kustam/BeamGlaiveStab",5)
		TNT1 A 0 A_PlaySound ("Kustam/BeamGlaiveStab",6)
		KLG4 C 1 
		TNT1 A 0 A_Recoil (-5)
		KLG4 DC 1
		KLG4 DE 2
		KLG4 E 2
		KLG4 FGH 2
		TNT1 A 0 A_GunFlash ("GlaiveDeployFlash",GFF_NOEXTCHANGE)
		KLG4 I 2
		TNT1 A 0 A_PlaySound ("Kustam/ShieldUp1",0)
		TNT1 A 0 A_PlaySound ("Kustam/ShieldUp2",CHAN_WEAPON,0.25)
		KLG4 J 1
		KLG4 KL 2
		//KSF0 FGHI 2
		goto GlaiveReady
			
	GlaiveBoost:
		KLG4 A 2
		KLG4 B 1
		TNT1 A 0 A_TakeInventory ("KustamLaserBattery",10)
		TNT1 A 0 A_RailAttack (200, 0, 0, none, none, RGF_SILENT | RGF_FULLBRIGHT, 0, "GlaiveHitParticle", 0, 0, 1050, 10, 0, 0, "GlaiveBeamCore",-5)
		TNT1 A 0 A_GunFlash ("GlaiveRingCheck2",GFF_NOEXTCHANGE)
		TNT1 A 0 A_PlaySound ("Kustam/BoostedGlaive",0)
		KLG4 C 1 
		TNT1 A 0 A_Recoil (-5)
		KLG4 DC 1
		KLG4 DE 2
		KLG4 E 2
		KLG4 FGHI 2
		KLG4 J 1
		KLG4 KL 2
		goto GlaiveReady
	
	
	//Flash states to check for the ring powerup
	GlaiveRingCheck1:
		TNT1 A 0
		TNT1 A 1 A_JumpIfInventory ("ATKringpowerup", 1, "ParticleGlaive1")
		Stop
	ParticleGlaive1:
		TNT1 A 0
		TNT1 A 1 A_FireCustomMissile ("GlaiveParticleSpawner1",0,0)
		stop

	GlaiveRingCheck2:
		TNT1 A 0
		TNT1 A 1 A_JumpIfInventory ("ATKringpowerup", 1, "ParticleGlaive2")
		Stop
	ParticleGlaive2:
		TNT1 A 0
		TNT1 A 1 A_FireCustomMissile ("GlaiveParticleSpawner2",0,0)
		stop



	GlaiveReset:
		TNT1 A 3 A_WeaponReady (WRF_NOSECONDARY|WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		KLG6 AB 1 A_WeaponReady (WRF_NOSECONDARY|WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		KLG4 H 2 A_WeaponReady (WRF_NOSECONDARY|WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		TNT1 A 0 A_GunFlash ("GlaiveDeployFlash",GFF_NOEXTCHANGE)
		KLG4 I 2 A_WeaponReady (WRF_NOSECONDARY|WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		TNT1 A 0 A_PlaySound ("Kustam/ShieldUp1",0)
		TNT1 A 0 A_PlaySound ("Kustam/ShieldUp2",CHAN_WEAPON,0.65)
		KLG4 J 1 A_WeaponReady (WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		KLG4 KL 2 A_WeaponReady (WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		//KSF7 ABCDE 1 A_WeaponReady (WRF_NOSECONDARY|WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		//KSF7 F 1 A_WeaponReady (WRF_NOSECONDARY|WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		goto GlaiveReady
	GlaiveReady:
		TNT1 A 0 A_JumpIfInventory ("Gunarms",1,"Overclock")
		TNT1 A 0 A_JumpIfInventory ("BarrelToken",1,"BarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("GoldenBarrelToken",1,"GoldenBarrelEquip")
		KLG4 L 1 A_WeaponReady (WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		TNT1 A 0 A_JumpIfInventory ("BarrelToken",1,"BarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("GoldenBarrelToken",1,"GoldenBarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("Gunarms",1,"Overclock")
		TNT1 A 0 A_JumpIfInventory ("KustamGlaiveActive",1,"GlaiveReady")
		Goto BackToGun
	BackToGun:
		TNT1 A 0 A_PlaySound ("Kustam/ShieldDown",0)
		KLG7 ABCDEFGH 1
		//KSF7 EDCBA 1
		Goto RealReady
	
	GlaiveDeployFlash:
		KLG9 AABCDE 1 bright
		TNT1 A 1 A_Jump (256,"AllFlashEnd")
		stop


	AuxAttackEnd:
		TNT1 A 0
		TNT1 A 2 A_WeaponReady (WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		TNT1 A 5 A_WeaponReady (WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		KLG8 ABCC 1 A_WeaponReady (WRF_NOBOB|WRF_ALLOWZOOM|WRF_ALLOWRELOAD)
		TNT1 A 0 A_JumpIfInventory ("BarrelToken",1,"BarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("GoldenBarrelToken",1,"GoldenBarrelEquip")
		TNT1 A 0 A_JumpIfInventory ("Gunarms",1,"Overclock")
		KLG8 D 1 A_WeaponReady (WRF_NOBOB|WRF_ALLOWZOOM|WRF_ALLOWRELOAD)
		TNT1 A 0 A_Jump (256,"RealReady")
		goto RealReady
	}
}



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




actor KustamScatterPellet
{
	+notimefreeze
	+FORCEXYBILLBOARD
	+thruspecies
	+dontblast
	+bright
	Projectile
	damage (30)
	species "Friendly"
	speed 40
	height 12
	radius 12
	Scale 2
	alpha 0.95
	+BLOODSPLATTER
	+NOEXTREMEDEATH
	+HITTRACER
	+PAINLESS
	//Decal ArtiDecal
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 A_Jump (80,2)
		TNT1 A 0 A_ChangeFlag ("Painless", FALSE)
		RBP1 A 3
		RBP1 B 3
	flying:
		RBP1 C 1
		loop
	Crash:
	Death:
		TNT1 A 0
		RBPT DHI 2
		stop
	XDeath:
		TNT1 A 0
		TNT1 A 0
		STBE B random(1,2)
		TNT1 A 0 A_JumpIfInventory ("HitTimer",1,3,AAPTR_TRACER)
		TNT1 A 0 A_GiveInventory ("HitTimer",1,AAPTR_TRACER)
		TNT1 A 0 A_PlaySound("Kustam/jabhit", 5)
		TNT1 A 0 A_Jump (200,2)
		TNT1 A 0 A_GiveToTarget ("SentinelCharge",Random(0,1))
		TNT1 A 0 A_JumpIfInTargetInventory ("ScatterComboUpgrade",1,"GiveScatterCombo")
		STBE CDE 2
		stop
	GiveScatterCombo:
		TNT1 A 0 A_GiveToTarget ("KustamScatterCombo",4)
		TNT1 A 0 A_GiveToTarget ("KustamScatterComboPause",1)
		STBE CDE 2
		stop
	}
}

actor KustamScatterPellet2 : KustamScatterPellet
{
	+painless
	damage (30)
	species "Friendly"
	speed 25
	height 8
	radius 8
	Scale 1
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		RBP1 A 3
		RBP1 B 3
	flying:
		RBP1 C 1
		loop
	XDeath:
		TNT1 A 0
		TNT1 A 0
		STBE B random(1,2)
		TNT1 A 0 A_JumpIfInventory ("HitTimer",1,3,AAPTR_TRACER)
		TNT1 A 0 A_GiveInventory ("HitTimer",1,AAPTR_TRACER)
		TNT1 A 0 A_PlaySound("Kustam/jabhit", 5)
		TNT1 A 0 A_Jump (220,2)
		TNT1 A 0 A_GiveToTarget ("SentinelCharge",Random(0,1))
		STBE CDE 2
		stop
	}
}



actor KustamScatterBeam : FastProjectile
{
	+notimefreeze
	+FORCEXYBILLBOARD
	+thruspecies
	+dontblast
	+bright
	Projectile
	damage (30)
	species "Friendly"
	speed 250
	height 12
	radius 12
	Scale 1
	alpha 0.95
	-BLOODSPLATTER
	+NOEXTREMEDEATH
	+HITTRACER
	//Decal ArtiDecal

    missileheight 8
	missiletype "GemBeamTrail"
	states
	{
	Spawn:
		TNT1 AA 1
		Stop
	Crash:
	Death:
		TNT1 A 0
		TNT1 A 1
		RBPT DHI 2
		stop
	XDeath:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 A_JumpIfInventory ("HitTimer",1,"NoSound",AAPTR_TRACER)
		STBE B random(1,2)
		TNT1 A 0 A_GiveInventory ("HitTimer",1,AAPTR_TRACER)
		TNT1 A 0 A_PlaySound("Kustam/jabhit", 5)
		TNT1 A 0 A_Jump (90,2)
		TNT1 A 0 A_GiveToTarget ("SentinelCharge",Random (0,1))
		TNT1 A 0 A_GiveToTarget ("KustamKineticBattery", 7)
		STBE CDE 2
		stop
	NoSound:
		TNT1 A 0
		STBE CDE 2
		stop
		
	}
}


actor KustamScatterBeam2 : KustamScatterBeam
{
	states
	{
	Spawn:
		TNT1 A 1
		TNT1 AA 1
		stop
	}
}


actor KustamScatterBeam3 : KustamScatterBeam
{
	states
	{
	Spawn:
		TNT1 A 1
		TNT1 A 1
		stop
	XDeath:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 A_JumpIfInventory ("HitTimer",1,"NoSound",AAPTR_TRACER)
		STBE B random(1,2)
		TNT1 A 0 A_GiveInventory ("HitTimer",1,AAPTR_TRACER)
		TNT1 A 0 A_PlaySound("Kustam/jabhit", 5)
		TNT1 A 0 A_GiveToTarget ("OCKineticAmmo", 15)
		STBE CDE 2
		stop
	NoSound:
		TNT1 A 0
		STBE CDE 2
		stop
	}
}

Actor HitTimer : Powerup
{
  Powerup.Duration 3
}





//=====================================================
//=====================================================
//Glaive ATTACKS
//=====================================================
//=====================================================


actor GlaiveStrike1 : fastprojectile
{
	Projectile
	projectilekickback 100
	speed 120
	damage (20)
	obituary "%o was slashed by %k's beam Glaive."
	-BLOODSPLATTER
	+Bloodlessimpact
	+thruspecies
	+dontblast
	+bright
	+noblood
	+NOEXTREMEDEATH
	+DONTREFLECT
	+HITTRACER
	species "friendly"
	height 8
	radius 8
	decal GlaiveDecal
	scale 0.80
	mass 1000000
	states
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0
		stop
	Crash:
	Death:
		TNT1 A 0
		TNT1 A 0 A_Stop
		TNT1 A 1
		TNT1 A 0 A_Quake (1,10,0,140,"silence")
		TNT1 A 0 A_PlaySound ("Kustam/staffjab",0,0.50)
		TNT1 A 0 A_PlaySound ("Kustam/FastSteam",CHAN_VOICE,0.40)
		TNT1 AAAA 0 A_SpawnItemEx ("GlaiveWallDebris",-5,0,2,random(-1,1),random(12,16),random(2,4),0,SXF_NOCHECKPOSITION,80)
		TNT1 AAAA 0 A_SpawnItemEx ("GlaiveWallDebris",-5,0,2,random(-1,1),random(12,16),random(-2,-4),0,SXF_NOCHECKPOSITION,80)
		//TNT1 AAAAA 0 A_SpawnItemEx ("GlaiveWallDebris",0,0,0,random(-1,1),random(-12,-16),random(2,4),0,SXF_NOCHECKPOSITION,80)
		SBH1 ABCDEE 1
		stop
	Xdeath:
		TNT1 A 0
		TNT1 A 0 A_Stop
		TNT1 A 1
		TNT1 A 0 A_JumpIfInventory ("HitTimer",1,3,AAPTR_TRACER)
		TNT1 A 0 A_PlaySound("Kustam/BeamGlaiveHit", 0)
		TNT1 A 0 A_PlaySound ("Kustam/FastSteam",CHAN_VOICE,0.80)
		TNT1 A 0 radius_quake (2,3,0,10,0)
		TNT1 A 0 A_GiveInventory ("HitTimer",1,AAPTR_TRACER)
		TNT1 A 0 A_Stop
		//TNT1 A 0 A_GiveToTarget ("BatonHeatExchanger",1)
		TNT1 A 0 A_JumpIfInTargetInventory ("KustamLaserReload", 1,2)
		TNT1 A 0 A_TakeFromTarget ("KustamLaserBattery",5)
		TNT1 A 0 A_GiveToTarget ("KustamKineticBattery",10)
		TNT1 A 0 A_GiveToTarget ("KustamScatterComboPause",1)
		SBH1 ABCDEE 1
		stop
	}
}


ACTOR GlaiveWallDebris
{
	Projectile
	speed 40
	+NOBLOCKMAP
	-NOGRAVITY
	+ALLOWPARTICLES
	+RANDOMIZE
	+NOTELEPORT
	+BRIGHT
	+PAINLESS
	+NOCLIP
	+THRUACTORS
	+CLIENTSIDEONLY
	+DOOMBOUNCE
	Bouncecount 2
	Damage (0)
	RenderStyle Add
	Alpha 0.5
	Scale 0.30
	Gravity 0.90
	Mass 5
	States
	{
	spawn:
		OCB1 A 5
		OCB1 A 1 A_ChangeFlag ("NOCLIP",0)
		OCB1 A 15
		OCB1 A 1 A_FadeOut(0.02)
		wait
	Death:
		TNT1 A 1
		stop
	}
}


//======================
//Left to right Glaive slash
//======================

Actor GlaiveStrike2 : GlaiveStrike1
{
	states
	{
	Crash:
	Death:
		TNT1 A 0
		TNT1 A 0 A_Stop
		TNT1 A 1 A_SetScale (-0.50,-0.50)
		TNT1 A 0 A_Quake (1,10,0,140,"silence")
		TNT1 A 0 A_PlaySound ("Kustam/staffjab",0,0.50)
		TNT1 A 0 A_PlaySound ("Kustam/FastSteam",CHAN_VOICE,0.40)
		TNT1 AAAA 0 A_SpawnItemEx ("GlaiveWallDebris",-5,0,2,random(-1,1),random(-12,-16),random(2,4),0,SXF_NOCHECKPOSITION,80)
		TNT1 AAAA 0 A_SpawnItemEx ("GlaiveWallDebris",-5,0,2,random(-1,1),random(-12,-16),random(-2,-4),0,SXF_NOCHECKPOSITION,80)
		SBH1 ABCDEE 1
		stop
	Xdeath:
		TNT1 A 0
		TNT1 A 0 A_Stop
		TNT1 A 1 A_SetScale (-0.80,-0.80)
		TNT1 A 0 A_JumpIfInventory ("HitTimer",1,3,AAPTR_TRACER)
		TNT1 A 0 A_PlaySound("Kustam/BeamGlaiveHit", 0)
		TNT1 A 0 A_PlaySound ("Kustam/FastSteam",CHAN_VOICE,0.80)
		TNT1 A 0 radius_quake (2,3,0,10,0)
		TNT1 A 0 A_GiveInventory ("HitTimer",1,AAPTR_TRACER)
		TNT1 A 0 radius_quake (2,3,0,10,0)
		TNT1 A 0 A_Stop
		//TNT1 A 0 A_GiveToTarget ("BatonHeatExchanger",1)
		TNT1 A 0 A_JumpIfInTargetInventory ("KustamLaserReload", 1,2)
		TNT1 A 0 A_TakeFromTarget ("KustamLaserBattery",4)
		TNT1 A 0 A_GiveToTarget ("KustamKineticBattery",8)
		TNT1 A 0 A_GiveToTarget ("KustamScatterComboPause",1)
		SBH1 ABCDEE 1
		stop
	}
}


Actor GlaiveHitParticle
{
	radius 3
	height 6
	speed .1
	Scale 1.5
	+nogravity
	+FLOORCLIP
	+bright
	+THRUSPECIES
	+DONTSPLASH
	+NOTELEPORT
	+ALWAYSPUFF
	+PUFFONACTORS
	+PUFFGETSOWNER
	+DONTREFLECT
	+HITTRACER
	species "friendly"
	states
	{
	spawn:
		RLBM CDCDCD 2
		stop
	Xdeath:
		TNT1 A 0 A_PlaySound ("Kustam/HVolleyHit",0)
		TNT1 A 0 A_SetScale (3)
		TNT1 A random(1,2)
		TNT1 A 0 A_Jump (100,"Flip1","Flip2","Flip3")
		TNT1 A 0 A_GiveToTarget ("KustamKineticBattery",5)
		TNT1 A 0 A_GiveToTarget ("KustamScatterComboPause",1)
		SSP3 ABCDE 2 
		stop
	Flip1:
		TNT1 A 0 
		TNT1 A 0 A_SetScale (ScaleX * -1, ScaleY)
		SSP3 ABCDE 2 
		stop
	Flip2:
		TNT1 A 0 
		TNT1 A 0 A_SetScale (ScaleX, ScaleY * -1)
		SSP3 ABCDE 2 
		stop
	Flip3:
		TNT1 A 0 
		TNT1 A 0 A_SetScale (ScaleX * -1, ScaleY * -1)
		SSP3 ABCDE 2 
		stop
	}
}


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


//Beam emitted on the Glaive combo finisher, turns blue with upgrade
ACTOR GlaiveBeamCore
{   
	+NOINTERACTION
	+NOGRAVITY
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+PUFFGETSOWNER
	+THRUSPECIES
	+bright
	Species "Friendly"
	RenderStyle Add
	Alpha 0.20
	Scale 2
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CheckRange (50,"Emit")
		TNT1 A 1
		stop
	Emit:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInTargetInventory ("GlaiveBoostModule", 1, "BEEGBeam")
		RSP2 A 1 A_SetScale (2,2) 
		TNT1 A 0 A_FadeIn (0.75)
		RSP2 A 1 A_SetScale (1.60,1.60) 
		RSP2 A 1 A_SetScale (1.20,1.20) 
		RSP2 A 1 A_SetScale (0.80,0.80) 
		RSP2 A 1 A_SetScale (0.40,0.40) 
		RSP2 A 2 A_SetScale (0.20,0.20) 
		RSP2 A 2 A_SetScale (0.10,0.10) 
		RSP2 A 2 A_SetScale (0.05,0.05) 
		Stop
	BEEGBeam:
		RSP2 A 1 A_SetScale (2.80,2.80) 
		TNT1 A 0 A_FadeIn (0.75)
		RSP2 A 1 A_SetScale (2.60,2.60) 
		RSP2 A 1 A_SetScale (2.20,2.20) 
		RSP2 A 1 A_SetScale (1.80,1.80) 
		RSP2 A 1 A_SetScale (0.90,0.90) 
		RSP2 A 2 A_SetScale (0.45,0.45) 
		RSP2 A 2 A_SetScale (0.20,0.20) 
		RSP2 A 2 A_SetScale (0.10,0.10) 
		RSP2 A 2 A_SetScale (0.05,0.05) 
		Stop
	}
}



ACTOR GlaiveParticleSpawner1 : Fastprojectile
{
	Projectile
	-BLOODSPLATTER
	+THRUSPECIES
	+DONTBLAST
	+FORCEPAIN
	+NOBLOOD
	+NOEXTREMEDEATH
	+RIPPER
	+DONTREFLECT
	+PAINLESS
	+FORCERADIUSDMG
	+HITTRACER
	+BRIGHT
	Species "Friendly"
	Radius 2
	Height 2
	RenderStyle Add
	Alpha 0.40
	Scale 1.20
	Speed 50
	
	ReactionTime 6
	states
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("RailPlasmaChain",Random (-5,5), Random (-5,5), Random (-5,5), 0,FRandom (-0.05,0.05),FRandom (-0.05,0.05), 0, SXF_TRANSFERPOINTERS,20)
		TNT1 A 0 A_Countdown 
		loop
	XDeath:
	Crash:
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR GlaiveParticleSpawner2 : GlaiveParticleSpawner1
{
	ReactionTime 30
}

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

//Slow effects

Actor SlowedEffect : custominventory
{
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	states
	{
	Pickup:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory ("SpiritSafety",1,"NoHit")
		TNT1 A 0 A_JumpIfInventory ("PowerSlowedStatus",1,"RefreshSlow")
		TNT1 A 0 ACS_NamedExecuteAlways("BatonSlower", 0, 0, 0, 0)		
		TNT1 A 0 A_GiveInventory ("SlowGiver",1)
		TNT1 A 0 A_ThrowGrenade ("SlowTracker",3)
	RefreshSlow:
		TNT1 A 0 A_GiveInventory ("SlowGiver",1)
		TNT1 A 1 A_GiveInventory ("SlowEffectSpawner",1)
		stop
	NoHit:
		TNT1 A 0
		TNT1 A 1
		stop
	}
}

actor SlowGiver : powerupgiver
{
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	powerup.type "SlowedStatus"
}


actor PowerSlowedStatus : powerspeed
{
	Powerup.Duration -5
	Speed 1
}

Actor SlowTracker
{
	+noclip
	+nointeraction
	+bright
	states
	{
	spawn:
		TNT1 A 0
        TNT1 A 1
		TNT1 A 0 A_GiveInventory ("SlowEffectSpawner",1,AAPTR_TARGET)
		TNT1 A 0 A_Warp (AAPTR_TARGET,10,0,10,0,WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE|WARPF_COPYINTERPOLATION)
		TNT1 A 0 A_JumpIfInTargetInventory ("PowerSlowedStatus",1,"Spawn")
		goto death
	death:
		TNT1 A 0
		TNT1 A 1 // A_GiveInventory ("SlowEnder",1,AAPTR_TARGET)
		stop
	}
}


actor SlowEffectSpawner : custominventory
{
	+inventory.alwayspickup
	+INVENTORY.AUTOACTIVATE
	states
	{
	pickup:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SlowedArrowFX",frandom(-20.0,20.0),frandom(-21.0,21.0),height,0,0,random(-5,-7),0,SXF_NOCHECKPOSITION | SXF_SETMASTER,120) 
		stop
	}
}

Actor SlowedArrowFX 
{
	projectile
	radius 3
	height 6
	speed .1
	renderstyle translucent
	Alpha 0.7
	scale 0.60
	+FLOORCLIP
	+bright
	+DONTSPLASH
	+NOTELEPORT
	+DONTBLAST
	+clientsideonly
	states
	{
	spawn:
		SLW1 A random (8,13)
		SLW1 A 3 A_ScaleVelocity (0.60)
		goto death
	death:
		TNT1 A 1
		stop
	}
}


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


//=====================================================
//=====================================================
//FLAMER ATTACKS
//=====================================================
//=====================================================

actor VentFlame
{
	+notimefreeze
	+FORCEXYBILLBOARD	
	+thruspecies	
	+bright
	+DOOMBOUNCE
	BounceCount 3
	Projectile
	damage (10)
	species "Friendly"
	speed 60
	height 12
	radius 12
    Scale 0.50
	deathsound "kustam/ventflame"
	+bloodlessimpact
	+NOEXTREMEDEATH
	Decal DoomImpScorch
	ProjectileKickBack 600
	states
	{
	Spawn:
		VNFR A 1 A_SpawnItemEx("VentFireEmber",frandom(-2,2),frandom(-2,2),frandom(-2,2),frandom(-1,1),frandom(-1,1),frandom(0,1))
		VNFR B 1 A_SpawnItemEx("VentFireEmber",frandom(-2,2),frandom(-2,2),frandom(-2,2),frandom(-1,1),frandom(-1,1),frandom(0,1))
		TNT1 A 0 A_ScaleVelocity (0.75)
		VNFR B 1 A_SpawnItemEx("VentFireEmber",frandom(-2,2),frandom(-2,2),frandom(-2,2),frandom(-1,1),frandom(-1,1),frandom(0,1))
		TNT1 A 0 A_ScaleVelocity (0.75)
		VNFR C 2 A_SpawnItemEx("VentFireEmber",frandom(-2,2),frandom(-2,2),frandom(-2,2),frandom(-1,1),frandom(-1,1),frandom(0,1))
		VNFR C 2 A_SpawnItemEx("VentFireEmber",frandom(-2,2),frandom(-2,2),frandom(-2,2),frandom(-1,1),frandom(-1,1),frandom(0,1))
		TNT1 A 0 A_Gravity
		goto Falling
	Falling:
		VNFR C 2 A_SpawnItemEx("VentFireEmber",frandom(-2,2),frandom(-2,2),frandom(-2,2),frandom(-1,1),frandom(-1,1),frandom(0,1))
		loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag ("NOGRAVITY",1)
		TNT1 AA 0 A_SpawnItemEx("VentFireEmber",frandom(-2,2),frandom(-2,2),frandom(-4,4),frandom(-1,1),frandom(-1,1),frandom(0,1))
		TNT1 AA 0 A_SpawnItemEx("VentFireEmber2",frandom(-16,16),frandom(-16,16),frandom(-16,16),frandom(-1,1),frandom(-1,1),frandom(0,1))
		//TNT1 A 0 A_PlaySound ("PastLinked/FireballMiss",0,1,0,1.50)
		VNFR CDE 2
		TNT1 A 0 A_SpawnItemEx ("SteamFX",random(-8,8),random(-8,8),random(-10,10),random(-60,60)/20.0,random(-60,60)/20.0,random(-60,60)/20.0,0,160)
		Stop
	XDeath:
		TNT1 A 0
		TNT1 AA 0 A_SpawnItemEx("VentFireEmber",frandom(-2,2),frandom(-2,2),frandom(-4,4),frandom(-1,1),frandom(-1,1),frandom(0,1))
		//TNT1 A 0 A_PlaySound ("PastLinked/FireballHit",0,1,0,1.50)
		TNT1 A 0 A_SetScale (0.80)
		TNT1 A 0 A_FadeOut (0.40)
		TNT1 A 0 A_ChangeFlag ("NOGRAVITY",1)
		VNFR EFG 2
		Stop
	}
}

ACTOR VentFireEmber
{
	+NOBLOCKMAP
	+NOGRAVITY
	+ALLOWPARTICLES
	+RANDOMIZE
	+NOTELEPORT
	Alpha 0.90
	Scale 0.70
	+clientsideonly
	Mass 5
	States
	{
	Spawn:
		VNF1 A 2 Bright A_FadeOut(0.1)
		VNF1 B 2 Bright A_FadeOut(0.1)
		VNF1 C 2 Bright A_FadeOut(0.1)
	fade:
		VNF1 D 2 Bright A_FadeOut(0.1)
		loop
	}
}

ACTOR VentFireEmber2
{
	+NOBLOCKMAP
	+NOGRAVITY
	+ALLOWPARTICLES
	+RANDOMIZE
	+NOTELEPORT
	renderstyle add
	alpha 0.99
	Scale 0.80
	+clientsideonly
	Mass 5
	States
	{
	Spawn:
		VNF1 D 2 Bright A_FadeOut(0.1)
		loop
	}
}


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



//=====================================================
//=====================================================
//STEAM STUFF
//=====================================================
//=====================================================


Actor SteamFXSpawner : CustomInventory
{ 
	States 
	{ 
	Pickup: 
		TNT1 A 0 
		TNT1 A 0 A_SpawnItemEx("SteamFX",frandom(-34.0,34.0),frandom(-34.0,34.0),frandom(30,46),0,0,2,0,SXF_NOCHECKPOSITION | SXF_SETMASTER) 
		TNT1 A 0 A_SpawnItemEx("SteamFX",frandom(-36.0,36.0),frandom(-36.0,36.0),frandom(30,46),0,0,2,0,SXF_NOCHECKPOSITION | SXF_SETMASTER) 
		TNT1 A 0 A_SpawnItemEx("SteamFX",frandom(-32.0,34.0),frandom(-32.0,32.0),frandom(30,46),0,0,2,0,SXF_NOCHECKPOSITION | SXF_SETMASTER) 
		stop 
	}
}

actor FastSteamFXSpawner
{
	radius 3
	height 6
	speed 50
	renderstyle translucent
	Alpha 0.5
	Scale 0.5
	+nogravity
	+FLOORCLIP
	+bright
	+DONTSPLASH
	+NOTELEPORT
	+clientsideonly
	states
	{
	spawn:
		TNT1 A 1
		goto death
	death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("SteamFX",frandom(-7.0,6.0),frandom(-5.0,4.0),frandom(2,4),2,0,2,0,SXF_NOCHECKPOSITION | SXF_SETMASTER) 
		TNT1 A 0 A_SpawnItemEx("SteamFX",frandom(-6.0,7.0),frandom(-4.0,6.0),frandom(1,3),3,0,2,0,SXF_NOCHECKPOSITION | SXF_SETMASTER) 
		TNT1 A 0 A_SpawnItemEx("SteamFX",frandom(-4.0,5.0),frandom(-6.0,4.0),frandom(3,5),1,0,2,0,SXF_NOCHECKPOSITION | SXF_SETMASTER) 
		stop
	}
}


Actor SteamFX 
{
	radius 3
	height 6
	speed .1
	renderstyle translucent
	Alpha 0.25
	Scale 0.5
	+nogravity
	+FLOORCLIP
	+bright
	+DONTSPLASH
	+NOTELEPORT
	+clientsideonly
	states
	{
	spawn:
		KSMO ABCD 2
		stop
	death:
		TNT1 A 1
		stop
	}
}


ACTOR KustamWeaponSmoke
{
	projectile
	RenderStyle Translucent
	speed 10
	-SOLID
	+NOBLOCKMAP
	+NOGRAVITY
	+NOCLIP
	+DONTSPLASH
	+NOTELEPORT
	+clientsideonly
	States
	{
	Spawn:
        TNT1 A 0
        TNT1 A 1 A_ScaleVelocity (0.60)
        TNT1 A 1 A_SpawnItemEx("SteamFX",frandom(-0.1,0.1),frandom(-0.1,0.1),frandom(-1.5,-1.5),frandom(0.5,5),frandom(-0.5,0.5),frandom(1,2),0,32)
        TNT1 A 1 A_SpawnItemEx("SteamFX",frandom(-0.1,0.1),frandom(-0.1,0.1),frandom(-1.5,-1.5),frandom(0.5,5),frandom(-0.5,0.5),frandom(1,2),0,32)
		Stop
	}
}


//-------------------------------------------------------------------------------------------


//=====================================================
//=====================================================
//TOKENS
//=====================================================
//=====================================================


Actor StockHit : Powerup
{
  Powerup.Duration 5
}

Actor BatonMiss : Powerup
{
  Powerup.Duration 5
}

Actor KustamGlaiveActive : Powerup
{
  Powerup.Duration -6
}
