ACTOR LegendaryPyroZombie
{
//Creator: Titanium
//Origin: Nexus Infinity
//Sprite: LPYZ
//Title: "Legendary Pyro Zombie"
Obituary "%o went brunt into a bluish crisp by a \c[z3]Legendary Pyro\c-."
Health 1250
Radius 20
Height 56
Mass 100
Speed 12
FastSpeed 14
PainChance 20
BloodColor "Blue"
MONSTER
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "Legendary Assault Shotgun" 65
DropItem "LegendaryShell" 128 4
DropItem "LegendaryShellBox" 80
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 235 2
DropItem "Armorplate" 205 1
DropItem "Portablemedkit" 210 1
DropItem "Backpack" 198 1
DropItem "Gas" 250
DropItem "BigGas" 200
DropItem "LegAmmoSphere" 102 1
DropItem "LegendaryArmor" 105 1
DropItem "Welder" 150 1
DropItem "LegendaryRune" 29 1
DropItem "LegendaryPowerShard" 42 1 
DamageFactor 0.60
DamageFactor "PDTBFG", 0.20
DamageFactor "PDTBFGTracer", 0.20
DamageFactor "PlayerDevBall", 0.120
DamageFactor "PlayerDevBall2", 0.120
DamageFactor "PlayerDTBFGRailgunSlug", 0.120
DamageFactor "PlayerDevTracer", 0.120
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "LACGrenade", 0.0
DamageFactor "LegendaryZombie", 0.0
DamageFactor "GeneralTracer", 0.0
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PlayerDTRG", 0.5
DamageFactor "Cyber10K", 0.0
DamageFactor "SoapOpera", 0.0 
DamageFactor "Fire", 0.0
DamageFactor "Ice", 0.25
SeeSound "lgeneral/sight"
PainSound "lgeneral/pain"
DeathSound "lgeneral/death"
ActiveSound "lgeneral/active"
Tag "\c[z3]Legendary Pyro Zombie\c-"
+NOTIMEFREEZE
+BOSS
+BOSSDEATH
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+NOICEDEATH
+NODROPOFF
+DONTGIB
+NOTARGET
+NORADIUSDMG
+FORCERADIUSDMG
+NOFEAR
+BRIGHT
var int user_music;
var int user_arson;
var int user_protection;
var int user_protected;
states
{
  Spawn:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LPYZ A 10 A_Look
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LPYZ X 10 A_Look
    Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2078)
	TNT1 A 0 A_SetUserVar("user_music",1)
    LPYZ A 0 A_JumpIfTargetInLOS("Strafing")
    LPYZ AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LPYZ A 0 A_Jump(30,"Rush","Arson")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LPYZ A 0 A_JumpIfTargetInLOS("Strafing")
	LPYZ CCDD 3 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LPYZ A 0 A_Jump(80,"Rush","Arson")
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    Loop
  Rush:
    LPYZ A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegPyroGhost",0,0,0,0,0,0,0,128)
	LPYZ A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegPyroGhost",0,0,0,0,0,0,0,128)
	LPYZ A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegPyroGhostB",0,0,0,0,0,0,0,128)
	LPYZ B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegPyroGhostB",0,0,0,0,0,0,0,128)
	LPYZ B 1 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegPyroGhostC",0,0,0,0,0,0,0,128)
	LPYZ C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegPyroGhostC",0,0,0,0,0,0,0,128)
	LPYZ C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegPyroGhostD",0,0,0,0,0,0,0,128)
	LPYZ D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegPyroGhostD",0,0,0,0,0,0,0,128)
	LPYZ D 1 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LPYZ AA 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LPYZ BB 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    LPYZ CC 3 A_GiveInventory("LegZombieStrafing2",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LPYZ DD 3 A_GiveInventory("LegZombieStrafing2",1)
	Goto See
  Pause:
	LPYZ EEEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	Goto See	
  Arson:
    TNT1 A 0 A_JumpIf(user_arson == 0,"Rush")
    LPYZ EEE 3
    LPYZ C 0 A_JumpIfTargetInLos("Missile")
    LASG C 0 A_JumpIfCloser(300,"Missile")
	TNT1 AAAA 0 A_CustomMissile("LegendaryFlamethrowerShot",36,0,random(-6,6),CMF_TRACKOWNER)
    LPYZ F 15
	Goto See
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_SetUserVar("user_arson",1)
	TNT1 A 0 A_JumpIfCloser(500,"MissileClose")
	TNT1 A 0 A_Jump(72,"Napalm")
	Goto Normal
  MissileClose:
    TNT1 A 0 A_Jump(88,"Normal","Normal","Napalm")
  Close:
	TNT1 A 0 A_CheckRange(500,"Normal")
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("Weapons/PyroSGShot")
	TNT1 AAAA 0 A_CustomMissile("LegendaryFlamethrowerShot",36,0,random(-6,6),CMF_TRACKOWNER)
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("Weapons/PyroSGShot")
	TNT1 AAAA 0 A_CustomMissile("LegendaryFlamethrowerShot",36,0,random(-6,6),CMF_TRACKOWNER)
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
	Loop
  Normal:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	LPYZ EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 AAAAA 0 A_CustomMissile("LegendaryFlameBall",32,0,random(-6,6),0)
	LPYZ F 5 A_PlaySoundEx("Weapons/PyroSGShot","Weapon")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_JumpIfCloser(500,"Close")
	TNT1 A 0 A_SpidRefire
	Goto Normal+5
  Napalm:
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegendaryNapalmBall",32,0,0)
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegendaryNapalmBall",32,0,0)
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegendaryNapalmBall",32,0,0)
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegendaryNapalmBall",32,0,0)
	//TNT1 A 0 A_Jump(24,"Pause")
	//TNT1 A 0 A_SpidRefire
	Goto See
  Pain:
	TNT1 A 0 A_Jump(30,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
	LPYZ G 3
	LPYZ G 3 A_Pain
	Goto See
  PainMissile:
	LPYZ G 3
	LPYZ G 3 A_Pain
	TNT1 A 0 A_Jump(64,"Arson")
	Goto Missile	
  Protection:
	TNT1 A 0 A_JumpIf(user_protection >= 3,"Pain")
	TNT1 A 0 A_JumpIf(user_protected == 1,"Pain")
	TNT1 A 0 A_PlaySound("legendary/defense")
	TNT1 A 0 A_FaceTarget
	LPYZ E 2 ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	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(36,"LegendarySoul")
	TNT1 A 0 A_ChangeFlag("BRIGHT",0)
    TNT1 A 0 A_StopSound(6)
    LPYZ H 5 A_Scream
	LPYZ I 5
    LPYZ J 5 A_NoBlocking
    LPYZ KL 5
	LPYZ M 5
	LPYZ N 0 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_Jump(64,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SignetAvaliableTokensCheck") == 2,2)
	TNT1 A 0 A_JumpIfInTargetInventory("SignetActiveToken",1,"SignetResurrect")
    LPYZ N -1
    Stop
  SignetResurrect:
    TNT1 A 0 A_GiveToTarget("ResurrectedMonsters",1)
	TNT1 A 0 Thing_ChangeTID(0,ACS_NamedExecuteWithResult("SignetTargetID")+699)
    LPYZ N 100 A_ChangeFlag(FRIENDLY,1)
	LPYZ N 200 A_SpawnItem("SignetRessurectionFire")
	LPYZ N 40 Bright A_SpawnItem("SignetRessurectionFlame")
    LPYZ N 0 A_PlaySoundEx("TLegZomb/Resurrect",7,0,0.4)
    LPYZ MLKJIH 15 Bright
	TNT1 A 3 A_SpawnItemEx("FriendlyLegendaryPyroZombie",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0,tid-2-699)
	TNT1 A 1
	Stop
  TrueLeg:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag("BRIGHT",0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LPYZ H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ I 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LPYZ J 5 A_NoBlocking
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LPYZ K 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ L 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ M 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ N 0 A_SpawnItem("BodyCrash",0,0,0,0)
    LPYZ N 140
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LPYZ NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ N 5 A_SpawnItem("BlueLightning")
	TPYZ NMLKJHG 15 Bright
	TNT1 A 0 A_SpawnItemEx("TrueLegendaryPyroZombie",0,0,16,0,0,0,0,32)
	TNT1 A 1
	Stop
  LegendarySoul:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag("BRIGHT",0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LPYZ H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ I 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LPYZ J 5 A_NoBlocking
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LPYZ K 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ L 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ M 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LPYZ N 0 A_SpawnItem("BodyCrash",0,0,0,0)
    LPYZ N 140
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LPYZ NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LPYZ NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LPYZ NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("INFLegendarySoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LPYZ N -1
    Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag("BRIGHT",0)
	LPYZ O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LPYZ P 3 A_XScream
	LPYZ Q 5 A_NoBlocking
    LPYZ R 5
    LPYZ S 5 
    LPYZ T -1 
    Stop
  }
}

ACTOR LegPyroGhost
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+NOINTERACTION
+NOTIMEFREEZE
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    LPYZ A 2 A_FadeOut(0.10)
    Wait
	}
}

ACTOR LegPyroGhostB : LegPyroGhost
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    LPYZ B 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR LegPyroGhostC : LegPyroGhost
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    LPYZ C 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR LegPyroGhostD : LegPyroGhost
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    LPYZ D 2 A_FadeOut(0.10)
    Wait
    }
}

Actor BaseLegendaryFireSpawner
{
PROJECTILE
Height 6
Radius 3
Scale 0.5
Speed 30
FastSpeed 30
Gravity 0.2
RenderStyle Add
MaxStepHeight 4
Decal "DoomImpScorch"
Damage 1
-NoGravity
+Strifedamage
+NOEXTREMEDEATH
+NODAMAGETHRUST
+DontHarmspecies
+DontHurtSpecies
+NOTIMEFREEZE
Damagetype "Fire"
DeathType "Fire"
DeathSound "Welder/FlameHit"
Obituary "%o's face got charred by a falling flare."
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Welder/PyroShotFly",CHAN_BODY,1.0,1)
  SpawnLoop:
	LFR3 A 1 Bright A_SpawnItemEx("LegendaryFireSpawnerTail",0,0,0)
	Loop
	}
}

