ACTOR FriendlyLegendaryHeroSoul : UACBaseMarine
{ 
Health 500
Speed 32
FloatSpeed 16
FastSpeed 32
Radius 16
Height 56
ReactionTime 17
Mass 80
Scale 1.1
Damage (random(45,50))
DamageType "FriendlyMonster"
PainChance 100
BloodColor "Blue"
DamageFactor 0.5
RadiusDamageFactor 0.5
DropItem "LegendaryLifeEssence", 256, 10
DropItem "LegendaryArmorBonusMax", 256, 10
DropItem "BossArmorBonusMax", 256
DropItem "LegDemonicEnergy" 200
DropItem "LegDemonicEnergy" 90
SeeSound "LegHeroS/Sight"
ActiveSound "LegHeroS/Active"
AttackSound "LegHeroS/Attack"
PainSound "LegHeroS/Pain"
DeathSound "LegHeroS/Death"
Obituary "%o was killed by a Friendly Legendary Hero Soul"
Tag "\c[z3]Friendly Legendary Hero Soul\c-"
+FLOAT
+NOGRAVITY
+LOOKALLAROUND
+NOBLOODDECALS
+NOICEDEATH
+BRIGHT
var int user_missile;
var int user_woke;
States
{
  Spawn:
    LELS A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
    LELS A 10 A_Look
    Goto Idle
  Idle:
    TNT1 A 0 A_SetUserVar(user_woke,0)
  IdleLoop:
	LELS A 0 A_Jump(48,"Find")
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Possession")
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND)
	LELS AB 4 A_Wander
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,0,0,0)
	LELS CD 4 A_Wander
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
    TNT1 A 0 A_JumpIf(user_woke == 1,3)
    TNT1 A 0 A_PlaySound("LegHeroS/Sight",CHAN_VOICE)
    TNT1 A 0 A_SetUserVar(user_woke,1)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
  SeeLoop:
	TNT1 A 0 A_Jump(20,"GiveUp")
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Possession")
    LELS AB 4 A_Chase
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,0,0,0)
	LELS CD 4 A_Chase
	TNT1 A 0 A_Jump(46,"Phase")
    Loop
  GiveUp:
	LELS A 10 A_ClearTarget
	Goto Idle
  Phase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport",CHAN_BODY)
	LELS E 2 A_FaceTarget
	LELS E 1 A_SetTranslucent(0.75)
	LELS E 1 A_SetTranslucent(0.55)
	LELS E 1 A_SetTranslucent(0.35)
	LELS E 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SetInvulnerable
	LELS ABCDABCDABCDABCDABCDABCDABCDABCD 1 A_Chase("","",CHF_NOPLAYACTIVE)
  PhasedLoop:
	LELS ABCDABCDABCDABCD 1 A_Chase
	TNT1 A 0 A_Jump(24,"UnPhase")
	Loop
  UnPhase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport",CHAN_BODY)
	LELS E 1 A_SetTranslucent(0.15)
	LELS E 1 A_SetTranslucent(0.35)
	LELS E 1 A_SetTranslucent(0.55)
	LELS E 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SetTranslucent(1)
	LELS E 2 A_FaceTarget		
	Goto See
  Missile:
	TNT1 A 0 A_Jump(144,"Fireballs","Fireballs","Laser")
  Normal:
    TNT1 A 0 A_SetUserVar(user_missile,0)
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	LELS A 2 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	LELS A 2 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	LELS E 2 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
  SkullAttack:
	LELS E 2 A_SkullAttack(40)
	LELS FF 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	LELS EE 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Possession")
	TNT1 A 0 A_JumpIf(user_missile == 52,"See")
	TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	Loop
  Fireballs:
	LELS PQ 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("FLegSoulRedBall",5,1,0,0,0)
	TNT1 A 0 A_CustomMissile("FLegSoulRedBall",5,-1,0,0,0)
	TNT1 A 0 A_CustomMissile("FLegSoulRedBall",5,1,0,0,0)
	LELS R 5 A_CustomMissile("FLegSoulRedBall",5,-1,0,0,0)
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Possession")
	TNT1 A 0 A_Jump(64,"Laser","SkullAttack")
	TNT1 A 0 A_CposRefire
	Loop
  Laser:
	LELS PQ 5 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_FaceTarget
	LELS R 5 A_CustomMissile("FLegSoulRedLaser",5,0,0,0,0)
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Possession")
	TNT1 A 0 A_Jump(64,"SkullAttack")
	Goto See
  Possession:
    TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_RemoveChildren(1)
	LELS H 4 A_SetTranslucent(1)
	LELS I 4 A_Scream
	TNT1 AA 0 A_SpawnItemEx("SoulPart1",0,0,0,Random(8,-8),Random(8,-8),Random(6,8),random(0,360))
	TNT1 A 0 A_SpawnItemEx("SoulPart2",0,0,0,Random(8,-8),Random(8,-8),Random(6,8),random(0,360))
	TNT1 AA 0 A_SpawnItemEx("SoulPart3",0,0,0,Random(8,-8),Random(8,-8),Random(6,8),random(0,360))
	LELS J 4 A_UnSetShootable
	LELS K 4 A_UnSetSolid
	TNT1 AA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(0,360))
	LELS LMNO 4
	TNT1 A 5 A_SpawnItemEx("FNewLegendaryDoomguySummoner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0,tid)
	TNT1 A 1
	Stop
  Pain:
	TNT1 A 0 A_SetTranslucent(1)
	LELS G 3 A_Pain
	LELS G 3 
	Goto See
  XDeath:
  Death:
    TNT1 A 0 A_RemoveChildren(1)
	LELS H 8 A_SetTranslucent(1)
	LELS I 8 A_Scream
	TNT1 AA 0 A_SpawnItemEx("SoulPart1",0,0,0,Random(8,-8),Random(8,-8),Random(6,8),random(0,360))
	TNT1 A 0 A_SpawnItemEx("SoulPart2",0,0,0,Random(8,-8),Random(8,-8),Random(6,8),random(0,360))
	TNT1 AA 0 A_SpawnItemEx("SoulPart3",0,0,0,Random(8,-8),Random(8,-8),Random(6,8),random(0,360))
	LELS J 8
	LELS K 8 A_Fall
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	TNT1 AA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(0,360))
	LELS LM 8
	TNT1 A 0 A_SpawnItemEx("LegTimeFreezeSphere",0,0,8,random(0,8),random(0,8),2,random(0,360),0,176)
	TNT1 A 0 A_SpawnItemEx("LegendarySphere",0,0,8,random(0,8),random(0,8),2,random(0,360),0,100)
	TNT1 A 0 A_DropItem("LegendaryRune",6)
	LELS "NO" 8
	TNT1 A 1
	Stop
  }
}

