/*

true leg bfg sprites: lca team (modified)
true leg bfg sounds: russian overkill (modified)
true leg bfg firing sound: croteam (serious tfe/tse)

true leg bfg upgrade pickup sound: croteam (serious sam tse)
true leg bfg upgrade item sprites: Id Software, Rogue Entertainment, Captain Toenail

*/

//TRUE LEGENDARY UPGRADE

Actor PlayerLaserBeam : LegCyberLaserBeam
{
+NODAMAGETHRUST
+FORCERADIUSDMG
+THRUSPECIES
+MTHRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Player"
Damagetype "LegendaryGuruPlayer"
States
	{
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetUserVar("user_boomc", 0)
		TNT1 A 0 A_SpawnItemEx("powbolt_boomflash",0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("powbolt_boomflashB",0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("powbolt_boom",0,0,0, 0,0,0)
		TNT1 A 0 A_SpawnItemEx("powbolt_boom2",0,random(60,70),50,0,0,0)
		TNT1 A 0 A_SpawnItemEx("powbolt_boom3",0,random(-70,-60),-50,0,0,0)
		TNT1 A 0 A_SpawnItemEx("pbolt_boomwave",0,0,0,0,0,0)
		TNT1 A 0 Bright A_Quake(5,20,0,864,"None")
		TNT1 A 0 Bright A_Explode(850,128,0)
		Goto Boom
	Boom:
		TNT1 A 0 Bright A_JumpIf(user_boomc>=5,"Boom2")
		TNT1 A 0 Bright A_Explode(128,32,0)
		TNT1 A 1 Bright A_SetUserVar("user_boomc",user_boomc + 1)
		Loop
	Boom2:
		TNT1 A 0 Bright A_SetUserVar("user_boomc",0)
		TNT1 A 0 Bright A_SpawnItemEx("pbolt_boomwave",0,0,0,0,0,0)
		Goto Boom2s
	Boom2s:
		TNT1 A 0 Bright A_JumpIf(user_boomc>=20,"boomend")
		TNT1 A 0 Bright A_Explode(128,32,0)
		TNT1 A 2 Bright A_SetUserVar("user_boomc",user_boomc + 1)
		Loop
	Boomend:
		TNT1 A 1 Bright
		Stop
	}
}

Actor PlayerTrueLaserBeam : TrueLegendaryLaserBeam
{
Scale 2.0
MissileType "TrueLegendaryLaserBeamTrailSpawner2"
Damage 125
-RIPPER
+FOILINVUL
+NODAMAGETHRUST
+THRUSPECIES
+MTHRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Player"
Damagetype "LegendaryGuruPlayer"
States
	{
	Death:
		TNT1 A 0
		TNT1 A 0 Radius_Quake(6,6,0,12,0)
		TNT1 A 0 A_Explode(512,64,0)
		T3FS ABCDEFGHIJKLMNOP 2 Bright A_FadeOut(0.06,1)
		Stop
	}
}

ACTOR TrueLegendaryLaserBeamTrail2 : TrueLegendaryLaserBeamTrail { Scale 3.0 }

ACTOR TrueLegendaryLaserBeamTrailSpawner2 : TrueLegendaryLaserBeamTrailSpawner
{
+FOILINVUL
+NODAMAGETHRUST
+FORCERADIUSDMG
+THRUSPECIES
+MTHRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
DamageType "LegendaryGuruPlayer"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode(256,64,0)
		TNT1 A 2 Bright A_SpawnItemEx("TrueLegendaryLaserBeamTrail2",random(-3,3),0,random(-3,3),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Stop
	}
}

Actor Nothing
{
+DONTSPLASH
+THRUSPECIES
+MTHRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 1 Bright
		Stop
	}
}

Actor PlayerTrueGuruBall : CardinalSpecialGuruBall
{
+NODAMAGETHRUST
+THRUSPECIES
+MTHRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Player"
Damagetype "LegendaryGuruPlayer"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Jump(128,"LEGBFGSFX")
		TNT1 A 0 Bright A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 Bright A_Explode(1000,160,0,1)
		TNT1 A 0 Bright A_CustomMissile("PlayerTrueDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_SpawnItemEx("BlueGuruTrailSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_CustomMissile("PlayerTrueDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_SpawnItemEx("BlueGuruTrail",-3,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		BBAL A 1 Bright
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("Weapons/GuruBlast3",5)
		//COLLATERAL DAMAGE EFFECTS
		TNT1 A 0 Bright A_Explode(15000,720,0,1)
		TNT1 A 0 Bright A_BFGSpray("BlueGuruSprayPlayer",25,40)
		//IMPACT STUFF
		TNT1 A 0 Bright A_SpawnItemEx("BlueGuruStruckGlowX",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueGuruStruckGlowY",0,0,10,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAAAAAAAAAA 0 Bright A_SpawnItemEx("PlayerTrueLegBfgSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),SXF_SETMASTER,0)
		TNT1 AAAAAAAAAAA 0 Bright A_SpawnItemEx("BlueGuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AAAAAAAAAAAAAAAAAAA 2 Bright A_SpawnItemEx("BlueGuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Stop
	}
}

Actor BlueGuruSprayPlayer : BlueGuruSpray
{
Species "Player"
Damagetype "LegendaryGuruPlayer"
+NODAMAGETHRUST
+FOILINVUL
+THRUSPECIES
+MTHRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BlueGuruSprayGlowX",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("BlueGuruSprayGlowY",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAAAAA 3 A_SpawnItemEx("BlueGuruSpraySpark",random(24,-24),random(24,-24),random(24,-24),0,0,0,0,SXF_CLIENTSIDE,0)
		Stop
	}
}

Actor PlayerTrueDevastatorBolt : LegCardDevastatorBolt
{
Reactiontime 525
+NODAMAGETHRUST
+SCREENSEEKER
+THRUSPECIES
+MTHRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Player"
Damagetype "LegendaryGuruPlayer"
States
	{
	Spawn:
		TNT1 A 0 Bright A_Seekermissile(25,25,SMF_LOOK)
		LBS1 A 1 Bright A_SpawnItemEx("BlueLegBoltTrail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_CountDown
		Loop
	}
}

Actor PlayerTrueLegBfgSmoke : CardinalGuruSphereSmoke
{
+NODAMAGETHRUST
+FOILINVUL
+THRUSPECIES
+MTHRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Player"
Damagetype "LegendaryGuruPlayer"
}

Actor TrueLegendaryBfgUpgrade : inventory //doesn't actually do anything, upgrade code is in the weapon itself
{
+COUNTITEM
+INVENTORY.UNDROPPABLE
+INVENTORY.HUBPOWER
+INVENTORY.PERSISTENTPOWER
Inventory.Amount 1
Inventory.MaxAmount 1
Inventory.Pickupsound "upgrade/pickup"
Inventory.Pickupmessage "\c[l5]True Legendary energy surges through your Legendary BFG...Party time!\c-"
States
	{
	Spawn:
		TUPG ABCDCB 2 Bright
		Loop
	}
}