Actor LegendaryBarrelMan
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: LB4R
//Title: "Legendary Barrel Man"
  Monster
  Scale 1.2
  Health 500 //Health 2000
  Height 56
  Radius 20
  Speed 10
  PainChance 50
  PainChance "ZombieDemonTech", 0
  BloodColor "Blue"
  MinMissileChance 80
  -FORCERADIUSDMG
  -COUNTKILL
  +NOBLOOD
  //+BOSS
  +FLOORCLIP
  +NORADIUSDMG
  +MISSILEMORE
  +QUICKTORETALIATE
  +DONTHARMSPECIES
  +THRUSPECIES
  +BRIGHT
  Species "Zombies"
  DamageFactor 0.2 //0.5
  Damagefactor "Acid", 3.8
  DamageFactor "LegendaryZombie", 0.0
  DamageFactor "PDTBFG", 0.25
  DamageFactor "PDTBFGTracer", 0.25
  DamageFactor "PlayerDevBall", 0.125
  DamageFactor "PlayerDevBall2", 0.125
  DamageFactor "PlayerDTBFGRailgunSlug", 0.125
  DamageFactor "PlayerDevTracer", 0.125
  DamageFactor "Legendary", 0.0
  DamageFactor "LegendaryPlayer", 0.3
  DamageFactor "LegendaryGuru", 0.0
  DamageFactor "LegendaryGuruPlayer", 0.3
  DamageFactor "DBFG10K2", 0.65
  DamageFactor "PlayerDBFG10K2", 0.65
  DamageFactor "DBFG2", 0.65
  DamageFactor "PlayerDBFG2", 0.65
  DamageFactor "PlayerDTRG", 0.5 
  DropItem "LegendaryArmor" 85 1
  DropItem "LegAmmoSphere" 88 1
  DropItem "LegendaryPowerShard" 35 1
  DropItem "BulletMag" 180
  DropItem "BulletMag" 80
  DropItem "ArmorPlate" 120
  DropItem "HealthFlask" 120 2
  DropItem "PortableMedCell" 60 1
  DropItem "AmmoPack" 80 1
  DropItem "Autofuck" 10 1
  SeeSound ""
  PainSound ""
  DeathSound ""
  ActiveSound ""
  AttackSound "Autofuck/Fire"
  Obituary "%o did not expect a Legendary Barrel with a gun killed him"
  Tag "\c[z3]Legendary Barrel\c-"
  var int user_protection;
  var int user_protected;
  var int user_attackmode;
  States 
  {
  Spawn:
    LB4R A 8 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_Look
	TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
    LB4R B 8 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_Look
	TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	Loop
  Stalking:
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
    TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	LB5R AA 3 A_Chase("","")
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
    TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	LB5R BB 3 A_Chase("","")
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	LB5R CC 3 A_Chase("","")
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
    TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	LB5R DD 3 A_Chase("","")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	Loop
  Seen:
    LB4R AB 8 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	Goto Stalking
  Idle:
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LB5R A 10 A_Look
	Loop
  See:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(user_attackmode == 1,1)
	Goto Seen
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_UnHideThing
	TNT1 A 0 A_SetShootable
    TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LB5R AA 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LB5R BB 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	LB5R CC 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LB5R DD 3 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LB5R AA 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LB5R BB 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    LB5R CC 3 A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LB5R DD 3 A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Missile:
	LB5R EEEEEEEE 1 A_FaceTarget(45)
  MissileLoop:
	TNT1 A 0 A_JumpIfInventory("LegAutoFuckAmmo",41,"Reload")
	TNT1 A 0 A_GiveInventory("LegAutoFuckAmmo",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_SpawnItemEx("LegRifleCasing",12,-6,36,Random(2,6),0,Random(1,3),Random(-80,-90),128)
	LB5R F 2 A_CustomBulletAttack(42.5,14,1,Random(10,20)*3,"LegModdedBulletPuff")
	LB5R E 2
	TNT1 A 0 A_Jump(10,"Pause")
	TNT1 A 0 A_Jump(25,"Nade","LegNade")
	TNT1 A 0 A_MonsterRefire(0,"See")
	Loop
  Pause:
	LB5R EEEEE 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Nade:
	LB5R E 1 A_JumpIfCloser(1000,1)
	Goto Missile
	TNT1 A 0 A_JumpIfCloser(280,"Missile")
	LB5R E 6 A_GiveInventory("LegZombieStrafing",1)
	LB5R EEE 4 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LB5R E 6 A_CustomMissile("LGrenade",32,0,0,2,10)
	LB5R E 1
	Goto See
  LegNade:
	LB5R E 1 A_JumpIfCloser(1000,1)
	Goto Missile
	TNT1 A 0 A_JumpIfCloser(280,"Missile")
	LB5R E 12 A_GiveInventory("LegZombieStrafing",1)
	LB5R EEE 6 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	LB5R E 6 A_CustomMissile("LegThrownGrenade",32,0,0,2,10)
	LB5R EE 25
	Goto See
  Reload:
    TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	TNT1 A 0 A_PlayWeaponSound("weapons/arreload")
    LB5R EE 7 A_TakeInventory ("LegAutoFuckAmmo",41)
	TNT1 A 0 A_CustomMissile("AREmptyMagSpawner")
    LB5R E 7
    TNT1 A 0 A_ChangeFlag(NOPAIN,0)
    Goto See
  Pain:
    TNT1 A 0 A_JumpIf(user_attackmode == 1,4)
	TNT1 A 0 ACS_NamedExecuteAlways("LegBarrelManTag",0)
	TNT1 A 0 A_ChangeFlag(BOSS,1)
	TNT1 A 0 A_SetUserVar("user_attackmode",1)
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	TNT1 A 0 A_Jump(15,"Protection")
	LB5R G 3
	LB5R G 3 A_Pain
	TNT1 A 0 A_Jump(128,"PainMissile")
	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
	LB5R E 2 ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Goto See	
  PainMissile:
	TNT1 A 0
	TNT1 A 0 A_JumpIfTargetInLos("Missile",360,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS)
	Goto See
  Death:
	TNT1 A 0
    //TNT1 A 0 A_Jump(36,"LegendarySoul") //its a Barrel, dont have Soul
	LB5R H 1 A_Explode(384,1588)
	LB5R H 1 A_ChangeFlag(FORCERADIUSDMG,1)
	TNT1 A 0 A_Explode(100,1588,0,0,1588)
	TNT1 A 0 Radius_Quake(7,105,0,140,0)
	TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE) 
	TNT1 AAA 0 A_CustomMissile("BlueKaboom3",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_PlaySoundEx("legendary/strike","Voice",0,2)
	LB5R H 5 A_SpawnItemEx("LegendaryBarrelStrike",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	LB5R I 5 A_Scream
	LB5R K 5 A_NoBlocking
	LB5R L 5
	LB5R M 5
    TNT1 A 0 A_Jump(40,"TrueLeg")
	LB5R N -1
	Stop
  TrueLeg:
	LB5R NNNN 5 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LB5R NNNN 5
	TNT1 A 175
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LB5R NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LB5R NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
    LB5R NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LB5R NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LB5R N 3 Bright
	TNT1 A 0 A_SpawnItem("BlueLightning")
	TB5R NMLKJHG 5 Bright A_SpawnItemEx("BHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("TrueLegendaryBarrelMan",0,0,16,0,0,0,0,32)
	Stop
	}
}

ACTOR LegAutoFuckAmmo: Ammo
{
Inventory.MaxAmount 41
}
