Actor LegendaryBFG10K : Weapon 16607
{
  +WEAPON.BFG
  +WEAPON.NOAUTOAIM
  Weapon.PreferredSkin "LegendaryBFG-Marine"
  Weapon.AmmoGive 200
  Weapon.AmmoType1 "LDemonAmmo"
  Weapon.AmmoType2 "LDemonAmmo"
  Weapon.AmmoUse1 3
  Weapon.AmmoUse2 15
  weapon.KickBack 90
  Weapon.SlotNumber 7
  Weapon.UpSound "Leg10k/Draw"
  Tag "Legendary BFG 10,000"
  Inventory.PickupSound "Leg10k/Draw"
  Inventory.PickupMessage "You picked up the Legendary BFG 10K! Primitive, new technology is at your disposal."
  States
  {
  Spawn:
	LB10 A -1
	Loop
  Select:
	TNT1 A 0 A_Raise
	LG10 A 1 A_Raise
	Loop
  Deselect:
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 0 A_TakeInventory("RailgunAction",1)
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
  DeselectLoop:
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_Lower
	LG10 A 1 A_Lower
	Loop
  Ready:
	TNT1 A 0 A_PlaySound("Weapons/GuruIdle",5,1.0,1)
	LG10 A 1 A_WeaponReady
	Loop
  Leg10kDone:
	TNT1 A 0 A_PlaySound("weapons/bfg15kcooldown",5) 
	LG12 ABCDEFGHIJKL 3
	Goto Ready
  Fire:
	TNT1 A 0 A_PlaySound("weapons/charge15k",1,5)
	TNT1 A 0 Radius_Quake(3,30,0,1,0)
	LG10 BCDEF 6 Bright
  FireLoop:
	LG10 GH 1 Bright
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire",1)
	TNT1 A 0 A_FireCustomMissile("LegPlayer10KProjectile",frandom(-1,1),1,0,0,0,frandom(-1,1))
	TNT1 A 0 A_GunFlash
	TNT1 A 0 Radius_Quake(6,3,0,1,0)
	LG10 IJ 1 Bright
	TNT1 A 0 A_JumpIfNoAmmo("Leg10kDone")
	TNT1 A 0 A_Refire("FireLoop")
	Goto Leg10kDone
  AltFire:
	TNT1 A 0 A_PlaySound("EnragedDTech/Charge",1,5)
	TNT1 A 0 Radius_Quake(3,30,0,1,0)
	LG10 BCDEF 8 Bright
  AltFireLoop:
	LG10 KL 2 Bright
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire",1)
	TNT1 A 0 A_FireCustomMissile("PlayerBlueLeg10kBall",0,1)
	TNT1 A 0 A_GunFlash
	TNT1 A 0 Radius_Quake(6,3,0,1,0)
	LG10 MN 3 Bright
	TNT1 A 0 A_JumpIfNoAmmo("Leg10kDone")
	TNT1 A 0 A_Refire("AltFireLoop")
	Goto Leg10kDone
  Flash:
    TNT1 A 2 Bright A_Light1
    TNT1 A 2 Bright A_Light2
	TNT1 A 2 Bright A_Light1
    Goto LightDone
	}
}

ACTOR LegPlayer10KProjectile : 10KProjectile
{
  +NOTIMEFREEZE
  DECAL BFG9500LightningGold
  States
  {
  Spawn:
	LRAC A 1 Bright
	Loop
  Death:
  XDeath:  
	TNT1 A 0
	TNT1 A 1 A_SpawnItem("LegPlayer10KEx")
	Stop
	}
}

ACTOR LegPlayer10KEx : Player10KEx
{
  //Damage 150
  +NOTIMEFREEZE
  Damagetype "Legendary"
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("BFGShockwaveGold", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AA 0 A_SpawnItemEx("LegendaryGoldParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAAA 0 A_CustomMissile("KaboomGold2", 0, 0, random(0,360), 2, random(0,360))
	LFE3 A 4 Bright A_Explode(400,150,0)
	LFE3 BCDEF 4 Bright
    Stop
	}
}

Actor PlayerBlueLeg10kBall : LegendaryImpBlueBall2
{
  Speed 25
  FastSpeed 25
  Scale 0.4
  DamageType "Legendary"
  +FORCERADIUSDMG
  +FRIENDLY
  Obituary "%o got obliterated by %k's Legendary BFG 10k."
  DeathSound ""
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_PlaySoundEx("LesserCardinal/BFGIdle","Voice",1)
    LG1B A 1 Bright A_SpawnItemEx("BFGTrailParticleBlue",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("PlayerLegBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    LG1B B 1 Bright A_SpawnItemEx("BFGTrailParticleBlue",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("PlayerLegBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    LG1B C 1 Bright A_SpawnItemEx("BFGTrailParticleBlue",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("PlayerLegBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    LG1B D 1 Bright A_SpawnItemEx("BFGTrailParticleBlue",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("PlayerLegBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    Loop  
  Death:
    TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 Radius_Quake(5,60,0,10,0)
	TNT1 A 0 A_Explode(60,250)
	LG1B A 6 Bright A_SpawnItemEx("BFGShockwaveBlue", 0, 0, 15, 0, 0, 0, 0, 128)
	TNT1 A 0 A_Explode(60,250)
	LG1B B 6 Bright A_SpawnItemEx("BFGShockwaveBlue", 0, 0, 15, 0, 0, 0, 0, 128)
	TNT1 A 0 A_Explode(60,250)
	LG1B C 6 Bright A_SpawnItemEx("BFGShockwaveBlue", 0, 0, 15, 0, 0, 0, 0, 128)
	TNT1 A 0 A_Explode(60,250)
	LG1B D 6 Bright A_SpawnItemEx("BFGShockwaveBlue", 0, 0, 15, 0, 0, 0, 0, 128)
	TNT1 A 0 A_Explode(300,300)
	TNT1 A 0 A_StopSoundEx("Voice")
	TNT1 A 0 Radius_Quake(20,12,0,12,0)
	TNT1 A 0 A_PlaySound("weapons/bfg95explode")
	TNT1 A 0 A_SpawnItemEx("BFGShockwaveBlue", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("KaboomBlue2", 0, 0, random(0,360), 2, random(0,360))
	TNT1 A 0 A_SetScale(1.0)
    QRE3 ABCDEF 4 Bright
    Stop
	}
}

Actor PlayerLegBallAttack : LegBallAttack2
{
+FRIENDLY
DamageType "Legendary"
Obituary "%o got obliterated by %k's Legendary BFG."
States
	{
	Spawn:
		TNT1 A 0
		//TNT1 A 0 A_RearrangePointers(AAPTR_NULL, AAPTR_TARGET, AAPTR_NULL)
		TNT1 AAAAA 1 A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,1250,0,360,"Attack")
		Goto Death
	Attack:
		TNT1 A 0
		TNT1 A 0 A_FaceTarget
		//TNT1 A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_MASTER, AAPTR_NULL)
		TNT1 A 1 A_CustomRailgun(random(5,8)*4,0,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,12,"PLegendaryImpPuff",0,0,1500,0,10,0,"Leg10kRailParticle")
		Goto Death
	}
}

Actor PLegendaryImpPuff : BulletPuff
{
+THRUSPECIES
+MTHRUSPECIES
+PUFFGETSOWNER
+DONTHARMSPECIES
Species "Player"
DamageType "Legendary"
}

ACTOR Leg10kRailParticle : BFG9500Trail
{
Scale 0.05
Alpha 0.95
+NOTIMEFREEZE
States
{
Spawn:
	SPKB A 2 Bright
	Stop
	}
}