ACTOR LegendaryFireSpawnerTail : BFG9500Trail
{
Alpha 0.3
Scale 0.47 
+NOTIMEFREEZE
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	LFR3 ABCDEFGHI 1 Bright
	Stop
	}
}

Actor BaseLegendaryFireFlare
{
Projectile
Height 4
Radius 2
Speed 1
Gravity 0.52
BounceFactor 0.01
WallBounceFactor 0.01
Renderstyle Add
Alpha 1.0
MaxStepHeight 4
Damage 1
+DOOMBOUNCE
+DONTFALL
-Nogravity
+Strifedamage
-NOCLIP
+Ripper
+BloodlessImpact
+NODAMAGETHRUST
-EXTREMEDEATH
+DontHurtSpecies
+DontHarmspecies
+NOTIMEFREEZE
Damagetype "Fire"
DeathType "Fire"
var int user_firedamage;
var int user_deathtimer;
var int user_firecount;
States
{
  Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Nop")
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	LFR1 AABBCC 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
  DeathLoop:
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,1,0)
	LFR1 DDEEFF 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,1,0)
	LFR1 GGHHII 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,1,0)
	LFR1 KKLLMM 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,1,0)
	LFR1 AABBCC 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_JumpIf(user_deathtimer >= 8,"DeathEnd")	
	TNT1 A 0 A_SetUserVar(user_deathtimer,user_deathtimer+1)
	Loop
  DeathEnd:
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,1,0)
	LFR1 DDEEFF 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,1,0)
	LFR1 GGHHII 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,1,0)
	LFR1 KKLLMM 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,7),0,0,random(2,7),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,1,0)
	LFR1 MNOP 2 Bright
	Stop
  Nop:
	TNT1 A 1 Bright A_ChangeFlag("MISSILE",0)
	Stop
	}
}

