ACTOR LegendaryPlasmaGunner : LegendaryZombie //Leg Zombie but ¡Female!
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: LMAY
//Title: "Legendary Plasma Gunner"
  Health 1000 //999
  PainChance 15
  PainChance "ZombieDemonTech", 0
  BloodColor "Blue"
  SeeSound "fem/sight"
  PainSound "fem/pain"
  DeathSound "fem/death"
  ActiveSound "fem/active"
  AttackSound "Null"
  +BRIGHT
  Obituary "%o was obliterated by a Legendary Plasma Gunner."
  Tag "\c[z3]Legendary Plasma Gunner\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)
	LMAY A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMAY Z 10 Bright A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	//TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,2036,15)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2036)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMAY A 0 A_JumpIfTargetInLOS("Strafing")
	LMAY AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMAY BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	LMAY A 0 A_JumpIfTargetInLOS("Strafing")
	LMAY CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMAY DD 3 Bright A_Chase
	LMAY A 0 A_Jump(80,"Mine","Rush")
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Loop
  Rush:
	LMAY A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegFemaleZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LMAY A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegFemaleZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LMAY A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegFemaleZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LMAY B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegFemaleZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LMAY B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegFemaleZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LMAY C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegFemaleZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LMAY C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegFemaleZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LMAY D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegFemaleZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LMAY D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(84,"Mine","See")
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LMAY AA 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LMAY BB 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LMAY CC 3 Bright A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LMAY DD 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Pause:
	LMAY E 0 A_PlaySound("weapons/demontechsteam")
	LMAY EEEEE 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)
	LMAY EE 3 Bright A_GiveInventory("LegZombieStrafing",1)
  MissileLoop:
	LMAY E 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("LegendaryProjectile",32,0,random(-2,2),0)
	LMAY F 3 Bright A_PlaySoundEx("weapons/DemonTechRifle","Weapon")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
	TNT1 A 0 A_PlayWeaponSound("BlueDTRFire")
	LMAY E 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("LegendaryProjectile",32,0,random(-2,2),0)
	LMAY F 3 Bright A_PlaySoundEx("weapons/DemonTechRifle","Weapon")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
	TNT1 A 0 A_PlayWeaponSound("BlueDTRFire")
	TNT1 A 0 A_Jump(45,"LegNade")
	TNT1 A 0 A_Jump(55,"Nade")
	Loop
  Nade:
    LMAY E 1 Bright A_JumpIfCloser(1000,1)
	Goto Missile
	LMAY E 0 A_JumpIfCloser(280,"Missile")
    LMAY E 6 Bright A_GiveInventory("LegZombieStrafing",1)
    LMAY EEE 4 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
    LMAY E 6 Bright A_CustomMissile("LGrenade",32,0,0,2,10)
	LMAY E 1 Bright
	Goto See
  LegNade:
    LMAY E 1 Bright A_JumpIfCloser(1000,1)
	Goto Missile
	LMAY E 0 A_JumpIfCloser(280,"Missile")
    LMAY E 12 Bright A_GiveInventory("LegZombieStrafing",1)
    LMAY EEE 6 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
    LMAY E 6 Bright A_CustomMissile("LegThrownGrenade",32,0,0,2,10)
	LMAY EE 25 Bright
	Goto See
  Mine:
	LMAY C 1 Bright
	LMAY C 12 Bright A_CustomMissile("LACThrownMine",32,0,0,2,15)
	LMAY E 12 Bright
	LMAY C 3 Bright
	Goto See
  Pain:
    TNT1 A 0 A_Jump(10,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
    LMAY G 3 Bright A_GiveInventory("LegZombieStrafing",1)
    LMAY G 0 A_Pain
	LMAY G 3 Bright A_GiveInventory("LegZombieStrafing",1)
    Goto See
  PainMissile:
    LMAY G 3 Bright A_GiveInventory("LegZombieStrafing",1)
    LMAY G 0 A_Pain
	LMAY G 3 Bright A_GiveInventory("LegZombieStrafing",1)
    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
	LMAY 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) //Infinity
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"TrueLeg")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"TrueLeg")
    TNT1 A 0 A_Jump(40,"TrueLeg")
  Death2:
    TNT1 A 0 A_Jump(36,"LegendarySoul")
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	LMAY H 5 A_Scream
    LMAY I 5 A_Fall
    LMAY J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    LMAY 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")
    LMAY L -1 
	Stop
  SignetResurrect:
    TNT1 A 0 A_GiveToTarget("ResurrectedMonsters",1)
	TNT1 A 0 Thing_ChangeTID(0,ACS_NamedExecuteWithResult("SignetTargetID")+699)
    LMAY L 100 A_ChangeFlag(FRIENDLY,1)
	LMAY L 200 A_SpawnItem("SignetRessurectionFire")
	LMAY L 40 Bright A_SpawnItem("SignetRessurectionFlame")
	//LEGN N 0 A_PlaySoundEx("TLegZomb/Resurrect",7,0,0.4)
    LMAY KJIH 15 Bright
	TNT1 A 1 A_SpawnItemEx("NewFriendlyLegendaryPlasmaGunner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0,tid-2-699)
	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)
	LMAY H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMAY I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMAY J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMAY K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMAY L 140
	LMAY L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LMAY LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LMAY LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LMAY LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("LegendarySoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LMAY L -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)
	LMAY H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMAY I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMAY J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMAY K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMAY L 140
	LMAY L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LMAY LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 2 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LMAY L 5 A_SpawnItem("BlueLightning")
	LMAY L 0 A_PlaySoundEx("TLegZomb/Resurrect",7,0,0.4)
	TMAY LKJGH 15 Bright
	TNT1 A 0 A_SpawnItemEx("TrueLegendaryPlasmaGunner",0,0,16,0,0,0,0,32)
	TNT1 A 1
	Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	LMAY O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LMAY P 3 A_XScream
    LMAY R 3 A_Fall
    LMAY STUV 3 
    LMAY W -1 
    Stop
    }
}

ACTOR LegFemaleZombieGhostA
{
  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")
    LMAY A 2 A_FadeOut(0.10)
    Wait
    }
}

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

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

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