ACTOR LegendaryRailgunZombie : LegendaryZombie
{
//Creator: Naturalx
//Origin: Naturalx CF Addon
//Sprite: LRZM
//Title: "Legendary Railgun Zombie"
Health 1200
BloodColor "Blue"
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "LegendaryArmor" 110 1
DropItem "LegAmmoSphere" 117 1
DropItem "HandGrenadeAmmo" 237 2
DropItem "MineAmmo" 237 2
DropItem "Backpack" 200 1
DropItem "Armorplate" 207 1
DropItem "Portablemedkit" 212 1
DropItem "LDemonAmmo" 250
DropItem "LDemonAmmoBox" 200
DropItem "LegendaryRune" 50 1
DropItem "Legendary Railgun " 128 1
DropItem "LegendaryPowerShard" 100 1
SeeSound "lgeneral/sight"
PainSound "lgeneral/pain"
DeathSound "lgeneral/death"
ActiveSound "lgeneral/active"
Obituary "%o was noscoped by a Legendary Railgun Zombie."
Tag "\c[z3]Legendary Railgun Zombie\c-"
var int user_music;
var int user_protection;
var int user_protected;
States
{
  Spawn:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LRZM A 10 Bright A_Look
    Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
    TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,9012)
	TNT1 A 0 A_SetUserVar("user_music",1)
	LRZM A 0 A_JumpIfTargetInLOS("Strafing")
	LRZM AABB 3 Bright 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_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LRZM A 0 A_JumpIfTargetInLOS("Strafing")
    LRZM CCDD 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LRZM A 0 A_Jump(80,"Rush")
    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:
    LRZM 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("LegRailZombieGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LRZM A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegRailZombieGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LRZM A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegRailZombieGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LRZM B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegRailZombieGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LRZM B 1 Bright 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("LegRailZombieGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LRZM C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegRailZombieGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LRZM C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegRailZombieGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LRZM D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegRailZombieGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LRZM D 1 Bright 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_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)
	LRZM AA 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LRZM BB 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    LRZM CC 3 Bright A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LRZM DD 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Missile:
	TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
	LRZM EEEEE 5 Bright A_FaceTarget
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlayWeaponSound("lrailat")
	TNT1 A 0 A_CustomMissile("RailgunImpact",30,0,0,0)
	TNT1 A 0 A_CustomMissile("EnemyLegendaryRailgunPROJ",30,0,0,0)
	LRZM F 5 Bright A_CustomRailgun(random(100,300),0,none,none,RGF_SILENT,1,0,"PlayerRailPuffBlue",0,0,0,0,0.5,0.5,"LegRailCoreTrail")
	LRZM E 10
	Goto See
  Pain:
	TNT1 A 0 A_Jump(25,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
	LRZM G 3 Bright
	LRZM G 3 Bright A_Pain
	Goto See
  PainMissile:
	LRZM G 3 Bright
	LRZM G 3 Bright A_Pain
	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
	LRZM E 2 Bright 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_StopSound(6)
    LRZM H 5 A_Scream
    LRZM I 5 A_Fall
    LRZM J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    LRZM K 5
	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")
    LRZM L -1
    Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	LRZM O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LRZM P 3 A_XScream
    LRZM R 3 A_Fall
    LRZM STUV 3 
    LRZM W -1 
    Stop
  SignetResurrect:
    TNT1 A 0 A_GiveToTarget("ResurrectedMonsters",1)
	TNT1 A 0 Thing_ChangeTID(0,ACS_NamedExecuteWithResult("SignetTargetID")+699)
    LRZM L 100 A_ChangeFlag(FRIENDLY,1)
	LRZM L 200 A_SpawnItem("SignetRessurectionFire")
	LRZM L 40 Bright A_SpawnItem("SignetRessurectionFlame")
    LRZM L 0 A_PlaySoundEx("TLegZomb/Resurrect",7,0,0.4)
    LRZM LKJIH 15 Bright
	TNT1 A 3 A_SpawnItemEx("FriendlyLegendaryRailgunZombie",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0,tid-2-699)
	TNT1 A 1
	Stop
  LegendarySoul:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LRZM H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LRZM I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LRZM J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LRZM K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LRZM L 140
	LRZM L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LRZM LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LRZM LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LRZM LLLLLLLLLLLLLLLLL 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)
	LRZM L -1
	Stop
  TrueLeg:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LRZM H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LRZM I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LRZM J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LRZM K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LRZM L 140
	LRZM L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LRZM LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 2 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LRZM L 5 A_SpawnItem("BlueLightning")
	LRZM LKJHG 15 Bright
	TNT1 A 0 A_SpawnItemEx("TrueLegendaryRailgunZombie",0,0,16,0,0,0,0,32)
	TNT1 A 1
	Stop
    }
}

ACTOR EnemyLegendaryRailgunPROJ : LegendaryRailgunPROJ
{
Damage (Random(50,100))
Species "Legendary"
}

ACTOR LegRailZombiePuff : PlayerRailPuffBlue { Species "Legendary" }

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