Actor BaseLegendaryFireFlareNoFX : BaseLegendaryFireFlare
{
States
{
  Death:
	TNT1 A 0
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	LFR1 AABBCC 1
  DeathLoop:
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0)
	LFR1 DDEEFF 1
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0)
	LFR1 GGHHII 1
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0)
	LFR1 KKLLMM 1
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0)
	LFR1 AABBCC 1
	TNT1 A 0 A_JumpIf(user_deathtimer >= 8,"DeathEnd")	
	TNT1 A 0 A_SetUserVar(user_deathtimer,user_deathtimer+1)
	Loop
  DeathEnd:
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0)
	LFR1 DDEEFF 1
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0)
	LFR1 GGHHII 1
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0)
	LFR1 KKLLMM 1
	TNT1 A 0 A_Explode(user_firedamage+random(0,10),50,0)
	LFR1 MNOP 2
	Stop
	}
}

Actor HemLegendaryFlareFire : LegendaryBlueParticleSpawner
{
Scale 0.2
Renderstyle Add
Alpha 1.0
+NOINTERACTION
+NONETID
+NOTIMEFREEZE
States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("monster/ambientfire")
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	TNT1 A 0 A_CheckSight("NULL")
	BMKE ABCD 2 Bright A_FadeOut(0.1,0)
	BMKE EFGHIJKL 1 Bright A_FadeOut(0.1,1)
	Stop
	}
}

