Create
Return to post

Comparing difference between and

View raw
  • variables
  • {
  • global:
  • 0: ActivatedWall
  • 1: ArrayEffectWall1HeroLock
  • 2: ArrayEffectWall1HeroRole
  • 1: CurrentSlot
  • 2: ArrayWall1SpawnLocation
  • 3: Wall1RoleLock
  • 4: ArrayEffectWall1HeroLock
  • 5: ArrayEffectWall1HeroRole
  • 6: ArrayCoordsWall1RandomBotButton
  • 7: ArrayCoordsWall1RandomBotText
  • 8: ArrayCoordsWall1LockBotButton
  • 9: ArrayCoordsWall1LockBotText
  • 10: ArrayCoordsWall1CloneHeroButton
  • 11: ArrayCoordsWall1CloneHeroText
  • 12: ArrayCoordsWall1RoleLockText
  • 13: ArrayCoordsWall1RoleLockCurrent
  • 14: ArrayCoordsWall1RoleLockButtonL
  • 15: ArrayCoordsWall1RoleLockButtonR
  • 16: NumberOfRepeats
  • 17: Wall1SpawnLock
  • 18: SubNumberOfRepeats
  • 19: ArrayHUDHeroText
  • 25: DEV_MODE
  • player:
  • 0: Wall1RespawnLocked
  • 2: Wall1HeroToSpawn
  • 3: Wall1SpawnLocation
  • 3: Wall1HeroInfo
  • }
  • subroutines
  • {
  • 0: CreateWallActivationButtons
  • 1: Wall1Slot0Interface
  • 2: Wall1Slot1Interface
  • 3: Wall1Slot2Interface
  • 4: Wall1Slot3Interface
  • 5: Wall1Slot4Interface
  • 6: Wall1Slot5Interface
  • 7: Wall1Slot0RandomHero
  • 8: Wall1Slot1RandomHero
  • 9: Wall1Slot2RandomHero
  • 10: Wall1Slot3RandomHero
  • 11: Wall1Slot4RandomHero
  • 12: Wall1Slot5RandomHero
  • 13: Wall1Slot0CloneHero
  • 14: Wall1Slot1CloneHero
  • 15: Wall1Slot2CloneHero
  • 16: Wall1Slot3CloneHero
  • 17: Wall1Slot4CloneHero
  • 18: Wall1Slot5CloneHero
  • 19: Wall1TeamInterface
  • 20: Wall1TeamRandomTeam
  • 1: Wall1CreateInterface
  • 2: Wall1SpawnRandomHero
  • 3: Wall1InterfaceActions
  • 4: Wall1CloneHero
  • 5: Wall1HUDInfo
  • 7: H
  • 8: I
  • 9: J
  • 10: K
  • 11: L
  • 12: M
  • 19: O
  • 20: P
  • }
  • rule("DEV: Activate Dev Mode")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.DEV_MODE = Workshop Setting Toggle(Custom String("DEV SETTINGS"), Custom String("Developer Mode"), False);
  • }
  • }
  • rule("DEV: HUD")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == False;
  • Has Spawned(Event Player) == True;
  • Global.DEV_MODE == True;
  • }
  • actions
  • {
  • "Show Player Coordinates"
  • Create HUD Text(Event Player, Custom String("Position = {0}", Position Of(Event Player)), Null, Null, Left, 1, Lime Green, White,
  • Create HUD Text(Event Player, Custom String("Position = {0}", Position Of(Event Player)), Null, Null, Right, 1, Lime Green, White,
  • White, Visible To and String, Visible Never);
  • "Show Reticle Location"
  • Create HUD Text(Event Player, Custom String("Looking at = {0}", Ray Cast Hit Position(Event Player, Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 1000, All Living Players(All Teams), Event Player, True)), Null, Null, Left, 2,
  • + Facing Direction Of(Event Player) * 1000, All Living Players(All Teams), Event Player, True)), Null, Null, Right, 2,
  • Lime Green, White, White, Visible To and String, Visible Never);
  • "Show Direction Facing"
  • Create HUD Text(Event Player, Custom String("Facing = {0}", Facing Direction Of(Event Player)), Null, Null, Left, 3, Lime Green,
  • Create HUD Text(Event Player, Custom String("Facing = {0}", Facing Direction Of(Event Player)), Null, Null, Right, 3, Lime Green,
  • White, White, Visible To and String, Visible Never);
  • "Show Direction Facing"
  • Create HUD Text(Event Player, Custom String("Server Load = {0}", Server Load Average), Null, Null, Left, 4, Red, White, White,
  • "Show Server Load"
  • Create HUD Text(Event Player, Custom String("Server Load = {0}", Server Load Average), Null, Null, Right, 4, Red, White, White,
  • Visible To and String, Visible Never);
  • "Show \"Current Slot\""
  • Create HUD Text(Event Player, Custom String("Current Slot: {0}", Global.CurrentSlot), Null, Null, Right, 5, Purple, White, White,
  • Visible To and String, Default Visibility);
  • "Show \"Repeat #\""
  • Create HUD Text(Event Player, Custom String("Repeat #: {0}", Global.NumberOfRepeats), Null, Null, Right, 6, Aqua, White, White,
  • Visible To and String, Default Visibility);
  • }
  • }
  • rule("DEV: Inspector Recording")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.DEV_MODE == True;
  • }
  • actions
  • {
  • If(Workshop Setting Toggle(Custom String("DEV SETTINGS"), Custom String("Inspector Recording"), False) == True);
  • Enable Inspector Recording;
  • Else;
  • Disable Inspector Recording;
  • }
  • }
  • disabled rule("~~~ GLOBAL SETUP ~~~")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Init")
  • rule("Set Global Variables")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.ActivatedWall = 0;
  • Global.ArrayEffectWall1HeroLock = Array(Null, Null, Null, Null, Null, Null);
  • Global.ArrayEffectWall1HeroRole = Array(0, 0, 0, 0, 0, 0);
  • Global.CurrentSlot = 0;
  • Global.ArrayWall1SpawnLocation = Array(Vector(16.750, 0, -10), Vector(16.750, 0, -6), Vector(16.750, 0, -2), Vector(16.750, 0, 2),
  • Vector(16.750, 0, 6), Vector(16.750, 0, 10));
  • Global.Wall1RoleLock = Array(0, 0, 0, 0, 0, 0);
  • Global.ArrayEffectWall1HeroLock = Array(Null, Null, Null, Null, Null, Null);
  • Global.ArrayEffectWall1HeroRole = Array(Null, Null, Null, Null, Null, Null);
  • Global.ArrayCoordsWall1RandomBotButton = Array(Vector(20, 7, -11), Vector(20, 7, -7), Vector(20, 7, -3), Vector(20, 7, 1), Vector(
  • 20, 7, 5), Vector(20, 7, 9));
  • Global.ArrayCoordsWall1RandomBotText = Array(Vector(20, 6, -9.200), Vector(20, 6, -5.200), Vector(20, 6, -1.200), Vector(20, 6,
  • 3.200), Vector(20, 6, 7.200), Vector(20, 6, 11.200));
  • Global.ArrayCoordsWall1LockBotButton = Array(Vector(20, 6, -11), Vector(20, 6, -7), Vector(20, 6, -3), Vector(20, 6, 1), Vector(20,
  • 6, 5), Vector(20, 6, 9));
  • Global.ArrayCoordsWall1LockBotText = Array(Vector(20, 5, -9.200), Vector(20, 5, -5.200), Vector(20, 5, -1.200), Vector(20, 5,
  • 3.200), Vector(20, 5, 7.200), Vector(20, 5, 11.200));
  • Global.ArrayCoordsWall1CloneHeroButton = Array(Vector(20, 5, -11), Vector(20, 5, -7), Vector(20, 5, -3), Vector(20, 5, 1), Vector(
  • 20, 5, 5), Vector(20, 5, 9));
  • Global.ArrayCoordsWall1CloneHeroText = Array(Vector(20, 4, -9.200), Vector(20, 4, -5.200), Vector(20, 4, -1.200), Vector(20, 4,
  • 3.200), Vector(20, 4, 7.200), Vector(20, 4, 11.200));
  • Global.ArrayCoordsWall1RoleLockText = Array(Vector(20, 9.500, -10), Vector(20, 9.500, -6), Vector(20, 9.500, -2), Vector(20, 9.500,
  • 2), Vector(20, 9.500, 6), Vector(20, 9.500, 10));
  • Global.ArrayCoordsWall1RoleLockCurrent = Array(Vector(20, 8.500, -10), Vector(20, 8.500, -6), Vector(20, 8.500, -2), Vector(20,
  • 8.500, 2), Vector(20, 8.500, 6), Vector(20, 8.500, 10));
  • Global.ArrayCoordsWall1RoleLockButtonL = Array(Vector(20, 8, -11), Vector(20, 8, -7), Vector(20, 8, -3), Vector(20, 8, 1), Vector(
  • 20, 8, 5), Vector(20, 8, 9));
  • Global.ArrayCoordsWall1RoleLockButtonR = Array(Vector(20, 8, -9), Vector(20, 8, -5), Vector(20, 8, -1), Vector(20, 8, 3), Vector(
  • 20, 8, 7), Vector(20, 8, 11));
  • Global.Wall1SpawnLock = Array(False, False, False, False, False, False);
  • }
  • }
  • rule("Spawn player in centre of room")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Teleport(Event Player, Vector(0, 0, 0));
  • Set Facing(All Players(Team 1), Vector(-1, 0, 0), To World);
  • }
  • }
  • rule("Allow Player to Change Hero")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Is Communicating(Event Player, Acknowledge) == True;
  • }
  • actions
  • {
  • Kill(Event Player, Null);
  • }
  • }
  • rule("Wall Buttons - Wall Activation: Creation")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.ActivatedWall == Null;
  • }
  • actions
  • {
  • Call Subroutine(CreateWallActivationButtons);
  • }
  • }
  • rule("Wall Buttons - Wall 1 Activation: Functionality")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Global.ActivatedWall != 1;
  • Is Button Held(Event Player, Interact) == True;
  • "Player is looking at button to activate Wall1"
  • Distance Between(Vector(20, 17, 0), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 1;
  • }
  • actions
  • {
  • Global.ActivatedWall = 1;
  • Wait(0.020, Ignore Condition);
  • Call Subroutine(CreateWallActivationButtons);
  • Wait(0.020, Ignore Condition);
  • Call Subroutine(Wall1TeamInterface);
  • Call Subroutine(Wall1Slot0Interface);
  • Call Subroutine(Wall1Slot1Interface);
  • Call Subroutine(Wall1Slot2Interface);
  • Call Subroutine(Wall1Slot3Interface);
  • Call Subroutine(Wall1Slot4Interface);
  • Call Subroutine(Wall1Slot5Interface);
  • Wait(0.500, Ignore Condition);
  • Call Subroutine(O);
  • Global.NumberOfRepeats = 6;
  • Global.CurrentSlot = 0;
  • Call Subroutine(Wall1CreateInterface);
  • }
  • }
  • disabled rule("~~~ WALL 1 FUNCTIONALITY ~~~")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Wall1 - Team : Interface Actions")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Global.ActivatedWall == 1;
  • Is Button Held(Event Player, Interact) == True;
  • }
  • actions
  • {
  • "\"Random Hero\" Button"
  • If(Distance Between(Vector(20, 4, 13), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1TeamRandomTeam);
  • }
  • }
  • rule("Wall1 - Slot 0 : Interface Actions")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Global.ActivatedWall == 1;
  • Is Button Held(Event Player, Interact) == True;
  • }
  • actions
  • {
  • "\"Random Hero\" Button"
  • If(Distance Between(Vector(20, 7, -11), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot0RandomHero);
  • "\"Lock Hero\" Button"
  • Else If(Distance Between(Vector(20, 6, -11), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • If(Players In Slot(0, Team 2).Wall1RespawnLocked == True);
  • Players In Slot(0, Team 2).Wall1RespawnLocked = False;
  • Else If(Players In Slot(0, Team 2).Wall1RespawnLocked == False);
  • Players In Slot(0, Team 2).Wall1RespawnLocked = True;
  • End;
  • Call Subroutine(Wall1Slot0Interface);
  • "\"Role Lock\" Icon Left"
  • Else If(Distance Between(Vector(20, 9.500, -11), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[0] -= 1;
  • If(Global.Wall1RoleLock[0] < 0);
  • Global.Wall1RoleLock[0] = 3;
  • End;
  • Call Subroutine(Wall1Slot0Interface);
  • "\"Role Lock\" Icon Right"
  • Else If(Distance Between(Vector(20, 9.500, -9), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[0] += 1;
  • If(Global.Wall1RoleLock[0] > 3);
  • Global.Wall1RoleLock[0] = 0;
  • End;
  • Call Subroutine(Wall1Slot0Interface);
  • "\"Clone Hero\" Button"
  • Else If(Distance Between(Vector(20, 5, -11), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot0CloneHero);
  • End;
  • }
  • }
  • rule("Wall1 - Slot 1 : Interface Actions")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Global.ActivatedWall == 1;
  • Is Button Held(Event Player, Interact) == True;
  • }
  • actions
  • {
  • "\"Random Hero\" Button"
  • If(Distance Between(Vector(20, 7, -7), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot1RandomHero);
  • "\"Lock Hero\" Button"
  • Else If(Distance Between(Vector(20, 6, -7), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • If(Players In Slot(1, Team 2).Wall1RespawnLocked == True);
  • Players In Slot(1, Team 2).Wall1RespawnLocked = False;
  • Else If(Players In Slot(1, Team 2).Wall1RespawnLocked == False);
  • Players In Slot(1, Team 2).Wall1RespawnLocked = True;
  • End;
  • Call Subroutine(Wall1Slot1Interface);
  • "\"Role Lock\" Icon Left"
  • Else If(Distance Between(Vector(20, 9.500, -7), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[1] -= 1;
  • If(Global.Wall1RoleLock[1] < 0);
  • Global.Wall1RoleLock[1] = 3;
  • End;
  • Call Subroutine(Wall1Slot1Interface);
  • "\"Role Lock\" Icon Right"
  • Else If(Distance Between(Vector(20, 9.500, -5), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[1] += 1;
  • If(Global.Wall1RoleLock[1] > 3);
  • Global.Wall1RoleLock[1] = 0;
  • End;
  • Call Subroutine(Wall1Slot1Interface);
  • "\"Clone Hero\" Button"
  • Else If(Distance Between(Vector(20, 5, -7), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot1CloneHero);
  • End;
  • }
  • }
  • rule("Wall1 - Slot 2 : Interface Actions")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Global.ActivatedWall == 1;
  • Is Button Held(Event Player, Interact) == True;
  • }
  • actions
  • {
  • "\"Random Hero\" Button"
  • If(Distance Between(Vector(20, 7, -3), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot2RandomHero);
  • "\"Lock Hero\" Button"
  • Else If(Distance Between(Vector(20, 6, -3), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • If(Players In Slot(2, Team 2).Wall1RespawnLocked == True);
  • Players In Slot(2, Team 2).Wall1RespawnLocked = False;
  • Else If(Players In Slot(2, Team 2).Wall1RespawnLocked == False);
  • Players In Slot(2, Team 2).Wall1RespawnLocked = True;
  • End;
  • Call Subroutine(Wall1Slot2Interface);
  • "\"Role Lock\" Icon Left"
  • Else If(Distance Between(Vector(20, 9.500, -3), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[2] -= 1;
  • If(Global.Wall1RoleLock[2] < 0);
  • Global.Wall1RoleLock[2] = 3;
  • End;
  • Call Subroutine(Wall1Slot2Interface);
  • "\"Role Lock\" Icon Right"
  • Else If(Distance Between(Vector(20, 9.500, -1), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[2] += 1;
  • If(Global.Wall1RoleLock[2] > 3);
  • Global.Wall1RoleLock[2] = 0;
  • End;
  • Call Subroutine(Wall1Slot2Interface);
  • "\"Clone Hero\" Button"
  • Else If(Distance Between(Vector(20, 5, -3), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot2CloneHero);
  • End;
  • }
  • }
  • rule("Wall1 - Slot 3 : Interface Actions")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Global.ActivatedWall == 1;
  • Is Button Held(Event Player, Interact) == True;
  • }
  • actions
  • {
  • "\"Random Hero\" Button"
  • If(Distance Between(Vector(20, 7, 1), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot3RandomHero);
  • "\"Lock Hero\" Button"
  • Else If(Distance Between(Vector(20, 6, 1), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • If(Players In Slot(3, Team 2).Wall1RespawnLocked == True);
  • Players In Slot(3, Team 2).Wall1RespawnLocked = False;
  • Else If(Players In Slot(3, Team 2).Wall1RespawnLocked == False);
  • Players In Slot(3, Team 2).Wall1RespawnLocked = True;
  • End;
  • Call Subroutine(Wall1Slot3Interface);
  • "\"Role Lock\" Icon Left"
  • Else If(Distance Between(Vector(20, 9.500, 1), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[3] -= 1;
  • If(Global.Wall1RoleLock[3] < 0);
  • Global.Wall1RoleLock[3] = 3;
  • End;
  • Call Subroutine(Wall1Slot3Interface);
  • "\"Role Lock\" Icon Right"
  • Else If(Distance Between(Vector(20, 9.500, 3), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[3] += 1;
  • If(Global.Wall1RoleLock[3] > 3);
  • Global.Wall1RoleLock[3] = 0;
  • End;
  • Call Subroutine(Wall1Slot3Interface);
  • "\"Clone Hero\" Button"
  • Else If(Distance Between(Vector(20, 5, 1), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot3CloneHero);
  • End;
  • Call Subroutine(P);
  • }
  • }
  • rule("Wall1 - Slot 4 : Interface Actions")
  • rule("Wall1 : Interface Actions")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Global.ActivatedWall == 1;
  • Is Button Held(Event Player, Interact) == True;
  • }
  • actions
  • {
  • "\"Random Hero\" Button"
  • If(Distance Between(Vector(20, 7, 5), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot4RandomHero);
  • "\"Lock Hero\" Button"
  • Else If(Distance Between(Vector(20, 6, 5), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • If(Players In Slot(4, Team 2).Wall1RespawnLocked == True);
  • Players In Slot(4, Team 2).Wall1RespawnLocked = False;
  • Else If(Players In Slot(4, Team 2).Wall1RespawnLocked == False);
  • Players In Slot(4, Team 2).Wall1RespawnLocked = True;
  • End;
  • Call Subroutine(Wall1Slot4Interface);
  • "\"Role Lock\" Icon Left"
  • Else If(Distance Between(Vector(20, 9.500, 5), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[4] -= 1;
  • If(Global.Wall1RoleLock[4] < 0);
  • Global.Wall1RoleLock[4] = 3;
  • End;
  • Call Subroutine(Wall1Slot4Interface);
  • "\"Role Lock\" Icon Right"
  • Else If(Distance Between(Vector(20, 9.500, 7), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[4] += 1;
  • If(Global.Wall1RoleLock[4] > 3);
  • Global.Wall1RoleLock[4] = 0;
  • End;
  • Call Subroutine(Wall1Slot4Interface);
  • "\"Clone Hero\" Button"
  • Else If(Distance Between(Vector(20, 5, 5), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot4CloneHero);
  • End;
  • Global.NumberOfRepeats = 6;
  • Global.CurrentSlot = 0;
  • Call Subroutine(Wall1InterfaceActions);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[0], Global.ArrayCoordsWall1RoleLockCurrent[0], 1, Do Not Clip,
  • String, White, Default Visibility);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[1], Global.ArrayCoordsWall1RoleLockCurrent[1], 1, Do Not Clip,
  • String, White, Default Visibility);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[2], Global.ArrayCoordsWall1RoleLockCurrent[2], 1, Do Not Clip,
  • String, White, Default Visibility);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[3], Global.ArrayCoordsWall1RoleLockCurrent[3], 1, Do Not Clip,
  • String, White, Default Visibility);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[4], Global.ArrayCoordsWall1RoleLockCurrent[4], 1, Do Not Clip,
  • String, White, Default Visibility);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[5], Global.ArrayCoordsWall1RoleLockCurrent[5], 1, Do Not Clip,
  • String, White, Default Visibility);
  • }
  • }
  • rule("Wall1 - Slot 5 : Interface Actions")
  • rule("Wall1 - Team : Hero Interaction")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 0;
  • }
  • conditions
  • {
  • Global.ActivatedWall == 1;
  • Is Button Held(Event Player, Interact) == True;
  • Is Button Held(Event Player, Melee) == True;
  • }
  • actions
  • {
  • "\"Random Hero\" Button"
  • If(Distance Between(Vector(20, 7, 9), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot5RandomHero);
  • "\"Lock Hero\" Button"
  • Else If(Distance Between(Vector(20, 6, 9), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • If(Players In Slot(5, Team 2).Wall1RespawnLocked == True);
  • Players In Slot(5, Team 2).Wall1RespawnLocked = False;
  • Else If(Players In Slot(5, Team 2).Wall1RespawnLocked == False);
  • Players In Slot(5, Team 2).Wall1RespawnLocked = True;
  • End;
  • Call Subroutine(Wall1Slot5Interface);
  • "\"Role Lock\" Icon Left"
  • Else If(Distance Between(Vector(20, 9.500, 9), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[5] -= 1;
  • If(Global.Wall1RoleLock[5] < 0);
  • Global.Wall1RoleLock[5] = 3;
  • End;
  • Call Subroutine(Wall1Slot5Interface);
  • "\"Role Lock\" Icon Right"
  • Else If(Distance Between(Vector(20, 9.500, 11), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Global.Wall1RoleLock[5] += 1;
  • If(Global.Wall1RoleLock[5] > 3);
  • Global.Wall1RoleLock[5] = 0;
  • End;
  • Call Subroutine(Wall1Slot5Interface);
  • "\"Clone Hero\" Button"
  • Else If(Distance Between(Vector(20, 5, 9), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.500);
  • Call Subroutine(Wall1Slot5CloneHero);
  • End;
  • Global.NumberOfRepeats = 6;
  • Global.CurrentSlot = 0;
  • Destroy HUD Text(Global.ArrayHUDHeroText[0]);
  • Destroy HUD Text(Global.ArrayHUDHeroText[1]);
  • Destroy HUD Text(Global.ArrayHUDHeroText[2]);
  • Destroy HUD Text(Global.ArrayHUDHeroText[3]);
  • Wait(0.020, Ignore Condition);
  • Call Subroutine(Wall1HUDInfo);
  • }
  • }
  • disabled rule("~~~ SUBROUTINES ~~~")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("[SubRoutine] Create Wall Activation Buttons")
  • {
  • event
  • {
  • Subroutine;
  • CreateWallActivationButtons;
  • }
  • actions
  • {
  • Destroy All Icons;
  • Destroy All Effects;
  • Destroy All In-World Text;
  • Wait(0.050, Ignore Condition);
  • "Wall 1 Button"
  • Skip If(Global.ActivatedWall == 1, 2);
  • Create Effect(All Players(All Teams), Sphere, Purple, Vector(20, 17, 0), 0.700, Visible To Position and Radius);
  • Create In-World Text(All Players(All Teams), Custom String("Activate Wall 1: Team Composition Builder"), Vector(20, 14, 0), 1,
  • Do Not Clip, Visible To Position and String, Purple, Default Visibility);
  • "Wall 2 Button"
  • Skip If(Global.ActivatedWall == 2, 2);
  • Create Effect(All Players(All Teams), Sphere, Purple, Vector(-20, 17, 0), 0.700, Visible To Position and Radius);
  • Create In-World Text(All Players(All Teams), Custom String("Activate Wall 2: Movement Mirror"), Vector(-20, 14, 0), 1, Do Not Clip,
  • Visible To Position and String, Purple, Default Visibility);
  • Create In-World Text(All Players(All Teams), Custom String("TO BE ADDED SOON"), Vector(-19.900, 13, 0), 1, Do Not Clip,
  • Visible To Position and String, Yellow, Default Visibility);
  • "Wall 3 Button"
  • Skip If(Global.ActivatedWall == 3, 2);
  • Create Effect(All Players(All Teams), Sphere, Purple, Vector(0, 17, 20), 0.700, Visible To Position and Radius);
  • Create In-World Text(All Players(All Teams), Custom String("Activate Wall 3: 1v1 Duel"), Vector(0, 14, 20), 1, Do Not Clip,
  • Visible To Position and String, Purple, Default Visibility);
  • Create In-World Text(All Players(All Teams), Custom String("TO BE ADDED SOON"), Vector(0, 13, 19.900), 1, Do Not Clip,
  • Visible To Position and String, Yellow, Default Visibility);
  • "Wall 4 Button"
  • Skip If(Global.ActivatedWall == 4, 2);
  • Create Effect(All Players(All Teams), Sphere, Purple, Vector(0, 17, -20), 0.700, Visible To Position and Radius);
  • Create In-World Text(All Players(All Teams), Custom String("Activate Wall 4: Aim Trainer"), Vector(0, 14, -20), 1, Do Not Clip,
  • Visible To Position and String, Purple, Default Visibility);
  • Create In-World Text(All Players(All Teams), Custom String("TO BE ADDED SOON"), Vector(0, 13, -19.900), 1, Do Not Clip,
  • Visible To Position and String, Yellow, Default Visibility);
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Team : Create Interface")
  • {
  • event
  • {
  • Subroutine;
  • Wall1TeamInterface;
  • O;
  • }
  • actions
  • {
  • "Button \"Random Team\""
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(20, 4, 13), 0.500, Visible To Position and Radius);
  • "Text \"Random Team\""
  • Create In-World Text(All Players(All Teams), Custom String("Random Team"), Vector(20, 3.500, 15.200), 1, Do Not Clip,
  • Create In-World Text(All Players(All Teams), Custom String("Random Team"), Vector(20, 3, 15.200), 1, Do Not Clip,
  • Visible To Position and String, Blue, Default Visibility);
  • "Explain Role 0"
  • Create In-World Text(All Players(All Teams), Custom String("Role 0 = Open Role (Any Hero)"), Vector(20, 2, 14.500), 0.700,
  • Do Not Clip, Visible To Position and String, White, Default Visibility);
  • "Explain Role 1"
  • Create In-World Text(All Players(All Teams), Custom String("Role 1 = Tank Hero"), Vector(20, 1.500, 14.500), 0.700, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • "Explain Role 2"
  • Create In-World Text(All Players(All Teams), Custom String("Role 2 = Damage Hero"), Vector(20, 1, 14.500), 0.700, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • "Explain Role 3"
  • Create In-World Text(All Players(All Teams), Custom String("Role 3 = Support Hero"), Vector(20, 0.500, 14.500), 0.700, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Team : Spawn Random Team")
  • {
  • event
  • {
  • Subroutine;
  • Wall1TeamRandomTeam;
  • P;
  • }
  • actions
  • {
  • Call Subroutine(Wall1Slot0RandomHero);
  • Call Subroutine(Wall1Slot1RandomHero);
  • Call Subroutine(Wall1Slot2RandomHero);
  • Call Subroutine(Wall1Slot3RandomHero);
  • Call Subroutine(Wall1Slot4RandomHero);
  • Call Subroutine(Wall1Slot5RandomHero);
  • Call Subroutine(H);
  • Call Subroutine(I);
  • Call Subroutine(J);
  • Call Subroutine(K);
  • Call Subroutine(L);
  • Call Subroutine(M);
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 0 : Create Interface")
  • rule("[SubRoutine] Wall 1 : Create Interface")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot0Interface;
  • Wall1CreateInterface;
  • }
  • actions
  • {
  • "Spawn Ring"
  • Create Effect(All Players(All Teams), Ring, Yellow, Vector(16.750, 0, -10), 1.500, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Yellow, Global.ArrayWall1SpawnLocation[Global.CurrentSlot], 1.500, None);
  • "Button \"Random Hero\""
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(20, 7, -11), 0.500, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Sphere, Blue, Global.ArrayCoordsWall1RandomBotButton[Global.CurrentSlot], 0.500, None);
  • "Text \"Random Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Random Hero"), Vector(20, 6.500, -9.200), 1, Do Not Clip,
  • Visible To Position and String, Blue, Default Visibility);
  • Create In-World Text(All Players(All Teams), Custom String("Random Hero"),
  • Global.ArrayCoordsWall1RandomBotText[Global.CurrentSlot], 1, Do Not Clip, None, Blue, Default Visibility);
  • "Button \"Lock Hero\""
  • If(Players In Slot(0, Team 2).Wall1RespawnLocked == True);
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[0]);
  • Create Effect(All Players(All Teams), Sphere, Green, Vector(20, 6, -11), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[0] = Last Created Entity;
  • If(Global.Wall1SpawnLock[Global.CurrentSlot] == True);
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[Global.CurrentSlot]);
  • Create Effect(All Players(All Teams), Sphere, Green, Global.ArrayCoordsWall1LockBotButton[Global.CurrentSlot], 0.500, None);
  • Global.ArrayEffectWall1HeroLock[Global.CurrentSlot] = Last Created Entity;
  • Else;
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[0]);
  • Create Effect(All Players(All Teams), Sphere, Red, Vector(20, 6, -11), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[0] = Last Created Entity;
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[Global.CurrentSlot]);
  • Create Effect(All Players(All Teams), Sphere, Red, Global.ArrayCoordsWall1LockBotButton[Global.CurrentSlot], 0.500, None);
  • Global.ArrayEffectWall1HeroLock[Global.CurrentSlot] = Last Created Entity;
  • End;
  • "Text \"Lock Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Lock Hero"), Vector(20, 5.500, -9.200), 1, Do Not Clip,
  • Visible To Position and String, Red, Default Visibility);
  • Create In-World Text(All Players(All Teams), Custom String("Lock Hero"), Global.ArrayCoordsWall1LockBotText[Global.CurrentSlot], 1,
  • Do Not Clip, None, Red, Default Visibility);
  • "Button \"Clone Hero\""
  • Create Effect(All Players(All Teams), Sphere, Orange, Vector(20, 5, -11), 0.500, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Sphere, Orange, Global.ArrayCoordsWall1CloneHeroButton[Global.CurrentSlot], 0.500, None);
  • "Text \"Clone Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Clone Hero"), Vector(20, 4.500, -9.200), 1, Do Not Clip,
  • Visible To Position and String, Orange, Default Visibility);
  • Create In-World Text(All Players(All Teams), Custom String("Clone Hero"), Global.ArrayCoordsWall1CloneHeroText[Global.CurrentSlot],
  • 1, Do Not Clip, None, Orange, Default Visibility);
  • "Text \"Role Lock\""
  • Create In-World Text(All Players(All Teams), Custom String("Role Lock"), Vector(20, 9.500, -10), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • "Text: Current Role"
  • Destroy Effect(Global.ArrayEffectWall1HeroRole[0]);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[0], Vector(20, 8.500, -10), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • Global.ArrayEffectWall1HeroRole[0] = Last Created Entity;
  • Create In-World Text(All Players(All Teams), Custom String("Role Lock"), Global.ArrayCoordsWall1RoleLockText[Global.CurrentSlot],
  • 1, Do Not Clip, None, White, Default Visibility);
  • "Icon \"Role Lock\" Left"
  • Create Icon(All Players(All Teams), Vector(20, 8, -11), Arrow: Left, Visible To and Position, White, False);
  • Create Icon(All Players(All Teams), Global.ArrayCoordsWall1RoleLockButtonL[Global.CurrentSlot], Arrow: Left, None, White, False);
  • "Icon \"Role Lock\" Right"
  • Create Icon(All Players(All Teams), Vector(20, 8, -9), Arrow: Right, Visible To and Position, White, False);
  • "Explain Role 0 & 1"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("0 = Open"), Custom String("1 = Tank")), Vector(20,
  • 8, -10), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • "Explain Role 2 & 3"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("2 = DPS"), Custom String("3 = Support")), Vector(20,
  • 7.500, -10), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • Create Icon(All Players(All Teams), Global.ArrayCoordsWall1RoleLockButtonR[Global.CurrentSlot], Arrow: Right, None, White, False);
  • Wait(0.020, Ignore Condition);
  • "Loop this Subroutine if requested"
  • Global.CurrentSlot += 1;
  • Global.NumberOfRepeats -= 1;
  • Loop If(Global.NumberOfRepeats > 0);
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Check Interface Interactions")
  • {
  • event
  • {
  • Subroutine;
  • Wall1InterfaceActions;
  • }
  • actions
  • {
  • "\"Random Hero\" Button"
  • If(Distance Between(Global.ArrayCoordsWall1RandomBotButton[Global.CurrentSlot], Ray Cast Hit Position(Eye Position(Event Player),
  • Eye Position(Event Player) + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.450);
  • Global.SubNumberOfRepeats = Global.NumberOfRepeats;
  • Global.NumberOfRepeats = 1;
  • Call Subroutine(Wall1SpawnRandomHero);
  • Global.CurrentSlot -= 1;
  • Global.NumberOfRepeats = Global.SubNumberOfRepeats;
  • "\"Lock Hero\" Button"
  • Else If(Distance Between(Global.ArrayCoordsWall1LockBotButton[Global.CurrentSlot], Ray Cast Hit Position(Eye Position(
  • Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.450);
  • If(Global.Wall1SpawnLock[Global.CurrentSlot] == True);
  • Global.Wall1SpawnLock[Global.CurrentSlot] = False;
  • Else If(Global.Wall1SpawnLock[Global.CurrentSlot] == False);
  • Global.Wall1SpawnLock[Global.CurrentSlot] = True;
  • End;
  • Global.SubNumberOfRepeats = Global.NumberOfRepeats;
  • Global.NumberOfRepeats = 1;
  • Call Subroutine(Wall1CreateInterface);
  • Global.CurrentSlot -= 1;
  • Global.NumberOfRepeats = Global.SubNumberOfRepeats;
  • "\"Role Lock\" Icon Left"
  • Else If(Distance Between(Global.ArrayCoordsWall1RoleLockButtonL[Global.CurrentSlot] + Vector(0, 2, 0), Ray Cast Hit Position(
  • Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player) * 100, Null, Event Player, True))
  • <= 0.450);
  • Global.Wall1RoleLock[Global.CurrentSlot] -= 1;
  • If(Global.Wall1RoleLock[Global.CurrentSlot] < 0);
  • Global.Wall1RoleLock[Global.CurrentSlot] = 3;
  • End;
  • disabled Global.SubNumberOfRepeats = Global.NumberOfRepeats;
  • disabled Global.NumberOfRepeats = 1;
  • disabled Call Subroutine(Wall1CreateInterface);
  • disabled Global.CurrentSlot -= 1;
  • disabled Global.NumberOfRepeats = Global.SubNumberOfRepeats;
  • "\"Role Lock\" Icon Right"
  • Else If(Distance Between(Global.ArrayCoordsWall1RoleLockButtonR[Global.CurrentSlot] + Vector(0, 2, 0), Ray Cast Hit Position(
  • Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player) * 100, Null, Event Player, True))
  • <= 0.450);
  • Global.Wall1RoleLock[Global.CurrentSlot] += 1;
  • If(Global.Wall1RoleLock[Global.CurrentSlot] > 3);
  • Global.Wall1RoleLock[Global.CurrentSlot] = 0;
  • End;
  • disabled Global.SubNumberOfRepeats = Global.NumberOfRepeats;
  • disabled Global.NumberOfRepeats = 1;
  • disabled Call Subroutine(Wall1CreateInterface);
  • disabled Global.CurrentSlot -= 1;
  • disabled Global.NumberOfRepeats = Global.SubNumberOfRepeats;
  • "\"Clone Hero\" Button"
  • Else If(Distance Between(Global.ArrayCoordsWall1CloneHeroButton[Global.CurrentSlot], Ray Cast Hit Position(Eye Position(
  • Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.450);
  • Call Subroutine(Wall1CloneHero);
  • End;
  • Wait(0.016, Ignore Condition);
  • "Loop this Subroutine if requested"
  • Global.CurrentSlot += 1;
  • Global.NumberOfRepeats -= 1;
  • Loop If(Global.NumberOfRepeats > 0);
  • "\"Random Team\" Button"
  • If(Distance Between(Vector(20, 4, 13), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, Null, Event Player, True)) <= 0.450);
  • Global.CurrentSlot = 0;
  • Global.NumberOfRepeats = 6;
  • Call Subroutine(Wall1SpawnRandomHero);
  • End;
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 0 : Spawn Random Hero")
  • rule("[SubRoutine] Wall 1 : Spawn Random Hero")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot0RandomHero;
  • Wall1SpawnRandomHero;
  • }
  • actions
  • {
  • Abort If(Players In Slot(0, Team 2).Wall1RespawnLocked == True);
  • Event Player.Wall1SpawnLocation = Vector(16.750, 0, -10);
  • Abort If(Global.Wall1SpawnLock[Global.CurrentSlot] == True);
  • "Generate Random Hero (Any Role)"
  • If(Global.Wall1RoleLock[0] == 0);
  • If(Global.Wall1RoleLock[Global.CurrentSlot] == 0);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Heroes);
  • "Generate Random Tank Hero"
  • Else If(Global.Wall1RoleLock[0] == 1);
  • Else If(Global.Wall1RoleLock[Global.CurrentSlot] == 1);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Tank Heroes);
  • "Generate Random DPS Hero"
  • Else If(Global.Wall1RoleLock[0] == 2);
  • Else If(Global.Wall1RoleLock[Global.CurrentSlot] == 2);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Damage Heroes);
  • "Generate Random Support Hero"
  • Else If(Global.Wall1RoleLock[0] == 3);
  • Else If(Global.Wall1RoleLock[Global.CurrentSlot] == 3);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Support Heroes);
  • End;
  • Wait(0.020, Ignore Condition);
  • disabled If(Entity Exists(Players In Slot(0, Team 2)) == True);
  • disabled Start Forcing Player To Be Hero(Players In Slot(0, Team 2), Hero Of(Players In Slot(0, Team 2).Wall1HeroToSpawn));
  • disabled Else;
  • Create Dummy Bot(Event Player.Wall1HeroToSpawn, Team 2, 0, Event Player.Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Set Status(Players In Slot(0, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(0, Team 2), Null, Phased Out, 9999);
  • disabled End;
  • Loop If(Is Hero Being Played(Event Player.Wall1HeroToSpawn, Team 2) == True);
  • Create Dummy Bot(Event Player.Wall1HeroToSpawn, Team 2, Global.CurrentSlot, Global.ArrayWall1SpawnLocation[Global.CurrentSlot],
  • Vector(-20, 0, 0));
  • Wait(0.050, Ignore Condition);
  • Set Status(Players In Slot(Global.CurrentSlot, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(Global.CurrentSlot, Team 2), Null, Phased Out, 9999);
  • "Loop this Subroutine if requested"
  • Global.CurrentSlot += 1;
  • Global.NumberOfRepeats -= 1;
  • Loop If(Global.NumberOfRepeats > 0);
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 0 : Spawn Clone Hero")
  • rule("[SubRoutine] Wall 1 : Spawn Clone Hero")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot0CloneHero;
  • Wall1CloneHero;
  • }
  • actions
  • {
  • Players In Slot(0, Team 2).Wall1SpawnLocation = Vector(16.750, 0, -10);
  • Wait(0.040, Ignore Condition);
  • Create Dummy Bot(Hero Of(Players In Slot(0, Team 1)), Team 2, 0, Players In Slot(0, Team 2).Wall1SpawnLocation, Vector(-20, 0, 0));
  • Create Dummy Bot(Hero Of(Players In Slot(0, Team 1)), Team 2, Global.CurrentSlot,
  • Global.ArrayWall1SpawnLocation[Global.CurrentSlot], Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Call Subroutine(Wall1Slot0Interface);
  • Set Status(Players In Slot(0, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(0, Team 2), Null, Phased Out, 9999);
  • Set Status(Players In Slot(Global.CurrentSlot, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(Global.CurrentSlot, Team 2), Null, Phased Out, 9999);
  • Global.SubNumberOfRepeats = Global.NumberOfRepeats;
  • Global.NumberOfRepeats = 1;
  • Call Subroutine(Wall1CreateInterface);
  • Global.CurrentSlot -= 1;
  • Global.NumberOfRepeats = Global.SubNumberOfRepeats;
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 1 : Create Interface")
  • rule("[SubRoutine] Wall 1 : Create HUD Info")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot1Interface;
  • Wall1HUDInfo;
  • }
  • actions
  • {
  • "Spawn Ring"
  • Create Effect(All Players(All Teams), Ring, Yellow, Vector(16.750, 0, -6), 1.500, Visible To Position and Radius);
  • "Button \"Random Hero\""
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(20, 7, -7), 0.500, Visible To Position and Radius);
  • "Text \"Random Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Random Hero"), Vector(20, 6.500, -5.200), 1, Do Not Clip,
  • Visible To Position and String, Blue, Default Visibility);
  • "Button \"Lock Hero\""
  • If(Players In Slot(1, Team 2).Wall1RespawnLocked == True);
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[1]);
  • Create Effect(All Players(All Teams), Sphere, Green, Vector(20, 6, -7), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[1] = Last Created Entity;
  • Else;
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[1]);
  • Create Effect(All Players(All Teams), Sphere, Red, Vector(20, 6, -7), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[1] = Last Created Entity;
  • "Show \"Additional Info\" HUD Text"
  • If(Distance Between(Position Of(Event Player), Position Of(Players In Slot(Global.CurrentSlot, Team 2))) <= 2);
  • "player --> target"
  • Create HUD Text(All Players(Team 1), Custom String("{0} --> {1}", Hero Of(Event Player), Hero Of(Players In Slot(
  • Global.CurrentSlot, Team 2))), Null, Null, Left, 1, Blue, White, White, None, Visible Never);
  • Global.ArrayHUDHeroText[0] = Last Text ID;
  • "Line 1"
  • Create HUD Text(All Players(Team 1), Null, Null, Players In Slot(Global.CurrentSlot, Team 2).Wall1HeroInfo[0], Left, 2, White,
  • White, Green, None, Visible Never);
  • Global.ArrayHUDHeroText[1] = Last Text ID;
  • "Line 2"
  • Create HUD Text(All Players(Team 1), Null, Null, Players In Slot(Global.CurrentSlot, Team 2).Wall1HeroInfo[1], Left, 3, White,
  • White, Green, None, Visible Never);
  • Global.ArrayHUDHeroText[2] = Last Text ID;
  • "Line 3"
  • Create HUD Text(All Players(Team 1), Null, Null, Players In Slot(Global.CurrentSlot, Team 2).Wall1HeroInfo[2], Left, 4, White,
  • White, Green, None, Visible Never);
  • Global.ArrayHUDHeroText[3] = Last Text ID;
  • End;
  • "Text \"Lock Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Lock Hero"), Vector(20, 5.500, -5.200), 1, Do Not Clip,
  • Visible To Position and String, Red, Default Visibility);
  • "Button \"Clone Hero\""
  • Create Effect(All Players(All Teams), Sphere, Orange, Vector(20, 5, -7), 0.500, Visible To Position and Radius);
  • "Text \"Clone Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Clone Hero"), Vector(20, 4.500, -5.200), 1, Do Not Clip,
  • Visible To Position and String, Orange, Default Visibility);
  • "Text \"Role Lock\""
  • Create In-World Text(All Players(All Teams), Custom String("Role Lock"), Vector(20, 9.500, -6), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • "Text: Current Role"
  • Destroy Effect(Global.ArrayEffectWall1HeroRole[1]);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[1], Vector(20, 8.500, -6), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • Global.ArrayEffectWall1HeroRole[1] = Last Created Entity;
  • "Icon \"Role Lock\" Left"
  • Create Icon(All Players(All Teams), Vector(20, 8, -7), Arrow: Left, Visible To and Position, White, False);
  • "Icon \"Role Lock\" Right"
  • Create Icon(All Players(All Teams), Vector(20, 8, -5), Arrow: Right, Visible To and Position, White, False);
  • "Explain Role 0 & 1"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("0 = Open"), Custom String("1 = Tank")), Vector(20,
  • 8, -6), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • "Explain Role 2 & 3"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("2 = DPS"), Custom String("3 = Support")), Vector(20,
  • 7.500, -6), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • "Loop this Subroutine if requested"
  • Global.CurrentSlot += 1;
  • Global.NumberOfRepeats -= 1;
  • Loop If(Global.NumberOfRepeats > 0);
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 1 : Spawn Random Hero")
  • disabled rule("~~~ HERO INFO ~~~")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot1RandomHero;
  • Ongoing - Global;
  • }
  • }
  • disabled rule("Hero Info : Ana")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Abort If(Players In Slot(1, Team 2).Wall1RespawnLocked == True);
  • Event Player.Wall1SpawnLocation = Vector(16.750, 0, -6);
  • "Generate Random Hero (Any Role)"
  • If(Global.Wall1RoleLock[1] == 0);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Heroes);
  • "Generate Random Tank Hero"
  • Else If(Global.Wall1RoleLock[1] == 1);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Tank Heroes);
  • "Generate Random DPS Hero"
  • Else If(Global.Wall1RoleLock[1] == 2);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Damage Heroes);
  • "Generate Random Support Hero"
  • Else If(Global.Wall1RoleLock[1] == 3);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Support Heroes);
  • End;
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Event Player.Wall1HeroToSpawn, Team 2, 1, Event Player.Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Set Status(Players In Slot(1, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(1, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 1 : Spawn Clone Hero")
  • disabled rule("Hero Info : Ashe")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot1CloneHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Players In Slot(1, Team 2).Wall1SpawnLocation = Vector(16.750, 0, -6);
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Hero Of(Players In Slot(0, Team 1)), Team 2, 1, Players In Slot(1, Team 2).Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Call Subroutine(Wall1Slot1Interface);
  • Set Status(Players In Slot(1, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(1, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 2 : Create Interface")
  • disabled rule("Hero Info : Baptiste")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot2Interface;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • "Spawn Ring"
  • Create Effect(All Players(All Teams), Ring, Yellow, Vector(16.750, 0, -2), 1.500, Visible To Position and Radius);
  • "Button \"Random Hero\""
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(20, 7, -3), 0.500, Visible To Position and Radius);
  • "Text \"Random Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Random Hero"), Vector(20, 6.500, -1.200), 1, Do Not Clip,
  • Visible To Position and String, Blue, Default Visibility);
  • "Button \"Lock Hero\""
  • If(Players In Slot(2, Team 2).Wall1RespawnLocked == True);
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[2]);
  • Create Effect(All Players(All Teams), Sphere, Green, Vector(20, 6, -3), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[2] = Last Created Entity;
  • Else;
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[2]);
  • Create Effect(All Players(All Teams), Sphere, Red, Vector(20, 6, -3), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[2] = Last Created Entity;
  • End;
  • "Text \"Lock Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Lock Hero"), Vector(20, 5.500, -1.200), 1, Do Not Clip,
  • Visible To Position and String, Red, Default Visibility);
  • "Button \"Clone Hero\""
  • Create Effect(All Players(All Teams), Sphere, Orange, Vector(20, 5, -3), 0.500, Visible To Position and Radius);
  • "Text \"Clone Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Clone Hero"), Vector(20, 4.500, -1.200), 1, Do Not Clip,
  • Visible To Position and String, Orange, Default Visibility);
  • "Text \"Role Lock\""
  • Create In-World Text(All Players(All Teams), Custom String("Role Lock"), Vector(20, 9.500, -2), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • "Text: Current Role"
  • Destroy Effect(Global.ArrayEffectWall1HeroRole[2]);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[2], Vector(20, 8.500, -2), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • Global.ArrayEffectWall1HeroRole[2] = Last Created Entity;
  • "Icon \"Role Lock\" Left"
  • Create Icon(All Players(All Teams), Vector(20, 8, -3), Arrow: Left, Visible To and Position, White, False);
  • "Icon \"Role Lock\" Right"
  • Create Icon(All Players(All Teams), Vector(20, 8, -1), Arrow: Right, Visible To and Position, White, False);
  • "Explain Role 0 & 1"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("0 = Open"), Custom String("1 = Tank")), Vector(20,
  • 8, -2), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • "Explain Role 2 & 3"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("2 = DPS"), Custom String("3 = Support")), Vector(20,
  • 7.500, -2), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 2 : Spawn Random Hero")
  • disabled rule("Hero Info : Bastion")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot2RandomHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Abort If(Players In Slot(2, Team 2).Wall1RespawnLocked == True);
  • Event Player.Wall1SpawnLocation = Vector(16.750, 0, -2);
  • "Generate Random Hero (Any Role)"
  • If(Global.Wall1RoleLock[2] == 0);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Heroes);
  • "Generate Random Tank Hero"
  • Else If(Global.Wall1RoleLock[2] == 1);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Tank Heroes);
  • "Generate Random DPS Hero"
  • Else If(Global.Wall1RoleLock[2] == 2);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Damage Heroes);
  • "Generate Random Support Hero"
  • Else If(Global.Wall1RoleLock[2] == 3);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Support Heroes);
  • End;
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Event Player.Wall1HeroToSpawn, Team 2, 2, Event Player.Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Set Status(Players In Slot(2, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(2, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 2 : Spawn Clone Hero")
  • disabled rule("Hero Info : Brigette")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot2CloneHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Players In Slot(2, Team 2).Wall1SpawnLocation = Vector(16.750, 0, -2);
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Hero Of(Players In Slot(0, Team 1)), Team 2, 2, Players In Slot(2, Team 2).Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Call Subroutine(Wall1Slot2Interface);
  • Set Status(Players In Slot(2, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(2, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 3 : Create Interface")
  • disabled rule("Hero Info : D.Va")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot3Interface;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • "Spawn Ring"
  • Create Effect(All Players(All Teams), Ring, Yellow, Vector(16.750, 0, 2), 1.500, Visible To Position and Radius);
  • "Button \"Random Hero\""
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(20, 7, 1), 0.500, Visible To Position and Radius);
  • "Text \"Random Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Random Hero"), Vector(20, 6.500, 3.200), 1, Do Not Clip,
  • Visible To Position and String, Blue, Default Visibility);
  • "Button \"Lock Hero\""
  • If(Players In Slot(3, Team 2).Wall1RespawnLocked == True);
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[3]);
  • Create Effect(All Players(All Teams), Sphere, Green, Vector(20, 6, 1), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[3] = Last Created Entity;
  • Else;
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[3]);
  • Create Effect(All Players(All Teams), Sphere, Red, Vector(20, 6, 1), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[3] = Last Created Entity;
  • End;
  • "Text \"Lock Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Lock Hero"), Vector(20, 5.500, 3.200), 1, Do Not Clip,
  • Visible To Position and String, Red, Default Visibility);
  • "Button \"Clone Hero\""
  • Create Effect(All Players(All Teams), Sphere, Orange, Vector(20, 5, 1), 0.500, Visible To Position and Radius);
  • "Text \"Clone Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Clone Hero"), Vector(20, 4.500, 3.200), 1, Do Not Clip,
  • Visible To Position and String, Orange, Default Visibility);
  • "Text \"Role Lock\""
  • Create In-World Text(All Players(All Teams), Custom String("Role Lock"), Vector(20, 9.500, 2), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • "Text: Current Role"
  • Destroy Effect(Global.ArrayEffectWall1HeroRole[3]);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[3], Vector(20, 8.500, 2), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • Global.ArrayEffectWall1HeroRole[3] = Last Created Entity;
  • "Icon \"Role Lock\" Left"
  • Create Icon(All Players(All Teams), Vector(20, 8, 1), Arrow: Left, Visible To and Position, White, False);
  • "Icon \"Role Lock\" Right"
  • Create Icon(All Players(All Teams), Vector(20, 8, 3), Arrow: Right, Visible To and Position, White, False);
  • "Explain Role 0 & 1"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("0 = Open"), Custom String("1 = Tank")), Vector(20,
  • 8, 2), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • "Explain Role 2 & 3"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("2 = DPS"), Custom String("3 = Support")), Vector(20,
  • 7.500, 2), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 3 : Spawn Random Hero")
  • disabled rule("Hero Info : Doomfist")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot3RandomHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Abort If(Players In Slot(3, Team 2).Wall1RespawnLocked == True);
  • Event Player.Wall1SpawnLocation = Vector(16.750, 0, 2);
  • "Generate Random Hero (Any Role)"
  • If(Global.Wall1RoleLock[3] == 0);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Heroes);
  • "Generate Random Tank Hero"
  • Else If(Global.Wall1RoleLock[3] == 1);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Tank Heroes);
  • "Generate Random DPS Hero"
  • Else If(Global.Wall1RoleLock[3] == 2);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Damage Heroes);
  • "Generate Random Support Hero"
  • Else If(Global.Wall1RoleLock[3] == 3);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Support Heroes);
  • End;
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Event Player.Wall1HeroToSpawn, Team 2, 3, Event Player.Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Set Status(Players In Slot(3, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(3, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 3 : Spawn Clone Hero")
  • disabled rule("Hero Info : Echo")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot3CloneHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Players In Slot(3, Team 2).Wall1SpawnLocation = Vector(16.750, 0, 2);
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Hero Of(Players In Slot(0, Team 1)), Team 2, 3, Players In Slot(3, Team 2).Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Call Subroutine(Wall1Slot3Interface);
  • Set Status(Players In Slot(3, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(3, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 4 : Create Interface")
  • disabled rule("Hero Info : Genji")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot4Interface;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • "Spawn Ring"
  • Create Effect(All Players(All Teams), Ring, Yellow, Vector(16.750, 0, 6), 1.500, Visible To Position and Radius);
  • "Button \"Random Hero\""
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(20, 7, 5), 0.500, Visible To Position and Radius);
  • "Text \"Random Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Random Hero"), Vector(20, 6.500, 7.200), 1, Do Not Clip,
  • Visible To Position and String, Blue, Default Visibility);
  • "Button \"Lock Hero\""
  • If(Players In Slot(4, Team 2).Wall1RespawnLocked == True);
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[4]);
  • Create Effect(All Players(All Teams), Sphere, Green, Vector(20, 6, 5), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[4] = Last Created Entity;
  • Else;
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[4]);
  • Create Effect(All Players(All Teams), Sphere, Red, Vector(20, 6, 5), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[4] = Last Created Entity;
  • End;
  • "Text \"Lock Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Lock Hero"), Vector(20, 5.500, 7.200), 1, Do Not Clip,
  • Visible To Position and String, Red, Default Visibility);
  • "Button \"Clone Hero\""
  • Create Effect(All Players(All Teams), Sphere, Orange, Vector(20, 5, 5), 0.500, Visible To Position and Radius);
  • "Text \"Clone Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Clone Hero"), Vector(20, 4.500, 7.200), 1, Do Not Clip,
  • Visible To Position and String, Orange, Default Visibility);
  • "Text \"Role Lock\""
  • Create In-World Text(All Players(All Teams), Custom String("Role Lock"), Vector(20, 9.500, 6), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • "Text: Current Role"
  • Destroy Effect(Global.ArrayEffectWall1HeroRole[4]);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[4], Vector(20, 8.500, 6), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • Global.ArrayEffectWall1HeroRole[4] = Last Created Entity;
  • "Icon \"Role Lock\" Left"
  • Create Icon(All Players(All Teams), Vector(20, 8, 5), Arrow: Left, Visible To and Position, White, False);
  • "Icon \"Role Lock\" Right"
  • Create Icon(All Players(All Teams), Vector(20, 8, 7), Arrow: Right, Visible To and Position, White, False);
  • "Explain Role 0 & 1"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("0 = Open"), Custom String("1 = Tank")), Vector(20,
  • 8, 6), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • "Explain Role 2 & 3"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("2 = DPS"), Custom String("3 = Support")), Vector(20,
  • 7.500, 6), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 4 : Spawn Random Hero")
  • disabled rule("Hero Info : Hanzo")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot4RandomHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Abort If(Players In Slot(4, Team 2).Wall1RespawnLocked == True);
  • Event Player.Wall1SpawnLocation = Vector(16.750, 0, 6);
  • "Generate Random Hero (Any Role)"
  • If(Global.Wall1RoleLock[4] == 0);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Heroes);
  • "Generate Random Tank Hero"
  • Else If(Global.Wall1RoleLock[4] == 1);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Tank Heroes);
  • "Generate Random DPS Hero"
  • Else If(Global.Wall1RoleLock[4] == 2);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Damage Heroes);
  • "Generate Random Support Hero"
  • Else If(Global.Wall1RoleLock[4] == 3);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Support Heroes);
  • End;
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Event Player.Wall1HeroToSpawn, Team 2, 4, Event Player.Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Set Status(Players In Slot(4, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(4, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 4 : Spawn Clone Hero")
  • disabled rule("Hero Info : Junkrat")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot4CloneHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Players In Slot(4, Team 2).Wall1SpawnLocation = Vector(16.750, 0, 6);
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Hero Of(Players In Slot(0, Team 1)), Team 2, 4, Players In Slot(4, Team 2).Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Call Subroutine(Wall1Slot4Interface);
  • Set Status(Players In Slot(4, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(4, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 5 : Create Interface")
  • disabled rule("Hero Info : Lucio")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot5Interface;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • "Spawn Ring"
  • Create Effect(All Players(All Teams), Ring, Yellow, Vector(16.750, 0, 10), 1.500, Visible To Position and Radius);
  • "Button \"Random Hero\""
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(20, 7, 9), 0.500, Visible To Position and Radius);
  • "Text \"Random Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Random Hero"), Vector(20, 6.500, 11.200), 1, Do Not Clip,
  • Visible To Position and String, Blue, Default Visibility);
  • "Button \"Lock Hero\""
  • If(Players In Slot(5, Team 2).Wall1RespawnLocked == True);
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[5]);
  • Create Effect(All Players(All Teams), Sphere, Green, Vector(20, 6, 9), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[5] = Last Created Entity;
  • Else;
  • Destroy Effect(Global.ArrayEffectWall1HeroLock[5]);
  • Create Effect(All Players(All Teams), Sphere, Red, Vector(20, 6, 9), 0.500, Visible To Position and Radius);
  • Global.ArrayEffectWall1HeroLock[5] = Last Created Entity;
  • End;
  • "Text \"Lock Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Lock Hero"), Vector(20, 5.500, 11.200), 1, Do Not Clip,
  • Visible To Position and String, Red, Default Visibility);
  • "Button \"Clone Hero\""
  • Create Effect(All Players(All Teams), Sphere, Orange, Vector(20, 5, 9), 0.500, Visible To Position and Radius);
  • "Text \"Clone Hero\""
  • Create In-World Text(All Players(All Teams), Custom String("Clone Hero"), Vector(20, 4.500, 11.200), 1, Do Not Clip,
  • Visible To Position and String, Orange, Default Visibility);
  • "Text \"Role Lock\""
  • Create In-World Text(All Players(All Teams), Custom String("Role Lock"), Vector(20, 9.500, 10), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • "Text: Current Role"
  • Destroy Effect(Global.ArrayEffectWall1HeroRole[5]);
  • Create In-World Text(All Players(All Teams), Global.Wall1RoleLock[5], Vector(20, 8.500, 10), 1, Do Not Clip,
  • Visible To Position and String, White, Default Visibility);
  • Global.ArrayEffectWall1HeroRole[5] = Last Created Entity;
  • "Icon \"Role Lock\" Left"
  • Create Icon(All Players(All Teams), Vector(20, 8, 9), Arrow: Left, Visible To and Position, White, False);
  • "Icon \"Role Lock\" Right"
  • Create Icon(All Players(All Teams), Vector(20, 8, 11), Arrow: Right, Visible To and Position, White, False);
  • "Explain Role 0 & 1"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("0 = Open"), Custom String("1 = Tank")), Vector(20,
  • 8, 10), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • "Explain Role 2 & 3"
  • Create In-World Text(All Players(All Teams), String("{0}, {1}", Custom String("2 = DPS"), Custom String("3 = Support")), Vector(20,
  • 7.500, 10), 0.500, Do Not Clip, Visible To Position and String, White, Default Visibility);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 5 : Spawn Random Hero")
  • disabled rule("Hero Info : McCree")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot5RandomHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Abort If(Players In Slot(5, Team 2).Wall1RespawnLocked == True);
  • Event Player.Wall1SpawnLocation = Vector(16.750, 0, 10);
  • "Generate Random Hero (Any Role)"
  • If(Global.Wall1RoleLock[5] == 0);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Heroes);
  • "Generate Random Tank Hero"
  • Else If(Global.Wall1RoleLock[5] == 1);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Tank Heroes);
  • "Generate Random DPS Hero"
  • Else If(Global.Wall1RoleLock[5] == 2);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Damage Heroes);
  • "Generate Random Support Hero"
  • Else If(Global.Wall1RoleLock[5] == 3);
  • Event Player.Wall1HeroToSpawn = Random Value In Array(All Support Heroes);
  • End;
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Event Player.Wall1HeroToSpawn, Team 2, 5, Event Player.Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Set Status(Players In Slot(5, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(5, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • rule("[SubRoutine] Wall 1 : Slot 5 : Spawn Clone Hero")
  • disabled rule("Hero Info : Mei")
  • {
  • event
  • {
  • Subroutine;
  • Wall1Slot5CloneHero;
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Players In Slot(5, Team 2).Wall1SpawnLocation = Vector(16.750, 0, 10);
  • Wait(0.020, Ignore Condition);
  • Create Dummy Bot(Hero Of(Players In Slot(0, Team 1)), Team 2, 5, Players In Slot(5, Team 2).Wall1SpawnLocation, Vector(-20, 0, 0));
  • Wait(0.200, Ignore Condition);
  • Call Subroutine(Wall1Slot5Interface);
  • Set Status(Players In Slot(5, Team 2), Null, Invincible, 9999);
  • Set Status(Players In Slot(5, Team 2), Null, Phased Out, 9999);
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Mercy")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Moira")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Orisa")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Pharah")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Reaper")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Reinhardt")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Roadhog")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Sigma")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Soldier 76")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Sombra")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Symmetra")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Torbjorn")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Tracer")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Widowmaker")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Winston")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Wrecking Ball")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Zarya")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
  • disabled rule("Hero Info : Zenyatta")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Ana;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • If(Hero Of(Players In Slot(1, Team 1)) == Hero(Echo));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Sombra));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Mention CD's");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ultimate");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Tracer));
  • Event Player.Wall1HeroInfo[0] = Custom String("Key target for Tracer?");
  • Event Player.Wall1HeroInfo[1] = Custom String("XXX has {0} hp, so they will/will not die from a pulse bomb...", Max Health(
  • Event Player));
  • Event Player.Wall1HeroInfo[2] = Custom String("CD/Notes about hero to counter Pulse Bomb");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Widowmaker));
  • Event Player.Wall1HeroInfo[0] = Custom String("XXX will/will not die from a headshot with at least {0}% charge. ", (Max Health(
  • Event Player) / 2.500 - 12) / 1.080);
  • Event Player.Wall1HeroInfo[1] = Custom String("Priority Target?");
  • Event Player.Wall1HeroInfo[2] = Custom String("Fight back?");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Ana));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Nano w/o Ult");
  • Event Player.Wall1HeroInfo[2] = Custom String("Nano Ult");
  • Else If(Hero Of(Players In Slot(0, Team 1)) == Hero(Mercy));
  • Event Player.Wall1HeroInfo[0] = Custom String("Good target?");
  • Event Player.Wall1HeroInfo[1] = Custom String("Key CD's to DB");
  • Event Player.Wall1HeroInfo[2] = Custom String("Ult/Damage Stacking");
  • }
  • }
Join the Workshop.codes Discord