ACTOR VexedNemesisCydestroyer : NemesisCyberNoble 28015
{ 
  Health 3500
  Speed 30
  DamageFactor 0.5
  DamageFactor "Explosion", 0.0001
  DamageFactor "PlayerDTRG", 0.0001
  DamageFactor "DTRailgun", 0.0001
  DamageFactor "PDTPuff", 0.0001
  DamageFactor "RailG", 0.0001
  DamageFactor "PyroShot", 0.0001
  DamageFactor "PlayerPyro", 0.0001
  DamageFactor "PlayerBHole", 0.025
  DamageFactor "PlayerDBFG", 0.015
  DamageFactor "PlayerDBFG2", 0.015
  PainChance "Explosion", 128
  PainChance "PlayerDTRG", 128
  PainChance "DTRailgun", 128
  PainChance "PDTPuff", 128
  PainChance "RailG", 128
  PainChance 45 
  PainChance "Explosion", 128
  +BRIGHT
  Obituary "%o was terminated by the Vexed Nemesis Cydestroyer."
  SeeSound "VexedNemesisCydestroyer/Sight"
  ActiveSound "VexedNemesisCydestroyer/Active"
  PainSound "VexedNemesisCydestroyer/Pain"
  DeathSound "VexedNemesisCydestroyer/Death"
  Tag "\c[w2]Vexed Nemesis Cydestroyer\c-"
  States 
  { 
  Spawn:
    TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VC2S A 7 A_Look
    Loop 
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,739)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(100,"Rush")
	VC2S AA 2 A_Chase
	TNT1 AAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire")
	VC2S BB 2 A_Chase
	TNT1 AAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire")
	VC2S CC 2 A_Chase
	TNT1 AAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_Playsound("monster/bruwlk")
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire")
	VC2S DD 2 A_Chase
	TNT1 AAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_Playsound("monster/bruwlk")
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire")
	TNT1 A 0 A_Jump(32,"Teleport")
	Goto See
  Rush:
	VC2S A 2 A_SpawnItemEx("NemesisCydestroyerGhost")
	VC2S AAAA 0 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	VC2S A 2 A_SpawnItemEx("NemesisCydestroyerGhost")
	VC2S AAAA 0 A_Chase  
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	VC2S B 2 A_SpawnItemEx("NemesisCydestroyerGhost")
	VC2S AAAA 0 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	VC2S B 2 A_SpawnItemEx("NemesisCydestroyerGhost")
	VC2S AAAA 0 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	TNT1 AAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	VC2S C 2 A_SpawnItemEx("NemesisCydestroyerGhost")
	VC2S AAAA 0 A_Chase
	TNT1 A 0 A_Playsound("monster/bruwlk")
	VC2S C 2 A_SpawnItemEx("NemesisCydestroyerGhost")
	VC2S AAAA 0 A_Chase  
	TNT1 A 0 A_Playsound("monster/bruwlk")
	VC2S D 2 A_SpawnItemEx("NemesisCydestroyerGhost")
	VC2S AAAA 0 A_Chase
	TNT1 A 0 A_Playsound("monster/bruwlk")
	VC2S D 2 A_SpawnItemEx("NemesisCydestroyerGhost")
	VC2S AAAA 0 A_Chase
	TNT1 A 0 A_Playsound("monster/bruwlk")
	TNT1 AAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	TNT1 A 0 A_Jump(24,"Teleport")
	TNT1 A 0 A_Jump(75,"See")
	Loop
  Teleport:
    VC2S P 1 A_UnSetShootable
	VC2S PPPP 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VC2S PPPPP 1 A_FadeOut(0.2,0)
	VC2S PEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 0 A_Wander
	VC2S PEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 0 A_Wander
    VC2S P 0 A_PlayWeaponSound("boss/teleport")
	VC2S PPPP 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VC2S PPPPPP 1 A_FadeIn(0.2)
    VC2S P 1 A_SetShootable
    Goto See		
  Melee:
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_JumpifCloser(350,"NemesisASG")
	//TNT1 A 0 A_Jump(4,"SuperRage","SuperRage2")
    TNT1 A 0 A_Jump(128,"ShoulderRockets","Railgun","BFG10k","MiniNemesisBFG","NemesisBFG")
  Normal:
    VC2S EEE 2 A_FaceTarget
    VC2S E 1 A_FaceTarget
	TNT1 A 0 A_CustomMissile("NemesisRifleShotEnemy",36,20,random(-12,12),0)
	TNT1 A 0 A_CustomMissile("NemesisRifleShotEnemy",36,-20,random(-12,12),0)
	VC3S B 1 A_PlaySoundEx("NemesisRifle/Fire","Weapon")
    TNT1 A 0 A_Jump(10,"See")
    TNT1 A 0 A_SpidRefire
	Goto Normal+3
  NemesisASG:
	TNT1 A 0 A_Jump(64,"NemesisSSG")
	VC2S E 4 A_FaceTarget
	TNT1 AAAAAAAA 0 A_CustomMissile("NemesisASGBall",36,20,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	TNT1 AAAAAAAA 0 A_CustomMissile("NemesisASGBall",36,-20,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	VC3S B 2 A_PlaySoundEx("NemesisASG/Fire","Weapon")
    TNT1 A 0 A_SpidRefire
	Goto NemesisASG+1
  NemesisSSG:
    VC2S E 8 A_FaceTarget
	TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("NemesisASGBall",36,20,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("NemesisASGBall",36,-20,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	VC3S B 4 A_PlaySoundEx("NemesisSSG/Fire1","Weapon")
	VC2S E 12
    TNT1 A 0 A_SpidRefire
	Goto Normal
  ShoulderRockets:
	TNT1 A 0 A_PlaySound("VexedNemesisCydestroyer/Attack",7)
	VC2S EEE 2 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  ShoulderRocketsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 40,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_CustomMissile("NemesisNobleHomingRocket",67,17,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	TNT1 A 0 A_CustomMissile("NemesisNobleHomingRocket",67,-17,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	VC3S A 3 A_FaceTarget
	Loop
  Railgun:
	TNT1 A 0 A_PlaySound("VexedNemesisCydestroyer/Attack",7)
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	VC2S EEEE 5 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  RailgunLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 20,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("monsters/darkcyberrail")
	TNT1 A 0 A_CustomMissile("NemesisNobleRailLaser",36,20)
	TNT1 A 0 A_CustomMissile("NemesisNobleRailLaser",36,-20)
	VC3S B 2 A_FaceTarget
	VC2S E 2 A_FaceTarget
	Loop
  BFG10k:
	TNT1 A 0 A_PlaySound("VexedNemesisCydestroyer/Rage",7)
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	VC2S EEEE 5 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  BFG10kLoop1:
	TNT1 A 0 A_JumpIf(user_missile >= 14,"BFG10kLoop2")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",36,20,frandom(-10,10))
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",36,-20,frandom(-10,10))
	VC3S B 2 A_FaceTarget
	VC2S E 2 A_FaceTarget
	Loop
  BFG10kLoop2:
	TNT1 A 0 A_JumpIf(user_missile >= 28,"BFG10kLoop3")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",36,20,frandom(-10,10))
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",36,-20,frandom(-10,10))
	VC3S B 2 A_FaceTarget
	VC2S E 1 A_FaceTarget
	Loop
  BFG10kLoop3:
	TNT1 A 0 A_JumpIf(user_missile >= 42,"BFG10kLoop4")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",36,20,frandom(-10,10))
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",36,-20,frandom(-10,10))
	VC3S B 1 A_FaceTarget
	VC2S E 1 A_FaceTarget
	Loop
  BFG10kLoop4:
	TNT1 A 0 A_JumpIf(user_missile >= 60,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",36,20,frandom(-10,10))
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",36,-20,frandom(-10,10))
	VC3S B 1 A_FaceTarget
	Loop
  MiniNemesisBFG:
	TNT1 A 0 A_PlaySound("VexedNemesisCydestroyer/Rage",7)
	TNT1 A 0 A_PlaySound("lrball3/charge")
	VC2S EEEEEEE 5 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  MiniNemesisBFGLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 12,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("star/fire")
	TNT1 A 0 A_CustomMissile("MiniNemesisBFGBall",36,20)
	TNT1 A 0 A_CustomMissile("MiniNemesisBFGBall",36,-20)
	VC3S B 6 A_FaceTarget
	VC2S E 10 A_FaceTarget
	Loop
  NemesisBFG:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_PlaySound("VexedNemesisCydestroyer/Rage",7)
	TNT1 A 0 A_PlaySound("NemesisBFG/charge",1)	
	VC2S G 3 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SetUserVar("user_missile",0)
  NemesisBFGCharge:
	TNT1 A 0 A_JumpIf(user_missile >= 6,"NemesisBFGFire")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	VC2S AA 2 A_Chase("","")
	TNT1 AAAAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire")
	VC2S BB 2 A_Chase("","")
	TNT1 AAAAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("LegendaryHoofStep")
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire")
	VC2S CC 2 A_Chase("","")
	TNT1 AAAAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_Playsound("monster/bruwlk")
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire")
	VC2S DD 2 A_Chase("","")
	TNT1 AAAAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_Playsound("monster/bruwlk")
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire")
	Loop
  NemesisBFGFire:
	VC2S EEE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("NemesisBFG/Fire",1)
	TNT1 A 0 A_CustomMissile("NemesisGuruBall",36,20)
	TNT1 A 0 A_CustomMissile("NemesisGuruBall",36,-20)
	VC3S B 6 A_FaceTarget
	VC2S E 30 A_FaceTarget
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See
  Pain: 
  	TNT1 A 0 A_Jump(70,"Teleport")	
	TNT1 A 0 Radius_Quake(8,20,0,64,0)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,0)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,30)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,60)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,90)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,120)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,150)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,180)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,210)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,240)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,270)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,300)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall3",0,0,330)
    VC2S G 8 A_Pain
	TNT1 A 0 A_Jump(256,"Missile")
    Goto See
  Pain.Explosion:
  Pain.Mine:
	//TNT1 A 0 A_Jump(40,"SuperRage","SuperRage2")
	Goto Teleport	
  Death:
    VC2S G 0 A_Scream
	VC2S GGGGGGGGGGGGGGGGGGGGGGGGGGG 2 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 A 0 A_SpawnItem("MiniNemesisDeathBall")
	VC2S GGGGGGGGGGGGGGGGGGGGGGGGGGG 2 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 AA 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)	
	TNT1 A 0 A_SpawnItem("NemesisDeathBall")
	VC2S HHIIJJKKLLMM 2 A_CustomMissile("WhiteNemesisKaboom", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
    TNT1 AAAA 0 A_CustomMissile("LegendarySmokeFX", Random(30,60), 0, random(0,360), 2, random(0,360))	
    VC2S N 4 A_NoBlocking
    VC2S OP 3
	TNT1 A 0 A_ChangeFlag("BRIGHT",0)
	TNT1 A 0 A_Jump(100,"MoreStuff")
	VC2S Q 100
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
    VC2S Q -1
    Stop
  MoreStuff:
	VC2S Q 100
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	VC2S QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 1 A_SpawnItem("NemesisCYNItemRandomizer")
	VC2S QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 1 A_SpawnItem("NemesisCYNItemRandomizer")
	VC2S Q 1 A_SpawnItem("NemesisHKSuperItemRandomizer")
	VC2S Q -1
	Stop
    } 
}

ACTOR NemesisCydestroyerGhost : NemesisCyberNobleGhost
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
    VC2S A 2 A_FadeOut(0.09)
    Loop	
    }
}