Create
Return to post

Comparing difference between and

View raw
  • settings
  • {
  • main
  • {
  • Description: "A LOBBY WITH THIS PRESET SHOULD NEVER BE PUBLIC! PLAYERS LEAVING/JOINING MIDGAME IS NOT SUPPORTED! Find the green vortex and enter it to complete the challenge! Designed specifically for two players, no more or no less. Having troubles activating the exit? Jump. Brought to you by TehFoot"
  • }
  • lobby
  • {
  • Allow Players Who Are In Queue: Yes
  • Max Team 1 Players: 2
  • Max Team 2 Players: 0
  • }
  • modes
  • {
  • Skirmish
  • {
  • enabled maps
  • {
  • Oasis
  • }
  • }
  • General
  • {
  • Hero Limit: Off
  • }
  • }
  • heroes
  • {
  • General
  • {
  • Brigitte
  • {
  • Whip Shot Cooldown Time: 25%
  • }
  • Junkrat
  • {
  • Concussion Mine Knockback Scalar: 50%
  • }
  • Lúcio
  • {
  • Amp It Up Cooldown Time: 25%
  • }
  • Mercy
  • {
  • Guardian Angel Cooldown Time: 50%
  • Ultimate Generation - Passive Valkyrie: 300%
  • }
  • Pharah
  • {
  • Concussive Blast Knockback Scalar: 40%
  • Hover Jets: Off
  • Jump Jet Acceleration Scalar: 50%
  • Rocket Launcher Knockback Scalar: 0%
  • }
  • Sombra
  • {
  • Ultimate Ability EMP: Off
  • }
  • }
  • }
  • }
  • variables
  • {
  • global:
  • 0: Exit
  • 1: CameraPos
  • 2: CameraFace
  • 3: Challenge
  • 4: Switches
  • 5: Respawn
  • 6: HeightMin
  • 7: HUDID
  • 8: Complete
  • 9: Barrier
  • 10: Active
  • 11: BarrierWidth
  • 14: TargetTime
  • 15: Impulse
  • 16: PotentialSpot
  • 17: SpotID
  • 18: Completed
  • 19: RequestPos
  • 20: BotControl
  • 21: AquaBarrier
  • 22: AquaBarrierWidth
  • 23: Orbs
  • 24: BeamStart
  • 25: BeamEnd
  • }
  • disabled rule("Debug HUD")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create HUD Text(All Players(All Teams), Position Of(Host Player), Null, Null, Top, 0, Green, White, White, Visible To and String,
  • Default Visibility);
  • Create HUD Text(Host Player, Custom String("Server Load: {0}%", Server Load, Null, Null), Null, Null, Left, -2, White, White,
  • White, Visible To and String, Default Visibility);
  • Create HUD Text(Host Player, Custom String("Server Load Average: {0}%", Server Load Average, Null, Null), Null, Null, Left, -1,
  • Yellow, White, White, Visible To and String, Default Visibility);
  • Create HUD Text(Host Player, Custom String("Server Load Peak: {0}%", Server Load Peak, Null, Null), Null, Null, Left, 0, Red,
  • White, White, Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), Add(Position Of(Host Player), Multiply(Facing Direction Of(Host Player), 200)), Null, Null,
  • Top, -1, Aqua, White, White, Visible To and String, Default Visibility);
  • }
  • }
  • disabled rule("Teleport Host (DEV TOOL)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Reload) == True;
  • }
  • actions
  • {
  • disabled Teleport(Host Player, Vector(143, 3, 247));
  • disabled Teleport(Host Player, Vector(0, 0, 0));
  • disabled Teleport(Event Player, Add(Position Of(Event Player), Multiply(Facing Direction Of(Event Player), 10)));
  • Teleport(Players In Slot(0, Team 2), Host Player);
  • }
  • }
  • disabled rule("Infinite Valkyrie (DEV TOOL)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Ultimate Charge Percent(Event Player) != 100;
  • }
  • actions
  • {
  • Set Ultimate Charge(Event Player, 100);
  • Wait(0.250, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • disabled rule("Force Specific Challenge (DEV TOOL)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Button Held(Host Player, Interact) == True;
  • Is Button Held(Host Player, Crouch) == True;
  • }
  • actions
  • {
  • Set Global Variable(Challenge, 0);
  • Set Global Variable(Complete, True);
  • disabled Create Dummy Bot(Hero(Sombra), Team 2, 0, Host Player, Vector(0, 0, 0));
  • disabled Set Damage Received(Last Created Entity, 0);
  • disabled Set Global Variable(BotControl, True);
  • }
  • }
  • rule("Initialise")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create Effect(All Players(All Teams), Bad Aura, Green, Global Variable(Exit), 1, Visible To Position and Radius);
  • Set Global Variable(Exit, Vector(143.567, 16.448, 247.521));
  • Create HUD Text(All Players(All Teams), Custom String("Waiting for other player", Null, Null, Null), Null, Null, Top, 0, Red,
  • White, White, Visible To and String, Default Visibility);
  • Set Global Variable(HUDID, Last Text ID);
  • Set Global Variable(CameraPos, Vector(-0.948, 80.886, -2.489));
  • Set Global Variable(CameraFace, Vector(-56.168, 151.902, -1.059));
  • Create Effect(All Players(All Teams), Ring, Red, Value In Array(Global Variable(Switches), 0), 2, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Green, Value In Array(Global Variable(Switches), 1), 2,
  • Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Red, Value In Array(Global Variable(Switches), 2), 2, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Green, Value In Array(Global Variable(Switches), 3), 2,
  • Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Blue, Value In Array(Global Variable(Switches), 4), 2, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Yellow, Value In Array(Global Variable(Switches), 5), 2,
  • Visible To Position and Radius);
  • Set Global Variable At Index(Switches, 0, Vector(151.157, 2.299, 240.146));
  • Set Global Variable(Respawn, Vector(-165.075, 23.198, 26.977));
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("Challenge {0} of 13", Global Variable(Challenge), Null, Null),
  • Right, -1, White, White, Yellow, Visible To and String, Default Visibility);
  • Create Effect(All Players(All Teams), Sphere, Orange, Global Variable(Barrier), Global Variable(BarrierWidth),
  • Visible To Position and Radius);
  • Set Global Variable(Barrier, Vector(0, -2000, 0));
  • Set Global Variable At Index(Switches, 1, Vector(0, 0, 0));
  • Set Global Variable At Index(Switches, 2, Vector(0, 0, 0));
  • Set Global Variable At Index(Switches, 3, Vector(0, 0, 0));
  • Set Global Variable(BarrierWidth, 200);
  • Set Global Variable(Impulse, 10);
  • Pause Match Time;
  • Create Effect(All Players(All Teams), Sphere, Aqua, Global Variable(AquaBarrier), Global Variable(AquaBarrierWidth),
  • Visible To Position and Radius);
  • Set Global Variable(AquaBarrier, Vector(0, -2000, 0));
  • Create Effect(All Players(Team 1), Orb, Purple, Value In Array(Global Variable(Orbs), 0), 1, Visible To Position and Radius);
  • Create Effect(All Players(Team 1), Orb, Purple, Value In Array(Global Variable(Orbs), 1), 1, Visible To Position and Radius);
  • Create Beam Effect(All Players(All Teams), Good Beam, Global Variable(BeamStart), Global Variable(BeamEnd), Aqua,
  • Visible To Position and Radius);
  • Set Global Variable At Index(Orbs, 0, Vector(0, 0, 0));
  • Set Global Variable At Index(Orbs, 1, Vector(0, 0, 0));
  • }
  • }
  • rule("Start Gamemode!")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Filtered Array(All Players(All Teams), Has Spawned(Current Array Element))) == 2;
  • disabled Is Button Held(Host Player, Ultimate) == True;
  • Global Variable(Challenge) == 0;
  • }
  • actions
  • {
  • Destroy HUD Text(Global Variable(HUDID));
  • Big Message(All Players(All Teams), Custom String("Starting...", Null, Null, Null));
  • Wait(2, Ignore Condition);
  • Start Camera(All Players(All Teams), Global Variable(CameraPos), Global Variable(CameraFace), 3);
  • Small Message(All Players(All Teams), Custom String("welcome to partner puzzles!", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Set Global Variable(CameraPos, Vector(139.524, 18.650, 243.438));
  • Small Message(All Players(All Teams), Custom String("Your objective is for one of you to touch the exit", Null, Null, Null));
  • Set Objective Description(All Players(Team 1), Custom String("find your way to the exit!", Null, Null, Null),
  • Visible To and String);
  • Set Global Variable(CameraFace, Vector(143.567, 16.448, 247.521));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(All Teams), Custom String("Sometimes, you will see these rings. They are switches", Null, Null, Null));
  • Set Global Variable(CameraFace, Vector(151.157, 2.299, 240.146));
  • Set Global Variable(CameraPos, Vector(142.289, 8.299, 236.364));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(All Teams), Custom String("Stand inside to activate, leave to deactivate", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(All Teams), Custom String("You will have to work together to complete the challenges", Null, Null,
  • Null));
  • Set Global Variable(CameraPos, Vector(-144.008, 24.428, 32.794));
  • Set Global Variable(CameraFace, Vector(-178.667, 24.299, 33.825));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(All Teams), Custom String("Good luck!", Null, Null, Null));
  • Stop Camera(All Players(All Teams));
  • Set Global Variable(Challenge, 1);
  • Start Forcing Player To Be Hero(All Players(All Teams), Hero(Mei));
  • Set Global Variable(Exit, Vector(-162.703, 31.201, 13.053));
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Big Message(All Players(All Teams), Custom String("Challenge 1: Claustrophobia", Null, Null, Null));
  • Wait(0.016, Ignore Condition);
  • Set Global Variable(HeightMin, 17);
  • }
  • }
  • rule("Player Died")
  • {
  • event
  • {
  • Player Died;
  • All;
  • All;
  • }
  • actions
  • {
  • Respawn(Event Player);
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Global Variable(Respawn));
  • }
  • }
  • rule("Player Went Below Allowed Y-Value")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Y Component Of(Position Of(Event Player)) <= Global Variable(HeightMin);
  • Global Variable(Complete) != True;
  • }
  • actions
  • {
  • Small Message(Event Player, Custom String("You were respawned because you went out of bounds", Null, Null, Null));
  • Skip If(Compare(Global Variable(Challenge), ==, 8), 1);
  • Respawn(Event Player);
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Global Variable(Respawn));
  • }
  • }
  • rule("Challenge Complete")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Global Variable(Exit)) <= 1;
  • Global Variable(Complete) != True;
  • }
  • actions
  • {
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Big Message(All Players(All Teams), Custom String("Challenge {0} complete!", Global Variable(Challenge), Null, Null));
  • Set Slow Motion(30);
  • Wait(1, Ignore Condition);
  • Modify Global Variable(Challenge, Add, 1);
  • Set Global Variable(Complete, True);
  • Wait(1, Ignore Condition);
  • Set Slow Motion(100);
  • }
  • }
  • rule("Player Is Within Radius of Barrier")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Global Variable(Barrier)) <= Global Variable(BarrierWidth);
  • }
  • actions
  • {
  • Apply Impulse(Event Player, Direction Towards(Global Variable(Barrier), Position Of(Event Player)), Global Variable(Impulse),
  • To World, Cancel Contrary Motion);
  • Wait(0.016, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Player Activates Switch 1")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Players Within Radius(Value In Array(Global Variable(Switches), 0), 2, All Teams, Off)) > 0;
  • }
  • actions
  • {
  • Set Global Variable At Index(Switches, 1, Value In Array(Global Variable(Switches), 0));
  • Set Global Variable At Index(Active, 0, True);
  • Set Global Variable At Index(Switches, 0, Vector(0, 0, 0));
  • Play Effect(All Players(All Teams), Ring Explosion, Green, Value In Array(Global Variable(Switches), 1), 5);
  • }
  • }
  • rule("Player Activates Switch 2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Players Within Radius(Value In Array(Global Variable(Switches), 2), 2, All Teams, Off)) > 0;
  • }
  • actions
  • {
  • Set Global Variable At Index(Switches, 3, Value In Array(Global Variable(Switches), 2));
  • Set Global Variable At Index(Active, 1, True);
  • Set Global Variable At Index(Switches, 2, Vector(0, 0, 0));
  • Play Effect(All Players(All Teams), Ring Explosion, Green, Value In Array(Global Variable(Switches), 3), 5);
  • }
  • }
  • rule("Player Leaves Switch 1")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Count Of(Players Within Radius(Value In Array(Global Variable(Switches), 1), 2, All Teams, Off)) == 0;
  • }
  • actions
  • {
  • Set Global Variable At Index(Active, 0, False);
  • Set Global Variable At Index(Switches, 0, Value In Array(Global Variable(Switches), 1));
  • Set Global Variable At Index(Switches, 1, Vector(0, 0, 0));
  • }
  • }
  • rule("Player Leaves Switch 2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == True;
  • Count Of(Players Within Radius(Value In Array(Global Variable(Switches), 3), 2, All Teams, Off)) == 0;
  • }
  • actions
  • {
  • Set Global Variable At Index(Active, 1, False);
  • Set Global Variable At Index(Switches, 2, Value In Array(Global Variable(Switches), 3));
  • Set Global Variable At Index(Switches, 3, Vector(0, 0, 0));
  • }
  • }
  • rule("Player Activates Permanent Switch")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Players Within Radius(Value In Array(Global Variable(Switches), 4), 2, All Teams, Off)) > 0;
  • }
  • actions
  • {
  • Set Global Variable At Index(Switches, 5, Value In Array(Global Variable(Switches), 4));
  • Set Global Variable At Index(Active, 2, True);
  • Set Global Variable At Index(Switches, 4, Vector(0, 0, 0));
  • Play Effect(All Players(All Teams), Ring Explosion, Yellow, Value In Array(Global Variable(Switches), 5), 5);
  • }
  • }
  • rule("Player Respawned Dummy Bot")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Interact) == True;
  • Count Of(All Players(Team 2)) > 0;
  • }
  • actions
  • {
  • Teleport(All Players(Team 2), Global Variable(Respawn));
  • Small Message(Event Player, Custom String("You reset the bot", Null, Null, Null));
  • Wait(2, Ignore Condition);
  • }
  • }
  • rule("Player Commanded Dummy Bot To Move To Them")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Communicating(Event Player, Group Up) == True;
  • Global Variable(BotControl) == True;
  • }
  • actions
  • {
  • Set Global Variable(RequestPos, Position Of(Event Player));
  • Wait(0.016, Ignore Condition);
  • Start Throttle In Direction(Players In Slot(0, Team 2), Direction Towards(Position Of(Players In Slot(0, Team 2)), Global Variable(
  • RequestPos)), 1, To World, Replace existing throttle, Direction and Magnitude);
  • Wait(3, Ignore Condition);
  • Skip If(Compare(Distance Between(Players In Slot(0, Team 2), Global Variable(RequestPos)), <=, 1), 1);
  • Small Message(Event Player, Custom String("The bot failed to complete the request", Null, Null, Null));
  • Stop Throttle In Direction(Players In Slot(0, Team 2));
  • Communicate(Players In Slot(0, Team 2), Hello);
  • }
  • }
  • rule("Ai Is Within Radius of Barrier")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Global Variable(AquaBarrier)) <= Global Variable(AquaBarrierWidth);
  • }
  • actions
  • {
  • Apply Impulse(Event Player, Direction Towards(Global Variable(AquaBarrier), Position Of(Event Player)), Global Variable(Impulse),
  • To World, Cancel Contrary Motion);
  • Wait(0.016, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Player Comes Into Contact of Orb")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Global Variable(BeamEnd) == 0;
  • Distance Between(Event Player, Value In Array(Global Variable(Orbs), 0)) <= 1;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Set Global Variable(BeamEnd, Event Player);
  • Set Global Variable(BeamStart, Value In Array(Global Variable(Orbs), 0));
  • }
  • }
  • rule("Player Connects Orbs")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Global Variable(BeamEnd) == Event Player;
  • Distance Between(Event Player, Value In Array(Global Variable(Orbs), 1)) <= 1;
  • }
  • actions
  • {
  • Set Global Variable(BeamEnd, Value In Array(Global Variable(Orbs), 1));
  • Set Global Variable At Index(Active, 3, True);
  • }
  • }
  • rule("Start Challenge 2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 2;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable(Barrier, Vector(259.440, 3.740, 202.920));
  • Set Global Variable At Index(Switches, 0, Vector(82.970, 1.448, 311.663));
  • Set Global Variable(Respawn, Vector(70.477, 1.448, 319.938));
  • Set Global Variable At Index(Switches, 2, Vector(87.098, 23.449, 316.372));
  • Set Global Variable(Exit, Vector(95.633, 2.452, 303.783));
  • Start Forcing Player To Be Hero(All Players(All Teams), Hero(Mercy));
  • Set Global Variable(HeightMin, -99999);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(CameraPos, Vector(88.520, 3.451, 307.886));
  • Set Global Variable(CameraFace, Vector(96.885, 2.301, 302.648));
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 2: A lobby of switches", Null, Null, Null));
  • Set Global Variable(TargetTime, 240);
  • }
  • }
  • rule("Challenge 2: All Switches Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is True For All(Global Variable(Active), Current Array Element) == True;
  • Global Variable(Challenge) == 2;
  • Count Of(Global Variable(Active)) == 2;
  • Global Variable(Barrier) == Vector(259.440, 3.740, 202.920);
  • }
  • actions
  • {
  • Start Camera(All Players(All Teams), Global Variable(CameraPos), Global Variable(CameraFace), 5);
  • Wait(0.250, Ignore Condition);
  • Play Effect(All Players(All Teams), Bad Explosion, Orange, Vector(91.406, 2.529, 306.436), 10);
  • Modify Global Variable(Barrier, Subtract, 300);
  • Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(CameraPos), 200);
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(All Teams));
  • Wait(5, Ignore Condition);
  • Small Message(All Players(All Teams), Custom String("If you're having trouble triggering the exit, try jumping!", Null, Null,
  • Null));
  • }
  • }
  • rule("Start Challenge 3")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 3;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable At Index(Switches, 0, Vector(183.851, 8.448, -204.872));
  • Set Global Variable(Respawn, Vector(175.592, 9.448, -213.161));
  • Set Global Variable At Index(Switches, 2, Vector(171.847, 14.021, -216.878));
  • Set Global Variable(Exit, Vector(159.206, 8.370, -229.567));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(All Teams), Hero(Ana));
  • Wait(0.250, Ignore Condition);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(Complete, False);
  • Set Global Variable(HeightMin, 7.750);
  • Set Global Variable(BarrierWidth, 10);
  • Big Message(All Players(All Teams), Custom String("Challenge 3: Meadow of Mystery", Null, Null, Null));
  • Set Global Variable(Active, 0);
  • }
  • }
  • rule("Challenge 3: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 3;
  • }
  • actions
  • {
  • Set Global Variable(Barrier, Vector(170.712, -1.800, -210.664));
  • }
  • }
  • rule("Challenge 3: First Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == False;
  • Global Variable(Challenge) == 3;
  • }
  • actions
  • {
  • Set Global Variable(Barrier, Vector(0, -200, 0));
  • }
  • }
  • rule("Challenge 3: Second Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == True;
  • Global Variable(Challenge) == 3;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 7);
  • }
  • }
  • rule("Challenge 3: Second Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == False;
  • Global Variable(Challenge) == 3;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 7.750);
  • }
  • }
  • rule("Start Challenge 4")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 4;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable At Index(Switches, 0, Vector(197.935, 7.685, -173.491));
  • Set Global Variable(Respawn, Vector(207.052, 7.868, -182.120));
  • Set Global Variable At Index(Switches, 2, Vector(221.427, 15.717, -193.459));
  • Set Global Variable(Exit, Vector(0, -200, 0));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(All Teams), Hero(Pharah));
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, -10000);
  • Set Global Variable(BarrierWidth, 200);
  • Set Global Variable(Barrier, Vector(49.200, 16.140, -339.620));
  • Set Global Variable(CameraFace, Vector(193.212, 9.670, -195.832));
  • Set Global Variable(CameraPos, Vector(198.269, 13.668, -189.871));
  • Set Global Variable(Active, 0);
  • Wait(0.016, Ignore Condition);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 4: Baffling Boats", Null, Null, Null));
  • }
  • }
  • rule("Challenge 4: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 4;
  • Value In Array(Global Variable(Active), 2) != True;
  • }
  • actions
  • {
  • Set Global Variable At Index(Switches, 4, Vector(223.378, 6.718, -180.953));
  • }
  • }
  • rule("Challenge 4: Permanent Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 2) == True;
  • Global Variable(Challenge) == 4;
  • }
  • actions
  • {
  • Start Forcing Player To Be Hero(Closest Player To(Value In Array(Global Variable(Switches), 5), All Teams), Hero(Mei));
  • Small Message(All Players(All Teams), Custom String("Blue/Yellow switches are permanently active once triggered", Null, Null,
  • Null));
  • }
  • }
  • rule("Challenge 4: All Switches Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is True For All(Global Variable(Active), Current Array Element) == True;
  • Global Variable(Challenge) == 4;
  • Count Of(Global Variable(Active)) >= 3;
  • }
  • actions
  • {
  • Small Message(All Players(All Teams), Custom String("Numbani. Find and press interact", Null, Null, Null));
  • Set Global Variable At Index(Active, 3, True);
  • }
  • }
  • rule("Challenge 4: Player Solved Riddle")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 4;
  • Distance Between(Event Player, Vector(220.489, 6.671, -193.790)) <= 5;
  • Is Button Held(Event Player, Interact) == True;
  • Value In Array(Global Variable(Active), 3) == True;
  • }
  • actions
  • {
  • Start Camera(All Players(All Teams), Global Variable(CameraPos), Global Variable(CameraFace), 0);
  • Set Global Variable(Exit, Vector(193.212, 9.670, -195.832));
  • Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(CameraPos), 200);
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(All Teams));
  • }
  • }
  • rule("Start Challenge 5")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 5;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable At Index(Switches, 0, Vector(168.286, 11.971, 250.762));
  • Set Global Variable At Index(Switches, 4, Vector(140.455, 10.252, 244.492));
  • Set Global Variable(Respawn, Vector(154.400, 12.971, 258.413));
  • Set Global Variable(Exit, Vector(143.567, 16.448, 247.521));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(All Teams), Hero(Ana));
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, 4);
  • Set Global Variable(BarrierWidth, 5);
  • Set Global Variable(Barrier, Vector(0, -200, 0));
  • Set Global Variable(Active, 0);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 5: Granny Gun", Null, Null, Null));
  • Set Global Variable(Impulse, 30);
  • }
  • }
  • rule("Challenge 5: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 5;
  • }
  • actions
  • {
  • Set Global Variable(Barrier, Vector(165.180, 18.968, 268.782));
  • }
  • }
  • rule("Challenge 5: First Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == False;
  • Global Variable(Challenge) == 5;
  • }
  • actions
  • {
  • Set Global Variable(Barrier, Vector(0, -200, 0));
  • }
  • }
  • rule("Challenge 5: Permanent Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 2) == True;
  • Global Variable(Challenge) == 5;
  • }
  • actions
  • {
  • Teleport(Farthest Player From(Value In Array(Global Variable(Switches), 5), All Teams), Global Variable(Respawn));
  • Teleport(Closest Player To(Value In Array(Global Variable(Switches), 5), All Teams), Vector(146.386, 10.252, 250.595));
  • Wait(0.016, Ignore Condition);
  • Set Global Variable At Index(Switches, 0, Vector(140.455, 10.252, 244.492));
  • Set Global Variable At Index(Switches, 1, Vector(0, 0, 0));
  • Set Global Variable At Index(Switches, 5, Vector(0, 0, 0));
  • }
  • }
  • rule("Challenge 5: Both Players Made It")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Players Within Radius(Vector(143.567, 10, 247.521), 5, All Teams, Off)) == 2;
  • Global Variable(Challenge) == 5;
  • }
  • actions
  • {
  • Start Forcing Player To Be Hero(All Players(All Teams), Hero(Ashe));
  • }
  • }
  • rule("Start Challenge 6")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 6;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Set Global Variable(Active, 0);
  • Wait(0.250, Abort When False);
  • Set Global Variable(CameraFace, Vector(-188.083, 16.177, -16.321));
  • Set Global Variable(CameraPos, Vector(-187.874, 18.573, 0.018));
  • Set Global Variable(Respawn, Vector(-198.201, 21.115, 0.070));
  • Set Global Variable(Exit, Vector(143.567, 16.448, 247.521));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(All Teams), Hero(Lúcio));
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, 14.750);
  • Set Global Variable(Barrier, Vector(0, -200, 0));
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 6: Switchin Switches", Null, Null, Null));
  • Set Global Variable(Impulse, 5);
  • Set Global Variable(PotentialSpot, Vector(-187.884, 15.448, -8.513));
  • Set Global Variable(PotentialSpot, Append To Array(Global Variable(PotentialSpot), Vector(-181.440, 15.448, -6.501)));
  • Set Global Variable(PotentialSpot, Append To Array(Global Variable(PotentialSpot), Vector(-171.352, 17.448, 0.019)));
  • Set Global Variable(PotentialSpot, Append To Array(Global Variable(PotentialSpot), Vector(-181.344, 15.448, 6.703)));
  • Set Global Variable(PotentialSpot, Append To Array(Global Variable(PotentialSpot), Vector(-188.030, 15.448, 8.389)));
  • Set Global Variable(PotentialSpot, Append To Array(Global Variable(PotentialSpot), Vector(-195.294, 15.448, 4.751)));
  • Set Global Variable(PotentialSpot, Append To Array(Global Variable(PotentialSpot), Vector(-194.886, 15.448, -4.702)));
  • Wait(0.016, Ignore Condition);
  • Set Global Variable(PotentialSpot, Randomized Array(Global Variable(PotentialSpot)));
  • Set Global Variable At Index(Switches, 4, Value In Array(Global Variable(PotentialSpot), 0));
  • }
  • }
  • rule("Challenge 6: Player Go Too Far")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 6;
  • Distance Between(Event Player, Vector(-187.762, 15.450, 0.013)) > 20;
  • Global Variable(Complete) == False;
  • }
  • actions
  • {
  • Small Message(Event Player, Custom String("You were respawned because you went out of bounds", Null, Null, Null));
  • Respawn(Event Player);
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Global Variable(Respawn));
  • }
  • }
  • rule("Challenge 6: Player Close To Switch")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Players Within Radius(Value In Array(Global Variable(Switches), 4), 4, All Teams, Off)) > 0;
  • Value In Array(Global Variable(Active), 2) != True;
  • Global Variable(Challenge) == 6;
  • }
  • actions
  • {
  • Skip If(Compare(Global Variable(SpotID), ==, Index Of Array Value(Global Variable(PotentialSpot), Last Of(Global Variable(
  • PotentialSpot)))), 5);
  • Modify Global Variable(SpotID, Add, 1);
  • Set Global Variable At Index(Switches, 4, Value In Array(Global Variable(PotentialSpot), Global Variable(SpotID)));
  • Wait(0.016, Abort When False);
  • Loop If Condition Is True;
  • Abort;
  • Set Global Variable(SpotID, 0);
  • Wait(0.016, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Challenge 6: Permanent Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 2) == True;
  • Global Variable(Challenge) == 6;
  • }
  • actions
  • {
  • Set Global Variable(PotentialSpot, Remove From Array(Global Variable(PotentialSpot), Value In Array(Global Variable(Switches),
  • 5)));
  • Set Global Variable At Index(Switches, 5, Vector(0, 0, 0));
  • Set Global Variable At Index(Switches, 4, Value In Array(Global Variable(PotentialSpot), 0));
  • Set Global Variable(SpotID, 0);
  • Modify Global Variable(Completed, Add, 1);
  • Small Message(All Players(All Teams), Custom String("{0} of 5 completed", Global Variable(Completed), Null, Null));
  • Wait(0.016, Ignore Condition);
  • Set Global Variable At Index(Active, 2, False);
  • Play Effect(All Players(All Teams), Ring Explosion Sound, White, Random Value In Array(Global Variable(PotentialSpot)), 200);
  • }
  • }
  • rule("Challenge 6: All Completed")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Completed) == 5;
  • Global Variable(Challenge) == 6;
  • }
  • actions
  • {
  • Start Camera(All Players(All Teams), Global Variable(CameraPos), Global Variable(CameraFace), 0);
  • Set Global Variable(Exit, Vector(-188.102, 17.176, -15.956));
  • Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(CameraPos), 200);
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(All Teams));
  • }
  • }
  • rule("Start Challenge 7")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 7;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable(Barrier, Vector(254.980, 3.740, 199.790));
  • Set Global Variable(BarrierWidth, 200);
  • Set Global Variable At Index(Switches, 0, Vector(89.991, 1.449, 307.214));
  • Set Global Variable At Index(Switches, 2, Vector(90.984, 1.301, 320.659));
  • Set Global Variable(Respawn, Vector(70.477, 1.448, 319.938));
  • Set Global Variable At Index(Switches, 4, Vector(87.098, 23.449, 316.372));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(Players In Slot(0, Team 1), Hero(Brigitte));
  • Start Forcing Player To Be Hero(Players In Slot(1, Team 1), Hero(Sombra));
  • Wait(0.250, Ignore Condition);
  • Set Ability 2 Enabled(Players In Slot(1, All Teams), False);
  • Set Global Variable(HeightMin, -99999);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(CameraPos, Vector(73.814, 5.579, 322.583));
  • Set Global Variable(CameraFace, Vector(77.648, 2.579, 315.477));
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 7: Return To a Familiar Lobby", Null, Null, Null));
  • Set Global Variable(Active, 0);
  • Set Global Variable(PotentialSpot, 0);
  • }
  • }
  • rule("Challenge 7: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 7;
  • Number of Players(All Teams) == 3;
  • }
  • actions
  • {
  • Set Global Variable(Exit, Vector(63.993, 2.582, 324.206));
  • }
  • }
  • rule("Challenge 7: First Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == False;
  • Global Variable(Challenge) == 7;
  • Number of Players(All Teams) == 3;
  • }
  • actions
  • {
  • Set Global Variable(Exit, Vector(0, -200, 0));
  • }
  • }
  • rule("Challenge 7: Second Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == True;
  • Global Variable(Challenge) == 7;
  • }
  • actions
  • {
  • Set Ability 2 Enabled(Players In Slot(1, Team 1), True);
  • }
  • }
  • rule("Challenge 7: Second Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == False;
  • Global Variable(Challenge) == 7;
  • }
  • actions
  • {
  • Set Ability 2 Enabled(Players In Slot(1, Team 1), False);
  • }
  • }
  • rule("Challenge 7: Permanent Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 2) == True;
  • Global Variable(Challenge) == 7;
  • }
  • actions
  • {
  • Start Camera(All Players(All Teams), Global Variable(CameraPos), Global Variable(CameraFace), 0);
  • Create Dummy Bot(Hero(Sombra), Team 2, 0, Vector(77.423, 2.579, 315.518), Vector(0, 0, 0));
  • Set Damage Received(Last Created Entity, 0);
  • Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(CameraPos), 200);
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(All Teams));
  • Wait(5, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("Press interact to reset the bot at the respawn point", Null, Null, Null));
  • }
  • }
  • rule("Start Challenge 8")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 8;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable At Index(Switches, 0, Vector(146.270, 10.452, 243.908));
  • Set Global Variable(Respawn, Vector(154.400, 12.971, 258.413));
  • Set Global Variable(Exit, Vector(143.567, 16.448, 247.521));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(Players In Slot(0, Team 1), Hero(Pharah));
  • Start Forcing Player To Be Hero(Players In Slot(1, Team 1), Hero(Junkrat));
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, 9);
  • Set Global Variable(Barrier, Vector(0, -200, 0));
  • Set Global Variable(Active, 0);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 8: Acrophobia", Null, Null, Null));
  • Set Ability 2 Enabled(Players In Slot(1, Team 1), True);
  • }
  • }
  • rule("Challenge 8: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 8;
  • }
  • actions
  • {
  • Skip If(Compare(Filtered Array(Players Within Radius(Value In Array(Global Variable(Switches), 1), 2, All Teams, Off),
  • Is Dummy Bot(Current Array Element)), ==, Empty Array), 2);
  • Set Global Variable(Exit, Vector(146.703, 12.871, 272.726));
  • Abort;
  • Small Message(All Players(Team 1), Custom String("You are not the one", Null, Null, Null));
  • }
  • }
  • rule("Challenge 8: First Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == False;
  • Global Variable(Challenge) == 8;
  • Global Variable(Exit) != Vector(0, -200, 0);
  • }
  • actions
  • {
  • Set Global Variable(Exit, Vector(0, -200, 0));
  • }
  • }
  • rule("Start Challenge 9")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 9;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable At Index(Switches, 0, Vector(-197.257, 19.526, -47.924));
  • Set Global Variable At Index(Switches, 2, Vector(-172.454, 16.450, -53.536));
  • Set Global Variable At Index(Switches, 4, Vector(-210.873, 18.451, -64.276));
  • Set Global Variable(Respawn, Vector(-201.799, 23.090, -58.675));
  • Set Global Variable(Exit, Vector(-187.996, 15.448, -27.481));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(Team 1), Hero(Mercy));
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, 19);
  • Set Global Variable(Active, 0);
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 9: Knowledge's Gateway", Null, Null, Null));
  • Set Ability 1 Enabled(All Players(Team 1), False);
  • Wait(0.016, Ignore Condition);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • }
  • }
  • rule("Challenge 9: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 9;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 15.999);
  • }
  • }
  • rule("Challenge 9: First Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == False;
  • Global Variable(Challenge) == 9;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 19);
  • }
  • }
  • rule("Challenge 9: Permanent Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 2) == True;
  • Global Variable(Challenge) == 9;
  • }
  • actions
  • {
  • Set Global Variable(BotControl, True);
  • Small Message(All Players(Team 1), Custom String("You can now command the bot to group up to your position", Null, Null, Null));
  • Wait(5, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("The bot will say Hello when it is ready for another command", Null, Null, Null));
  • }
  • }
  • rule("Challenge 9: Second Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • And(Value In Array(Global Variable(Active), 0), Value In Array(Global Variable(Active), 1)) == True;
  • Global Variable(Challenge) == 9;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 14.990);
  • }
  • }
  • rule("Challenge 9: Second Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Or(Value In Array(Global Variable(Active), 0), Value In Array(Global Variable(Active), 1)) == False;
  • Global Variable(Challenge) == 9;
  • Global Variable(HeightMin) == 14.990;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 15.999);
  • }
  • }
  • rule("Start Challenge 10")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 10;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable At Index(Switches, 0, Vector(110.483, 11.970, -216.743));
  • Set Global Variable At Index(Switches, 2, Vector(108.037, 7.948, -240.852));
  • Set Global Variable(Respawn, Vector(129.939, 16.730, -236.107));
  • Set Global Variable(Exit, Vector(111.316, 5.948, -217.367));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(Team 1), Hero(Ana));
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, 11);
  • Set Global Variable(Active, 0);
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 10: Water Works", Null, Null, Null));
  • Set Ability 1 Enabled(All Players(Team 1), True);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(Barrier, Vector(272.530, 8, -380.680));
  • Set Gravity(Players In Slot(0, Team 2), 500);
  • }
  • }
  • rule("Challenge 10: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 10;
  • Global Variable(HeightMin) == 11;
  • }
  • actions
  • {
  • Small Message(All Players(Team 1), Custom String("Where water slides. Find and crouch above", Null, Null, Null));
  • }
  • }
  • rule("Challenge 10: Player Solved Riddle")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Vector(121.446, 11.948, -227.660)) <= 1;
  • Global Variable(Challenge) == 10;
  • Global Variable(HeightMin) == 11;
  • Is Button Held(Event Player, Crouch) == True;
  • }
  • actions
  • {
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Wait(0.016, Ignore Condition);
  • Set Global Variable At Index(Switches, 0, Vector(134.649, 7.949, -214.522));
  • Set Global Variable(HeightMin, 7);
  • Play Effect(All Players(All Teams), Buff Explosion Sound, White, Event Player, 200);
  • }
  • }
  • rule("Challenge 10: Second Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == True;
  • Global Variable(Challenge) == 10;
  • Value In Array(Global Variable(Active), 2) != True;
  • }
  • actions
  • {
  • Set Global Variable At Index(Switches, 4, Vector(121.273, 11.948, -227.417));
  • }
  • }
  • rule("Challenge 10: Second Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == False;
  • Global Variable(Challenge) == 10;
  • Value In Array(Global Variable(Switches), 5) != Vector(121.273, 11.948, -227.417);
  • }
  • actions
  • {
  • Set Global Variable At Index(Switches, 4, Vector(0, 0, 0));
  • }
  • }
  • rule("Challenge 10: Permanent Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 2) == True;
  • Global Variable(Challenge) == 10;
  • }
  • actions
  • {
  • Set Global Variable(Respawn, Vector(121.273, 12.948, -227.417));
  • }
  • }
  • rule("Challenge 10: All Switches Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is True For All(Global Variable(Active), Current Array Element) == True;
  • Global Variable(Challenge) == 10;
  • Count Of(Global Variable(Active)) == 3;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 0);
  • }
  • }
  • rule("Challenge 10: One Or More Switches No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is True For All(Global Variable(Active), Current Array Element) == False;
  • Global Variable(Challenge) == 10;
  • Count Of(Global Variable(Active)) == 3;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 7);
  • }
  • }
  • rule("Start Challenge 11")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 11;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable At Index(Switches, 0, Vector(-216.929, 19.448, 0.047));
  • Set Global Variable At Index(Switches, 4, Vector(-197.225, 15.448, -4.107));
  • Set Global Variable(Respawn, Vector(-208.834, 20.448, 0.020));
  • Set Global Variable(Exit, Vector(111.316, 5.948, -217.367));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(Team 1), Hero(Sombra));
  • Set Projectile Gravity(All Players(Team 1), 500);
  • Disallow Button(All Players(Team 1), Jump);
  • Set Projectile Speed(All Players(Team 1), 0);
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, 18.750);
  • Set Global Variable(Active, 0);
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 11: Enigmatic Falls", Null, Null, Null));
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • }
  • }
  • rule("Challenge 11: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 11;
  • }
  • actions
  • {
  • Set Global Variable(Exit, Vector(-203.567, 23.393, -0.030));
  • }
  • }
  • rule("Challenge 11: First Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == False;
  • Global Variable(Challenge) == 11;
  • }
  • actions
  • {
  • Set Global Variable(Exit, Vector(0, -200, 0));
  • }
  • }
  • rule("Challenge 11: Permanent Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 2) == True;
  • Global Variable(Challenge) == 11;
  • }
  • actions
  • {
  • Allow Button(All Players(Team 1), Jump);
  • }
  • }
  • rule("Start Challenge 12")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 12;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable(Barrier, Vector(259.440, 3.740, 202.920));
  • Set Global Variable At Index(Switches, 0, Vector(82.970, 1.448, 311.663));
  • Set Global Variable(Respawn, Vector(70.477, 1.448, 319.938));
  • Set Global Variable At Index(Switches, 2, Vector(68.390, 0.978, 283.701));
  • Set Global Variable(Exit, Vector(95.633, 2.452, 303.783));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(Team 1), Hero(Mercy));
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, -99999);
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable(CameraPos, Vector(88.520, 3.451, 307.886));
  • Set Global Variable(CameraFace, Vector(96.885, 2.301, 302.648));
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 12: The challenger's lobby", Null, Null, Null));
  • Set Global Variable(AquaBarrier, Vector(83.153, 1.449, 311.521));
  • Set Global Variable(AquaBarrierWidth, 5);
  • Set Global Variable At Index(Orbs, 0, Vector(91.466, 1.451, 320.254));
  • Set Global Variable At Index(Orbs, 1, Vector(86.898, 23.448, 316.473));
  • }
  • }
  • rule("Challenge 12: All Switches Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • And(Value In Array(Global Variable(Active), 0), Value In Array(Global Variable(Active), 1)) == True;
  • Global Variable(Challenge) == 12;
  • Count Of(Global Variable(Active)) != 0;
  • Global Variable(Barrier) == Vector(259.440, 3.740, 202.920);
  • }
  • actions
  • {
  • Modify Global Variable(Barrier, Subtract, Vector(0, 300, 0));
  • }
  • }
  • rule("Challenge 12: One Or More Switches No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • And(Value In Array(Global Variable(Active), 0), Value In Array(Global Variable(Active), 1)) == False;
  • Global Variable(Challenge) == 12;
  • Count Of(Global Variable(Active)) != 0;
  • Global Variable(Barrier) == Vector(259.440, -296.260, 202.920);
  • }
  • actions
  • {
  • Modify Global Variable(Barrier, Add, Vector(0, 300, 0));
  • }
  • }
  • rule("Challenge 12: Orbs Active")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 3) == True;
  • Global Variable(Challenge) == 12;
  • }
  • actions
  • {
  • Modify Global Variable(AquaBarrier, Subtract, Vector(0, 200, 0));
  • Set Ultimate Ability Enabled(All Players(Team 1), False);
  • }
  • }
  • rule("Start Challenge 13")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 13;
  • Global Variable(Complete) == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Set Global Variable At Index(Switches, 0, Vector(174.523, 4.549, 246.535));
  • Set Global Variable(Barrier, Vector(14.150, 4, 381.820));
  • Set Global Variable At Index(Switches, 2, Vector(187.108, 3.459, 229.217));
  • Set Global Variable(Respawn, Vector(164.733, 5.448, 226.459));
  • Set Global Variable(Exit, Vector(193.644, 2.298, 170.296));
  • Wait(0.250, Ignore Condition);
  • Start Forcing Player To Be Hero(All Players(Team 1), Hero(Tracer));
  • Wait(0.250, Ignore Condition);
  • Set Global Variable(HeightMin, 3.750);
  • Set Global Variable(Active, 0);
  • Set Global Variable(Complete, False);
  • Big Message(All Players(All Teams), Custom String("Challenge 13: The Challenger's Road", Null, Null, Null));
  • Teleport(All Players(All Teams), Global Variable(Respawn));
  • Set Global Variable At Index(Orbs, 0, Vector(143.959, 4.451, 219.582));
  • Set Global Variable At Index(Orbs, 1, Vector(177.473, 2.451, 213.526));
  • Set Global Variable(AquaBarrier, Vector(91.170, 9.100, 27.360));
  • Set Global Variable(AquaBarrierWidth, 200);
  • Set Global Variable(CameraPos, Vector(177.168, 12.451, 213.873));
  • Set Global Variable(CameraFace, Vector(175.880, 2.317, 190.898));
  • Set Global Variable(BeamStart, 0);
  • Set Global Variable(BeamEnd, 0);
  • }
  • }
  • rule("Challenge 13: First Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == True;
  • Global Variable(Challenge) == 13;
  • Value In Array(Global Variable(Active), 3) == False;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 2.750);
  • }
  • }
  • rule("Challenge 13: First Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 0) == False;
  • Global Variable(Challenge) == 13;
  • Value In Array(Global Variable(Active), 3) == False;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 3.750);
  • }
  • }
  • rule("Challenge 13: Second Switch Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == True;
  • Global Variable(Challenge) == 13;
  • Value In Array(Global Variable(Active), 3) == False;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 1.850);
  • }
  • }
  • rule("Challenge 13: Second Switch No Longer Pulled")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 1) == False;
  • Global Variable(Challenge) == 13;
  • Value In Array(Global Variable(Active), 3) == False;
  • }
  • actions
  • {
  • Set Global Variable(HeightMin, 2.750);
  • }
  • }
  • rule("Challenge 13: Orbs Active")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Value In Array(Global Variable(Active), 3) == True;
  • Global Variable(Challenge) == 13;
  • }
  • actions
  • {
  • Wait(0.500, Abort When False);
  • Skip If(Compare(Global Variable(HeightMin), !=, 1.850), 11);
  • Start Camera(All Players(Team 1), Global Variable(CameraPos), Global Variable(CameraFace), 5);
  • Wait(1, Ignore Condition);
  • Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(CameraPos), 200);
  • Modify Global Variable(AquaBarrier, Subtract, Vector(0, 200, 0));
  • Set Global Variable(Barrier, Vector(294.320, 3.470, 32.220));
  • Set Global Variable(HeightMin, 0);
  • Small Message(All Players(All Teams), Custom String("There are too many", Null, Null, Null));
  • Wait(2, Ignore Condition);
  • Set Damage Received(Players In Slot(0, Team 2), 100);
  • Stop Camera(All Players(Team 1));
  • Abort;
  • Big Message(All Players(All Teams), Custom String("Sequence break detected! Reverting orb connection...", Null, Null, Null));
  • Set Global Variable(BeamStart, 0);
  • Set Global Variable(BeamEnd, 0);
  • Set Global Variable At Index(Active, 3, False);
  • }
  • }
  • rule("Challenge 13: Player Solved Riddle")
  • {
  • event
  • {
  • Player Died;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 13;
  • Value In Array(Global Variable(Active), 3) == True;
  • }
  • actions
  • {
  • Set Global Variable(Barrier, Vector(0, -200, 0));
  • Destroy Dummy Bot(Team 2, 0);
  • }
  • }
  • rule("End Game")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global Variable(Challenge) == 14;
  • disabled Is Button Held(Host Player, Ultimate) == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Start Camera(All Players(All Teams), Global Variable(CameraPos), Global Variable(CameraFace), 3);
  • Big Message(All Players(All Teams), Custom String("congratulations! You've completed the challenges!", Null, Null, Null));
  • Set Status(All Players(Team 1), Null, Rooted, 9999);
  • Set Global Variable(CameraPos, Vector(111.913, 1.472, 216.068));
  • Set Global Variable(CameraFace, Vector(125.712, 5.449, 229.816));
  • Teleport(Players In Slot(0, Team 1), Vector(122.847, 4.452, 233.577));
  • Teleport(Players In Slot(1, Team 1), Vector(130.051, 4.448, 227.278));
  • Wait(5, Ignore Condition);
  • Big Message(All Players(All Teams), Custom String("Now for the credits!", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("Gamemode created by TehFoot", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("Idea behind challenges 5 & 6 by Parachor", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("Beta testers (chronological order)", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("Bromax", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("Parachor", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("Kalaxian", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Small Message(All Players(Team 1), Custom String("Kyremo", Null, Null, Null));
  • Wait(3, Ignore Condition);
  • Big Message(All Players(Team 1), Custom String("That concludes the credits! Thanks for playing!", Null, Null, Null));
  • Wait(10, Ignore Condition);
  • Big Message(All Players(Team 1), Custom String("I'm surprised you bothered to wait", Null, Null, Null));
  • Declare Team Victory(Team 1);
  • }
  • }
Join the Workshop.codes Discord