Actor Kaboom69Blue : Kaboom9Blue { Scale 0.2 }

Actor LegendaryFlamethrowerShot : BaseLegendaryFireSpawner
{
Damage (random(5,15))
Species "Zombie"
DamageType "Legendary"
+NOTIMEFREEZE
States
{
  Death:
	TNT1 AAA 0 A_StopSound(CHAN_BODY)
	TNT1 A 0 A_Stop
	TNT1 A 0 A_NoGravity
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AA 0 A_CustomMissile("Kaboom69Blue",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AA 0 A_CustomMissile("SmokeFX7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("LegendaryFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
	LFR2 CDE 3 Bright
	Stop
	}
}

Actor LegendaryFlare : BaseLegendaryFireFlare
{
Species "Zombie"
DamageType "Legendary"
+NOTIMEFREEZE
Obituary "%o wanted war, and War %g received."
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_firedamage",20)
	TNT1 A 0 A_Die
	Goto Death
	}
}

Actor BaseLegendaryFireFlareBig : BaseLegendaryFireFlare
{
Damage 3
Scale 2
States
{
  Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Nop")
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	LFR1 AABBCC 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,15),0,0,random(2,15),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
  DeathLoop:
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,1,0)
	LFR1 DDEEFF 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,15),0,0,random(2,15),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,1,0)
	LFR1 GGHHII 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,15),0,0,random(2,15),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,1,0)
	LFR1 KKLLMM 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,15),0,0,random(2,15),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,1,0)
	LFR1 AABBCC 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,15),0,0,random(2,15),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_JumpIf(user_deathtimer >= 8,"DeathEnd")	
	TNT1 A 0 A_SetUserVar(user_deathtimer,user_deathtimer+1)
	Loop
  DeathEnd:
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,1,0)
	LFR1 DDEEFF 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,15),0,0,random(2,15),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,1,0)
	LFR1 GGHHII 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,15),0,0,random(2,15),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_SetUserVar(user_firecount,user_firecount+1)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,1,0)
	LFR1 KKLLMM 1 Bright A_spawnItemEx("HemLegendaryFlareFire",random(-3,3),random(-3,3),random(0,15),0,0,random(2,15),random(0,360)
	,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64+user_firecount)
	TNT1 A 0 A_FadeOut(0.015,0)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SelfDamageCVAR") != 0,3)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_Explode(user_firedamage+random(0,20),90,1,0)
	LFR1 MNOP 2 Bright
	Stop
  Nop:
	TNT1 A 1 Bright A_ChangeFlag("MISSILE",0)
	Stop
	}
}

