/// This weapon shares the same kill not counting issue as the Flak Cannon.

Actor GezzdtRazorJack : UWeapon
{
	Weapon.SelectionOrder 1100
	Weapon.SlotNumber 5
	Weapon.AmmoType "RJBlades"
	Weapon.AmmoUse 1
	Weapon.AmmoGive 15
	Weapon.AmmoType2 "RJBlades"
	Weapon.AmmoUse2 1
	Weapon.AmmoGive2 0
	Inventory.PickupMessage "You got the RazorJack"
	Obituary "%k took a bloody chunk out of %o with the Razorjack."
	Tag "Razor Jack"
	Inventory.Icon "1001E0"
	decal ""
	scale 0.1
	States
		{
		Select:
			TNT1 A 0 A_PlaySound("TurokRageWars/Weapons/TekCrossbowUp",6)
			RJAF I 1 Offset(-67, 100)
			TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			RJAF H 1 Offset(-54, 81)
			TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			RJAF G 1 Offset(-32, 69)
			TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			RJAF F 1 Offset(-22, 58)
			TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			RJAF E 1 Offset(-10, 47)
			TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			RJAF D 1 Offset(-7, 39)
			TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			RJAF C 1 Offset(-2, 34)
			TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			RJAF B 1 A_Raise
			goto Ready
		Deselect:
			"####" "#" 0 a_playsound ("weapons/holster", 0)
			"####" "#" 0 A_WeaponReady(WRF_NOFIRE|WRF_NoSwitch)
			"####" "#" 1 A_Lower
			wait
		Ready:
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA A 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA B 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA C 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA D 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA E 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA F 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA G 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA H 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA I 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA J 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA K 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA L 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA M 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA N 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA O 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA P 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA Q 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA R 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA S 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA T 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA U 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA V 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA W 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA X 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA Y 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIA Z 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB A 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB B 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB C 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB D 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB E 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB F 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB G 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB H 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB I 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB J 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB K 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB L 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB M 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB N 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB O 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB P 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB Q 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB R 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB S 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB T 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB U 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB V 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB W 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB X 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB Y 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIB Z 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC A 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC B 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC C 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC D 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC E 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC F 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC G 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC H 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC I 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC J 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC K 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC L 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC M 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC N 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC O 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC P 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC Q 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC R 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC S 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC T 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC U 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC V 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC W 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC X 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC Y 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJIC Z 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID A 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID B 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID C 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID D 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID E 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID F 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID G 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID H 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID I 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID J 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID K 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID L 1 A_WeaponReady
			TNT1 A 0 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJID M 1 A_WeaponReady
			loop
		Fire:
			TNT1 A 0 A_PlaySound("razorjack/fire",6)
			TNT1 A 0 A_FireCustomMissile("RJBlade")
			RJFR ABCDEFGHIJKLMN 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			goto Ready
		AltFire:
			RJAF ABCDEFGHIJKLMNOP 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			TNT1 A 0 A_PlaySound("razorjack/fire",6)
			TNT1 A 0 A_FireCustomMissile("RJBlade2")
			RJAF QRSTUVWXYZ 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJBF ABCDEFG 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			TNT1 A 0 A_Refire("AltFireloop")
		AltFireend:
			RJBF HIJKLMNOPQ 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJBF R 9 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJBF STUVWX 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			goto Ready
		AltFireloop:
			RJBF H 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJAL AB 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			TNT1 A 0 A_PlaySound("razorjack/fire",6)
			TNT1 A 0 A_FireCustomMissile("RJBlade2")
			RJAF TUVWXYZ 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			RJBF ABCDEFG 1 A_FireBullets(0,0,1,0,"Laser", FBF_NORANDOMPUFFZ)
			TNT1 A 0 A_Refire("AltFireloop")
			goto AltFireend
		Spawn:
			RJPU P -1
			stop
		}
}

ACTOR Laser
{ 
    Mass 0
    Radius 1
    Height 1
    +NOBLOCKMAP
    +NOGRAVITY
    +BLOODLESSIMPACT
    +ALWAYSPUFF
    +PUFFONACTORS
    +DONTSPLASH
    States
    {
    Spawn:
      LASR A 0
	  LASR A 0 ACS_NamedExecute("getLaserCoords",0,x,y,z)
      LASR A 1 BRIGHT
      Stop
    }
}

ACTOR RJBlade
{
	Radius 8
	Height 2
	Speed 30
	Damage (30)
	scale 0.3
	gravity 0.05
	Projectile
	BounceType "grenade"
	bouncesound "razorjack/bounce"
	bouncefactor 1
	wallbouncefactor 1
	Obituary "%k took a bloody chunk out of %o with the Razorjack."
	bouncecount 6
	+BLOODSPLATTER
	+USEBOUNCESTATE
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("razorjack/fly",7,1,1,10)
	Spawnloop:
		RJBL BB 0 A_SpawnitemEx("Bladetrail",-1,0,0,2)
		RJBL BC 2
		loop
	Bounce:
		"####" "#" 0
		"####" "#" 1 A_SpawnitemEx("Bladetrail",-1,0,0,2)
		goto spawnloop
	Death:
		TNT1 A 0 A_Stopsound(7)
		stop
	XDeath:
		"####" "#" 1 A_PlaySound("razorjack/hit",6)
		TNT1 A 0 A_Stopsound(7)
		stop
	}
}

ACTOR RJBlade2 : RJBlade
{
	speed 20
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("razorjack/fly",7,1,1,10)
		TNT1 A 0 ACS_NamedExecuteAlways("rocketFollow",0,0,0,0)
	Spawnloop:
		RJBL DD 0 A_SpawnitemEx("Bladetrail2",-1,0,0,2)
		RJBL DE 2
		loop
	Bounce:
		"####" "#" 0
		"####" "#" 0 ACS_NamedExecuteAlways("rocketFollow",0,0,0,0)
		"####" "#" 1 A_SpawnitemEx("Bladetrail2",-1,0,0,2)
		goto spawnloop
	Death:
		TNT1 A 0 ACS_NamedExecuteAlways("rocketCleanup",0,0,0,0)
		TNT1 A 0 A_Stopsound(7)
		stop
	XDeath:
		TNT1 A 0 ACS_NamedExecuteAlways("rocketCleanup",0,0,0,0)
		"####" "#" 1 A_PlaySound("razorjack/hit",6)
		TNT1 A 0 A_Stopsound(7)
		stop
	}
}

ACTOR Bladetrail
{
	+NOGRAVITY
	+LOWGRAVITY
	+FORCEXYBILLBOARD
	renderstyle translucent
	alpha 0.3
	speed 0
	scale 0.25
	states
		{
		Spawn:
			RJBL BCBCBC 2 A_Fadeout(0.1)
			wait
		}
}

ACTOR Bladetrail2 : Bladetrail
{
	states
		{
		Spawn:
			RJBL DEDEDE 2 A_Fadeout(0.1)
			wait
		}
}