ACTOR LegendaryGeneralRoasterock //Roasterock but he fell in a big pot full of cheese
{
//Creator: GDWolf & Fluffy
//Origin: Complex Doom Very Strong Monsters
//Sprite: ROSL
//Title: "Legendary General Roasterock"
Health 4500
radius 20
height 56
Mass 400
Speed 11
PainChance 2
Monster
MinMissileChance 90
Scale 1.25
Species "Legendary"
BloodColor "Blue"
DamageFactor "PlayerFireSword", 0.8
DamageFactor "Ice", 0.0
DamageFactor "FreezerBurn", 0.0
DamageFactor "SoapOpera", 0.0 
DamageFactor "ZombieDev", 0.0
DamageFactor "RST", 0.0
DamageFactor 0.5
DamageFactor "BFGSplash", 0.15
DamageFactor "BFGSpray", 0.15
DamageFactor "Explosion", 0.60
DamageFactor "Bullet", 0.3
DamageFactor "ZombieDemonTech", 0.0
DamageFactor "ZombieRocket", 0.0
DamageFactor "Railg", 0.5
DamageFactor "BFG10K", 0.40
DamageFactor "LACGrenade", 0.0
DamageFactor "LegendaryZombie", 0.0
DamageFactor "GeneralTracer", 0.0
DamageFactor "PDTBFG", 0.01
DamageFactor "PDTBFGTracer", 0.01
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "PlayerDevBall", 0.005
DamageFactor "PlayerDevBall2", 0.005
DamageFactor "PlayerDTBFGRailgunSlug", 0.005
DamageFactor "PlayerDevTracer", 0.005	
DamageFactor "PlayerDTRG", 0.3
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PyroShot", 0.0
DamageFactor "PlayerPyro", 0.0
DamageFactor "PDTPuff", 0.0
//if infight
DamageFactor "Cyber10K", 0.0
DamageFactor "CerChainguns", 0.0	
DamageFactor "CerEnergyBall", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "Legendary1", 0.0 // Leg Imp
DamageFactor "VileFires", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "BeheComet", 0.0
DamageFactor "CacoComet", 0.0
MaxStepHeight 32
MaxDropOffHeight 32
  DropItem "ReforcedLegendaryArmor", 140 //in LNA it doesn't drop any armor
  DropItem "Homing Demon Tech Devastator", 96, 1
  DropItem "Legendary Demon Tech Devastator", 150, 1
  DropItem "LegendaryMarineSquadBeacon", 70, 1 //where is that beacon? 
  Dropitem "MarineDemonicSquadBeacon", 70, 1
  DropItem "Demon Tech BFG10K", 96, 1
  DropItem "LegendaryPyroCannon", 64, 1
  DropItem "Rocket Launcher", 120, 1
  DropItem "Grenade Launcher", 120, 1
  DropItem "PortableEnhancedMedCellPack", 140, 1
  DropItem "ArmorCharge", 150, 2
  DropItem "Armorplate", 186, 2
  DropItem "Portablemedkit", 159, 2
  DropItem "Backpack", 190, 1
  DropItem "AmpGoggles", 190, 1
  DropItem "SkullOfPower", 72, 1
  DropItem "DemonicChalice", 72, 1
  DropItem "LegendarySyringe" 140 1
  DropItem "HellsExpensivecontract" 200 1
  DropItem "Randomcontracttier2" 120 1
  DropItem "Randomcontracttier3" 120 1
SeeSound "roaster/sight"
PainSound "roaster/pain"
DeathSound "roaster/death"
ActiveSound "roaster/idle"
AttackSound "roaster/fire"
Tag "\c[z3]Legendary General Roasterock\c-"
Obituary "%o let \cI Legendary General Roasterock \c-get %h."
+BOSS
+MISSILEMORE
+MISSILEEVENMORE
+LOOKALLAROUND
+DONTRIP
+NOTELEFRAG
+NOTIMEFREEZE
+NOTARGET
+CANTSEEK
+FLOORCLIP
+AVOIDMELEE
+QUICKTORETALIATE
+NORADIUSDMG
+DONTMORPH
+BOSSDEATH
var int user_missile;
var int user_music;
States
{
  Spawn:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    ROSL A 10 A_look
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	ROSL "Z" 10 A_look
	Loop
  See:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2020)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL AABB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCDD 1 A_Chase
	ROSL AABB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCDD 1 A_Chase
	ROSL AABB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCDD 1 A_Chase
	Loop
  Idle:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	BSZM A 0 A_LookEx(0,0,2048,2048,100)
	TNT1 A 0 A_SpawnItem("RoasterStepQuiet",0,0,0,0)
	ROSL AAAABBBB 2 A_Wander
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	BSZM A 0 A_LookEx(0,0,2048,2048,100)
	TNT1 A 0 A_SpawnItem("RoasterStepQuiet",0,0,0,0)
	ROSL CCCCDDDD 2 A_Wander
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	ROSL A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ROSL AABB 3 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	ROSL C 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    ROSL CCDD 3 A_GiveInventory("CommandoStrafing",1)
	Goto See	
  Sprint:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Goto See
	Pause:
	TNT1 A 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	ROSL G 10
	Goto See
  Missile:
    TNT1 A 0 A_Jump(10,"MegaAttack")
    TNT1 A 0 A_Jump(30,"PyroCannon","MLGRocket2")
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket")
  Cannon:
	ROSL E 10 A_FaceTarget
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryRocket",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryRocket",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryRocket",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryRocket",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryRocket",28,10,Random(4, -4))
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  MLGRocket:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	WDMK G 0 A_JumpIf(ceilingz-floorz<=100,"DTBFG10K")
	ROSL E 10 A_FaceTarget
	ROSL E 5 A_FaceTarget
	ROSL F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	NULL A 0 ThrustThingZ(0,70,0,1)
	ROSL F 0 Bright A_PlaySound ("Cardinal/9k")
	ROSL EEEEE 2 Bright A_FaceTarget
	ROSL FF 2 Bright A_FaceTarget
	ROSL F 2 Bright A_CustomMissile("LegCybDTBFGBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  MLGRocket2:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	WDMK G 0 A_JumpIf(ceilingz-floorz<=100,"Devastator")
	ROSL E 10 A_FaceTarget
	ROSL E 5 A_FaceTarget
	ROSL F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	NULL A 0 ThrustThingZ(0,70,0,1)
	ROSL F 0 Bright A_PlaySound ("devastator/fire")
	ROSL EEEEE 2 Bright A_FaceTarget
	ROSL FF 2 Bright A_FaceTarget
	ROSL F 2 Bright A_CustomMissile("LegCybDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  DTBFG10K:
    ROSL F 0 Bright A_PlaySound ("Cardinal/9k")
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL EE 2 Bright A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL EEEE 2 Bright A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL EEE 2 Bright A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL E 2 Bright A_FaceTarget
	ROSL FF 2 Bright A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL FFFF 2 Bright A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 2 Bright A_CustomMissile("LegCybDTBFGBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	ROSL E 35
    goto See
  Devastator:
    ROSL E 0 A_FaceTarget
    ROSL E 0 A_PlaySound ("devastator/charge")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_SetUserVar("user_missile", 0)
  DevCharge:
    TNT1 A 0 A_JumpIf(user_missile > 20,"Charged")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
    ROSL E 2 Bright A_FaceTarget
    Loop
  Charged:
	ROSL F 2 Bright A_Facetarget
	ROSL F 2 Bright A_Facetarget
    ROSL F 0 A_PlaySound ("devastator/fire")
    ROSL F 10 Bright A_CustomMissile("LegCybDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
    ROSL E 35
    goto See
  Chaingun:
    TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ZCGN E 0 A_PlaySoundEx("roaster/start","SoundSlot6")
	ROSL GGGGGGGGGG 3 A_FaceTarget
	ZCGN E 0 A_PlaySoundEx("roaster/loop","SoundSlot6",true)
	Goto ChainLoop
  ChainLoop:
    ROSL G 0 A_JumpIfInventory("RoasterChainTimer",40,"ChainEnd")
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(30,34),-10,Random(5,-5),0)
	TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 36, Random(2, 6), 0, Random(1, 3), Random(80, 90), 128)
	ROSL H 0 A_CustomBulletAttack(5.5, 5.5, 1, random(4,8)*3, "RSTBulletPuff", 0, CBAF_NORANDOM)
    ROSL H 1 Bright
	ROSL G 1 A_GiveInventory("RoasterChainTimer",1)
	TNT1 A 0 A_StopSoundEx("Roaster")
    ROSL G 0 A_MonsterRefire(10, "ChainEnd")
    Loop
  ChainEnd:
    TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	ROSL G 0 A_TakeInventory("RoasterChainTimer",40)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	ROSL G 10
	Goto See
  LegMissile:
	ZCGN E 0 A_PlaySoundEx("roaster/prep","SoundSlot6")
	ROSL IIIIIIIIII 3 A_FaceTarget
	ROSL J 0 A_PlayWeaponSound("lrball3/shot")
    ROSL J 5 Bright A_CustomMissile("LegRevBall3",12,-10)
	ROSL I 3 A_FaceTarget
	ROSL J 0 A_PlayWeaponSound("lrball3/shot")
    ROSL J 5 Bright A_CustomMissile("LegRevBall3",12,-10)
	ROSL I 3 A_FaceTarget
	ROSL J 0 A_PlayWeaponSound("lrball3/shot")
    ROSL J 5 Bright A_CustomMissile("LegRevBall3",12,-10)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	ROSL I 14
    Goto See
  ShoulderMissile:
	ZCGN E 0 A_PlaySoundEx("roaster/prep","SoundSlot6")
	ROSL IIIIIIIIII 3 A_FaceTarget
	ROSL J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ROSL K 2 bright A_CustomMissile("LegendaryCyberRail",62,20)
	ROSL I 3 A_FaceTarget
	ROSL J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ROSL K 2 bright A_CustomMissile("LegendaryCyberRail",62,20)
	ROSL I 3 A_FaceTarget
	ROSL J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ROSL K 2 bright A_CustomMissile("LegendaryCyberRail",62,20)
	ROSL I 3 A_FaceTarget
	ROSL J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ROSL K 2 bright A_CustomMissile("LegendaryCyberRail",62,20)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	ROSL I 14
    Goto See
  MegaAttack:
	ROSL L 0 A_PlaySound("roaster/pain")
	ROSL LLLLLL 4 A_FaceTarget
	ROSL J 0 A_PlaySound("roaster/javelin", CHAN_WEAPON)
	ROSL J 0 A_PlaySoundEx("roaster/leg", "SoundSlot6")
	ROSL J 0 A_PlaySoundEx("roaster/shoulder", "SoundSlot5")
	ROSL L 0 A_CustomMissile("LegendaryCyberRail",62,20)
	ROSL L 0 A_CustomMissile("LegRevBall3",12,-10)
	ROSL L 0 A_CustomMissile("LegendaryRSTPyroShot",28,10)
    ROSL M 2 bright
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	ROSL L 14
    Goto See
  FireBalls:
	ROSL E 20 A_FaceTarget
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL F 4 Bright A_CustomMissile("LegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL F 4 Bright A_CustomMissile("LegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ROSL E 5 A_FaceTarget
	ROSL E 0 A_GiveInventory("CommandoStrafing",1)
	ROSL F 4 Bright A_CustomMissile("LegendaryCyberBFG15KBall",28,10,Random(4, -4))
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
   PyroCannon:
    ROSL L 0 A_PlaySound("roaster/See7")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ROSL EEEE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/PCNNF")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    ROSL F 4 Bright A_CustomMissile("LegendaryRSTPyroShot",28,10, 0)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam")
	ROSL EEE 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",28,10,0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
    Goto See
  Dodge:
	ROSL A 1 A_FaceTarget
	ROSL E 0 ThrustThingZ(0, 20, 0, 0)
	ROSL A 0 A_Jump(256, "DodgeRight", "DodgeLeft")
  DodgeLeft:
	ROSL E 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	Goto Sprint
  DodgeRight:
	ROSL E 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	Goto Sprint
  Pain:
    TNT1 A 0 A_Jump(100,"PainMissile")
    ROSL N 5 A_Pain
    Goto See
  PainMissile:
    ROSL N 5 A_Pain
    Goto Missile
  Pain.PlayerDBFG10K2:
    TNT1 A 0 A_Jump(256,"Dodge")
	Goto See
  Pain.DBFG10K2:
    TNT1 A 0 A_Jump(256,"Dodge")
	Goto See
  Pain.DBFG:
    TNT1 A 0 A_Jump(256,"Dodge")
	Goto See
  Pain.PlayerDBFG:
    TNT1 A 0 A_Jump(256,"Dodge")
	Goto See
  Pain.DBFG2:
    TNT1 A 0 A_Jump(256,"Dodge")
	Goto See
  Pain.PlayerDBFG210K:
    TNT1 A 0 A_Jump(256,"Dodge")
	Goto See
  Pain.DBFG210K:
    TNT1 A 0 A_Jump(256,"Dodge")
	Goto See
  Pain.DBFG2Splash:
    TNT1 A 0 A_Jump(256,"Dodge")
	Goto See
  Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("TrueLegMode") == 0,3)
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"TrueLeg")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"TrueLeg")
    TNT1 A 0 A_Jump(36,"TrueLeg")	
  Death2:
    //TNT1 A 0 A_Jump(32,"LegendarySoul")
    TNT1 A 0 A_Jump(10,"RNGESUS")
    TNT1 A 0 A_Jump(50,"GoodDeath")
	TNT1 A 0 A_StopSound(6)
	ROSL A 0 A_NoBlocking
    ROSL A 0 A_Scream
	ROSL OPQRSTU 6 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("DeathBall2",0,0,0,0)
	ROSL U -1
    Stop
  TrueLeg:
    TNT1 A 0 A_Jump(100,"TRUELEGRNGESUS")
	ROSL G 3 Bright A_Pain
	ROSL G 0 A_PlaySoundEx("brain/spit",7,0,2)
	ROSL GGGGGGGGGGGGGGGGG 2 Bright A_SpawnItemEx("LegVileFireSpawner",1)
	ROSL GGGGGGGGGGGGGGGGG 2 Bright A_SpawnItemEx("LegVileFireSpawner",1)
	ROSL GGGGGGGGGGGGGGGGG 2 Bright A_SpawnItemEx("LegVileFireSpawner",1)
	TNT1 A 0 A_SpawnItemEx("BlueLightning")
	ROSL GGGGGGGGGGGG 2 Bright A_SpawnItemEx("BHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("TrueLegendaryGeneralRoasterock",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TELEFRAG)
    TNT1 A 1
    Stop
  TRUELEGRNGESUS:
	ROSL A 0 A_NoBlocking
    ROSL A 0 A_Scream
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,64)
    TNT1 A 0 A_SpawnItemEx("DemonicChalice",0,0,64,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_SpawnItemEx("Backpack",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech BFG10K",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Pyrocannon",0,0,64,random(1,8),0,2,random(0,360),0,0)
	//TNT1 A 0 A_SpawnItemEx("TrueLegendaryRune",0,0,64,random(1,8),0,2,random(0,360),0,0) //Nou, nou, you need kill the True leg if you want a True Rune :)
	ROSL OPQRSTU 6 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("TrueDeathBall",0,0,0,0)
    ROSL U 140
	ROSL U 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	ROSL UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 2 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	ROSL U 5 A_SpawnItem("BlueLightning")
	R0ST UTSRQPO 15 Bright
	TNT1 A 0 A_SpawnItemEx("NewTrueLegendaryGeneralRoasterock",0,0,16,0,0,0,0,32)
	TNT1 A 1
	Stop
  GoodDeath:
	ROSL A 0 A_NoBlocking
    ROSL A 0 A_Scream
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,64)
    TNT1 A 0 A_SpawnItemEx("DemonicChalice",0,0,64,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_SpawnItemEx("Backpack",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech BFG10K",0,0,64,random(1,8),0,2,random(0,360),0,0)
	//TNT1 A 0 A_SpawnItemEx("Homing Demon Tech Devastator",0,0,64,random(1,8),0,2,random(0,360),0,0) //Fuckass gun crashed the game
	TNT1 A 0 A_SpawnItemEx("JetPack",0,0,64,random(1,8),0,2,random(0,360),0,150)
	ROSL OPQRSTU 6 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("DeathBall3",0,0,0,0)
	ROSL U -1
    Stop
  RNGESUS:
	ROSL A 0 A_NoBlocking
    ROSL A 0 A_Scream
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,64)
    TNT1 A 0 A_SpawnItemEx("DemonicChalice",0,0,64,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_SpawnItemEx("Backpack",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech BFG10K",0,0,64,random(1,8),0,2,random(0,360),0,0)
	//TNT1 A 0 A_SpawnItemEx("Homing Demon Tech Devastator",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Pyrocannon",0,0,64,random(1,8),0,2,random(0,360),0,0)
	//TNT1 A 0 A_SpawnItemEx("TrueLegendaryRune",0,0,64,random(1,8),0,2,random(0,360),0,0) //how did is miss this sheit
	TNT1 A 0 A_SpawnItemEx("Jetpack",0,0,64,random(1,8),0,2,random(0,360),0,150)
	TNT1 A 0 A_SpawnItemEx("ArmorRegenerator",0,0,64,random(1,8),0,2,random(0,360),0,200)
	ROSL OPQRSTU 6 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("TrueDeathBall",0,0,0,0)
	ROSL U -1
    Stop
  }
}

ACTOR LegendaryRSTPyroShot
{
PROJECTILE
SeeSound "weapons/firbfi"
DeathSound "weapons/hellex"
Species "Legendary"
DamageType "RST"
Obituary "%o was incinerated by a Legendary pyro cannon."
Alpha 1.0
Scale 1.4
RenderStyle Add
Speed 50
FastSpeed 55
PROJECTILE
Damage 999
Radius 11
Height 6
+SEEKERMISSILE
+FORCERADIUSDMG
+NOGRAVITY
+DONTREFLECT
//+FRIENDLY
+MTHRUSPECIES
+DONTHARMSPECIES
states
{
  Spawn:
    GDWO ABC 1 Bright A_SpawnItemEx("LegPHFExTrail",0,0,0,0,0,0,0)
    Goto Spawn+2
  Death:
	TNT1 A 0 Radius_Quake(15,20,0,20,0)
	GDWO D 0 A_CustomMissile("LegRSTFuelExplosion01",0,0,0,6)
    GDWO D 0 A_CustomMissile("LegRSTFuelExplosion01",0,0,45,6)
    GDWO D 0 A_CustomMissile("LegRSTFuelExplosion01",0,0,90,6)
    GDWO D 0 A_CustomMissile("LegRSTFuelExplosion01",0,0,135,6)
    GDWO D 0 A_CustomMissile("LegRSTFuelExplosion01",0,0,180,6)
    GDWO D 0 A_CustomMissile("LegRSTFuelExplosion01",0,0,225,6)
    GDWO D 0 A_CustomMissile("LegRSTFuelExplosion01",0,0,270,6)
    GDWO D 0 A_CustomMissile("LegRSTFuelExplosion01",0,0,315,6)
    GDWO D 0 A_Mushroom("LegRSTMushroomFireballs",8)
	TNT1 A 0 A_Explode(1000,400)
    GDWO DEFGHIJKLMN 1 BRIGHT 
	TNT1 A 0 A_SpawnItemEx("LegPyroShotEx",0,0,0,0,0,0,0)
    Stop
   }
}

ACTOR LegRSTFuelExplosion01
{
Radius 8
Height 8
Speed 6
Damage 20
PROJECTILE
RENDERSTYLE ADD
DamageType "RST"
Species "Legendary"
SeeSound "weapons/firex3"
ALPHA 0.80
+RIPPER
+BLOODLESSIMPACT
+SPECTRAL
//+Friendly
+DONTHARMSPECIES
States
{
  Spawn:
	TNT1 AAAAA 4 A_SpawnItem("LegRSTFuelExplosion02",0,0)
	Stop
   }
}

ACTOR LegRSTFuelExplosion02
{
Radius 5
Height 5
Speed 0
Damage 20
PROJECTILE
RENDERSTYLE ADD
DamageType "RST"
ALPHA 0.80
SeeSound "weapons/firex3"
+SPECTRAL
//+Friendly
+DONTHARMSPECIES
States
{
   Spawn:
	GM07 A 2 Bright
	GM07 B 2 Bright A_Explode (10,96,0)
	GM07 CDEFGHIJKLMNOPQRSTU 2 Bright
	stop
   }
}

Actor LegPHFExTrail
{
+CLIENTSIDEONLY 
+NOBLOCKMAP
+NOGRAVITY 
+NOINTERACTION
States 
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_SpawnItemEx("BlueKaboom4",-8,0,0,-6, 0,random(-1,1),0)
	Stop
	}
}

