ACTOR TheFuckingArmageddonLunatic : EFGLunatic //YES, he's holding the Redeemer wrong, and I just realized when I finished it, Fuck
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: Z4CN
//Title: "The Armageddon Lunatic"
Speed 3
Height 56
Radius 20
Scale 1.25
Mass 2000
Health 4200 //1050 x 4
Painchance 50 //100
BloodColor "DarkRed"
DropItem "PortableMedCell", 150, 1
DropItem "StimKit", 180, 2
DropItem "RocketAmmo", 180
DropItem "HealthFlask", 200, 6
DropItem "ArmorPlate", 160
Dropitem "MarineSquadBeacon", 60, 1
DropItem "HandGrenadeAmmo", 120, 1
DropItem "MineAmmo", 90, 1
DropItem "AmmoPack", 160, 1
DropItem "ShieldSphere", 256, 5
Species "EliteZombies"
Damagefactor 0.5
RadiusDamageFactor 0.5 //0.001
Damagefactor "Acid", 3
Damagefactor "Extreme", 0.3
Damagefactor "Rocket", 0.3
DamageFactor "RST", 0.0
DamageFactor "SoapOpera", 0.0
DamageFactor "ZombieDev", 0.0
Damagefactor "ZExplosiveBullets", 0.0
Damagefactor "HTZombie", 0.0
Damagefactor "ZGrenade", 0.0
DamageFactor "ZombieCannon", 0.0
DamageFactor "MiniRocket", 0.0
DamageFactor "Zap", 0.0
Damagefactor "Normal", 0.8 //0.3
Damagefactor "Legendary", 0.5 //0.3
Damagefactor "LegendaryPlayer", 0.5 //0.3
Damagefactor "PlayerNemesisPlasma", 0.3
Damagefactor "TrueLegendaryPlayer", 0.3
Damagefactor "TrueLegendaryDamage", 0.3
Damagefactor "Hackroid", 0.5
Damagefactor "Cursed", 0.5
DamageFactor "NemesisBall", 0.5
DamageFactor "NemesisBeam", 0.5
DamageFactor "BFGSpray", 0.25
DamageFactor "BFGSplash", 0.25
DamageFactor "LegendaryGuru", 0.25
DamageFactor "LegendaryGuruPlayer", 0.25
DamageFactor "PDTBFG", 0.1
DamageFactor "PDTBFGTracer", 0.1
DamageFactor "PlayerPyro", 0.1
DamageFactor "PlayerHellfire", 0.1
DamageFactor "PDTPuff", 0.1
Damagefactor "Explosion", 0.1 //0.001
SeeSound "efglunatic/sight"
ActiveSound "efglunatic/active"
PainSound "efglunatic/pain"
DeathSound "efglunatic/death"
Obituary "The planet was totally Destroyed by the Destroyer of Worlds, The Armageddon Lunatic."
Tag "\c[x1]The \c[z4]Armageddon\c- \c[g5]Lunatic\c-"
+BOSS
+BOSSDEATH
+NOICEDEATH
+NOFEAR
+NOPAIN
+NEVERRESPAWN
+NOTELEFRAG
+NOTARGET
+NOINFIGHTING
+FLOORCLIP
+QUICKTORETALIATE
+DONTHARMSPECIES
+MISSILEMORE
+MISSILEEVENMORE
//NOTIMEFREEZE
//+NORADIUSDMG
var int user_nuke;
var int user_fusion;
var int user_missile;
var int user_nukelimit;
States
{
  Spawn:
	Z4CN A 10 A_Look
	Loop
  Idle:
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	Z4CN AAA 2 A_Wander
	TNT1 A 0 A_Look
	Z4CN BBB 2 A_Wander
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
	Z4CN CCC 2 A_Wander
	TNT1 A 0 A_Look
	Z4CN DDD 2 A_Wander
	TNT1 A 0 HealThing(random(2,5))
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
	Loop
  See:
    TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 7,"RunBitchRUUUUN")
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	Z4CN AAABBB 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
	Z4CN CCCDDD 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
	TNT1 A 0 A_Jump(30,"Teleport")
	TNT1 A 0 A_Jump(40,"Heal")
	Loop
  RunBitchRUUUUN:
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 0 A_Changeflag(NOFEAR,0)
	TNT1 A 0 A_Changeflag(FRIGHTENED,1)
	Z4CN AA 1 A_Chase
	Z4CN AB 1 A_Chase("","")
	Z4CN BB 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
	Z4CN CC 1 A_Chase("","")
	Z4CN CD 1 A_Chase
	Z4CN DD 1 A_Chase("","")
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
	TNT1 A 0 A_Jump(30,"Teleport")
	TNT1 A 0 A_Jump(40,"Heal")
	TNT1 A 0 A_Jump(2,"ReloadNukes")
	Loop
  Teleport:
	TNT1 A 0 A_FaceTarget
	Z4CN A 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("ArmageddonDudeLineSpawner")
	Z4CN A 0 A_PlayWeaponSound("boss/teleport")
	Z4CN AAAAAAAAAA 2 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_Stop
	Z4CN A 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	Z4CN A 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 A 0 A_FaceTarget
	TNT1 AAAA 0 A_SpawnItem("ArmageddonDudeLineSpawner")
	Z4CN AAAAAAAAAA 2 Bright A_FadeIn(0.1)
	Z4CN A 1 Bright A_SetShootable
	Goto See
  Missile:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_UnSetInvulnerable
    Z4CN EEEEE 2 A_FaceTarget(45)
	TNT1 A 0 A_PlaySound("aaa1/scan",5)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 7,"RunBitchRUUUUN")
	TNT1 A 0 A_Jump(16,"ThefinalAnnihilation")
	TNT1 A 0 A_Jump(96,"NukeStopped")
  NukeStrafing:
    TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	Z4CN EEEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
    TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	Z4CN EEEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
	TNT1 AA 0 A_SpawnItem("ArmageddonDudeLineSpawner")
	TNT1 A 0 A_Jump(150,2)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 0 A_MonsterRefire(32,"NukeEndTargetLost")
	TNT1 A 0 A_JumpIf(user_missile >= 7,2)
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	Loop
	TNT1 A 0 A_SetUserVar("user_missile",0)
    TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	Z4CN EEEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
    TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	Z4CN EEEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
	TNT1 AA 0 A_SpawnItem("ArmageddonDudeLineSpawner")
	TNT1 A 0 A_JumpIfTargetInLOS(1)
    Goto NukeEndTargetLost
	TNT1 A 0 A_StopSound(5)
	Z4CN FFFFF 1 Bright A_FaceTarget(45)
	TNT1 A 0 A_SetUserVar("user_nukelimit",user_nukelimit+1)
	TNT1 A 0 A_PlaySound("Armageddon/blast",7,1,0,ATTN_NONE)
	Z4CN F 10 Bright A_CustomMissile("ArmageddonZombieFusionNuke",40,9,frandom(-1.0,1.0))
    Goto FusionPause
  NukeStopped:
	TNT1 A 0 A_PlaySound("efglunatic/sight",CHAN_VOICE,1,0,0.5)
  NukeStoppedLoop:
	TNT1 A 0 A_JumpIf(user_missile >= Random(6,8),"NukeStoppedGO")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 AA 0 A_SpawnItem("ArmageddonDudeLineSpawner")
	TNT1 A 0 A_Jump(150,2)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 0 A_MonsterRefire(32,"NukeEndTargetLost")
	TNT1 A 0 A_FaceTarget(45)
	Z4CN EEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
	TNT1 A 0 A_FaceTarget(45)
	Z4CN EEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
	TNT1 A 0 A_FaceTarget(45)
	Z4CN EEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
	TNT1 A 0 A_FaceTarget(45)
	Z4CN EEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
    Loop
  NukeStoppedGO:
	TNT1 A 0 A_JumpIfTargetInLOS(1)
    Goto NukeEndTargetLost
	TNT1 A 0 A_StopSound(5)
	Z4CN E 1 A_PlaySound("efg/nukecharge",CHAN_VOICE,1,0,0.5)
	Z4CN EEEEEEEEEEEEEEEEEE 2 A_FaceTarget(45)
	TNT1 A 0 A_SetUserVar("user_nukelimit",user_nukelimit+1)
	TNT1 A 0 A_PlaySound("Armageddon/blast",7,1,0,ATTN_NONE)
	Z4CN F 10 Bright A_CustomMissile("ArmageddonZombieFusionNuke",40,9,frandom(-1.0,1.0))
    Goto FusionPause
  ThefinalAnnihilation:
    TNT1 A 0 A_PlaySound("efgzombie/alarm",7,1,0,ATTN_NONE)
	TNT1 A 0 A_Playsound("Utsuho/alert",6,1,0,ATTN_NONE)
	TNT1 A 0 A_Changeflag(REFLECTIVE,1)
	TNT1 A 0 A_SetInvulnerable
  FinalNukeCharge:
	TNT1 A 0 A_JumpIf(user_missile >= 30,"TheGreatFUCKYOU")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_SpawnItem("ArmageddonDudeLineSpawner")
	TNT1 A 0 A_Jump(225,2)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 0 A_MonsterRefire(8,"NukeEndTargetLost")
    TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	Z4CN EEEEE 1 A_CustomRailgun(-1,10,none,none,RGF_SILENT,1,0,"RailTargetPuff",0,0,0,0,0,0,"EnragedLaserSight",10)
    Loop
  TheGreatFUCKYOU:
	TNT1 A 0 A_JumpIfTargetInLOS(1)
    Goto NukeEndTargetLost
	TNT1 A 0 A_StopSound(5)
	Z4CN FFFFF 1 Bright A_FaceTarget(45)
	TNT1 A 0 A_PlaySound("Armageddon/fire",CHAN_VOICE,1,0,ATTN_NONE)
	TNT1 A 0 A_PlaySound("Armageddon/blast",7,1,0,ATTN_NONE) //A_PlaySound("Armageddon/blast",CHAN_WEAPON,1,0,ATTN_NONE)
	TNT1 A 0 A_SetUserVar("user_nukelimit",user_nukelimit+2)
	Z4CN F 10 Bright A_CustomMissile("EFGZombieNukeRocket",40,9,frandom(-1.0,1.0))
	Z4CN EEEEEEEEEEEEE 4 A_FaceTarget(45)
	TNT1 A 0 A_UnSetInvulnerable
	Goto FusionPause
  NukeEndTargetLost:
	TNT1 A 0 A_Changeflag(REFLECTIVE,0)
	TNT1 A 0 A_UnSetInvulnerable
	Z4CN EEEEE 5
	Goto See
  FusionPause:
	TNT1 A 0 A_PlaySound("weapon/warn",CHAN_WEAPON,1,0,0.5)
	TNT1 A 0 A_Changeflag(REFLECTIVE,0)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	Z4CN E 15
	TNT1 A 0 A_PlaySound("weapon/cool",6)
	Z4CN E 1 A_FaceTarget(45)
	Z4CN EEEEEEEEEEEE 1 A_SpawnItemEx("SmokeFX4",9,0,40,5,0,0,random(-1,1))
	Z4CN E 5
	Goto See
  ReloadNukes:
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_Changeflag(NOFEAR,1)
	TNT1 A 0 A_Changeflag(FRIGHTENED,0)
    Z4CN EEE 10
	Z4CN E 10 A_PlayWeaponSound("weapons/nuclearmissilereload")
    Z4CN E 10
	TNT1 A 0 A_SetUserVar("user_nukelimit",0)
	Z4CN A 35
	Goto See
  Heal:
	Z4CN A 5
	TNT1 A 0 A_Jump(10,"HealFull")
	TNT1 A 0 HealThing(50)
	TNT1 A 0 A_PlaySound("pmed/use",0,1.0,0)
	GoTo See
  HealFull:
	Z4CN A 2 HealThing(10)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	Z4CN A 2 HealThing(10)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	Z4CN A 2 HealThing(10)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	Z4CN A 2 HealThing(10)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	Z4CN A 2 HealThing(10)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	Z4CN E 5
	Z4CN A 2 HealThing(45)
	TNT1 A 0 A_PlaySound("pickups/pstimpack",0,1.0,0)
	Z4CN A 2 HealThing(45)
	TNT1 A 0 A_PlaySound("pickups/pstimpack",0,1.0,0)
	Z4CN E 5
	Z4CN A 2 HealThing(25)
	TNT1 A 0 A_PlaySound("pmed/use",0,1.0,0)
	Z4CN A 2 HealThing(25)
	TNT1 A 0 A_PlaySound("pmed/use",0,1.0,0)
	GoTo See
  Pain:
	TNT1 A 0
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_JumpIf(user_nukelimit >= 7,"PainNoNukes")
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_Changeflag(REFLECTIVE,0)
	//TNT1 A 0 A_Jump(40,"PainMissile")
	//TNT1 A 0 A_Jump(50,"TriggerRage")
	Z4CN G 3 A_Pain
	Z4CN G 3
	TNT1 A 0 A_Jump(30,"Heal")
	Goto see
  PainMissile:
	Z4CN G 3 A_Pain
	Z4CN G 3
    Goto Missile
  PainNoNukes:
	TNT1 A 0 A_Jump(5,"ReloadNukes")
	Z4CN G 3 A_Pain
	Z4CN G 2
	TNT1 A 0 A_Jump(30,"Heal")
	Goto see
  TriggerRage:
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	Z4CN E 1 A_Pain
	TNT1 A 0 A_PlaySound("efgzombie/protection",CHAN_BODY,1,0,0.5)
	Z4CN E 6 ACS_NamedExecuteAlways("LunaticRage",0)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	Goto See
  Death:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_StopSound(5)
	Z4CN H 5
	Z4CN I 5 A_Scream
	Z4CN J 5 A_Fall
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 1,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 2,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 3,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 4,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 5,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 6,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 7,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_SpawnItemEx("ArmageddonCannon",0,0,8,random(0,8),random(0,8),2,random(0,360),0,192)
	Z4CN KLM 50
	Z4CN M -1
	Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Z4CN O 5 A_GiveInventory("XDeathCheck",1)
	Z4CN P 5 A_XScream
	Z4CN Q 5 A_Fall
	TNT1 A 0 A_JumpIf(user_nukelimit >= 1,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 2,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 3,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 4,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 5,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 6,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_JumpIf(user_nukelimit >= 7,2)
	TNT1 A 0 A_SpawnItemEx("NuclearRocket",0,0,8,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_SpawnItemEx("ArmageddonCannon",0,0,8,random(0,8),random(0,8),2,random(0,360),0,192)
	Z4CN RSTUV 5
	Z4CN W -1
	Stop
	}
}