Actor FNewLegendaryDoomguySummoner : NewLegendaryDoomguySummoner
{
+ISMONSTER
+FRIENDLY
States
{
  Spawn:
	TNT1 A 175 Bright
  Death:
	TNT1 A 0 A_SpawnItemEx("CircleSpawnFX",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("FLegDoomguyThunderSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	NLD0 WWWWWWWWWWVVVVVVVVVV 1 A_FadeIn(0.05)
	TNT1 A 0 A_SpawnItemEx ("LegDoomguySummonEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	NLD0 UUUUUUUUU 5 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LDoomguySmokeSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx ("LegDoomguySummonEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	NLD0 TTTTTTTTT 5 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LDoomguySmokeSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LegDoomguySummonEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	NLD0 SSSSSSSSS 5 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LDoomguySmokeSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LegDoomguySummonEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	NLD0 RRRRRRRRR 5 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LDoomguySmokeSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LegDoomguySummonEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	NLD0 QQQQQQQQQ 5 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LDoomguySmokeSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LegDoomguySummonEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	NLD0 PPPPPPPPP 5 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LDoomguySmokeSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LegDoomguySummonEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	NLD0 OOOOOOOOO 5 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LDoomguySmokeSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	NLD0 AAAAAAAAA 5 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("LDoomguySmokeSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0
	TNT1 A 2 A_SpawnItemEx("LDoomguySmokeSpawner2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 1 A_Explode(1000,40,0)
	TNT1 A 1 A_SpawnItemEx("FriendlyLegendaryDoomguySpawned",0,0,1,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,0,tid)
	Stop
	}
}

Actor FLegDoomguyThunderSpawner : LegDoomguyThunderSpawner
{
States
{
  Spawn:
	TNT1 AAAAAAAAAAAAAAAAAAAAA 17 Bright A_SpawnItemEx("FLegDoomguyThunderSpawner2",random(250,-250),random(250,-250),0,0,0,0,0,SXF_NOCHECKPOSITION)
	Stop
	}
}

Actor FLegDoomguyThunderSpawner2 : LegDoomguyThunderSpawner2 { DamageType "FriendlyMonster" }

Actor FLegSoulRedLaser : LegSoulRedLaser { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FLegSoulRedBall : LegSoulRedBall { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FLegendary10KProjectile : Legendary10KProjectile
{
Species "Player"
DamageType "FriendlyMonster"
+THRUSPECIES
+MTHRUSPECIES
States
{
  Death:
  XDeath:  
	TNT1 A 0
	TNT1 A 1 A_SpawnItem("FLegCyber10KEx")
	Stop
	}
}

Actor FLegCyber10KEx : LegCyber10KEx { DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FPlayerBlueLeg10kBall : PlayerBlueLeg10kBall
{
DamageType "FriendlyMonster"
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_PlaySoundEx("LesserCardinal/BFGIdle","Voice",1)
    LG1B A 1 Bright A_SpawnItemEx("BFGTrailParticleBlue",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("FPlayerLegBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    LG1B B 1 Bright A_SpawnItemEx("BFGTrailParticleBlue",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("FPlayerLegBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    LG1B C 1 Bright A_SpawnItemEx("BFGTrailParticleBlue",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("FPlayerLegBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    LG1B D 1 Bright A_SpawnItemEx("BFGTrailParticleBlue",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("FPlayerLegBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    Loop  
	}
}

Actor FPlayerLegBallAttack : PlayerLegBallAttack 
{ 
DamageType "FriendlyMonster"
States
{
  Attack:
	TNT1 A 0
	TNT1 A 0 A_FaceTarget
	//TNT1 A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_MASTER, AAPTR_NULL)
	TNT1 A 1 A_CustomRailgun(random(5,8)*4,0,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,12,"FLegendaryImpPuff",0,0,1500,0,10,0,"Leg10kRailParticle")
	Goto Death
	}
}

Actor FLegendaryRocket : LegendaryRocket { Species "Player" DamageType "FriendlyMonster" +MTHRUSPECIES }

ACTOR FriendlyLegendaryChainsawZombie : UACBaseMarine
{ 
Health 1500
Speed 30
Radius 20
Height 56
Mass 150
BloodColor "Blue"
PainChance 1
DamageFactor 0.7
DropItem "Legendary Chainsaw", 200, 1 //ughhhh...
DropItem "LegendaryCell", 250
DropItem "LegendaryCellPack", 125
DropItem "LegendaryArmor" 90 1
DropItem "LegAmmoSphere" 93 1
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 240 2
DropItem "Backpack" 200 1
DropItem "Armorplate" 210 1
DropItem "Portablemedkit" 215 1
DropItem "StimKit" 220 3
DropItem "HealthFlask" 225 5
DropItem "LegendaryRune", 50, 1
DropItem "LegendaryPowerShard" 35 1
DropItem "LegendaryPowerSphere" 35 1
SeeSound "LegChainsawZomb/sight"
ActiveSound "LegChainsawZomb/Active"
AttackSound "weapons/sawsound"
PainSound "LegChainsawZomb/Pain"
DeathSound "LegChainsawZomb/Death"
Obituary "%o was killed by a friendly Legendary Chainsaw Zombie"
Tag "\c[z3]Friendly Legendary Chainsaw Zombie\c-"
+NOICEDEATH
States
{
  Spawn:
    LCSZ A 1 Bright
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	LCSZ A 10 Bright A_Look
    Goto Idle
  Idle:
    TNT1 A 0 A_PlaySound("weapons/legChainSawIdle",CHAN_WEAPON,1.0,1)
	LCSZ A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK)
	LCSZ AABB 3 Bright A_GiveInventory("AIPatroling",1)
	LCSZ C 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK)
    LCSZ CCDD 3 Bright A_GiveInventory("AIPatroling",1)
	LCSZ A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
    TNT1 A 0 A_PlaySound("weapons/legChainSawIdle",CHAN_WEAPON,1.0,1)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
    LCSZ AAA 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
	LCSZ BBB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	LCSZ CCC 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
	LCSZ DDD 2 Bright A_Chase
    Loop
  GiveUp:
    TNT1 A 0 A_ClearTarget
	LGRZ A 10 Bright
	Goto Idle
  Missile:
	TNT1 A 0 A_Jump(80,"LegRipper")
	TNT1 A 0 A_Jump(160,"LegCharge")
	LCSZ A 1 Bright A_PlaySound("weapons/legChainSawAttack",CHAN_WEAPON,1.0,1)
	LCSZ AAAAAAAAAAAAAAAAAAAA 1 Bright A_FaceTarget
	LCSZ A 1 Bright A_Jump(256,"Missile2")
	TNT1 A 0 A_JumpIf(velx != 0 || vely != 0,"Missile2")
	Goto ChargeStop
  Missile2:
	TNT1 A 0 A_PlaySound("weapons/legChainSawAttack",CHAN_WEAPON,1.0,1)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
	TNT1 A 0 A_CposRefire
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_GiveInventory("ChainSawJumping",1)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
	LCSZ EF 2 Bright A_CustomMissile("FLegendaryChainSawAttack",18,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_Recoil(-10)
	LCSZ EFEF 1 Bright A_JumpIfCloser(90,"Melee")
	Goto See
  LegRipper:
	LCSZ EEEEEEEEEFFFFFFFFF 1 Bright A_FaceTarget
	LCSZ EFE 3 Bright A_CustomMissile("FLegendaryChainRipper",32,0,random(-2,2))
	TNT1 A 0 A_FaceTarget
	LCSZ EFE 3 Bright A_CustomMissile("FLegendaryChainRipper",32,0,random(-2,2))
	TNT1 A 0 A_FaceTarget
	LCSZ EFE 3 Bright A_CustomMissile("FLegendaryChainRipper",32,0,random(-2,2))
	LCSZ F 2 Bright A_FaceTarget
	Goto See
  LegCharge:
	TNT1 A 0 A_PlaySound("weapons/legChainSawAttack",CHAN_WEAPON,1.0,1)
	LCSZ AAAAAAAAAAAAAAAAAAAA 1 Bright A_FaceTarget
  ChargeAttack:
	TNT1 A 0 A_Recoil(-100)
	LCSZ AA 2 Bright A_FaceTarget
	TNT1 A 0 A_CposRefire
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItem("LFiendFlameSpawner",0,0,0,0)
	TNT1 A 0 Bright A_SpawnItemEx("LegChainsawZombieGhost",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_GiveInventory("ChainSawJumping",1)
	TNT1 A 0 A_SpawnItem("LFiendFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
	LCSZ EF 2 Bright A_CustomMissile("FLegendaryChainSawAttack",18,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_SpawnItem("LFiendFlameSpawner",0,0,0,0)
	TNT1 A 0 Bright A_SpawnItemEx("LegChainsawZombieGhost",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SpawnItem("LFiendFlameSpawner",0,0,0,0)
	LCSZ EFEF 1 Bright A_JumpIfCloser(90,"Melee2")
	Goto Melee2
  ChargeStop:
	LCSZ E 1 Bright A_Stop
	Goto See		
  Melee:
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_Recoil(-5)
	TNT1 A 0 A_TakeInventory("ChainSawJumping",1)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("weapons/legChainSawAttack",CHAN_WEAPON,1.0,1)
	TNT1 A 0 Bright A_CustomMissile("FLegendaryChainSawAttack",18,0,0,CMF_AIMDIRECTION)
	LCSZ EF 2 Bright A_CustomMissile("FLegendaryChainSawAttack",18,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LCSZ EFEF 1 Bright A_JumpIfCloser(90,"See")
	Goto See
  Melee2:
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 Bright A_SpawnItemEx("LegChainsawZombieGhost",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_Recoil(-5)
	TNT1 A 0 A_TakeInventory("ChainSawJumping",1)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LFiendFlameSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("weapons/legChainSawAttack",CHAN_WEAPON,1.0,1)
	LCSZ EF 2 Bright A_CustomMissile("FLegendaryChainSawAttack",18,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_JumpIfTargetInLOS(1,0,JLOSF_NOSIGHT|JLOSF_DEADNOJUMP)
	Goto See
	LCSZ EFEF 1 Bright A_JumpIfCloser(90,"Melee2")
	Goto See
  Pain:
	LCSZ G 3 Bright
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	LCSZ G 3 Bright A_Pain
	Goto See
  Death:
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	LCSZ K 5 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ L 5 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ M 140 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("brain/spit",CHAN_VOICE,1.0,0,ATTN_NONE)
	LCSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid+1)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid+1)
	LCSZ M 525
	LCSZ M 5 A_FadeOut(0.1)
	Wait
  XDeath:
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	LCSZ N 5 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	LCSZ O 5 A_XScream
	LCSZ P 5 A_Fall
	LCSZ QRSTUV 5
	LCSZ W 63000 CanRaise
	Stop	
  }
}

Actor FriendlyLegendaryChainsawZombie2 : FriendlyLegendaryChainsawZombie
{
Tag "\c[z3]Friendly Legendary Chainsaw Zombie\c-"
States
{
  Spawn:
    LCSZ A 1 Bright
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	LCSZ A 10 Bright A_Look
    Goto Idle
  Death:
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	LCSZ K 5 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ L 5 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCSZ M 140 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("brain/spit",CHAN_VOICE,1.0,0,ATTN_NONE)
	LCSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid)
	LCSZ M 525
	LCSZ M 5 A_FadeOut(0.1)
	Wait
  XDeath:
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_RemoveChildren(1)
	LCSZ N 5 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	LCSZ O 5 A_XScream
	LCSZ P 5 A_Fall
	LCSZ QRSTUV 5
	LCSZ W 63000 CanRaise
	Stop
	}
}

Actor FLegendaryChainSawAttack : LegendaryChainSawAttack { DamageType "FriendlyMonster" Damage (Random(50,70)) }

Actor FLegendaryChainRipper : LegendaryChainRipper { DamageType "FriendlyMonster" Damage 15 }

ACTOR FriendlyLegendaryStealthTrooper : UACBaseMarine
{ 
Health 1100
Speed 10
Radius 20
Height 56
BloodColor "Blue"
PainChance 25
DamageFactor 0.65
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "LegendaryArmor" 87 1
DropItem "LegAmmoSphere" 90 1
DropItem "HandGrenadeAmmo" 237 2
DropItem "MineAmmo" 237 2
DropItem "Backpack" 200 1
DropItem "Armorplate" 207 1
DropItem "Portablemedkit" 212 1
DropItem "LegendaryBulletBox" 202 
DropItem "LegendaryLMGBulletMag" 252 20
DropItem "LegendaryRune" 62 1
DropItem "Legendary Light Machine Gun" 202 1
DropItem "LegendaryPowerShard" 65 1
SeeSound "lcmdo/sight"
AttackSound "Null"
PainSound "lcmdo/pain"
DeathSound "lcmdo/death"
ActiveSound "lcmdo/active"
Obituary "%o was killed by a friendly Legendary Stealth Trooper"
Tag "\c[z3]Friendly Legendary Stealth Trooper\c-"
+NOICEDEATH
var int user_protection;
var int user_protected;
States
{
  Spawn:
    LCMD A 1 Bright
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	LCMD A 10 Bright A_Look
    Goto Idle
  Idle:
	LCMD A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK)
	LCMD AABB 3 Bright A_GiveInventory("AIPatroling",1)
	LCMD C 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK)
    LCMD CCDD 3 Bright A_GiveInventory("AIPatroling",1)
	LCMD A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	LCMD AABB 3 Bright A_Chase
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	LCMD CCDD 3 Bright A_Chase
	TNT1 A 0 A_Jump(80,"Phase")
	TNT1 A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  GiveUp:
    TNT1 A 0 A_ClearTarget
	LCMD A 10 Bright
	Goto Idle
  Rush:
    LCMD 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("LegCommandoGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCMD A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCMD A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCMD B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCMD B 1 Bright A_Chase
	TNT1 A 0 A_Jump(80,"Phase")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCMD C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCMD C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCMD D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCMD 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)
	LCMD AA 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LCMD 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)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
    LCMD CC 3 Bright A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LCMD DD 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Phase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	LCMD E 2 A_FaceTarget
	LCMD E 1 A_SetTranslucent(0.75)
	LCMD E 1 A_SetTranslucent(0.55)
	LCMD E 1 A_SetTranslucent(0.35)
	LCMD E 1 A_SetTranslucent(0.20)
	Goto Phased
  UnPhase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	LCMD E 1 A_SetTranslucent(0.15)
	LCMD E 1 A_SetTranslucent(0.35)
	LCMD E 1 A_SetTranslucent(0.55)
	LCMD E 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SetTranslucent(1)
	LCMD E 2 A_FaceTarget		
    Goto See	
  Phased:
	LCMD AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_ExtChase(0,0)
	LCMD AABBCCDDAABBCCDD 1 A_Chase
	TNT1 A 0 A_Jump(24,"UnPhase")
	Goto Phased+32
  Pause:
	LCMD EEEEE 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Missile:
	LCMD E 10 A_FaceTarget
	TNT1 A 0 A_JumpIfInventory("LegAK47Ammo",76,"Reload")
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_GiveInventory("LegAK47Ammo",1)
	TNT1 A 0 A_SpawnItemEx("LegRifleCasing", 12, -6, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_CustomBulletAttack(33,13,1,Random(98,100),"FriendlyLegendaryBulletPuff") //Random(10,20)*3
	TNT1 A 0 A_PlaySound("weapons/LMGFire",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)	
	LCMD E 6 Bright A_CPosAttack
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_GiveInventory("LegAK47Ammo",1)
	TNT1 A 0 A_SpawnItemEx("LegRifleCasing", 12, -6, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_CustomBulletAttack(33,13,1,Random(98,100),"FriendlyLegendaryBulletPuff")
	TNT1 A 0 A_PlaySound("weapons/LMGFire",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)	
	LCMD F 6 Bright A_CPosAttack
	TNT1 A 0 A_CPosRefire
	TNT1 A 0 A_Jump(20,"Pause")
	TNT1 A 0 A_Jump(45,"LegNade")
	Goto Missile+1
  LegNade:
    LCMD E 1 A_JumpIfCloser(1000,1)
	Goto Missile
	LCMD E 0 A_JumpIfCloser(280,"Missile")
    LCMD E 12 A_GiveInventory("LegZombieStrafing",1)
    LCMD EEE 6 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
    LCMD E 6 A_CustomMissile("FLegThrownGrenade",32,0,0,2,10)
	LCMD EE 25
	Goto See
  Reload:
    TNT1 A 0 A_ChangeFlag(NOPAIN,1)
    TNT1 A 0 A_PlaySound("weapons/LMGReload2")
	TNT1 A 0 A_SpawnItemEx("LegendaryEmptyDrumSpawner",-8,7,30,4,0,(0.1)*Random(30, 40),Random(-80, -90),128)
    LCMD EE 25 Bright A_TakeInventory ("LegAK47Ammo", 76)
    LCMD E 20 Bright A_PlaySound("weapons/LMGReload1") 
	LCMD E 40 Bright A_PlaySound("weapons/LMGReload3")
    TNT1 A 0 A_ChangeFlag(NOPAIN,0)
    Goto See
  Pain:
   	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(15,"Protection")
	TNT1 A 0 A_Jump(90,"Phase")
    LCMD G 3 Bright A_GiveInventory("LegZombieStrafing",1)
    LCMD G 0 A_Pain
	LCMD G 3 Bright A_GiveInventory("LegZombieStrafing",1)
    Goto See
  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
	LCMD E 2 Bright ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	Goto See
  Death:
	TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCMD H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCMD I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCMD J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCMD K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCMD L 140
	LCMD L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LCMD LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCMD LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCMD LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid+1)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid+1)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LCMD L -1
	Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	LCMD O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LCMD P 3 A_XScream
    LCMD R 3 A_Fall
    LCMD STUV 3 
    LCMD W -1 
    Stop
  }
}

Actor FriendlyLegendaryStealthTrooper2 : FriendlyLegendaryStealthTrooper
{
Tag "\c[z3]Friendly Legendary Stealth Trooper\c-"
States
{
  Spawn:
    LCMD A 1 Bright
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	LCMD A 10 Bright A_Look
    Goto Idle
  Death:
	TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCMD H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCMD I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCMD J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCMD K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCMD L 140
	LCMD L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LCMD LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCMD LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCMD LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LCMD L -1
	Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	LCMD O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LCMD P 3 A_XScream
    LCMD R 3 A_Fall
    LCMD STUV 3 
    LCMD W -1 
    Stop
	}
}

ACTOR FriendlyHEMLegendaryStealthTrooper : FriendlyLegendaryStealthTrooper
{
Health 1200
FastSpeed 20
MinMissileChance 32
DropItem "Portablemedkit", 210, 1
DropItem "Armorplate", 205, 1
DropItem "LegendaryArmor", 85, 1
DropItem "LegAmmoSphere", 88, 1
DropItem "ShieldSphere", 32, 1
DropItem "LegendaryRune", 60, 1
DropItem "HandGrenadeAmmo", 235, 1
DropItem "MineAmmo", 235, 1
DropItem "SpringMine", 50, 1
DropItem "ModdedBackPack", 198, 1
DropItem "LegendaryLMGBulletMag", 250, 20
DropItem "LegendaryBulletBox", 200 
DropItem "Legendary AK-47", 202, 1
Tag "\c[z3]Friendly Legendary Stealth Trooper\c-"
AttackSound ""
States
{
  Spawn:
    HLST A 1 Bright
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	HLST A 10 Bright A_Look
    Goto Idle
  Idle:
    TNT1 A 0 A_SetTranslucent(1)
	HLST A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK)
	HLST AABB 3 Bright A_GiveInventory("AIPatroling",1)
	HLST C 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK)
    HLST CCDD 3 Bright A_GiveInventory("AIPatroling",1)
	HLST A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 HealThing(1) //You know it's HEM custom especially when you see this
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_JumpIfInTargetLOS("Phase",360,JLOSF_DEADNOJUMP,1000)
	HLST AA 3 Bright A_Chase
	TNT1 A 0 A_JumpIfInTargetLOS("Phase",360,JLOSF_DEADNOJUMP,1000)
	HLST BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_JumpIfInTargetLOS("Phase",360,JLOSF_DEADNOJUMP,1000)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
	HLST CC 3 Bright A_Chase
	TNT1 A 0 A_JumpIfInTargetLOS("Phase",360,JLOSF_DEADNOJUMP,1000)
	HLST DD 3 Bright A_Chase
	TNT1 A 0 A_Jump(8,"Phase")
	TNT1 A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	Loop
  GiveUp:
	HLST A 10 Bright A_ClearTarget
	Goto Idle
  Rush:
	HLST A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx("HEMLegCommandoGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HEMLegCommandoGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HEMLegCommandoGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HEMLegCommandoGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST B 1 Bright A_Chase
	TNT1 A 0 A_Jump(80,"Phase")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItemEx("HEMLegCommandoGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	HLST C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HEMLegCommandoGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HEMLegCommandoGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HEMLegCommandoGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HLST AA 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HLST 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)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	HLST CC 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HLST DD 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Phase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport",6)
	HLST E 2 A_FaceTarget
	HLST E 1 A_SetTranslucent(0.75)
	HLST E 1 A_SetTranslucent(0.55)
	HLST E 1 A_SetTranslucent(0.35)
	HLST E 1 A_SetTranslucent(0.20)
	Goto Phased
  UnPhase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport",7)
	HLST E 1 A_SetTranslucent(0.15)
	HLST E 1 A_SetTranslucent(0.35)
	HLST E 1 A_SetTranslucent(0.55)
	HLST E 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SetTranslucent(1)
	HLST E 2 A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos("Missile",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS)
	Goto See
  Phased:
	TNT1 A 0 A_TakeInventory("LegAK47Ammo",31)
	TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
	HLST AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_Chase("","",CHF_NOPLAYACTIVE|CHF_NIGHTMAREFAST)
  PhasedLoop:
	TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
	HLST AABBCCDDAABBCCDD 1 A_Chase("Missile","Missile",CHF_NOPLAYACTIVE)
	TNT1 A 0 A_Jump(24,"UnPhase")
	Loop
  Pause:
	HLST E 15 Bright
	Goto See
  Teleport:
	HLST A 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST AAAAAAAAAA 1 Bright A_FadeOut(0.1,0)
	TNT1 A 2
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 A 1 A_PlaySound("boss/teleport",6)
	TNT1 AAAA 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
	TNT1 A 0 A_FaceTarget
	HLST AAAAAAAAAA 1 Bright A_FadeIn(0.1)
	TNT1 A 0 A_SetTranslucent(1)
	HLST A 1 Bright A_SetShootable
	Goto See
  Missile:
    TNT1 A 0 A_SetTranslucent(1)
	HLST E 1 Bright A_FaceTarget
	TNT1 A 0 A_Jump(40,"Grenade")
	HLST EEEEEEEEEE 1 Bright A_FaceTarget(45)
  Refire:
	TNT1 A 0 A_JumpIfInventory("LegAK47Ammo",31,"Reload")
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_GiveInventory("LegAK47Ammo",1)
	TNT1 A 0 A_SpawnItemEx("LegRifleCasing",12,-6,36,Random(2,6),0,Random(1,3),Random(-80,-90),128)
	TNT1 A 0 A_CustomBulletAttack(15.4,7,1,Random(5,15)*6,"FriendlyLegendaryBulletPuff",0,CBAF_NORANDOM)
	TNT1 A 0 A_PlaySound("weapons/LegAK47Fire",CHAN_WEAPON)
	HLST E 1 Bright A_GiveInventory("LegZombieStrafing",1)	
	HLST E 3 Bright A_CustomBulletAttack(22.5,0,1,random(1,5)*6,"FriendlyLegendaryBulletPuff",0,CBAF_NORANDOM)
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_GiveInventory ("LegAK47Ammo",1)
	TNT1 A 0 A_SpawnItemEx("LegRifleCasing",12,-6,36,Random(2,6),0,Random(1,3),Random(-80,-90),128)
	TNT1 A 0 A_CustomBulletAttack(15.4,7,1,Random(5,15)*6,"FriendlyLegendaryBulletPuff",0,CBAF_NORANDOM)
	TNT1 A 0 A_PlaySound("weapons/LegAK47Fire",CHAN_WEAPON)
	HLST E 1 Bright A_GiveInventory("LegZombieStrafing",1)	
	HLST F 4 Bright A_CustomBulletAttack(22.5,0,1,random(1,5)*6,"FriendlyLegendaryBulletPuff",0,CBAF_NORANDOM)
	TNT1 A 0 A_CPosRefire
	TNT1 A 0 A_Jump(18,"Pause")
	Loop
  Grenade:
	HLST E 1 Bright A_JumpIfCloser(1000,1)
	Goto Missile
	TNT1 A 0 A_JumpIfCloser(280,"Missile")
	HLST E 6 Bright A_GiveInventory("LegZombieStrafing",1)
	HLST EEE 4 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	HLST E 6 Bright A_CustomMissile("FLegThrownGrenade",32,0,0,2,10)
	HLST E 1 Bright
	Goto See
  Pain:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(45,"Protection")
  Pain2:
	TNT1 A 0 A_Jump(80,"Phase")
	TNT1 A 0 A_Jump(25,"Teleport")
	HLST G 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Pain
	HLST G 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Protection:
	TNT1 A 0 A_JumpIf(user_protection >= 3,"Pain2")
	TNT1 A 0 A_JumpIf(user_protected == 1,"Pain2")
	TNT1 A 0 A_PlaySound("legendary/defense")
	TNT1 A 0 A_FaceTarget
	HLST E 2 Bright ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	Goto See
  Reload:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_JumpIf(user_protected == 1,2)
	TNT1 A 0 A_GiveInventory("ZombieShieldSphere",1)
	TNT1 A 0 A_PlaySound("weapons/legAK47Reload1")
	TNT1 A 0 A_SpawnItemEx("LegAK47EmptyMagSpawner",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST E 50 Bright A_TakeInventory ("LegAK47Ammo", 31)
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	HLST E 8 Bright A_PlaySound("weapons/legAK47Reload2") 
	HLST E 20 Bright A_PlaySound("weapons/legAK47Reload3")
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_ChangeFlag("NoPain",0)
	Goto See
  Death:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST L 140
	HLST L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	HLST LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	HLST LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	HLST LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid+1)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid+1)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	HLST L -1
	Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	HLST O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	HLST P 3 A_XScream
	HLST R 3 A_Fall
	HLST STUV 3 
	HLST W -1
	Stop
	}
}

Actor FriendlyHEMLegendaryStealthTrooper2 : FriendlyHEMLegendaryStealthTrooper
{
Tag "\c[z3]Friendly Legendary Stealth Trooper\c-"
States
{
  Spawn:
    HLST A 1 Bright
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	HLST A 10 Bright A_Look
    Goto Idle
  Death:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	HLST L 140
	HLST L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	HLST LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	HLST LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	HLST LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	HLST L -1
	Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	HLST O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	HLST P 3 A_XScream
	HLST R 3 A_Fall
	HLST STUV 3 
	HLST W -1
	Stop
	}
}

Actor FriendlyLegendaryCommando : UACBaseMarine
{
Health 1150
Speed 13
Mass 100
PainChance 20
BloodColor "Blue"
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "VileFires", 0.0
DamageFactor 0.65
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 235 2
DropItem "Backpack" 198 1
DropItem "LDemonAmmo" 250
DropItem "LDemonAmmoBox" 200
DropItem "LegAmmoSphere" 108 1
DropItem "LegendaryArmor" 105 1
DropItem "Legendary Plasmatic Cannon" 180
DropItem "LegendaryRune" 45 1
DropItem "LegendaryPowerShard" 50 1
Seesound "newlegcommando/Sight"
AttackSound "Null"
PainSound "LegendaryZombie/pain"
DeathSound "LegendaryZombie/death"
ActiveSound "lcmdo/active"
Obituary "%o was killed by a Friendly Legendary Commando."
Tag "\c[z3]Friendly Legendary Commando\c-"
+NOICEDEATH
+BRIGHT
var int user_protection;
var int user_protected;
States
{
  Spawn:
    LCOS A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	LCOS A 10 A_Look
	Goto Idle
  Idle:
	LCOS A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	LCOS A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
	LCOS AABB 3 A_GiveInventory("AIPatroling",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
    LCOS CCDD 3 A_GiveInventory("AIPatroling",1)
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
    LCOS A 0 A_JumpIfTargetInLOS("Strafing")
    LCOS AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	LCOS A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
	LCOS CCDD 3 A_Chase
	LCOS A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    Loop
  GiveUp:
	LCOS A 10 Bright A_ClearTarget
	Goto Idle
  Rush:
    LCOS 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("LegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOS A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOS A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOS B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOS 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 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOS C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOS C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOS D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOS D 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_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)
	LCOS AA 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LCOS BB 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    LCOS CC 3 A_GiveInventory("LegZombieStrafing2",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LCOS DD 3 A_GiveInventory("LegZombieStrafing2",1)
	Goto See
  Pause:
	LCOS EEEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	Goto See
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_Jump(88,"Combo","Grenades","LegendaryStar")
  Normal:
	LCOS EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LCOS E 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegCommanderProj",32,0,0)
	LCOS F 3 A_PlaySoundEx("legendarycannon/fire","Weapon")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
	Goto Normal+3
  Combo:
	LCOS E 0 A_SetInvulnerable
	LCOS E 0 A_PlaySound("legcommando/Combo")
	LCOS E 1 A_FaceTarget
	LCOS EEEE 3 A_GiveInventory("LegZombieStrafing3",1)
	LEGW A 0 A_PlayWeaponSound("legendarycannon/charge")
	LCOS EEEEE 3 A_GiveInventory("LegZombieStrafing3",1)
	LCOS E 0 A_UnSetInvulnerable
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegRevBall",32,0,random(-2,2))
	LCOS FE 3 A_GiveInventory("LegZombieStrafing2",1)
	LCOS EEEEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_Jump(80,"Grenades")
	Goto See
  Grenades:
	LCOS EEEEEEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LCOS EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LCOS F 3 A_CustomMissile("FLegFlyingGrenade",32,0,0)
	LCOS EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LCOS F 3 A_CustomMissile("FLegFlyingGrenade",32,0,0)
	LCOS EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LCOS F 3 A_CustomMissile("FLegFlyingGrenade",32,0,0)
	LCOS EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LCOS F 3 A_CustomMissile("FLegFlyingGrenade",32,0,0)
	LCOS EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LCOS F 3 A_CustomMissile("FLegFlyingGrenade",32,0,0)
	LCOS EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LCOS F 3 A_CustomMissile("FLegFlyingGrenade",32,0,0)	
	Goto See
  LegendaryStar:
	LCOS E 0 A_SetInvulnerable
	LCOS E 0 A_PlaySound("legcommando/Star")
	LCOS E 1 A_FaceTarget
	LCOS EEEE 3 A_GiveInventory("LegZombieStrafing3",1)
	LEGW A 0 A_PlayWeaponSound("star/load3")
	LCOS EEEEE 3 A_GiveInventory("LegZombieStrafing3",1)
	LCOS E 0 A_UnSetInvulnerable
	LCOS F 0 A_PlayWeaponSound("star/fire")
	LCOS F 7 A_CustomMissile("FLegCommandoBlueStar",32,0,0)
	LCOS E 8 A_FaceTarget
	Goto See
  Pain:
	TNT1 A 0 A_Jump(20,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
	LCOS G 3
	LCOS G 3 A_Pain
	Goto See
  PainMissile:
	LCOS G 3
	LCOS G 3 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
	LCOS E 2 ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	Goto See
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOS H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOS I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOS J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOS K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    LCOS L 5 A_SpawnItem("BodyCrash",0,0,0,0)
    LCOS U 5 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOS U 140
	LCOS U 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LCOS UUUUUUUUUUUUUUUUU 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCOS UUUUUUUUUUUUUUUUU 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCOS UUUUUUUUUUUUUUUUU 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid+1)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid+1)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LCOS U -1
	Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	LCOS O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LCOS P 3 A_XScream
    LCOS R 3 A_Fall
    LCOS S 3 
    LCOS T -1 
    Stop
	}
}

Actor FriendlyLegendaryCommando2 : FriendlyLegendaryCommando
{
Tag "\c[z3]Friendly Legendary Commando\c-"
States
{
  Spawn:
    LCOS A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	LCOS A 10 A_Look
	Goto Idle
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOS H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOS I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOS J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOS K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    LCOS L 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOS U 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOS U 140
	LCOS U 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LCOS UUUUUUUUUUUUUUUUU 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCOS UUUUUUUUUUUUUUUUU 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCOS UUUUUUUUUUUUUUUUU 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LCOS U -1
	Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	LCOS O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LCOS P 3 A_XScream
    LCOS R 3 A_Fall
    LCOS S 3 
    LCOS T -1 
    Stop
	}
}

Actor FLegFlyingGrenade : LegFlyingGrenade { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FLegCommanderProj : LegCommanderProj 
{ 
Damage 65
Species "Player" 
DamageType "FriendlyMonster" 
+THRUSPECIES 
+MTHRUSPECIES
States
{
  Death:
    TNT1 A 0
	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 I 8 Bright A_Explode(56,80,0)
    TNT1 J 6 Bright
    TNT1 K 4 Bright
    Stop
	}
}

Actor FriendlyStoneLegendaryCommando : FriendlyLegendaryCommando
{
Health 2530
Speed 15
DamageFactor 0.4
BloodColor "None"
BloodType "StoneBitsSpawner"
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 235 2
DropItem "Backpack" 198 1
DropItem "LDemonAmmo" 250
DropItem "LDemonAmmoBox" 200
DropItem "CannonGunSphere" 200 1
DropItem "LegAmmoSphere" 108 1
DropItem "LegendaryArmor" 105 1
DropItem "Legendary Plasmatic Cannon" 180 1
DropItem "PortableLegendarySphere" 128 1
DropItem "LegendaryRune" 60 1
DropItem "LegendaryPowerShard" 50 1
Obituary "%o was killed by a Friendly Stone Legendary Commando."
Tag "\c[z3]Friendly \c[o6]Stone \c[z3]Legendary Commando\c-"
States
{
  Spawn:
    STL3 A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	STL3 A 10 A_Look
	Goto Idle
  Idle:
	TNT1 A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
	STL3 AABB 3 A_GiveInventory("AIPatroling",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
    STL3 CCDD 3 A_GiveInventory("AIPatroling",1)
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
    STL3 A 0 A_JumpIfTargetInLOS("Strafing")
    STL3 AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	STL3 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
	STL3 CCDD 3 A_Chase
	STL3 A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    Loop
  GiveUp:
	STL3 A 10 A_ClearTarget
	Goto Idle
  Rush:
    STL3 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("StoneLegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	STL3 A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("StoneLegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	STL3 A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("StoneLegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	STL3 B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("StoneLegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	STL3 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 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItemEx("StoneLegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	STL3 C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("StoneLegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	STL3 C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("StoneLegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	STL3 D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("StoneLegCommandoGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	STL3 D 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_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)
	STL3 AA 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	STL3 BB 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    STL3 CC 3 A_GiveInventory("LegZombieStrafing2",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	STL3 DD 3 A_GiveInventory("LegZombieStrafing2",1)
	Goto See
  Pause:
	STL3 EEEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	Goto See
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_Jump(88,"Combo","Grenades","LegendaryStar")
  Normal:
	STL3 EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	STL3 E 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderProj",32,0,0)
	STL3 F 3 A_PlaySoundEx("legendarycannon/fire","Weapon")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
	Goto Normal+3
  Combo:
	STL3 E 0 A_SetInvulnerable
	STL3 E 0 A_PlaySound("superzombie/sight")
	STL3 E 1 A_FaceTarget
	STL3 EEEE 3 A_GiveInventory("LegZombieStrafing3",1)
	LEGW A 0 A_PlayWeaponSound("legendarycannon/charge")
	STL3 EEEEE 3 A_GiveInventory("LegZombieStrafing3",1)
	STL3 E 0 A_UnSetInvulnerable
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FStoneLegCommanderBall",32,0,random(-2,2))
	STL3 FE 3 A_GiveInventory("LegZombieStrafing2",1)
	STL3 EEEEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_Jump(80,"Grenades")
	Goto See
  Grenades:
	STL3 EEEEEEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	STL3 EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	STL3 F 3 A_CustomMissile("FStoneLegFlyingGrenade",32,0,0)
	STL3 EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	STL3 F 3 A_CustomMissile("FStoneLegFlyingGrenade",32,0,0)
	STL3 EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	STL3 F 3 A_CustomMissile("FStoneLegFlyingGrenade",32,0,0)
	STL3 EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	STL3 F 3 A_CustomMissile("FStoneLegFlyingGrenade",32,0,0)
	STL3 EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	STL3 F 3 A_CustomMissile("FStoneLegFlyingGrenade",32,0,0)
	STL3 EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	STL3 F 3 A_CustomMissile("FStoneLegFlyingGrenade",32,0,0)	
	Goto See
  LegendaryStar:
	STL3 E 0 A_SetInvulnerable
	STL3 E 0 A_PlaySound("superzombie/sight")
	STL3 E 1 A_FaceTarget
	STL3 EEEE 3 A_GiveInventory("LegZombieStrafing3",1)
	LEGW A 0 A_PlayWeaponSound("star/load3")
	STL3 EEEEE 3 A_GiveInventory("LegZombieStrafing3",1)
	STL3 E 0 A_UnSetInvulnerable
	STL3 F 0 A_PlayWeaponSound("star/fire")
	STL3 F 7 A_CustomMissile("FStoneLegCommandoBlueStar",32,0,0)
	STL3 E 8 A_FaceTarget
	Goto See
  Pain:
	TNT1 A 0 A_Jump(20,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
	STL3 G 3
	STL3 G 3 A_Pain
	Goto See
  PainMissile:
	STL3 G 3
	STL3 G 3 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
	STL3 E 2 ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	Goto See
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	STL3 H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    STL3 I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    STL3 J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    STL3 K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    STL3 L 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    STL3 M 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	STL3 N 140
	STL3 N 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	STL3 NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	STL3 NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	STL3 NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid+1)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid+1)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	STL3 N -1
	Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	TNT1 A 0 A_RemoveChildren(1)
	STL3 O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    STL3 P 3 A_XScream
    STL3 R 3 A_Fall
    STL3 S 3 
    STL3 T -1 
    Stop
	}
}

Actor FriendlyStoneLegendaryCommando2 : FriendlyStoneLegendaryCommando
{
Tag "\c[z3]Friendly \c[o6]Stone \c[z3]Legendary Commando\c-"
States
{
  Spawn:
    STL3 A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	STL3 A 10 A_Look
	Goto Idle
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	STL3 H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    STL3 I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    STL3 J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    STL3 K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    STL3 L 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    STL3 M 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	STL3 N 140
	STL3 N 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	STL3 NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	STL3 NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	STL3 NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	STL3 N -1
	Stop
  XDeath:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	STL3 O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    STL3 P 3 A_XScream
    STL3 R 3 A_Fall
    STL3 S 3 
    STL3 T -1 
    Stop
	}
}

Actor FStoneLegCommanderProj : StoneLegCommanderProj 
{ 
Species "Player" 
DamageType "FriendlyMonster" 
+THRUSPECIES 
+MTHRUSPECIES
States
{
  Death:
    TNT1 A 0
	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 I 8 Bright A_Explode(56,80,0)
    TNT1 J 6 Bright
    TNT1 K 4 Bright
    Stop
	}
}

Actor FStoneLegCommanderBall : StoneLegCommanderBall { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FStoneLegFlyingGrenade : StoneLegFlyingGrenade { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FStoneLegCommandoBlueStar : StoneLegCommandoBlueStar { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FriendlyLegendaryGeneral : UACBaseMarine
{
Health 1200
Speed 12
Mass 100
PainChance 20
BloodColor "Blue"
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "VileFires", 0.0
DamageFactor 0.6
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 "LegendaryCellPack" 202 
DropItem "LegendaryCell" 252 25
DropItem "LegendaryRune" 50 1
DropItem "LegendaryBFG10K" 180 1
DropItem "LegendaryPowerShard" 100 1
DropItem "Beacon" 128 1
DropItem "Beacon" 128 1
SeeSound "lgeneral/sight"
PainSound "lgeneral/pain"
DeathSound "lgeneral/death"
ActiveSound "lgeneral/active"
Obituary "%o was killed by a Friendly Legendary General."
Tag "\c[z3]Friendly Legendary General\c-"
+NOICEDEATH
+BRIGHT
var int user_protection;
var int user_protected;
States
{
  Spawn:
    LEGE A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	TNT1 A 0 A_PlayWeaponSound("Leg10K/Idle")
	LEGE A 10 A_Look
	Goto Idle
  Idle:
	TNT1 A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
	LEGE AABB 3 A_GiveInventory("AIPatroling",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
	TNT1 A 0 A_PlayWeaponSound("Leg10K/Idle")
    LEGE CCDD 3 A_GiveInventory("AIPatroling",1)
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
    TNT1 A 0 A_PlayWeaponSound("Leg10K/Idle")
	LEGE A 0 A_JumpIfTargetInLOS("Strafing")
	LEGE AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	LEGE A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
    LEGE CCDD 3 A_Chase
	LEGE A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    Loop
  GiveUp:
	LEGE A 10 A_ClearTarget
	Goto Idle
  Rush:
    LEGE 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("LegGeneralGhostA",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	LEGE A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegGeneralGhostA",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	LEGE A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegGeneralGhostB",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	LEGE B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegGeneralGhostB",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	LEGE 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 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItemEx("LegGeneralGhostC",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	LEGE C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegGeneralGhostC",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	LEGE C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegGeneralGhostD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	LEGE D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegGeneralGhostD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	LEGE D 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_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)
	LEGE AA 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LEGE BB 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    LEGE CC 3 A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LEGE DD 3 A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Pause:
	TNT1 A 0 A_PlayWeaponSound("Leg10K/ACool")
	LEGE EEEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_Jump(81,"BFG10K")
	Goto See
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_Jump(100,"BFG10K")
	TNT1 A 0 A_JumpIfCloser(200,"LegNade")
  Normal:
	TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_PlayWeaponSound("Leg10K/ACharge")
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	LEGE E 6 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_PlayWeaponSound("Leg10K/AFire")
	TNT1 A 0 A_CustomMissile("FPlayerBlueLeg10kBall",30,0,random(-4,4),0)
	LEGE F 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_PlayWeaponSound("Leg10K/AFire")
	TNT1 A 0 A_CustomMissile("FPlayerBlueLeg10kBall",30,0,random(-4,4),0)
	LEGE F 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_PlayWeaponSound("Leg10K/AFire")
	TNT1 A 0 A_CustomMissile("FPlayerBlueLeg10kBall",30,0,random(-4,4),0)
	LEGE F 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LEGE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	//TNT1 A 0 A_Jump(40,"Pause")
	TNT1 A 0 A_SpidRefire
	Goto Pause
  BFG10K:
	TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	LEGE EEE 3 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_PlayWeaponSound("Leg10K/PCharge")
	LEGE E 25 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
    LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
    LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
    LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
    LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
    LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_Jump(24,"Pause")
	LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LEGE E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Leg10K/PFire")
	LEGE F 3 A_CustomMissile("FLegendary10KProjectile", 30, 0, Random(-3, 3))
	TNT1 A 0 A_GiveInventory("LegZombieStrafing2",1)
	LEGE E 20 A_PlaySound("Leg10K/PCool")     
	Goto See
  LegNade:
    LEGE E 1 A_JumpIfCloser(1000,1)
	Goto Missile
	LEGE E 0 A_JumpIfCloser(400,"Missile")
    LEGE E 12 A_GiveInventory("LegZombieStrafing",1)
    LEGE EEE 6 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
    LEGE E 6 A_CustomMissile("FLegThrownGrenade",32,0,0,2,10)
	LEGE EE 15
	Goto See
  Pain:
	TNT1 A 0 A_Jump(25,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
	LEGE G 3
	LEGE G 3 A_Pain
	Goto See
  PainMissile:
	LEGE G 3
	LEGE G 3 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
	LEGE E 2 ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	Goto See
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LEGE H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LEGE I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    LEGE J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    LEGE K 5 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LEGE L 140 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LEGE L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LEGE LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LEGE LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LEGE LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid+1)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid+1)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LEGE L -1
	Stop
  XDeath:
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
    LEGE O 3 A_StopSound(6)
    LEGE O 3 A_XScream
    LEGE O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LEGE P 3 A_Fall
    LEGE QRSTUV 3
    LEGE W -1
    Stop
	}
}

Actor FriendlyLegendaryGeneral2 : FriendlyLegendaryGeneral
{
Tag "\c[z3]Friendly Legendary General\c-"
States
{
  Spawn:
    LEGE A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 A_PlayWeaponSound("Leg10K/Idle")
	LEGE A 10 A_Look
	Goto Idle
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LEGE H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LEGE I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    LEGE J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    LEGE K 5 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LEGE L 140 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LEGE L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LEGE LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LEGE LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	LEGE LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnHeroSoul",0,tid)
	TNT1 A 0 A_Jump(255,2)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LEGE L -1
	Stop
  XDeath:
	TNT1 A 0 A_RemoveChildren(1)
    LEGE O 3 A_StopSound(6)
    LEGE O 3 A_XScream
    LEGE O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LEGE P 3 A_Fall
    LEGE QRSTUV 3
    LEGE W -1
    Stop
	}
}

Actor FriendlyLegendaryColonel : FriendlyLegendaryZombie
{
Health 1000
Speed 22
MaxTargetRange 2048
MinMissileChance 100
PainChance 20
DamageFactor 0.70
DropItem "Legendary Assault Shotgun" 202
DropItem "HeavyChaingun" 64 1
DropItem "NewShell" 255 4
DropItem "NewShellBox" 128
DropItem "LegendaryShell" 256 4
DropItem "LegendaryShellBox" 130
DropItem "LegendaryPowerShard" 30 1
DropItem "LegendaryArmor" 92 1
DropItem "LegAmmoSphere" 95 1
DropItem "AmmoPack" 100
DropItem "AmmoPack" 100
DropItem "AmmoPack" 100
DropItem "HandGrenadeAmmo" 237 2
DropItem "MineAmmo" 242 2
DropItem "Backpack" 202, 1
DropItem "Armorplate" 212 1
DropItem "Portablemedkit" 217 1
DropItem "StimKit" 222 3
DropItem "HealthFlask" 227 5
DropItem "LegendaryRune" 27 1
DropItem "ShieldSphere" 64 1
DropItem "MarineBeacon" 45 1
SeeSound "superzombie/sight"
PainSound "superzombie/pain"
DeathSound "superzombie/death"
ActiveSound "superzombie/active"
Obituary "%o was killed by a Friendly Legendary Colonel."
Tag "\c[z3]Friendly Legendary Colonel\c-"
+BRIGHT
var int user_attack;
var int user_protection;
var int user_protected;
States
{
  Spawn:
    LCOL A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	LCOL A 10 A_Look
	Goto Idle
  Idle:
	TNT1 A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
	LCOL AABB 3 A_GiveInventory("AIPatroling",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
    LCOL CCDD 3 A_GiveInventory("AIPatroling",1)
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
	LCOL AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
	LCOL CCDD 3 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Jump(80,"Rush")
	Loop
  GiveUp:
	LCOL A 10 A_ClearTarget
	Goto Idle
  Rush:
	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("LegColonelGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOL A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegColonelGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOL A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegColonelGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOL B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegColonelGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOL B 1 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 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItemEx("LegColonelGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOL C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegColonelGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOL C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegColonelGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOL D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("LegColonelGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LCOL D 1 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(85,"See")
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Loop
  SeeNoDodge:
	LCOL AABB 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	LCOL CCDD 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	LCOL AABB 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	LCOL CCDD 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	LCOL AABB 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	LCOL CCDD 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	Goto Chase
  Dodge:
	LCOL A 1 A_FaceTarget
	TNT1 A 0 ThrustThingZ(0,20,0,0)
	TNT1 A 0 A_Jump(256,"DodgeRight","DodgeLeft")
  DodgeLeft:
	TNT1 A 0 ThrustThing(angle*256/360+192,15,0,0)
	Goto SeeNoDodge
  DodgeRight:
	TNT1 A 0 ThrustThing(angle*256/360+64,15,0,0)
	Goto SeeNoDodge
  Missile:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_attack",1)
	TNT1 A 0 A_PlaySound("HeavyChaingun/Sart",CHAN_WEAPON,1.0,0)
	TNT1 A 0 A_JumpIfCloser(250,"CloserAttack")
	LCOL E 3 A_GiveInventory("LegZombieStrafing",1)
	LCOL EEEEEEE 1 A_FaceTarget(45)
  Refire:
	TNT1 A 0 A_PlaySound("HeavyChaingun/Loop",CHAN_WEAPON,1.0,1)
	TNT1 AAAA 0 A_CustomMissile("LegendaryBlueTracer",random(28,34),0,random(-6,6),CMF_OFFSETPITCH,frandom(-3.0,3.0))
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",12,-6,36,random(2,6),0,random(1,3),random(-80,-90),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun",6)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	LCOL E 4 A_CustomBulletAttack(0,0,1,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_FaceTarget
	TNT1 AAAA 0 A_CustomMissile("LegendaryBlueTracer",random(28,34),0,random(-6,6),CMF_OFFSETPITCH,frandom(-3.0,3.0))
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",12,-6,36,random(2,6),0,random(1,3),random(-80,-90),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun",6)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	LCOL F 4 A_CustomBulletAttack(0,0,1,Random(5,15)*6,"FriendlyLegendaryBulletPuff",8192,CBAF_NOrandom)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_MonsterRefire(0,"MissileEnd")
	TNT1 A 0 A_Jump(20,"Pause")
	TNT1 A 0 A_JumpIfInTargetLOS("Dodge",360,JLOSF_DEADNOJUMP,1000)
	Loop
  CloserAttack:
	TNT1 A 0
	TNT1 A 0 A_GiveInventory("ZombieShieldSphere",1)
	LCOL A 1 A_GiveInventory("HEMLegColonelStrafing",1)
	LCOL A 1 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	LCOL B 1 A_GiveInventory("HEMLegColonelStrafing",1)
	LCOL BC 1 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	LCOL C 1 A_GiveInventory("HEMLegColonelStrafing",1)
	LCOL C 1 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	LCOL D 1 A_GiveInventory("HEMLegColonelStrafing",1)
	LCOL DD 1 A_FaceTarget
	TNT1 A 0 A_FaceTarget
  Refire2:
	TNT1 A 0 A_PlaySound("HeavyChaingun/Loop",CHAN_WEAPON,1.0,1)
	TNT1 AAAA 0 A_CustomMissile("LegendaryBlueTracer",random(28,34),0,random(-6,6),CMF_OFFSETPITCH,frandom(-3.0,3.0))
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",12,-6,36,random(2,6),0,random(1,3),random(-80,-90),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun",6)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveInventory("HEMLegColonelStrafing",1)
	LCOL Q 4 A_CustomBulletAttack(0,0,1,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 AAAA 0 A_CustomMissile("LegendaryBlueTracer",random(28,34),0,random(-6,6),CMF_OFFSETPITCH,frandom(-3.0,3.0))
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",12,-6,36,random(2,6),0,random(1,3),random(-80,-90),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun",6)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveInventory("HEMLegColonelStrafing",1)
	LCOL R 4 A_CustomBulletAttack(0,0,1,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 AAAA 0 A_CustomMissile("LegendaryBlueTracer",random(28,34),0,random(-6,6),CMF_OFFSETPITCH,frandom(-3.0,3.0))
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",12,-6,36,random(2,6),0,random(1,3),random(-80,-90),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun",6)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveInventory("HEMLegColonelStrafing",1)
	LCOL S 4 A_CustomBulletAttack(0,0,1,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 AAAA 0 A_CustomMissile("LegendaryBlueTracer",random(28,34),0,random(-6,6),CMF_OFFSETPITCH,frandom(-3.0,3.0))
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",12,-6,36,random(2,6),0,random(1,3),random(-80,-90),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun",6)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveInventory("HEMLegColonelStrafing",1)
	LCOL T 4 A_CustomBulletAttack(0,0,1,Random(5,15)*6,"FriendlyLegendaryBulletPuff",2048,CBAF_NOrandom)
	TNT1 A 0 A_MonsterRefire(0,"MissileEnd")
	TNT1 A 0 A_Jump(15,"Pause")
	Loop
  MissileEnd:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_attack",0)
	TNT1 A 0 A_PlaySound("HeavyChaingun/Down",CHAN_WEAPON,1.0,0)
	Goto See
  Pause:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_attack",0)
	TNT1 A 0 A_PlaySound("HeavyChaingun/Down",CHAN_WEAPON,1.0,0)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LCOL A 3 A_FaceTarget
	TNT1 A 0 A_JumpIfInTargetLOS("Dodge",360,JLOSF_DEADNOJUMP,1000)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LCOL A 3 A_FaceTarget
	TNT1 A 0 A_JumpIfInTargetLOS("Dodge",360,JLOSF_DEADNOJUMP,1000)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LCOL A 3 A_FaceTarget
	TNT1 A 0 A_JumpIfInTargetLOS("Dodge",360,JLOSF_DEADNOJUMP,1000)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LCOL A 3 A_FaceTarget
	TNT1 A 0 A_JumpIfInTargetLOS("Dodge",360,JLOSF_DEADNOJUMP,1000)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LCOL A 3 A_FaceTarget
	TNT1 A 0 A_JumpIfInTargetLOS("Dodge",360,JLOSF_DEADNOJUMP,1000)
	Goto See
  Pain:
	TNT1 A 0
	TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"PainShield")
	TNT1 A 0 A_Jump(10,"Protection")
	TNT1 A 0 A_Jump(96,"NoPainShield")
  PainShield:
	TNT1 A 0 A_GiveInventory("ZombieShieldSphere",1)
  NoPainShield:
	TNT1 A 0 A_JumpIf(user_attack > 0,"WeapodDown")
	LCOL G 6 A_Pain
	Goto See
  WeapodDown:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_attack",0)
	TNT1 A 0 A_PlaySound("HeavyChaingun/Down",CHAN_WEAPON,1.0,0)
	LCOL G 6 A_Pain
	Goto See
  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
	LCOL 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 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL H 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL I 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL J 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOL K 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL L 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL M 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL N 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL O 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOL P 140
	LCOL P 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LCOL PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCOL PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCOL PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid+1)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LCOL P -1
    Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    LASG O 5 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LASG P 5 A_XScream
    LASG Q 5 A_Fall
    LASG RSTUV 5
    LASG W -1
    Stop
	}
}

Actor FriendlyLegendaryColonel2 : FriendlyLegendaryColonel
{
Tag "\c[z3]Friendly Legendary Colonel\c-"
States
{
  Spawn:
    LCOL A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	LCOL A 10 A_Look
	Goto Idle
  Death:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL H 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL I 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL J 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOL K 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL L 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL M 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL N 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LCOL O 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOL P 140
	LCOL P 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LCOL PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCOL PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("LegSoulEvent",1)
	LCOL PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LCOL P -1
    Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    LASG O 5 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LASG P 5 A_XScream
    LASG Q 5 A_Fall
    LASG RSTUV 5
    LASG W -1
    Stop
	}
}

Actor FriendlyLegendaryPyroZombie : UACBaseMarine
{
Health 1250
Mass 100
Speed 12
FastSpeed 14
PainChance 20
BloodColor "Blue"
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "VileFires", 0.0
DamageFactor 0.60
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
SeeSound "lgeneral/sight"
PainSound "lgeneral/pain"
DeathSound "lgeneral/death"
ActiveSound "lgeneral/active"
Tag "\c[z3]Friendly Legendary Pyro Zombie\c-"
+NOICEDEATH
+BRIGHT
var int user_protection;
var int user_protected;
States
{
  Spawn:
    LPYZ A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	LPYZ A 10 A_Look
	Goto Idle
  Idle:
	TNT1 A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
	LPYZ AABB 3 A_GiveInventory("AIPatroling",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
    LPYZ CCDD 3 A_GiveInventory("AIPatroling",1)
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
    LPYZ A 0 A_JumpIfTargetInLOS("Strafing")
    LPYZ AABB 3 A_Chase
	LPYZ A 0 A_Jump(30,"Rush","Arson")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	LPYZ A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
	LPYZ CCDD 3 A_Chase
	LPYZ A 0 A_Jump(80,"Rush","Arson")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    Loop
  GiveUp:
	LPYZ A 10 A_ClearTarget
	Goto Idle
  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 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,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:
    LPYZ E 9
    LPYZ C 0 A_JumpIfTargetInLos("Missile")
    LASG C 0 A_JumpIfCloser(300,"Missile")
	TNT1 AAAA 0 A_CustomMissile("FLegendaryFlamethrowerShot",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_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("FLegendaryFlamethrowerShot",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("FLegendaryFlamethrowerShot",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("FLegendaryFlameBall",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("FLegendaryNapalmBall",32,0,0)
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegendaryNapalmBall",32,0,0)
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegendaryNapalmBall",32,0,0)
	LPYZ EEEE 3 A_GiveInventory("LegZombieStrafing2",1)
	LPYZ FF 1 A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("FLegendaryNapalmBall",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)
	Goto See
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_RemoveChildren(1)
	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("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid+1)
	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)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
	TNT1 A 0 A_RemoveChildren(1)
	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 FriendlyLegendaryPyroZombie2 : FriendlyLegendaryPyroZombie
{
Tag "\c[z3]Friendly Legendary Pyro Zombie\c-"
States
{
  Spawn:
    LPYZ A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("FLegendaryEffectSpawnerT1",0)
	LPYZ A 10 A_Look
	Goto Idle
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	TNT1 A 0 A_RemoveChildren(1)
	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("FriendlyLegendarySoul",0,0,16,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION,0,tid)
	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)
	TNT1 A 0 A_RemoveChildren(1)
	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 FLegendaryFlamethrowerShot : LegendaryFlamethrowerShot
{
Species "Player"
DamageType "FriendlyMonster"
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("FLegendaryFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
	LFR2 CDE 3 Bright
	Stop
	}
}

Actor FLegendaryFlare : LegendaryFlare { Species "Player" DamageType "FriendlyMonster" }

Actor FLegendaryNapalmBall : LegendaryNapalmBall
{
Species "Player"
DamageType "FriendlyMonster"
States
{
  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("FLegendaryFlamethrowerShot",0,0,0,random(0,8),random(0,8),2,random(0,360),SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
	LFR2 CDE 6 Bright
	Stop
	}
}

ACTOR FLegendaryFlameBall : FLegendaryNapalmBall
{
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("FLegendaryFlamethrowerShot",0,0,0,random(0,2),random(0,2),2,random(0,360),SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
	LFR2 CDE 6 Bright
	Stop
  }
}

Actor FriendlyGeneralRoasterock : UACBaseMarine
{
Health 3000
Mass 400
Speed 9
PainChance 2
MinMissileChance 90
Scale 1.25
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "VileFires", 0.0
DamageFactor 0.65
MaxStepHeight 32
MaxDropOffHeight 32
DropItem "Demon Tech Devastator", 96, 1
DropItem "Demon Tech BFG10K", 96, 1
DropItem "PyroCannon", 64, 1
DropItem "Rocket Launcher", 120, 1
DropItem "Grenade Launcher", 120, 1
DropItem "HomingRocketLauncher", 120, 1
DropItem "RapidShotgun", 120, 1
DropItem "Beacon", 120, 1
DropItem "ArmorCharge", 150, 2
DropItem "Armorplate", 186, 2
DropItem "Portablemedkit", 159, 2
DropItem "Backpack", 190, 1
DropItem "AmpGoggles", 190, 1
DropItem "SkullOfPower", 72, 1
DropItem "DemonicChalice", 72, 1
DropItem "LegendaryRune", 72, 1
SeeSound "roaster/sight"
PainSound "roaster/pain"
DeathSound "roaster/death"
ActiveSound "roaster/idle"
AttackSound "roaster/fire"
Obituary "%o was killed by a Friendly General Roasterock."
Tag "\crFriendly General Roasterock\c-"
+NOICEDEATH
var int user_missile;
States
{
  Spawn:
    ROST A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetGiveToken",0)
	ROST A 10 A_Look
	Goto Idle
  Idle:
	TNT1 A 0 A_Jump(48,"Find")
    TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_SpawnItem("RoasterStepQuiet",0,0,0,0) //TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 A_Look
	ROST AABB 3 A_GiveInventory("AIPatroling",1)
	TNT1 A 0 A_SpawnItem("RoasterStepQuiet",0,0,0,0) //TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 A_Look
    ROST CCDD 3 A_GiveInventory("AIPatroling",1)
	Loop
  Find:
	TNT1 A 0 ACS_NamedExecuteAlways("Find Master Player",0,0,0,0)
    Goto Idle
  See:
	ROST A 0 A_Jump(30,"Sprint")
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROST AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	TNT1 A 0 A_Jump(16,"GiveUp")
	ROST CCDD 3 A_Chase
	Loop
  GiveUp:
	ROST A 10 A_ClearTarget
	Goto Idle
  Sprint:
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	ROST AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROST CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	ROST AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROST CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	ROST AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROST CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	ROST AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROST CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	ROST AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROST CCCCDDDD 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	TNT1 A 0 ACS_NamedExecuteAlways("CheckFriendlyPlayerHelpMonster",0,user_plus,0,0)
	ROST AAAABBBB 1 A_Chase
	TNT1 A 0 A_SpawnItem("RoasterStep",0,0,0,0)
	ROST CCCCDDDD 1 A_Chase
	Goto See
  Missile:
    TNT1 A 0 A_Jump(10,"MegaAttack")
    TNT1 A 0 A_Jump(30,"PyroCannon","MLGRocket2")
	TNT1 A 0 A_Jump(150,"Cannon", "Chaingun", "LegMissile","ShoulderMissile","DTBFG10K","Devastator","FireBalls","MLGRocket")
  Cannon:
	ROST E 10 A_FaceTarget
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("MRocket",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("MRocket",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("MRocket",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("MRocket",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("MRocket",28,10,Random(4, -4))
	Goto See
  MLGRocket:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	WDMK G 0 A_JumpIf(ceilingz-floorz<=100,"DTBFG10K")
	ROST E 10 A_FaceTarget
	ROST E 5 A_FaceTarget
	ROST F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	NULL A 0 ThrustThingZ(0,70,0,1)
	ROST F 0 Bright A_PlaySound ("Cardinal/9k")
	ROST EEEEE 2 Bright A_FaceTarget
	ROST FF 2 Bright A_FaceTarget
	ROST F 2 Bright A_CustomMissile("FDTBFG10KBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See
  MLGRocket2:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	WDMK G 0 A_JumpIf(ceilingz-floorz<=100,"Devastator")
	ROST E 10 A_FaceTarget
	ROST E 5 A_FaceTarget
	ROST F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	NULL A 0 ThrustThingZ(0,70,0,1)
	ROST F 0 Bright A_PlaySound ("devastator/fire")
	ROST EEEEE 2 Bright A_FaceTarget
	ROST FF 2 Bright A_FaceTarget
	ROST F 2 Bright A_CustomMissile("PlayerDevastatorBall") //Maybe change this later... maybe not
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See
  DTBFG10K:
    ROST F 0 Bright A_PlaySound ("Cardinal/9k")
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST EE 2 Bright A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST EEEE 2 Bright A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST EEE 2 Bright A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST E 2 Bright A_FaceTarget
	ROST FF 2 Bright A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST FFFF 2 Bright A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 2 Bright A_CustomMissile("FDTBFG10KBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	ROST E 35
    goto See
  Devastator:
    ROST E 0 Bright A_FaceTarget
    ROST E 0 Bright A_PlaySound ("devastator/charge")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_SetUserVar("user_missile", 0)
  DevCharge:
    TNT1 A 0 A_JumpIf(user_missile > 55,"Charged")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
    ROST E 2 Bright A_FaceTarget
    Loop
  Charged:
	ROST F 2 Bright A_Facetarget
	ROST F 2 Bright A_Facetarget
    ROST F 0 A_PlaySound ("devastator/fire")
    ROST F 10 Bright A_CustomMissile("PlayerDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    ROST E 35
    goto See
  Chaingun:
    TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ZCGN E 0 A_PlaySoundEx("roaster/start","SoundSlot6")
	ROST GGGGGGGGGG 3 A_FaceTarget
	ZCGN E 0 A_PlaySoundEx("roaster/loop","SoundSlot6",true)
	Goto ChainLoop
  ChainLoop:
    ROST G 0 A_JumpIfInventory("RoasterChainTimer",40,"ChainEnd")
	TNT1 A 0 A_CustomMissile("MonsterTracer",Random(30,34),-10,Random(5,-5),0)
	TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 36, Random(2, 6), 0, Random(1, 3), Random(80, 90), 128)
	ROST H 0 A_CustomBulletAttack(5.5, 5.5, 1, random(4,8)*3, "FriendlyLegendaryBulletPuff", 0, CBAF_NORANDOM)
    ROST H 1 Bright
	ROST G 1 A_GiveInventory("RoasterChainTimer",1)
	TNT1 A 0 A_StopSoundEx("Roaster")
    ROST G 0 A_MonsterRefire(10, "ChainEnd")
    Loop
  ChainEnd:
    TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	ROST G 0 A_TakeInventory("RoasterChainTimer",40)
	ROST G 10
	Goto See
  LegMissile:
	ZCGN E 0 A_PlaySoundEx("roaster/prep","SoundSlot6")
	ROST IIIIIIIIII 3 A_FaceTarget
	ROST J 0 A_PlaySound("roaster/leg", CHAN_WEAPON)
    ROST J 2 bright A_CustomMissile("FRoasterLegMissile",12,-10)
	ROST I 3 A_FaceTarget
	ROST J 0 A_PlaySound("roaster/leg", CHAN_WEAPON)
    ROST J 2 bright A_CustomMissile("FRoasterLegMissile",12,-10)
	ROST I 3 A_FaceTarget
	ROST J 0 A_PlaySound("roaster/leg", CHAN_WEAPON)
    ROST J 2 bright A_CustomMissile("FRoasterLegMissile",12,-10)
	ROST I 14
    Goto See
  ShoulderMissile:
	ZCGN E 0 A_PlaySoundEx("roaster/prep","SoundSlot6")
	ROST IIIIIIIIII 3 A_FaceTarget
	ROST J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ROST K 2 bright A_CustomMissile("MHomRocket",62,20)
	ROST I 3 A_FaceTarget
	ROST J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ROST K 2 bright A_CustomMissile("MHomRocket",62,20)
	ROST I 3 A_FaceTarget
	ROST J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ROST K 2 bright A_CustomMissile("MHomRocket",62,20)
	ROST I 3 A_FaceTarget
	ROST J 0 A_PlaySound("roaster/shoulder", CHAN_WEAPON)
    ROST K 2 bright A_CustomMissile("MHomRocket",62,20)
	ROST I 14
    Goto See
  MegaAttack:
	ROST L 0 A_PlaySound("roaster/pain")
	ROST LLLLLL 4 A_FaceTarget
	ROST J 0 A_PlaySound("roaster/javelin", CHAN_WEAPON)
	ROST J 0 A_PlaySoundEx("roaster/leg", "SoundSlot6")
	ROST J 0 A_PlaySoundEx("roaster/shoulder", "SoundSlot5")
	ROST L 0 A_CustomMissile("MHomRocket",62,20)
	ROST L 0 A_CustomMissile("FRoasterLegMissile",12,-10)
	ROST L 0 A_CustomMissile("PlayerPyroShot",28,10) //Again... maybe change it or not
    ROST M 2 bright
	ROST L 14
    Goto See
  FireBalls:
	ROST E 20 A_FaceTarget
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("FRSTFireball",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST F 4 Bright A_CustomMissile("FRSTFireball",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("FRSTFireball",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("FRSTFireball",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("FRSTFireball",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST F 4 Bright A_CustomMissile("FRSTFireball",28,10,Random(4, -4))
	ROST E 5 A_FaceTarget
	ROST E 0 A_GiveInventory("CommandoStrafing",1)
	ROST F 4 Bright A_CustomMissile("FRSTFireball",28,10,Random(4, -4))
	Goto See
  PyroCannon:
    ROST L 0 A_PlaySound("roaster/See7")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	ROST EEEEEEE 5 A_FaceTarget
	ROST F 5 A_FaceTarget  
	TNT1 A 0 A_PlaySound("weapons/PCNNF")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    ROST F 4 Bright A_CustomMissile("PlayerPyroShot",28,10, 0)
	TNT1 A 0 A_PlaySound("weapons/dtech10ksteam")
	ROST EEE 20 Bright A_SpawnItemEx("LegendaryCannonSmoke",28,10,0)
    Goto See
  Dodge:
	ROST A 1 A_FaceTarget
	ROST E 0 ThrustThingZ(0, 20, 0, 0)
	ROST A 0 A_Jump(256, "DodgeRight", "DodgeLeft")
  DodgeLeft:
	ROST E 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	Goto Sprint
  DodgeRight:
	ROST E 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	Goto Sprint
  Pain:
    TNT1 A 0 A_Jump(100,"PainMissile")
    ROST N 5 A_Pain
    Goto See
  PainMissile:
    ROST N 5 A_Pain
    Goto Missile
  Death:
  XDeath:
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 ACS_NamedExecuteAlways("SignetTakeToken",0)
    TNT1 A 0 A_Jump(10,"RNGESUS")
    TNT1 A 0 A_Jump(50,"GoodDeath")
	ROST A 0 A_NoBlocking
    ROST A 0 A_Scream
	ROST OPQRSTU 6 A_SpawnItemEx("GreenGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	ROST U -1
    Stop
  GoodDeath:
	ROST A 0 A_NoBlocking
    ROST A 0 A_Scream
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,64)
    TNT1 A 0 A_SpawnItemEx("DemonicChalice",0,0,64,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_SpawnItemEx("Backpack",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech BFG10K",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech Devastator",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("JetPack",0,0,64,random(1,8),0,2,random(0,360),0,150)
	ROST OPQRSTU 6 A_SpawnItemEx("GreenGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	ROST U -1
    Stop
  RNGESUS:
	ROST A 0 A_NoBlocking
    ROST A 0 A_Scream
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,64,random(1,8),0,2,random(0,360),0,64)
    TNT1 A 0 A_SpawnItemEx("DemonicChalice",0,0,64,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_SpawnItemEx("Backpack",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech BFG10K",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech Devastator",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Pyrocannon",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryRune",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Jetpack",0,0,64,random(1,8),0,2,random(0,360),0,150)
	TNT1 A 0 A_SpawnItemEx("ArmorRegenerator",0,0,64,random(1,8),0,2,random(0,360),0,200)
	ROST OPQRSTU 6 A_SpawnItemEx("GreenGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	ROST U -1
    Stop
	}
}

Actor FriendlyGeneralRoasterock2 : FriendlyGeneralRoasterock
{
Tag "\crFriendly General Roasterock\c-"
States
{
  Spawn:
    ROST A 1
	TNT1 A 0 A_SpawnItemEx("FriendlyRedHeart",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION,0,56)
	ROST A 10 A_Look
	Goto Idle
  Death:
  XDeath:
	TNT1 A 0 A_RemoveChildren(1)
    TNT1 A 0 A_Jump(10,"RNGESUS")
    TNT1 A 0 A_Jump(50,"GoodDeath")
	ROST A 0 A_NoBlocking
    ROST A 0 A_Scream
	ROST OPQRSTU 6 A_SpawnItemEx("GreenGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZCGN E 0 A_PlaySoundEx("roaster/stop","SoundSlot6")
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	ROST U -1
    Stop
	}
}

Actor FRSTFireball : RSTFireball
{
Species "Player"
DamageType "FriendlyMonster"
+THRUSPECIES
+MTHRUSPECIES
States
{
  Death:
	TNT1 A 0 A_Explode(60, 160)
	TNT1 A 0 A_SpawnItemEx("LCABaseScorch", 0, 0, 0, 0, 0, 0, Random(0,359))
    TNT1 AAAAAA 0 A_CustomMissile ("OrangeParticleSpawner", 0, 0, random (0, 360), 2, random (0, 180))
	EXPL A 0 Radius_Quake(15,20,0,20,0)
	BEXP B 0 BRIGHT 
    TNT1 A 0 A_ALertMonsters
	Goto EndAnimation
  EndAnimation:
	TNT1 A 0 A_SpawnItemEx("FRSTSuperMeteor_m_Explosion", 0, 0, 0, 0, 0, 0, -1, SXF_NOCHECKPOSITION)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("SuperMeteor_m_FX_Smoke", 0, 0, 0, 0.01 * Random(-125, 125), 0.01 * Random(-125, 125), 0.01 * Random(25, 245), 0, 128, 0)
	Stop
	}
}

Actor FRSTSuperMeteor_m_Explosion : RSTSuperMeteor_m_Explosion { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FRoasterLegMissile : RoasterLegMissile { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +MTHRUSPECIES }

Actor FDTBFG10KBall : ZombieDTBFG10KBall
{
Species "Player"
DamageType "FriendlyMonster"
+THRUSPECIES
+MTHRUSPECIES
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_Jump(128,"DTBFGSFX")
    TNT1 A 0 A_PlaySoundEx("weapons/dtech10kball","Voice",1)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 A 1 Bright A_CustomMissile("FDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
    CRS1 B 1 Bright A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 C 1 Bright A_CustomMissile("FDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
    CRS1 D 1 Bright A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    Loop  
  DTBFGSFX:
	TNT1 A 0 A_PlaySoundEx("weapons/dtech10kball","Voice",1)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRed",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 A 1 Bright A_CustomMissile("FDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRed2",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
    CRS1 B 1 Bright A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRed",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
    TNT1 A 0 A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    CRS1 C 1 Bright A_CustomMissile("FDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRed2",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,128)
    CRS1 D 1 Bright A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    Goto Spawn	
  Death:
    TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 Radius_Quake(5,60,0,10,0)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,10,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,20,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,30,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,40,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,50,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,60,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,70,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,80,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,90,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,100,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,110,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,120,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,130,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,140,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,150,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,160,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,170,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,180,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,190,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,200,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,210,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,220,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,230,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,240,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,250,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,260,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,270,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,280,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,290,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,300,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,310,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,320,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,330,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,340,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("FDTBFG10KTracer",0,0,350,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningRedSpawner", 0, 0, 15, 0, 0, 0, 0, 128)	
	CRS1 ABCD 6 Bright A_SpawnItemEx("DTech10KShockwave", 0, 0, 15, 0, 0, 0, 0, 128)
	TNT1 A 0 A_Explode(800,300)
	TNT1 A 0 A_StopSoundEx("Voice")
	TNT1 A 0 Radius_Quake(20,12,0,12,0)
	TNT1 A 0 A_PlaySound("weapons/dtech10kexplode")
	TNT1 A 0 A_SpawnItemEx("DTech10KShockwave2", 0, 0, 15, 0, 0, 0, 0, 128)
    TNT1 A 20 A_SpawnItem("RedDTBFGEx",0,-10)
    Stop
    }
}

Actor FDTBFG10KTracer : DTBFG10KTracerMind { Species "Player" DamageType "FriendlyMonster" +THRUSPECIES +FRIENDLY }

Actor FDTBFGProjectileAttack : SentientDTBFGProjectileAttack
{ 
DamageType "FriendlyMonster"
MissileType "FDTBFGRailgunSlug"
+FRIENDLY 
States
{
  Attack:
    TNT1 A 0
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_MissileAttack
	TNT1 A 1 A_CustomRailgun(-1,0,NONE,"Red",1,1,2,"FriendlyLegendaryBulletPuff",0,0,1500,0,2,0,"PlayerPoweredDTBFGRailTrail",-5)
	Goto Death
	}
}

Actor FDTBFGRailgunSlug : CardinalDTBFGRailgunSlug { Species "Player" DamageType "FriendlyMonster" }

Actor FLFLunge : LFLunge { Species "Player" DamageType "FriendlyMonster" +MTHRUSPECIES }