Actor LegendaryFlamethrowerBigShot : BaseLegendaryFireSpawner
{
Damage (random(50,60))
Species "Zombie"
Gravity 0.65
Scale 1.1
DamageType "Legendary"
+NOTIMEFREEZE
States
{
  Death:
	TNT1 AAA 0 A_StopSound(CHAN_BODY)
	TNT1 A 0 A_Stop
	TNT1 A 0 A_NoGravity
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AA 0 A_CustomMissile("Kaboom69Blue",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AA 0 A_CustomMissile("SmokeFX7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("LegendaryFlareBig",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
	//TNT1 AA 0 A_SpawnItemEx("LegendaryFlareBig",0,0,0,random(2,4),random(2,4),2,random(0,360),SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,64)
	LFR2 CDE 3 Bright
	Stop
	}
}

Actor TrueLegendaryFlamethrowerShot : LegendaryFlamethrowerBigShot { Gravity 0.2 }

Actor LegendaryFlareBig : BaseLegendaryFireFlareBig
{
Species "Zombie"
DamageType "Legendary"
+NOTIMEFREEZE
Obituary "%o fell in the little flares from %k's Welder."
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_firedamage",35)
	TNT1 A 0 A_Die
	Goto Death
	}
}

ACTOR LegendaryNapalmBall
{
Projectile
Height 10
Radius 8
Speed 25
FastSpeed 40
Damage 8
RenderStyle Add
Alpha 1
Scale 1.5
Species "Zombie"
Damagetype "Legendary"
+FORCERADIUSDMG
+NOTIMEFREEZE
SeeSound "comet/launch"
DeathSound "comet/explosion"
States
{
  Spawn:
	LFR2 AB 1 Bright A_SpawnItemEx("LegendaryNapalmBallTrail",0,0,0,frandom(-5,0),frandom(-3,3),frandom(0,8))
	Loop
  Death:
	TNT1 A 0 A_Explode(50,100)
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("BlueKaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	TNT1 AAAA 0 A_SpawnItemEx("LegendaryFlamethrowerShot",0,0,0,random(0,8),random(0,8),2,random(0,360),SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
	LFR2 CDE 6 Bright
	Stop
  }
}

ACTOR LegendaryNapalmBallTrail : ImpBallTrail
{
  RenderStyle Add
  Alpha 1
  Scale 0.4
  +NOTIMEFREEZE
  States
  {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
   BMKE ABCDEFGHIJK 1 Bright A_FadeOut
   Stop
  }
}

ACTOR TureLegendaryNapalmBall : LegendaryNapalmBall
{
Speed 45
FastSpeed 60
Damage 30
SeeSound "comet/launch"
DeathSound "comet/explosion"
States
{
  Spawn: 
	LFR4 AAABBBCCCDDDEEEFFF 1 Bright A_SpawnItemEx("TrueLegendaryNapalmBallTrail")
	Loop
  Death:
	TNT1 A 0 A_Explode(120,120)
	TNT1 A 0 A_SpawnItemEx("LegendaryFlamethrowerBigShot",0,0,0,random(0,2),random(0,2),2,random(0,360),SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
	TNT1 AAAAAAAA 0 A_SpawnItemEx("LegendaryFlamethrowerShot",0,0,0,random(0,8),random(0,8),2,random(0,360),SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
	TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0) 
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueKaboom",random(-32,32),random(-40,40),random(8,16),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 A 0 A_SpawnItem("RailgunImpact")
	LFR4 GHI 5 Bright
	stop
  }
}

Actor TrueLegendaryNapalmBallTrail : NemesisFiendBallTrail
{	  
  Scale 1.5
  States
  {  
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	LFR4 AAABBBCCCDDDEEEFFF 1 Bright A_FadeOut(0.05)
	Stop	
	}
}

ACTOR LegendaryFlameBall : LegendaryNapalmBall
{
Height 6
Radius 4
Speed 60
FastSpeed 65
Damage 4
Scale 1
SeeSound "comet/launch"
DeathSound "imp/shotx"
States
{
  Spawn:
	LFR2 AB 1 Bright A_SpawnItemEx("LegendaryFlameBallTrail",0,0,0,frandom(-5,0),frandom(-3,3),frandom(0,8))
	Loop
  Death:
	TNT1 A 0 A_Explode(20,50)
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("LegendaryKaboom6", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
	TNT1 A 0 A_SpawnItemEx("LegendaryFlamethrowerShot",0,0,0,random(0,2),random(0,2),2,random(0,360),SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
	LFR2 CDE 6 Bright
	Stop
  }
}

ACTOR LegendaryFlameBallTrail : ImpBallTrail
{
RenderStyle Add
Alpha 1
Scale 0.2
+NOTIMEFREEZE
States
{
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
   BMKE ABCDEFGHIJK 1 Bright A_FadeOut
   Stop
  }
}