ACTOR ArmageddonZombieFusionNuke : FusionNuke
{
Damagetype "ZombieDev"
Obituary "%o got fucking nuked by the Armageddon Lunatic."
var int user_lcounter;
var int user_flytime;
States
  {
  Spawn:
    TNT1 A 0 A_JumpIf(user_flytime >= 110,2)
	TNT1 A 0 A_ScaleVelocity(1.1)
	TNT1 A 0 A_SetUserVar("user_flytime",user_flytime+1)
	TNT1 A 0 A_CustomMissile("MissileTrail",Random(-2,2),Random(-2,2)) 
	TNT1 A 0 A_CustomMissile("ProjectileTrailParticleOrange",Random(-2,2),Random(-2,2)) 
	NKS1 A 1 Bright A_CustomMissile("PlayerNuclearMissileTrail",0,0,0)
	Loop
	}
}

ACTOR ArmageddonDudeLineSpawner : HemLineSpawner
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	TNT1 AAAAA 0 A_SpawnItemEx("HemPowerLine",random(32,-32),random(32,-32),random(8,48),0,0,random(1,4),0,128,0) 	
	TNT1 A 1 A_SpawnItemEx("HemPowerLine",random(32,-32),random(32,-32),random(8,48),0,0,random(1,4),0,128,0) 
    Stop
	}
}