ACTOR ZamasuBarrelman : LegendaryBarrelMan //This isn't even my final barrel!
{
//Creator: Nemesiscaptain(uwu)and Makarov
//Origin: Nexus Infinity
//Sprite: ZNBM
//Title: "ZamasuBarrelman"
  Monster
  Scale 1.2
  Health 9500
  Height 56
  Radius 20
  Speed 40
  PainChance 50
  BloodColor "Black"
  MinMissileChance 80
  +BRIGHT
  Species "Zombies"
DamageFactor 0.6
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.2
DamageFactor "PlayerDTRG", 0.4
DamageFactor "DTRailgun", 0.4
DamageFactor "PDTPuff", 0.4
DamageFactor "RailG", 0.3
DamageFactor "PlayerPyro", 0.1
DamageFactor "VileFires", 0.0
DamageFactor "DarkDemoEx", 0.0
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "RandomZamasuItem", 180, 1
DropItem "LegAmmoSphere", 88, 3
DropItem "NemesisPowerShard", 35, 1
DropItem "HandGrenadeAmmo", 235, 2
DropItem "MineAmmo", 235, 2
DropItem "Backpack", 198, 1
DropItem "Armorplate", 205, 1
DropItem "Portablemedkit", 210, 1
DropItem "NLDemonAmmoBox", 200
DropItem "NLDemonAmmo", 250 
DropItem "NemesisRuneSpawnerTier4", 110, 1
DropItem "TarmidhesRune" 85, 1
DropItem "ZamasuRune", 105, 1
DropItem "Nemesis Rifle", 128, 1
DropItem "NemesisShell", 256
DropItem "NemesisShellBox", 130
  SeeSound ""
  PainSound ""
  DeathSound ""
  ActiveSound ""
  Obituary "%o's life was claimed by the explosion god—ZamasuBarrelMan."
  Tag "\c[s5]Zamasu Barrel Man\c-"
  var int user_protection;
  var int user_protected;
  var int user_attackmode;
  var int user_music;
  var int user_missile;
  var int user_phase;
  States 
  {
  Spawn:
    ZNBM A 8 A_SpawnItem("NemesisCyberFlameSpawner",0,0,0,0)
    TNT1 A 0 A_Look
	TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
    ZNBM B 8 A_SpawnItem("NemesisCyberFlameSpawner",0,0,0,0)
    TNT1 A 0 A_Look
	TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	Loop
  Stalking:
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
    TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	ZNBM AA 3 A_Chase("","")
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
    TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	ZNBM BB 3 A_Chase("","")
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	ZNBM CC 3 A_Chase("","")
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
    TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	ZNBM DD 3 A_Chase("","")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	Loop
  Seen:
    ZN4B A 8 A_SpawnItem("NemesisCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	Goto Stalking
  Idle:
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
	ZNBM A 10 A_Look
	Loop
  See:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(user_attackmode == 1,1)
	TNT1 A 0 A_JumpIf(user_music == 1,3)
    TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,1777)
	TNT1 A 0 A_SetUserVar("user_music",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("NemesisCyberFlameSpawner")
	ZNBM AA 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
	ZNBM BB 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	ZNBM CC 3 A_Chase
	ZNBM A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner")
	ZNBM DD 3 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Jump(35,"Teleport")
	TNT1 A 0 A_Jump(15,"PhaseWalk")
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZNBM AA 3 A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZNBM BB 3 A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    ZNBM CC 3 A_GiveInventory("NemesisLegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZNBM DD 3 A_GiveInventory("NemesisLegZombieStrafing",1)
	Goto See
  Rush:
    ZNBM A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep")
	TNT1 A 0 A_SpawnItem("NemesisCyberFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("ZamasuNemesisBarrelmanGhostA")
	ZNBM A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuNemesisBarrelmanGhostA")
	ZNBM A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuNemesisBarrelmanGhostB")
	ZNBM B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuNemesisBarrelmanGhostB")
	ZNBM B 1 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep")
    TNT1 A 0 A_SpawnItem("NemesisCyberFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("ZamasuNemesisBarrelmanGhostC")
	ZNBM C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuNemesisBarrelmanGhostC")
	ZNBM C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuNemesisBarrelmanGhostD")
	ZNBM D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuNemesisBarrelmanGhostD")
	ZNBM D 1 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep")
	TNT1 A 0 A_SpawnItem("NemesisCyberFlameSpawner")
	TNT1 A 0 A_Jump(38,"Teleport")
	TNT1 A 0 A_Jump(8,"See")
	TNT1 A 0 A_SpawnItem("NemesisCyberFlameSpawner")
	Loop
  PhaseWalk:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	ZNBM A 2 A_FaceTarget
	TNT1 A 0 A_Changeflag(NOCLIP,1)
	//TNT1 A 0 A_Changeflag(NODROPOFF,1)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Goto PhaseWalking
  PhaseWalking:
	ZNBM AABBCCDDAABBCCDD 1 A_ExtChase(0,0)
	ZNBM AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_Chase
	TNT1 A 0 A_JumpIfCloser(270,"StopPhaseWalking")
	Goto PhaseWalking+32
  StopPhaseWalking:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	ZNBM A 2 A_FaceTarget	
    Goto Missile 
  StopPhaseWalkingIdle:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZNBM A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
    Goto Idleloop
  Teleport:
       ZNBM E 1 A_UnSetShootable
       ZNBM EEEEEEEEEEEE 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
       ZNBM EEEEEEEEEEE 1 A_FadeOut(0.1,0)
       ZNBM EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 0 A_Wander
       ZNBM EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 0 A_Wander
       ZNBM E 1 A_PlayWeaponSound("boss/teleport")
       ZNBM EEEEEEEEEEEE 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
       ZNBM EEEEEEEEEEE 1 A_FadeIn(0.1)
       ZNBM E 1 A_SetShootable
       Goto See
	Missile:
	   TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalking")
	   TNT1 A 0 A_SetShootable
	   TNT1 A 0 A_UnsetInvulnerable
	   TNT1 A 0 A_SetTranslucent(1)
	   TNT1 A 0 A_Jump(128,"Teleport")
	   TNT1 A 0 A_Jump(88,"Zamasurockets","Zamasucannon","ZamasuBFG")
	   TNT1 A 0 A_Jump(255,"Zamasurifle")
	   TNT1 A 0 A_Jump(15,"PhaseWalk")
	   Goto See
	Zamasurifle:
	   ZNBM E 4 Bright A_GiveInventory("SpecOpsStrafing",1)
	   TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	   TNT1 A 0 A_CustomMissile("ZamasusRifleShot",32,0,random(-2,2),0)
	   ZNBM F 4 Bright A_PlaySoundEx("NemesisRifle/Fire","Weapon")
	   TNT1 A 0 A_Jump(24,"Pause")
	   TNT1 A 0 A_SpidRefire
	   Loop
	ZamasuBFG:
	   ZNBM E 0 A_SetInvulnerable
	   ZNBM E 1 Bright A_FaceTarget
	   ZNBM EEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 A_PlayWeaponSound("star/load3")
	   ZNBM EEEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 0 A_UnSetInvulnerable
	   ZNBM F 0 A_PlayWeaponSound("star/fire")
	   ZNBM F 7 Bright A_CustomMissile("MiniNemesisBFGBall",32,0,0)
	   ZNBM EEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM F 0 A_PlayWeaponSound("star/fire")
	   ZNBM F 7 Bright A_CustomMissile("MiniNemesisBFGBall",32,0,0)
	   ZNBM EEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 8 Bright A_FaceTarget
	   Goto See
	Zamasurockets:
	   ZNBM E 1 A_FaceTarget
	   ZNBM EEE 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 Bright A_CustomMissile("NemesisRocket", 40, 26, 0)
	   TNT1 A 0 Bright A_CustomMissile("NemesisCyberHomingRocket", 40, -26, 0)
	   ZNBM FFF 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 1 A_FaceTarget
	   ZNBM EEE 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 Bright A_CustomMissile("NemesisRocket", 40, 26, 0)
	   TNT1 A 0 Bright A_CustomMissile("NemesisCyberHomingRocket", 40, -26, 0)
	   ZNBM FFF 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 1 A_FaceTarget
	   ZNBM EEE 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 Bright A_CustomMissile("NemesisRocket", 40, 26, 0)
	   TNT1 A 0 Bright A_CustomMissile("NemesisCyberHomingRocket", 40, -26, 0)
	   ZNBM FFF 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 1 A_FaceTarget
	   ZNBM EEE 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 Bright A_CustomMissile("NemesisRocket", 40, 26, 0)
	   TNT1 A 0 Bright A_CustomMissile("NemesisCyberHomingRocket", 40, -26, 0)
	   ZNBM FFF 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 1 A_FaceTarget
	   ZNBM EEE 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 Bright A_CustomMissile("NemesisRocket", 40, 26, 0)
	   TNT1 A 0 Bright A_CustomMissile("NemesisCyberHomingRocket", 40, -26, 0)
	   ZNBM FFF 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 1 A_FaceTarget
	   ZNBM EEE 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 Bright A_CustomMissile("NemesisRocket", 40, 26, 0)
	   TNT1 A 0 Bright A_CustomMissile("NemesisCyberHomingRocket", 40, -26, 0)
	   ZNBM FFF 1 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 12
	   TNT1 A 0 Bright A_Jump(128,"Laser")
	   Goto See
	Zamasucannon:
	   TNT1 A 0 A_SetUserVar("user_missile",0)
	   ZNBM E 1 A_FaceTarget
	ZamasucannonLoop:
	   TNT1 A 0 A_JumpIf(user_missile >= 6,"ZamasucannonEnd")
	   TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	   ZNBM EEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   ZNBM E 2 Bright A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 A_GiveInventory("NLegZombieStrafing3",1)
	   TNT1 A 0 A_CustomMissile("ZamasuPlasmaticBeamBall",32,0,0)
	   ZNBM F 2 Bright A_PlaySound("legendarycannon/fire")
	   TNT1 A 0 A_Jump(24,"Pause")
	   TNT1 A 0 A_SpidRefire
	   Goto See
	ZamasucannonEnd:
	   ZNBM A 12 
	   Goto See
	Pause:
	   TNT1 A 0 A_PlaySound("weapons/demontechsteam")
	   ZNBM EEEEE 3 Bright A_GiveInventory("SpecOpsStrafing",1)
	   Goto See
  Pain:
    TNT1 A 0 A_Jump(30,"Teleport")
	Goto See
  PainMissile: 
	ZNBM G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_Pain
	ZNBM G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	Goto Missile
  Death:
    //TNT1 A 0 A_Jump(36,"LegendarySoul") //its a Barrel, dont have Soul
	ZNBM H 1
	TNT1 A 1 A_StopSound
	TNT1 A 0 A_UnSetSolid
	TNT1 A 0 A_UnSetShootable
	TNT1 A 1 A_Explode(27368,3156)
	TNT1 A 1 A_ChangeFlag(FORCERADIUSDMG,1)
	TNT1 A 0 A_Explode(100,3156,0,0,3156)
	TNT1 AA 0 A_PlaySound("NemesisPortal/Open",7,1,0,0.5)
	TNT1 AAA 0 A_SpawnItemEx("ZamasuimpDeathEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	ZNBM H 2 Bright A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 AA 0 A_SpawnItem("NemesisDeathBall")
	TNT1 AAA 0 A_SpawnItemEx("ZamasuimpDeathEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	ZNBM H 2 Bright A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 AA 0 A_SpawnItem("NemesisDeathBall")
	TNT1 AAA 0 A_SpawnItemEx("ZamasuimpDeathEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	ZNBM H 2 Bright A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 AA 0 A_SpawnItem("NemesisDeathBall")
	ZNBM H 2 Bright A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 AA 0 A_SpawnItem("NemesisDeathBall")
	ZNBM H 2 Bright
	TNT1 A 0 A_BossDeath
	TNT1 A 0 A_KillMaster
	ZNBM I 0 A_SpawnItem("ZamasuNuke",0,0,0,0)
	ZNBM J 10 Bright A_NoBlocking
	TNT1 A 0 A_StopSound(7)
	ZNBM K 2 A_PlaySound("Mainyu/Electric",6)
	TNT1 A 0 A_SpawnItemEx("ZamasuBarrelmanGateSpawner",0,0,0,0,0,1)
	ZNBM L 5 A_Scream
	ZNBM M 5 A_NoBlocking
	ZNBM N -1   
	Stop
	}
}

Actor INFZamasuBarrelman : ZamasuBarrelman
{
Tag "\c[s5]Zamasu Barrel Man\c-"
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump(180,"Remove")
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("TrueLegendaryRuneSpawnCheck") == 2,1)
	Goto Remove
	Idle:
	ZNBM A 8 A_SpawnItem("NemesisCyberFlameSpawner",0,0,0,0)
    TNT1 A 0 A_Look
	TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
    ZNBM B 8 A_SpawnItem("NemesisCyberFlameSpawner",0,0,0,0)
    TNT1 A 0 A_Look
	TNT1 A 0 A_JumpIfInTargetLOS("Seen",130)
	Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("DemonSpawnerLiter",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
	}
}

Actor ZamasuBarrelmanGateSpawner : ZamasuGateSpawner
{
Translation "0:255=%[0.00,0.00,0.00]:[2.00,2.00,2.00]"
States 
{
Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("NemesisPortal/Loop",7,1,1,0.5)
  TNT1 A 0 A_PlaySound("Gateway/Hell", CHAN_AUTO, 1.0, True)
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate2",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate3",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate4",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate5",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate6",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate7",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,Random(0,359))
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  TNT1 A 0 A_SpawnItemEx("NemesisGate8",Random(1,-1),Random(1,-1),Random(1,-1),0,0,0,Random(0,359))
  BO1L ABCDEFGHIJKLM 1 Bright
  TNT1 A 0 A_Stop
  BO1L NOP 2 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCDEFGHIJKLMN 1 Bright
  BO1L OP 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L ABCD 1 Bright
  BO1L EF 3 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L GHIJKLMN 1 Bright
  BO1L KLMNOP 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L OP 1 Bright
  BO1L ABCDE 4 Bright A_SpawnItemEx("NemesisGateSpawnTear")
  BO1L FGHIJKLMOP 1 Bright
  BO1L FGHIJKLMOP 1 Bright
  BO1L FGHIJKLMOP 1 Bright
  BO1L FGHIJKLMOP 1 Bright
  BO1L FGHIJKLMOP 1 Bright
  BO1L FGHIJKLMOP 1 Bright
  BO1L FGHIJKLMOP 1 Bright
  BO1L FGHIJKLMOP 1 Bright
  TNT1 A 0 A_PlaySound("Rage", CHAN_VOICE, 1.0, False, ATTN_NONE)
  TNT1 A 0 A_SpawnItemEx("AlphaEnragedLegendaryBarrelman",random(200,-200),random(200,-200),10,0,0,0,0)
  TNT1 A 0 A_SpawnItemEx("SuicideNemesisBarrelman",random(200,-200),random(200,-200),10,0,0,0,0)
  TNT1 A 0 A_SpawnItemEx("LegendaryBarrelMan",random(200,-200),random(200,-200),10,0,0,0,0)
  TNT1 A 0 A_AlertMonsters
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  BO1L ABCDEFGHIJKLMNOP 1 Bright
  Goto Death
Death:
  BO1L ABCDEFGHIJKLMNOPABCD 1 Bright A_FadeOut(0.05)
  TNT1 A 0 A_StopSound(7)
  TNT1 A 1
	Stop
	}
}

ACTOR ZamasuNemesisBarrelmanGhostA
{
PROJECTILE
Height 56
Radius 20
Speed 0
Scale 1.1
RENDERSTYLE Translucent
Alpha 0.7
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	Goto Fade
  Fade:
	ZNBM A 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1
	Stop
  }
}

ACTOR ZamasuNemesisBarrelmanGhostB : ZamasuNemesisBarrelmanGhostA
{

States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	Goto Fade
  Fade:
	ZNBM B 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1
	Stop
  }
}

ACTOR ZamasuNemesisBarrelmanGhostC : ZamasuNemesisBarrelmanGhostA
{

States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	Goto Fade
  Fade:
	ZNBM C 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1
	Stop
  }
}

ACTOR ZamasuNemesisBarrelmanGhostD : ZamasuNemesisBarrelmanGhostA
{

States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	Goto Fade
  Fade:
	ZNBM D 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1
	Stop
  }
}