ACTOR NemesisGeneralRoasterock : LegendaryGeneralRoasterock
{
//Creator: Dr. Sticky
//Origin: Nexus Infinity
//Sprite: NGRR
//Title: "Nemesis General Roasterock"
Health 6500
Mass 450
Speed 18
PainChance 12
MinMissileChance 80
BloodColor "Black"
DamageFactor "PlayerFireSword", 0.8
DamageFactor "Ice", 0.0
DamageFactor "FreezerBurn", 0.0
DamageFactor "PlayerNemesisPlasma", 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.2
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 "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "Cyber10K", 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 "CerEnergyBall", 0.0
DamageFactor "PlayerDevBall", 0.005
DamageFactor "PlayerDevBall2", 0.005
DamageFactor "PlayerDTBFGRailgunSlug", 0.005
DamageFactor "PlayerDevTracer", 0.005
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0	
DamageFactor "CerEnergyBall", 0.0
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
DropItem "Nemesis BFG", 256
DropItem "Demon Tech BFG10K", 96, 1
DropItem "NemesisRuneSpawnerTier4", 256, 1
DropItem "Nemesis Plasmatic Cannon", 200, 1
DropItem "NemesisSuperSphere" 215
DropItem "NemesisHealthBonusMax", 256, 64
DropItem "NemesisArmorBonus64", 256
DropItem "NemesisHealthBonusMax", 256, 64
DropItem "NemesisArmorBonus64", 256
DropItem "NemesisHealthBonusMax", 256, 64
DropItem "NemesisArmorBonus64", 256
DropItem "LegendaryRune" 70 1
DropItem "Backpack", 190, 1
DropItem "Backpack", 190, 1
DropItem "AmpGoggles", 190, 1
DropItem "SkullOfPower", 72, 1
DropItem "DemonicChalice", 72, 1
DropItem "DemonicChalice", 72, 1
Tag "\c[g3]Nemesis General Roasterock\c-"
var int user_deathtimer;
var int user_deathtimeractive;
Obituary "%o let \cI Nemesis General Roasterock \c-get %h."
States
{
  Spawn:
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NGRR A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NGRR "Z" 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Loop
  See:
    TNT1 A 0 A_JumpIf(user_deathtimeractive == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("NemesisDeathTimerForVexed",0)
	TNT1 A 0 A_SetUserVar("user_deathtimeractive",1)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2106)
	TNT1 A 0 A_SetUserVar("user_music",1)
	NGRR AABB 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR CCDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	Loop
  Idle:
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NGRR A 0 A_LookEx(0,0,2048,2048,100)
	TNT1 A 0 A_SpawnItem("RoasterStepQuiet",0,0,0,0)
	NGRR AAAABBBB 2 A_Wander
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NGRR A 0 A_LookEx(0,0,2048,2048,100)
	TNT1 A 0 A_SpawnItem("RoasterStepQuiet",0,0,0,0)
	NGRR CCCCDDDD 2 A_Wander
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NGRR A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	NGRR AABB 3 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NGRR C 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    NGRR CCDD 3 A_GiveInventory("CommandoStrafing",1)
	Goto See	
  Sprint:
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	NGRR CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
	Pause:
	TNT1 A 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	NGRR G 10
	Goto See
  Missile:
    TNT1 A 0 A_Jump(10,"MegaAttack")
    TNT1 A 0 A_Jump(30,"BFG9K","MLGRocket2")
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","EBFG9500Ball","MLGRocket")
Cannon:
	NGRR E 10 A_FaceTarget
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisCyberHomingRocket",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	Goto See
MLGRocket:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	NGRR G 0 A_JumpIf(ceilingz-floorz<=100,"DTBFG10K")
	NGRR E 10 A_FaceTarget
	NGRR E 5 A_FaceTarget
	NGRR F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 ThrustThingZ(0,35,0,0)
    TNT1 A 0 ThrustThing(angle*256/360,random(30,40))
	NGRR F 0 A_PlaySound ("Cardinal/9k")
	NGRR EEEEE 2 Bright A_FaceTarget
	NGRR FF 2 Bright A_FaceTarget
	NGRR F 2 Bright A_CustomMissile("NemImpDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	Goto See
MLGRocket2:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	NGRR G 0 A_JumpIf(ceilingz-floorz<=100,"Devastator")
	NGRR E 10 A_FaceTarget
	NGRR E 5 A_FaceTarget
	NGRR F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 ThrustThingZ(0,35,0,0)
    TNT1 A 0 ThrustThing(angle*256/360,random(30,40))
	NGRR F 0 A_PlaySound ("devastator/fire")
	NGRR EEEEE 2 Bright A_FaceTarget
	NGRR FF 2 Bright A_FaceTarget
	NGRR F 2 Bright A_CustomMissile("NemImpDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	Goto See
  DTBFG10K:
    NGRR F 0 A_PlaySound ("NemesisBFG/Fire")
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR EE 2 Bright A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR EEEE 2 Bright A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR EEE 2 Bright A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR E 2 Bright A_FaceTarget
	NGRR FF 2 Bright A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR FFFF 2 Bright A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 2 Bright A_CustomMissile("NemesisGuruBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	NGRR E 35
    goto See
  Devastator:
    NGRR E 0 A_FaceTarget
    NGRR 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)
    NGRR E 2 Bright A_FaceTarget
    Loop
  Charged:
	NGRR F 2 Bright A_Facetarget
	NGRR F 2 Bright A_Facetarget
    NGRR F 0 A_PlaySound ("devastator/fire")
    NGRR F 10 Bright A_CustomMissile("NemImpDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
    NGRR E 35
    goto See
  Chaingun:
    TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	NGRR E 0 A_PlaySoundEx("roaster/start","SoundSlot6")
	NGRR GGGGGGGGGG 3 A_FaceTarget
	NGRR E 0 A_PlaySoundEx("roaster/loop","SoundSlot6",true)
	Goto ChainLoop
  ChainLoop:
    NGRR G 0 A_JumpIfInventory("RoasterChainTimer",40,"ChainEnd")
	NGRR E 0 A_PlayWeaponSound("NemesisCannon/Mode2")
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",Random(30,34),-10,Random(5,-5),0)
    NGRR H 1 Bright
	NGRR E 0 A_PlayWeaponSound("NemesisCannon/Mode2")
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",Random(30,34),-10,Random(5,-5),0)
    NGRR H 1 Bright
	NGRR G 1 A_GiveInventory("RoasterChainTimer",1)
	TNT1 A 0 A_StopSoundEx("Roaster")
    NGRR G 0 A_MonsterRefire(10, "ChainEnd")
    Loop
  ChainEnd:
    TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	NGRR E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	NGRR G 0 A_TakeInventory("RoasterChainTimer",40)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	NGRR G 10
	Goto See
  LegMissile:
	NGRR E 0 A_PlaySoundEx("roaster/prep","SoundSlot6")
	NGRR IIIIIIIIII 3 A_FaceTarget
	NGRR J 0 A_PlayWeaponSound("NemesisCannon/BigLaser")
    NGRR J 5 Bright A_CustomMissile("NemesisZombieCannonIonBeam",12,-10)
	NGRR I 3 A_FaceTarget
	NGRR J 0 A_PlayWeaponSound("NemesisCannon/BigLaser")
    NGRR J 5 Bright A_CustomMissile("NemesisZombieCannonIonBeam",12,-10)
	NGRR I 3 A_FaceTarget
	NGRR J 0 A_PlayWeaponSound("NemesisCannon/BigLaser")
    NGRR J 5 Bright A_CustomMissile("NemesisZombieCannonIonBeam",12,-10)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	NGRR I 14
    Goto See
  ShoulderMissile:
	NGRR E 0 A_PlaySoundEx("roaster/prep","SoundSlot6")
	NGRR IIIIIIIIII 3 A_FaceTarget
	NGRR J 0 A_PlaySound("LegCannon/Fire", CHAN_WEAPON)
    NGRR K 2 bright A_CustomMissile("NemDoomSlayerCannonBall",62,20)
	NGRR I 3 A_FaceTarget
	NGRR J 0 A_PlaySound("LegCannon/Fire", CHAN_WEAPON)
    NGRR K 2 bright A_CustomMissile("NemDoomSlayerCannonBall",62,20)
	NGRR I 3 A_FaceTarget
	NGRR J 0 A_PlaySound("LegCannon/Fire", CHAN_WEAPON)
    NGRR K 2 bright A_CustomMissile("NemDoomSlayerCannonBall",62,20)
	NGRR I 3 A_FaceTarget
	NGRR J 0 A_PlaySound("LegCannon/Fire", CHAN_WEAPON)
    NGRR K 2 bright A_CustomMissile("NemDoomSlayerCannonBall",62,20)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	NGRR I 14
    Goto See
  MegaAttack:
	NGRR L 0 A_PlaySound("roaster/pain")
	NGRR LLLLLL 4 A_FaceTarget
	NGRR J 0 A_PlaySound("roaster/javelin", CHAN_WEAPON)
	NGRR J 0 A_PlaySoundEx("roaster/leg", "SoundSlot6")
	NGRR J 0 A_PlaySoundEx("roaster/shoulder", "SoundSlot5")
	NGRR L 0 A_CustomMissile("NemesisNobleRailLaser",62,20)
	NGRR L 0 A_CustomMissile("NemesisZombieCannonIonBeam",12,-10)
	NGRR L 0 A_CustomMissile("NemesisZombieCannonIonBeam",12,-10)
	NGRR L 0 A_CustomMissile("MiniNemesisBFGBall",28,10)
	NGRR L 0 A_CustomMissile("NemesisSentientBFG9500Ball",28,-10)
	NGRR L 0 A_CustomMissile("NemesisSentientBFG9500Ball",28,10)
    NGRR M 2 bright
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	NGRR L 14
    Goto See
  FireBalls:
	NGRR E 20 A_FaceTarget
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
	NGRR F 4 Bright A_CustomMissile("NemesisNobleRailLaser",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
	NGRR F 4 Bright A_CustomMissile("NemesisNobleRailLaser",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
	NGRR F 4 Bright A_CustomMissile("NemesisNobleRailLaser",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
	NGRR F 4 Bright A_CustomMissile("NemesisNobleRailLaser",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
	NGRR F 4 Bright A_CustomMissile("NemesisNobleRailLaser",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
	NGRR F 4 Bright A_CustomMissile("NemesisNobleRailLaser",28,10,Random(4, -4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
	NGRR F 4 Bright A_CustomMissile("NemesisNobleRailLaser",28,10,Random(4, -4))
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	Goto See
  EDTBFG10KBall:
	TNT1 A 0 A_PlaySound("MreimuBall/Cast")
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("MiniNemesisBFGBall",28,10,Random(4,-4))
	NGRR E 5 A_FaceTarget
	NGRR F 4 Bright A_CustomMissile("MiniNemesisBFGBall",28,10,Random(4,-4))
	NGRR E 5 A_FaceTarget
	NGRR F 4 Bright A_CustomMissile("MiniNemesisBFGBall",28,10,Random(4,-4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
	Goto See
   BFG9K:
    NGRR L 0 A_PlaySound("roaster/See7")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	NGRR EEEE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfgf")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10, -20)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10, -10)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10, 0)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10, 10)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10, 20)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10, 30)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam")
	NGRR EEE 20 Bright A_SpawnItemEx("NemesisHellionSmokeSpawner",28,10,0)
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","MLGRocket","EBFG9500Ball","MegaAttack","BFG9K","MLGRocket2")
    Goto See
  EBFG9500Ball:
	NGRR E 10 A_FaceTarget
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10,Random(4,-4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10,Random(4,-4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10,Random(4,-4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10,Random(4,-4))
	NGRR E 5 A_FaceTarget
	NGRR E 0 A_GiveInventory("CommandoStrafing",1)
	NGRR F 4 Bright A_CustomMissile("NemesisSentientBFG9500Ball",28,10,Random(4,-4))
	TNT1 A 0 A_Jump(150,"Cannon","Chaingun","LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","EDTBFG10KBall","EBFG9500Ball","MLGRocket","MegaAttack","BFG9K","MLGRocket2")
	Goto See
  Dodge:
	NGRR A 1 A_FaceTarget
	NGRR E 0 ThrustThingZ(0, 20, 0, 0)
	NGRR A 0 A_Jump(256, "DodgeRight", "DodgeLeft")
  DodgeLeft:
	ELRR E 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	Goto Sprint
  DodgeRight:
	ELRR E 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	Goto Sprint
  Pain:
    TNT1 A 0 A_Jump(100,"PainMissile")
    NGRR N 5 A_Pain
    Goto See
  PainMissile:
    NGRR 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_StopSound(6)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NoVexedBoys") == 1,4)
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"VexedSpawn")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"VexedSpawn")
	TNT1 A 0 A_JumpIf(user_deathtimer <= 10,"VexedSpawn")
	NGRR A 0 A_NoBlocking
    NGRR A 0 A_Scream
	NGRR OPQRSTU 6 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("Jetpack",0,0,64,random(1,8),0,2,random(0,360),0,170)
	TNT1 A 0 A_SpawnItemEx("ArmorRegenerator",0,0,64,random(1,8),0,2,random(0,360),0,230)
	NGRR E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("MiniNemesisDeathBall",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisRoasterockBeacon")
	NGRR U -1
    Stop
   VexedSpawn:
	NGRR G 3 Bright A_Pain
	NGRR G 0 A_PlaySoundEx("brain/spit",7,0,2)
	NGRR NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	NGRR NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	NGRR NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("NemesisLightning")
	NGRR GGGGGGGGGGGG 2 Bright A_SpawnItemEx("VexedNemesisFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("VexedNemesisGeneralRoasterock",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TELEFRAG)
	TNT1 A 1
	Stop
  }
}

Actor NemesisRoasterockBeacon : ActiveFormerBeacon
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
    NBEC A 105
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 0 A_SpawnItemEx("NemesisCommando",0,0,8,0,0,0,0,1)
    NBEC A 105
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 0 A_SpawnItemEx("NemesisAssaultCaptain",0,0,8,0,0,0,0,1)
    NBEC A 105
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 0 A_SpawnItemEx("NemesisSuperShotgunZombie",0,0,8,0,0,0,0,1)
    NBEC A 105
    TNT1 A 1 A_SpawnItemEx("TeleportFog")
    stop
  }
}