ACTOR "Enraged Legendary Rifle" : Weapon
{
   Height 14
   Weapon.PreferredSkin "LegendaryRifle-Marine"
   Weapon.SelectionOrder 7120
   Weapon.KickBack 60
   Weapon.AmmoUse 5
   Weapon.AmmoGive 200
   Scale 0.95
   Weapon.AmmoType "ILDemonAmmo"   
   Weapon.AmmoType2 "ILDemonAmmo"
   Inventory.PickupMessage "Enraged Legendary Rifle Obtained, MAD POWER!"
   Inventory.PickupSound "weapons/legup"
   Obituary "%o was obliterated by a soldier trained by Legendary."
   +WEAPON.AMMO_OPTIONAL
   +WEAPON.NOALERT
   +INVENTORY.UNDROPPABLE
   States
   {
   Ready:
     TNT1 A 0 A_PlaySound("weapons/legup")
	 ITRS ABCDE 1
   ReadyLoop:
     TNT1 A 0 A_JumpIfInventory("LDemonMagazine",1,2)
	 TNT1 A 0
	 Goto NoBuzzing
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady	 
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK AAA 1 A_WeaponReady
	 TNT1 A 0 A_PlaySound("weapons/legrifidle")
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK BB 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK BB 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK CC 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK CC 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK DD 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK DD 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK EE 1 A_WeaponReady
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	 ITEK EE 1 A_WeaponReady
     Goto ReadyLoop
   NoBuzzing:
     TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	 TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
     ITEK A 1 A_WeaponReady
	 Loop
   Deselect:
     TNT1 A 0 A_PlaySound ("D_LEGND",5,5.0,1,ATTN_NONE)
     TNT1 A 0 ACS_ExecuteAlways(5431,0)
	 ITEK A 1 A_Lower
     Goto Deselect+2
   Select:
     TNT1 A 0
	 TNT1 A 0 A_Raise
	 Wait
   Fire:
	 TNT1 A 0 Bright A_JumpIfNoAmmo("Empty")
     TNT1 A 0 ACS_EXECUTEALWAYS(5430,0,50)
	 TNT1 A 0 Bright A_AlertMonsters
     TNT1 A 0 Bright A_GunFlash
	 TNT1 A 0 Bright Radius_Quake(4,2,0,1,0)
     TNT1 A 0 Bright A_Light1
	 TNT1 A 0 Bright A_PlayWeaponSound("BlueDTRFire")
     ITKF A 1 Bright A_FireCustomMissile("RPlayerLegendaryProjectile",Random(100,-100)/100.00,1,0,0,0,Random(100,-100)/100.00)
	 ITKF B 1 Bright A_Light2
     ITKF C 2 A_Light0
     TNT1 A 0 A_ReFire
     Goto ReadyLoop
   Empty:
     ITEK A 10 A_PlaySound("weapons/click2")
	 Goto ReadyLoop 
   GrenadeCheck:
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
	 TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	 Goto Ready+6
   GrenadeToss:
  	 TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	 ITRS EDCBA 1
	 TNT1 A 6
	 HGRN ABC 1
	 HGRN D 3
	 HGRN EFGHI 2
	 TNT1 A 14 A_PlayWeaponSound("weapons/hgrenadepin")
	 TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	 TNT1 A 0 A_TakeInventory("HandGrenadeAmmo",1)
	 HGRN J 1 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
	 HGRN K 1
	 HGRN LMNO 2
	 TNT1 A 6
	 TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,2)
     TNT1 A 0 A_TakeInventory("Hand Grenade",1)
	 TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	 TNT1 A 0
	 Goto Ready+1
   MineCheck:
	 TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
	 TNT1 A 0 A_TakeInventory("MineAction",1)
	 Goto Ready+6
   MineToss:
  	 TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	 ITRS EDCBA 1
	 TNT1 A 10
	 TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	 MINE ABCDEF 1		
	 TNT1 A 0 A_TakeInventory("MineAmmo",1)	  
	 MINE G 1 A_FireCustomMissile("ThrownMine",0,0,0,0)
	 MINE HI 1
	 MINE JK 2
	 TNT1 A 0 A_JumpIfInventory("MineAmmo",1,2)
     TNT1 A 0 A_TakeInventory("Land Mine",1)
	 TNT1 A 0 A_TakeInventory("MineAction",1)
	 TNT1 A 0
	 TNT1 A 5
	 Goto Ready+1 
  Spawn:
     ITEP A -1
     Stop
     }
}

