ACTOR TrueDarkLegendaryGeneralRoasterock : LegendaryGeneralRoasterock
{
//Creator: Dr. Sticky
//Origin: Nexus Infinity
//Sprite: ZOSL
//Title: "True Dark Legendary General Roasterock"  
Health 6500
Mass 450
Speed 18
PainChance 5
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
DamageFactor "UltimateLegendary", 0.0
DamageFactor "TrueLegendaryDamage", 0.0
DamageFactor "TrueLegendaryPlayer", 0.0
//DropItem "Homing Demon Tech Devastator", 96, 1
DropItem "Legendary Demon Tech Devastator", 150, 1
DropItem "Demon Tech BFG10K", 96, 1
DropItem "LegendaryRune" 75 1
DropItem "LegendaryRune" 75 1
DropItem "TrueLegendaryRune" 10 1
DropItem "TrueLegendaryArmor" 80 1
DropItem "Rocket Launcher", 120, 1
DropItem "Grenade Launcher", 120, 1
DropItem "SkullOfPower", 72, 1
Tag "\c[l5]True\c- \c[g2]Dark\c- \c[z3]Legendary General Roasterock\c-"
Obituary "%o let \cI True Dark Legendary General Roasterock \c-get %h."
States
{
  Spawn:
    TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    ZOSL A 10 A_look
    TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    ZOSL "Z" 10 A_look
    Loop
  See:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2095)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL AABB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCDD 1 A_Chase
	ZOSL AABB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCDD 1 A_Chase
	ZOSL AABB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCDD 1 A_Chase
	Loop
  Idle:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	ZOSL A 0 A_LookEx(0,0,2048,2048,100)
	TNT1 A 0 A_SpawnItem("RoasterStepQuiet",0,0,0,0)
	ZOSL AAAABBBB 2 A_Wander
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	ZOSL A 0 A_LookEx(0,0,2048,2048,100)
	TNT1 A 0 A_SpawnItem("RoasterStepQuiet",0,0,0,0)
	ZOSL CCCCDDDD 2 A_Wander
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	ZOSL A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZOSL AABB 3 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	ZOSL C 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    ZOSL CCDD 3 A_GiveInventory("CommandoStrafing",1)
	Goto See	
  Sprint:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ZOSL CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	Goto See
	Pause:
	TNT1 A 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	ZOSL G 10
	Goto See
  Missile:
    TNT1 A 0 A_Jump(10,"MegaAttack")
    TNT1 A 0 A_Jump(30,"PyroCannon","MLGRocket2","CryoCannon")
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","DarkCannon","MLGRocket")
  Cannon:
	ZOSL E 10 A_FaceTarget
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TrueLegendaryHomingRocket",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TrueLegendaryHomingRocket",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TrueLegendaryHomingRocket",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TrueLegendaryHomingRocket",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TrueLegendaryHomingRocket",28,10,Random(4, -4))
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  MLGRocket:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ZOSL G 0 A_JumpIf(ceilingz-floorz<=100,"DTBFG10K")
	ZOSL E 10 A_FaceTarget
	ZOSL E 5 A_FaceTarget
	ZOSL F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	NULL A 0 ThrustThingZ(0,70,0,1)
	ZOSL F 0 A_PlaySound ("Cardinal/9k")
	ZOSL EEEEE 2 Bright A_FaceTarget
	ZOSL FF 2 Bright A_FaceTarget
	ZOSL F 2 Bright A_CustomMissile("TrueLegCybDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  MLGRocket2:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ZOSL G 0 A_JumpIf(ceilingz-floorz<=100,"Devastator")
	ZOSL E 10 A_FaceTarget
	ZOSL E 5 A_FaceTarget
	ZOSL F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	NULL A 0 ThrustThingZ(0,70,0,1)
	ZOSL F 0 A_PlaySound ("devastator/fire")
	ZOSL EEEEE 2 Bright A_FaceTarget
	ZOSL FF 2 Bright A_FaceTarget
	ZOSL F 2 Bright A_CustomMissile("TrueLegCybDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  DTBFG10K:
    ZOSL F 0 Bright A_PlaySound ("Cardinal/9k")
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL EE 2 Bright A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL EEEE 2 Bright A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL EEE 2 Bright A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL E 2 Bright A_FaceTarget
	ZOSL FF 2 Bright A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL FFFF 2 Bright A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 2 Bright A_CustomMissile("TrueLegCybDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	ZOSL E 35
    goto See
  Devastator:
    ZOSL E 0 A_FaceTarget
    ZOSL 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)
    ZOSL E 2 Bright A_FaceTarget
    Loop
  Charged:
	ZOSL FF 2 Bright A_Facetarget
    ZOSL F 0 A_PlaySound ("devastator/fire")
    ZOSL F 10 Bright A_CustomMissile("TrueLegCybDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
    ZOSL E 35
    goto See
  Chaingun:
    TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ZOSL E 0 A_PlaySoundEx("roaster/start","SoundSlot6")
	ZOSL GGGGGGGGGG 3 A_FaceTarget
	ZOSL E 0 A_PlaySoundEx("roaster/loop","SoundSlot6",true)
	Goto ChainLoop
  ChainLoop:
    ZOSL 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)
	ZOSL H 0 A_CustomBulletAttack(5.5, 5.5, 1, random(4,8)*3, "RSTBulletPuff", 0, CBAF_NORANDOM)
    ZOSL H 1 Bright
	ZOSL G 1 A_GiveInventory("RoasterChainTimer",1)
	TNT1 A 0 A_StopSoundEx("Roaster")
    ZOSL G 0 A_MonsterRefire(10, "ChainEnd")
    Loop
  ChainEnd:
    TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	ZOSL E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	ZOSL G 0 A_TakeInventory("RoasterChainTimer",40)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	ZOSL G 10
	Goto See
  LegMissile:
	ZOSL E 0 A_PlaySoundEx("roaster/prep","SoundSlot6")
	ZOSL IIIIIIIIII 3 A_FaceTarget
	ZOSL J 0 A_PlayWeaponSound("lrball3/shot")
    ZOSL J 5 Bright A_CustomMissile("TrueLegDoomguyCannonBomb",12,-10)
	ZOSL I 3 A_FaceTarget
	ZOSL J 0 A_PlayWeaponSound("lrball3/shot")
    ZOSL J 5 Bright A_CustomMissile("FakeLegNobleBall4",12,-10)
	ZOSL I 3 A_FaceTarget
	ZOSL J 0 A_PlayWeaponSound("lrball3/shot")
    ZOSL J 5 Bright A_CustomMissile("TrueLegDoomguyCannonBomb",12,-10)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	ZOSL I 14
    Goto See
  ShoulderMissile:
	ZOSL E 0 A_PlaySoundEx("roaster/prep","SoundSlot6")
	ZOSL IIIIIIIIII 3 A_FaceTarget
	ZOSL J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ZOSL K 2 bright A_CustomMissile("TrueLegendaryCyberRail",62,20)
	ZOSL I 3 A_FaceTarget
	ZOSL J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ZOSL K 2 bright A_CustomMissile("TrueLegendaryCyberRail",62,20)
	ZOSL I 3 A_FaceTarget
	ZOSL J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ZOSL K 2 bright A_CustomMissile("TrueLegendaryCyberRail",62,20)
	ZOSL I 3 A_FaceTarget
	ZOSL J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ZOSL K 2 bright A_CustomMissile("TrueLegendaryCyberRail",62,20)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	ZOSL I 14
    Goto See
  MegaAttack:
	ZOSL L 0 A_PlaySound("roaster/pain")
	ZOSL LLLLLL 4 A_FaceTarget
	ZOSL J 0 A_PlaySound("roaster/javelin", CHAN_WEAPON)
	ZOSL J 0 A_PlaySoundEx("roaster/leg", "SoundSlot6")
	ZOSL J 0 A_PlaySoundEx("roaster/shoulder", "SoundSlot5")
	ZOSL L 0 A_CustomMissile("TrueLegendaryCyberRail",62,20)
	ZOSL L 0 A_CustomMissile("TrueLegDoomguyCannonBomb",12,-10)
	ZOSL L 0 A_CustomMissile("LegendaryRSTPyroShot",28,10)
    ZOSL M 2 bright
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	ZOSL L 14
    Goto See
  FireBalls:
	ZOSL E 20 A_FaceTarget
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TLegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL F 4 Bright A_CustomMissile("TLegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TLegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TLegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TLegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL F 4 Bright A_CustomMissile("TLegendaryCyberBFG15KBall",28,10,Random(4, -4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("TLegendaryCyberBFG15KBall",28,10,Random(4, -4))
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  HomingSuperBall:
	TNT1 A 0 A_PlaySound("MreimuBall/Cast")
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("DiscipleHomingSuperBall",28,10,Random(4,-4))
	ZOSL E 5 A_FaceTarget
	ZOSL F 4 Bright A_CustomMissile("DiscipleHomingSuperBall",28,10,Random(4,-4))
	ZOSL E 5 A_FaceTarget
	ZOSL F 4 Bright A_CustomMissile("DiscipleHomingSuperBall",28,10,Random(4,-4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  PyroCannon:
    ZOSL L 0 A_PlaySound("roaster/See7")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ZOSL EEEEE 5 A_FaceTarget 
	TNT1 A 0 A_PlaySound("weapons/PCNNF")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    ZOSL F 4 Bright A_CustomMissile("LegendaryRSTPyroShot",28,10, 0)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam")
	ZOSL EEE 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",28,10,0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
    Goto See
  CryoCannon:
    ZOSL L 0 A_PlaySound("roaster/See7")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ZOSL EEEE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/PCNNF")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    ZOSL F 4 Bright A_CustomMissile("ZombieCryoShot",28,10, 0)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam")
	ZOSL EEE 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",28,10,0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","MLGRocket","DarkCannon","MegaAttack","PyroCannon","MLGRocket2")
    Goto See
  DarkCannon:
	ZOSL E 10 A_FaceTarget
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("DiscipleSuperBall",28,10,Random(4,-4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("DiscipleSuperBall",28,10,Random(4,-4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("DiscipleSuperBall",28,10,Random(4,-4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("DiscipleSuperBall",28,10,Random(4,-4))
	ZOSL E 5 A_FaceTarget
	ZOSL E 0 A_GiveInventory("CommandoStrafing",1)
	ZOSL F 4 Bright A_CustomMissile("DiscipleSuperBall",28,10,Random(4,-4))
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","HomingSuperBall","DarkCannon","MLGRocket","MegaAttack","PyroCannon","MLGRocket2")
	Goto See
  Dodge:
	ZOSL A 1 A_FaceTarget
	ZOSL E 0 ThrustThingZ(0, 20, 0, 0)
	ZOSL A 0 A_Jump(256, "DodgeRight", "DodgeLeft")
  DodgeLeft:
	ZOSL E 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	Goto Sprint
  DodgeRight:
	ZOSL E 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	Goto Sprint
  Pain:
    TNT1 A 0 A_Jump(100,"PainMissile")
    ZOSL N 5 A_Pain
    Goto See
  PainMissile:
    ZOSL 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 A_Jump(15,"BadDeath")
    TNT1 A 0 A_Jump(55,"GoodDeath")
	ZOSL A 0 A_NoBlocking
    ZOSL A 0 A_Scream
	ZOSL OPQRSTU 6 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZOSL E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("TrueDeathBall",0,0,0,0)
	ZOSL U -1
    Stop
  GoodDeath:
	ZOSL A 0 A_NoBlocking
    ZOSL 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("JetPack",0,0,64,random(1,8),0,2,random(0,360),0,150)
	ZOSL OPQRSTU 6 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZOSL E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("TrueDeathBall",0,0,0,0)
	ZOSL U -1
    Stop
  BadDeath:
	ZOSL A 0 A_NoBlocking
    ZOSL 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("LegendaryRune",0,0,64,random(1,8),0,2,random(0,360),0,0)
	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)
	ZOSL OPQRSTU 6 A_SpawnItemEx("LegBlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZOSL E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("TrueDeathBall",0,0,0,0)
	ZOSL U -1
    Stop
  }
}