ACTOR LegRSTMushroomFireballs
{
Radius 10
Height 8
Damage 30
PROJECTILE  
RENDERSTYLE Translucent 
Alpha 1
Scale 1.0
Speed 35
SeeSound "imp/attack"
DeathSound "comet/explosion"
DamageType "RST"
BounceCount 3
-NOGRAVITY
+DOOMBOUNCE
+SKYEXPLODE
+SPECTRAL
//+Friendly
+DONTHARMSPECIES
states
{
  Spawn:
	TNT1 A 1
	TNT1 A 0 A_PlaySoundEx("HFCyb/rocket", 1, 0, 2)
	Goto Fly
  Fly:
	FRTB AB 1 BRIGHT A_SpawnItem("LegHFCybFireballTrail")
	Loop
  Death:
	TNT1 A 0 A_Explode(60, 160)//Damage, Radius
	TNT1 A 0 A_SpawnItemEx("LCABaseScorch", 0, 0, 0, 0, 0, 0, Random(0,359))
	TNT1 AAAAAA 0 A_CustomMissile ("OrangeParticleSpawner", 0, 0, random (0, 360), 2, random (0, 180))
	TNT1 A 0 A_SpawnItemEx("BHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
	EXPL A 0 Radius_Quake(15,20,0,20,0)
	TNT1 AAAA 0 A_SpawnItemEx("BHellionSmokeSpawner", 0, 0, 0, 0.01 * Random(-125, 125), 0.01 * Random(-125, 125), 0.01 * Random(25, 245), 0, 128, 0)
	G8F4 ABCDEFGHIJKLMNOP 2 BRIGHT
	Stop
   }
}

ACTOR LegHFCybFireballTrail
{
+MISSILE
+NOGRAVITY
+THRUACTORS
+CLIENTSIDEONLY
+NOINTERACTION
RenderStyle Add
Alpha 0.6
Speed 1
SCALE 1.0
States
{
  Spawn:
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	D2F1 ABCDEFGHI 1 BRIGHT
	Stop
	}
}

Actor LegPyroShotEx
{
+NOBLOCKMAP 
+NOGRAVITY
+CLIENTSIDEONLY 
+NOINTERACTION
ReactionTime 10
States 
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_SpawnItemEx("BlueKaboom4",0,0,0,random(-9,9),random(-10,10),random(-10,10),0)
	TNT1 A 0 A_Countdown
	Loop
  Death:
	TNT1 A 0
	Stop
	}
}