ACTOR  ILDemonAmmoBox : Ammo 
{
Inventory.Amount 0
Inventory.MaxAmount 50
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 50
Inventory.Icon "BTEPA0"
+IGNORESKILL
}

ACTOR ILDemonAmmo : Ammo
{
Scale 0.65
Inventory.PickupMessage "Enraged Cells Obtained."
Inventory.PickupSound "items/LDemonAmmo"
Inventory.Amount 50
Inventory.MaxAmount 250
Ammo.BackpackAmount 50
Ammo.BackpackMaxAmount 500
Inventory.Icon "BAMGA0"
States
{
Spawn:
	BAMG A -1
    Stop
    }
}

ACTOR ILDemonAmmoBox : ILDemonAmmo
{
Scale 0.65
Inventory.Amount 200
Inventory.PickupMessage "Enraged Cell Box Found."
Inventory.PickupSound "items/LDemonAmmopack"
States
{
Spawn:
	BAMO A -1
	Stop
	}
}

ACTOR ILDemonTechEmptyMag : BulletCasing
{
	Scale 0.4
    SeeSound "weapons/emptydrum"
    States
    {
	Spawn:
	  IDTM ABCD 3  
	  Loop
    Death:
	  TNT1 A 0
      TNT1 A 0 A_Jump(128,3)
      IDTM A 100
      IDTM A 5 A_FadeOut(0.10)
      Goto Death+3
      IDTM C 100
	  IDTM C 5 A_FadeOut(0.10)
	  Goto Death+5		  
      }
}

ACTOR RLegendaryRifleShot
{
   Height 3
   Radius 3
   Speed 45
   DamageType "Legendary"
   Damage 65
   Scale 0.5
   RenderStyle Add
   Alpha 0.95
   PROJECTILE
   +THRUSPECIES
   +FORCERADIUSDMG
   Species ""
   DeathSound "weapons/demontechex"
   Decal DoomImpScorch
   States
   {
   Spawn:
	  TNT1 A 0
	  TNT1 A 0 A_Jump(128,"Spawn2")
   Normal:
      ITPR ABCDEF 1 Bright 
      Loop
   Spawn2:
      ITPR ABCDEF 1 Bright
      Loop	  
   Death:
      TNT1 A 0
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 AAA 0 A_CustomMissile("RedParticleSpawner", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 A 0 Bright A_SpawnItemEx("RHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 0, "")
	  Goto Toaster
   DeathSFX:
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 AAA 0 A_CustomMissile("RedParticleSpawner", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 A 0 Bright A_SpawnItemEx("RHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
   Toaster:
	  TNT1 A 1 Bright A_Explode(20,64)
      Stop
	  }
}

ACTOR RLegendaryProjectile : RLegendaryRifleShot
{
   Damage 55
   +THRUSPECIES
   DamageType "Legendary"
   States
   {
   Death:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 0, "")
	  Goto Toaster
   DeathSFX:
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 AAAA 0 A_CustomMissile("RHellionSmokeSpawner", 0, 0, random(0,360), 2, random(0,360))
   Toaster:
	  TNT1 A 0 Bright A_SpawnItemEx("RHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
	  TNT1 A 1 Bright A_Explode(6,48)
      Stop
   }
}

ACTOR RPlayerLegendaryProjectile : RLegendaryRifleShot
{
   Damage 65
   +THRUSPECIES
   Species "Player"
   DamageType "Legendary"
   States
   {
   Death:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 0, "")
	  Goto Toaster
   DeathSFX:
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 AAAA 0 A_CustomMissile("RHellionSmokeSpawner", 0, 0, random(0,360), 2, random(0,360))
   Toaster:
	  TNT1 A 0 Bright A_SpawnItemEx("RHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
	  TNT1 A 1 Bright A_Explode(6,48)
      Stop
   }
}