Return to post
settings
{
main
{
Description: "PART 2 = Map puzzle / Find the exit point - Hold F to respawn - Press F on circle to jump to the next lvl - Hold Crough+Interact to reset progress - Hint: The checkpoints are always outside the normal accessable area (=out of the real map) - Always-updated on: https://workshop.codes/escape-room v.3.5.6 Created by Kleator"
Description: "PART 2 = Map puzzle / Find the exit point - Hold F to respawn - Press F on circle to jump to the next lvl - Hold Crough+Interact to reset progress - Hint: The checkpoints are always outside the normal accessable area (=out of the real map) - Always-updated on: https://workshop.codes/escape-room v.3.5.7 - P2 Created by Kleator"
}
lobby
{
Map Rotation: After A Game
Max Spectators: 12
Return To Lobby: Never
}
modes
{
Skirmish
{
enabled maps
{
Blizzard World
Dorado
}
}
General
{
Respawn As Random Hero: On
Respawn Time Scalar: 0%
}
}
heroes
{
General
{
Ana
{
Sleep Dart: Off
}
Ashe
{
Coach Gun Cooldown Time: 60%
Coach Gun Knockback Scalar Enemy: 0%
Coach Gun Knockback Scalar Self: 52%
Coach Gun Knockback Scalar Self: 70%
}
Baptiste
{
Jump Vertical Speed: 60%
}
Brigitte
{
Shield Bash Cooldown Time: 80%
Shield Bash Knockback Scalar: 25%
Ultimate Generation - Passive Rally: 500%
Whip Shot: Off
}
D.Va
{
Boosters: Off
Boosters Knockback Scalar: 0%
Call Mech Knockback Scalar: 0%
Self Destruct Knockback Scalar: 0%
Spawn With Ultimate Ready: On
Ultimate Generation - Passive Self-Destruct: 500%
Ultimate Generation Self-Destruct: 10%
}
Doomfist
{
Jump Vertical Speed: 150%
Rising Uppercut Knockback Scalar: 0%
Rocket Punch Knockback Scalar: 0%
Seismic Slam: Off
Ultimate Ability Meteor Strike: Off
}
Genji
{
Infinite Ultimate Duration: On
Spawn With Ultimate Ready: On
Swift Strike Cooldown Time: 70%
Swift Strike: Off
}
Junkrat
{
Concussion Mine Cooldown Time: 30%
Concussion Mine Cooldown Time: 10%
Concussion Mine Knockback Scalar: 60%
Frag Launcher Knockback Scalar: 0%
}
Lúcio
{
Soundwave Knockback Scalar: 0%
}
Mei
{
Blizzard Freeze Rate Scalar: 0%
Ice Wall Cooldown Time: 80%
Ice Wall Cooldown Time: 65%
}
Mercy
{
Guardian Angel: Off
Resurrect: Off
}
Moira
{
Fade Cooldown Time: 30%
}
Pharah
{
Concussive Blast: Off
Hover Jets Maximum Time: 85%
Hover Jets Unlimited Fuel: On
Jump Jet Acceleration Scalar: 50%
Jump Jet Cooldown Time: 160%
}
Reaper
{
Shadow Step Cooldown Time: 50%
Shadow Step Cooldown Time: 30%
}
Reinhardt
{
Charge Cooldown Time: 60%
Charge Knockback Scalar: 0%
Rocket Hammer Knockback Scalar: 0%
}
Soldier: 76
{
Helix Rockets Cooldown Time: 0%
Helix Rockets Knockback Scalar: 145%
}
Torbjörn
{
Deploy Turret: Off
}
Widowmaker
{
Grappling Hook Cooldown Time: 60%
Grappling Hook Cooldown Time: 40%
}
Wrecking Ball
{
Grappling Claw Knockback Scalar: 0%
Minefield Knockback Scalar: 0%
}
enabled heroes
{
Soldier: 76
}
}
}
}
variables
{
global:
1: Highscorebutton
7: TopHighscore
11: LastWinner
18: Serverload
19: DEVHUD
21: WinGlobalFix
22: Win
23: WinMaprotation
24: WinMaprestartdoublevalfix
25: Currentmap
player:
0: Playerlevel
1: Timerrunning
2: TimerHUD
3: Timer
15: PreWinPos
22: Won
23: Winparticle
}
subroutines
{
1: DEVHudTextServerload
}
rule("----------------------------------------------------------=== Init ===--------------------------------------------------------")
{
event
{
Ongoing - Global;
}
}
rule("Init")
{
event
{
Ongoing - Global;
}
actions
{
Set Match Time(10000);
Global.Currentmap = Current Map;
Global.Win = False;
Global.WinMaprotation = False;
Global.TopHighscore[4] = False;
Create HUD Text(All Players(All Teams), Null, Custom String("Hold Interact to respawn // Hold Crouch + Interact to reset"),
Custom String("Goal: Find the checkpoint (which is always out of the real map)"), Left, -0.050, Purple, Purple, Blue,
Visible To and String, Visible Always);
Create HUD Text(All Players(All Teams), Null, Custom String("Newest code always on Elo-Hell Workshop:"), Custom String(
"Map puzzle / Map escape (v3.5.6)"), Right, -0.100, Green, Orange, Green, Visible To and String, Visible Always);
"Map puzzle / Map escape (v3.5.7 - P2)"), Right, -0.100, Green, Orange, Green, Visible To and String, Visible Always);
Call Subroutine(DEVHudTextServerload);
}
}
rule("Init player")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Event Player.Playerlevel[0] = 0;
Event Player.Playerlevel[1] = False;
Set Damage Received(Event Player, 0);
Set Status(Event Player, Null, Unkillable, 9999);
Set Status(Event Player, Null, Phased Out, 9999);
Create HUD Text(Event Player, String("{0} {1}", Hero Icon String(Hero Of(Event Player)), String("{0}: {1}", String(
"Current Level"), 1 + Event Player.Playerlevel[0])), Null, Null, Top, 1, Green, White, White, Visible To and String,
Default Visibility);
Wait(2.200, Ignore Condition);
Create HUD Text(Filtered Array(Event Player, Event Player.Timerrunning[1] == True), String("{0}:{1}", String("{0}:{1}",
Event Player.TimerHUD[1], Event Player.TimerHUD[0]), Event Player.Timer), String("<- {0}", String("Time")), String("{0}: {1}",
Custom String("Best Time"), String("{0}:{1}", Global.TopHighscore[0], String("{0}:{1}", Global.TopHighscore[1],
Global.TopHighscore[2]))), Right, -0.001, White, White, Purple, Visible To and String, Default Visibility);
Event Player.TimerHUD[2] = Last Text ID;
Event Player.Won = False;
}
}
rule("-------------------------------------------------------=== SETTINGS ===-------------------------------------------------------")
{
event
{
Ongoing - Global;
}
}
disabled rule("ON/OFF - Server Crash Saver (Slowmotion)")
{
event
{
Ongoing - Global;
}
conditions
{
Server Load >= 99;
}
actions
{
Set Slow Motion((100 - (Server Load Average * 1.200 - 100)) / 1);
Global.Serverload[0] = Server Load;
Global.Serverload[1] = Server Load Average;
Global.Serverload[2] = Server Load Peak;
Wait(0.500, Restart When True);
Set Slow Motion(100);
}
}
disabled rule("ON/OFF - Map rotation after Win")
{
event
{
Ongoing - Global;
}
actions
{
Global.WinMaprotation = True;
}
}
rule("ON/OFF - Punish (freeze) people who kill")
{
event
{
Player Dealt Final Blow;
All;
All;
}
actions
{
Set Status(Event Player, Null, Frozen, 15);
}
}
rule("ON/OFF - Highscore-Speedrun")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Wait(0.016, Ignore Condition);
Global.TopHighscore[4] = True;
Wait(0.980, Ignore Condition);
Skip If(Global.Currentmap != Map(Blizzard World), 3);
Global.TopHighscore[0] = 0;
Global.TopHighscore[1] = 5;
Global.TopHighscore[2] = 24.090;
Skip If(Global.Currentmap != Map(Dorado), 3);
Global.TopHighscore[0] = 0;
Global.TopHighscore[1] = 0;
Global.TopHighscore[2] = 0;
}
}
rule("ON/OFF - DEV - Disable Inspector Recording (Serverload improving)")
{
event
{
Ongoing - Global;
}
actions
{
Disable Inspector Recording;
}
}
disabled rule("ON/OFF - DEV - HUD: Facing direction")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Event Player.Z = Facing Direction Of(Event Player);
Wait(3, Ignore Condition);
Loop;
Create HUD Text(Event Player, String("{0} : {1} : {2}", Custom String("Facing direction"), Horizontal Facing Angle Of(
Event Player), Vertical Facing Angle Of(Event Player)), Null, Null, Left, 20, White, White, White, Visible To and String,
Default Visibility);
}
}
disabled rule("ON/OFF - DEV - HUD: Player Pos")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
}
actions
{
Create HUD Text(Event Player, Position Of(Event Player), Null, Null, Left, 0, White, White, White, Visible To and String,
Create HUD Text(Event Player, Position Of(Event Player), Null, Null, Left, 21, White, White, White, Visible To and String,
Default Visibility);
Global.DEVHUD = True;
}
}
disabled rule("ON/OFF - DEV - HUD: Serverload")
{
event
{
Subroutine;
DEVHudTextServerload;
}
actions
{
Create HUD Text(All Players(All Teams), String("{0}: {1}", String("Server Load"), Server Load), Null, Null, Left, 1, White, White,
Create HUD Text(All Players(All Teams), String("{0}: {1}", String("Server Load"), Server Load), Null, Null, Left, 22, White, White,
White, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), String("{0}: {1}", String("Server Load Average"), Server Load Average), Null, Null, Left,
1, White, White, White, Visible To and String, Default Visibility);
23, White, White, White, Visible To and String, Default Visibility);
}
}
rule("ON/OFF - DEV - Add Level")
disabled rule("ON/OFF - DEV - Add Level")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
(Is Button Held(Event Player, Ultimate) && Is Button Held(Event Player, Interact)) == True;
disabled True == False;
}
actions
{
Event Player.Playerlevel[0] += 1;
Teleport(Event Player, Vector(0, -10000, 0));
Global.TopHighscore[4] = False;
Clear Status(Event Player, Hacked);
}
}
rule("ON/OFF - DEV - Teleport")
disabled rule("ON/OFF - DEV - Teleport")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
(Is Button Held(Event Player, Interact) && Is Button Held(Event Player, Crouch)) == True;
disabled True == False;
}
actions
{
Teleport(Event Player, Position Of(Event Player) + 3 * Facing Direction Of(Event Player));
Global.TopHighscore[4] = False;
}
}
rule("ON/OFF - DEV - Phara switch")
disabled rule("ON/OFF - DEV - Phara switch")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
(Is Button Held(Event Player, Primary Fire) && Is Button Held(Event Player, Jump) && Is Button Held(Event Player, Interact))
== True;
disabled True == False;
}
actions
{
Start Forcing Player To Be Hero(Event Player, Hero(Pharah));
Global.TopHighscore[4] = False;
}
}
rule("-------------------------------------------------------### Mode Setup ###-------------------------------------------------------")
{
event
{
Ongoing - Global;
}
}
rule("BUTTON: GLOBAL: INIT")
{
event
{
Ongoing - Global;
}
conditions
{
Global.TopHighscore[4] == True;
}
actions
{
Global.Highscorebutton = Empty Array;
Skip If(Global.Currentmap != Map(Blizzard World), 1);
Global.Highscorebutton = Append To Array(Global.Highscorebutton, Vector(-3.952, 1.572, 54.127));
Skip If(Global.Currentmap != Map(Dorado), 1);
Global.Highscorebutton = Append To Array(Global.Highscorebutton, Vector(133.099, -3.540, 65.253));
Global.Highscorebutton = Append To Array(Global.Highscorebutton, 0.500);
Global.Highscorebutton = Append To Array(Global.Highscorebutton, 5);
Global.Highscorebutton[3] = Global.Highscorebutton[0] + Vector(0, 0.500, 0);
}
}
rule("BUTTON: player init")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.TopHighscore[4] == True;
}
actions
{
Event Player.Timerrunning = Empty Array;
Event Player.Timerrunning = Append To Array(Event Player.Timerrunning, False);
Event Player.Timerrunning = Append To Array(Event Player.Timerrunning, False);
}
}
rule("BUTTON: EFFECTS")
{
event
{
Ongoing - Global;
}
conditions
{
Global.TopHighscore[4] == True;
}
actions
{
Create In-World Text(Filtered Array(All Players(All Teams), !Current Array Element.Timerrunning[1]), String("Off"),
Global.Highscorebutton[0], 1, Clip Against Surfaces, Visible To and String, White, Default Visibility);
Create Effect(Filtered Array(All Players(All Teams), !Current Array Element.Timerrunning[1]), Sphere, Red,
Global.Highscorebutton[0], Global.Highscorebutton[1], Visible To);
Create Effect(Filtered Array(Filtered Array(All Players(All Teams), Current Array Element.Timerrunning[0]),
!Current Array Element.Timerrunning[1]), Good Aura, Red, Global.Highscorebutton[0], Global.Highscorebutton[1], Visible To);
Create In-World Text(Filtered Array(All Players(All Teams), Current Array Element.Timerrunning[1]), String("On"),
Global.Highscorebutton[0], 1, Clip Against Surfaces, Visible To and String, White, Default Visibility);
Create Effect(Filtered Array(All Players(All Teams), Current Array Element.Timerrunning[1]), Sphere, Yellow,
Global.Highscorebutton[0], Global.Highscorebutton[1] / 2, Visible To);
Create Effect(Filtered Array(Filtered Array(All Players(All Teams), Current Array Element.Timerrunning[0]),
Current Array Element.Timerrunning[1]), Good Aura, Yellow, Global.Highscorebutton[0], Global.Highscorebutton[1] / 2,
Visible To);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Time"), String("Run")), Global.Highscorebutton[3], 1,
Clip Against Surfaces, Visible To and String, White, Default Visibility);
}
}
rule("BUTTON: focus")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.Timerrunning[0] == False;
(Distance Between(Global.Highscorebutton[0], Eye Position(Event Player)) <= Global.Highscorebutton[2] && Distance Between(
Global.Highscorebutton[0], Eye Position(Event Player) + Facing Direction Of(Event Player) * Distance Between(Eye Position(
Event Player), Global.Highscorebutton[0])) <= Global.Highscorebutton[1] && Is In Line of Sight(Eye Position(Event Player),
Eye Position(Event Player) + Facing Direction Of(Event Player) * Distance Between(Eye Position(Event Player),
Global.Highscorebutton[0]), Barriers Do Not Block LOS)) == True;
Event Player.Playerlevel[0] == 0;
}
actions
{
Event Player.Timerrunning[0] = True;
}
}
rule("BUTTON: UNfocus")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.Timerrunning[0] == True;
(Distance Between(Global.Highscorebutton[0], Eye Position(Event Player)) <= Global.Highscorebutton[2] && Distance Between(
Global.Highscorebutton[0], Eye Position(Event Player) + Facing Direction Of(Event Player) * Distance Between(Eye Position(
Event Player), Global.Highscorebutton[0])) <= Global.Highscorebutton[1] && Is In Line of Sight(Eye Position(Event Player),
Eye Position(Event Player) + Facing Direction Of(Event Player) * Distance Between(Eye Position(Event Player),
Global.Highscorebutton[0]), Barriers Do Not Block LOS)) == False;
}
actions
{
Event Player.Timerrunning[0] = False;
}
}
rule("BUTTON: INTERACT")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Timerrunning[0] == True;
Event Player.Playerlevel[0] == 0;
}
actions
{
Play Effect(Event Player, Ring Explosion, White, Global.Highscorebutton[0], 2);
Play Effect(Event Player, Debuff Impact Sound, White, Event Player, 100);
Skip If(Event Player.Timerrunning[1], 2);
Event Player.Timerrunning[1] = True;
Abort;
Skip If(!Event Player.Timerrunning[1], 3);
Event Player.Timerrunning[1] = False;
Stop Chasing Player Variable(Event Player, Timer);
Event Player.Timer = 0;
}
}
rule("Soldier avoid bug: phased out")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Hero Of(Event Player) == Hero(Soldier: 76);
Is Button Held(Event Player, Secondary Fire) == True;
}
actions
{
Clear Status(Event Player, Phased Out);
Wait(0.500, Restart When True);
Set Status(Event Player, Null, Phased Out, 9999);
}
}
rule("Self kill")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Is Button Held(Event Player, Crouch) == False;
Global.Win == False;
}
actions
{
Wait(0.500, Ignore Condition);
Skip If(Is Button Held(Event Player, Interact) == False, 2);
Small Message(Event Player, String("{0} sec", 3));
Wait(0.800, Ignore Condition);
Skip If(Is Button Held(Event Player, Interact) == False, 2);
Small Message(Event Player, String("{0} sec", 2));
Wait(0.800, Ignore Condition);
Skip If(Is Button Held(Event Player, Interact) == False, 2);
Small Message(Event Player, String("{0} sec", 1));
Wait(0.800, Ignore Condition);
Skip If(Is Button Held(Event Player, Interact) == False, 1);
Teleport(Event Player, Vector(0, -10000, 0));
}
}
rule("Progress reset")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Is Button Held(Event Player, Crouch) == True;
Global.Win == False;
}
actions
{
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 3);
Play Effect(Event Player, Explosion Sound, White, Event Player, 50);
Big Message(Event Player, String("{0}!", String("{0}: {1}", String("Try Again"), 10), String("New High Score")));
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 2);
Big Message(Event Player, String("{0}!", String("{0}: {1}", String("Try Again"), 9), String("New High Score")));
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 1);
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 2);
Big Message(Event Player, String("{0}!", String("{0}: {1}", String("Try Again"), 7), String("New High Score")));
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 2);
Play Effect(Event Player, Explosion Sound, White, Event Player, 70);
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 2);
Big Message(Event Player, String("{0}!!", String("{0}: {1}", String("Try Again"), 5), String("New High Score")));
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 1);
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 3);
Big Message(Event Player, String("{0}!!!", String("{0}: {1}", String("Try Again"), 3), String("New High Score")));
Play Effect(Event Player, Explosion Sound, White, Event Player, 80);
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 3);
Big Message(Event Player, String("{0}!!!", String("{0}: {1}", String("Try Again"), 2), String("New High Score")));
Play Effect(Event Player, Explosion Sound, White, Event Player, 100);
Wait(1, Ignore Condition);
Skip If((Is Button Held(Event Player, Crouch) && Is Button Held(Event Player, Interact)) == False, 8);
Big Message(Event Player, String("{0}!!!", String("{0}: {1}", String("Try Again"), 1), String("New High Score")));
Play Effect(Event Player, Explosion Sound, White, Event Player, 120);
Wait(1, Ignore Condition);
Play Effect(Event Player, Bad Explosion, Red, Event Player, 30);
Wait(0.100, Ignore Condition);
Event Player.Playerlevel[0] = 0;
Event Player.Timerrunning[1] = False;
Teleport(Event Player, Vector(0, -10000, 0));
}
}
rule("Speedrun-Timer")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.Timerrunning[1] == True;
}
actions
{
Event Player.Timer[0] = 0;
Event Player.TimerHUD[0] = 0;
Event Player.TimerHUD[1] = 0;
Chase Player Variable At Rate(Event Player, Timer, 60, 1, Destination and Rate);
}
}
rule("Speedrun-Timer count reset")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Event Player.Timerrunning[1] == True;
}
actions
{
Skip If(Event Player.Timer != 60, 2);
Event Player.TimerHUD[0] += 1;
Event Player.Timer = 0;
Skip If(Event Player.TimerHUD[0] != 60, 2);
Event Player.TimerHUD[1] += 1;
Event Player.TimerHUD[0] = 0;
Wait(0.250, Ignore Condition);
Loop If Condition Is True;
}
}
rule("Map Win-Player")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.Win == True;
Event Player.Won == True;
}
actions
{
Chase Player Variable At Rate(All Players(All Teams), Timer, 60, 0, Destination and Rate);
Global.WinGlobalFix = True;
Global.LastWinner = Event Player;
Wait(0.250, Ignore Condition);
Set Match Time(17);
Skip If(Global.TopHighscore[4] == False, 3);
Destroy HUD Text(Event Player.TimerHUD[2]);
Skip If(Event Player.Timer == 0, 1);
Create HUD Text(All Players(All Teams), String("{0}:{1}", String("{0}:{1}", Event Player.TimerHUD[1], Event Player.TimerHUD[0]),
Event Player.Timer), String("<- {0}", String("Time")), String("{0}: {1}", String("High Score"), String("{0}:{1}",
Global.TopHighscore[0], String("{0}:{1}", Global.TopHighscore[1], Global.TopHighscore[2]))), Right, -0.001, Red, Yellow,
Purple, Visible To and String, Default Visibility);
Create HUD Text(All Players(All Teams), String("{0}: {1}", String("Win"), Event Player), Null, Null, Top, 998, Purple, White,
White, Visible To and String, Default Visibility);
Big Message(All Players(All Teams), String("{0}: {1}", String("Games Won"), Event Player));
Wait(1, Ignore Condition);
Destroy Effect(Event Player.Winparticle);
Wait(0.100, Ignore Condition);
Create Effect(All Players(All Teams), Sparkles, Purple, Position Of(Event Player), 1, Visible To Position and Radius);
Event Player.Winparticle = Last Created Entity;
Wait(15, Ignore Condition);
Skip If(Global.WinMaprotation == True, 7);
Skip If(Event Player.Won == False, 6);
Event Player.Playerlevel = 0;
Event Player.Timerrunning[1] = False;
Event Player.Timer = 0;
Teleport(Event Player, Vector(0, -10000, 0));
Wait(5, Ignore Condition);
Event Player.Won = False;
}
}
rule("Map Win-Global")
{
event
{
Ongoing - Global;
}
conditions
{
Global.WinGlobalFix == True;
Global.Win == True;
Global.WinMaprotation != True;
}
actions
{
Wait(15.750, Ignore Condition);
Set Match Time(9999);
Global.WinMaprestartdoublevalfix = True;
Wait(0.100, Ignore Condition);
Global.Win = False;
Play Effect(All Players(All Teams), Ring Explosion Sound, White, All Players(All Teams), 80);
Global.WinGlobalFix = False;
}
}
rule("Map teleport back + HUD Recover")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.Win == False;
Global.WinMaprotation == False;
Global.WinMaprestartdoublevalfix == True;
}
actions
{
Skip If(Event Player.Won == True, 2);
Teleport(Event Player, Event Player.PreWinPos);
Chase Player Variable At Rate(Event Player, Timer, 60, 1, Destination and Rate);
Wait(0.250, Ignore Condition);
Destroy All HUD Text;
Wait(0.050, Ignore Condition);
Create HUD Text(Event Player, String("{0} {1}", Hero Icon String(Hero Of(Event Player)), String("{0}: {1}", String(
"Current Level"), 1 + Event Player.Playerlevel[0])), Custom String("Last winner:"), Global.LastWinner, Top, 1, Green, Red, Red,
Visible To and String, Default Visibility);
Create HUD Text(Filtered Array(Event Player, Event Player.Timerrunning[1] == True), String("{0}:{1}", String("{0}:{1}",
Event Player.TimerHUD[1], Event Player.TimerHUD[0]), Event Player.Timer), String("<- {0}", String("Time")), String("{0}: {1}",
Custom String("Best Time"), String("{0}:{1}", Global.TopHighscore[0], String("{0}:{1}", Global.TopHighscore[1],
Global.TopHighscore[2]))), Right, -0.001, White, White, Purple, Visible To and String, Default Visibility);
Global.WinMaprestartdoublevalfix = False;
}
}
rule("Map teleport HUD Recover")
{
event
{
Ongoing - Global;
}
conditions
{
Global.Win == False;
Global.WinMaprotation == False;
Global.WinMaprestartdoublevalfix == True;
}
actions
{
Wait(0.300, Ignore Condition);
Create HUD Text(All Players(All Teams), Null, Custom String("Hold Interact to respawn // Hold Crouch + Interact to reset"),
Custom String("Goal: Find the checkpoint (which is always out of the real map)"), Left, -0.050, Purple, Purple, Blue,
Visible To and String, Visible Always);
Create HUD Text(All Players(All Teams), Null, Custom String("Newest code always on Elo-Hell Workshop:"), Custom String(
"Map puzzle / Map escape (v3.5.6)"), Right, -0.100, Green, Orange, Green, Visible To and String, Visible Always);
"Map puzzle / Map escape (v3.5.7 - P2)"), Right, -0.100, Green, Orange, Green, Visible To and String, Visible Always);
Call Subroutine(DEVHudTextServerload);
}
}
rule("-------------------------------------------------------===[ blizard ]===-------------------------------------------------------")
{
event
{
Ongoing - Global;
}
}
rule("Init player")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Start Forcing Player To Be Hero(Event Player, Hero(Ana));
Teleport(Event Player, Vector(-8.665, 2.546, 60.018));
}
}
rule("Respawn Death")
{
event
{
Player Died;
All;
All;
}
conditions
{
Global.Win == False;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Set Match Time(10000);
Respawn(Event Player);
Set Move Speed(Event Player, 0);
Wait(0.016, Ignore Condition);
Skip If(Event Player.Playerlevel[0] != 0, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Ana));
Teleport(Event Player, Vector(-8.665, 2.546, 60.018));
Skip If(Event Player.Playerlevel[0] != 1, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Hanzo));
Teleport(Event Player, Vector(7.927, 1.348, 24.287));
Skip If(Event Player.Playerlevel[0] != 2, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Widowmaker));
Teleport(Event Player, Vector(-102.534, 17.032, 35.721));
Skip If(Event Player.Playerlevel[0] != 3, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Ashe));
Teleport(Event Player, Vector(-74.615, 14.761, -4.730));
Skip If(Event Player.Playerlevel[0] != 4, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Mei));
Teleport(Event Player, Vector(2.524, -3.723, -49.382));
Skip If(Event Player.Playerlevel[0] != 5, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Soldier: 76));
Teleport(Event Player, Vector(-102.251, 17.231, 34.499));
Skip If(Event Player.Playerlevel[0] != 6, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Ashe));
Teleport(Event Player, Vector(-68.610, 2.463, 107.673));
Skip If(Event Player.Playerlevel[0] != 7, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Pharah));
Teleport(Event Player, Vector(-71.596, 1.880, 92.365));
Skip If(Event Player.Playerlevel[0] != 8, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Reaper));
Teleport(Event Player, Vector(-39.943, 24.111, -14.509));
Skip If(Event Player.Playerlevel[0] != 9, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Sombra));
Teleport(Event Player, Vector(-70.799, 8.098, 170.162));
Set Move Speed(Event Player, 100);
}
}
rule("Setup (Circles / text / barrier bubble)")
{
event
{
Ongoing - Global;
}
conditions
{
Global.Currentmap == Map(Blizzard World);
}
actions
{
Create Effect(All Players(All Teams), Ring, Yellow, Vector(-2.120, 0.002, 24.137), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 2), Vector(-2.120, 1.252, 24.137), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(35.052, 6.107, 51.389), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 3), Vector(35.052, 5.107, 51.389), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(-81.018, 45.286, 62.645), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 4), Vector(-81.018, 45.286, 62.645), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(36.868, 7.408, -24.941), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 5), Vector(36.868, 7.408, -24.941), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(69.393, 15.410, -0.382), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 6), Vector(69.393, 15.410, -0.382), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(-44.885, 13.509, 6.932), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 7), Vector(-44.885, 13.509, 6.932), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(-85.376, 6.359, 100.676), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 8), Vector(-85.376, 6.359, 100.676), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(-43.122, -2.107, 136.616), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 9), Vector(-43.122, -2.107, 136.616), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(62.446, 54.614, -29.626), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 10), Vector(62.446, 54.614, -29.626), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Blue, Vector(-109.023, 13.905, 128.916), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 11), Vector(-109.023, 13.905, 128.916), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create HUD Text(All Players(All Teams), Null, Custom String("This map were created by:"), Custom String("Lmnoo"), Left, 4, White,
Red, Purple, Visible To and String, Default Visibility);
}
}
rule("Lvl1 = Ana")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 0;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(-2.120, 0.002, 24.137)) > 0.900, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(-2.120, 0.002, 24.137), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 1;
Start Forcing Player To Be Hero(Event Player, Hero(Hanzo));
Teleport(Event Player, Vector(7.927, 2.048, 24.287));
}
}
rule("Lvl2 = Hanzo")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 1;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(35.052, 5.107, 51.389)) > 0.800, 7);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(35.052, 5.107, 51.389), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 2;
Start Forcing Player To Be Hero(Event Player, Hero(Widowmaker));
Teleport(Event Player, Vector(-102.534, 17.032, 35.721));
}
}
rule("Lvl3 = Widow")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 2;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(-81.018, 45.286, 62.645)) > 0.800, 7);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(-81.018, 45.286, 62.645), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 3;
Start Forcing Player To Be Hero(Event Player, Hero(Ashe));
Teleport(Event Player, Vector(-74.615, 14.761, -4.730));
}
}
rule("Lvl4 = Ashe")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 3;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(36.868, 7.408, -24.941)) > 0.800, 7);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(36.868, 7.408, -24.941), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 4;
Start Forcing Player To Be Hero(Event Player, Hero(Mei));
Teleport(Event Player, Vector(2.524, -3.723, -49.382));
}
}
rule("Lvl5 = Mei")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 4;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(69.393, 15.410, -0.382)) > 0.800, 7);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(69.393, 15.410, -0.382), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 5;
Start Forcing Player To Be Hero(Event Player, Hero(Soldier: 76));
Teleport(Event Player, Vector(-102.251, 17.232, 34.499));
}
}
rule("Lvl6 = Soldier76")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 5;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(-44.885, 13.509, 6.932)) > 0.800, 7);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(-44.885, 13.509, 6.932), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 6;
Start Forcing Player To Be Hero(Event Player, Hero(Ashe));
Teleport(Event Player, Vector(-68.610, 2.463, 107.673));
}
}
rule("Lvl7 = Ashe2nd")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 6;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(-85.376, 6.359, 100.676)) > 0.800, 7);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(-85.376, 6.359, 100.676), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 7;
Start Forcing Player To Be Hero(Event Player, Hero(Pharah));
Teleport(Event Player, Vector(-71.596, 1.880, 92.365));
}
}
rule("Lvl8 = Pharah")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 7;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(-43.122, -2.107, 136.616)) > 0.800, 7);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(-43.122, -2.107, 136.616), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 8;
Start Forcing Player To Be Hero(Event Player, Hero(Reaper));
Teleport(Event Player, Vector(-39.943, 24.111, -14.509));
}
}
rule("Lvl9 = Reaper")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 8;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(62.446, 54.614, -29.626)) > 0.800, 7);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(62.446, 54.614, -29.626), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 9;
Start Forcing Player To Be Hero(Event Player, Hero(Sombra));
Teleport(Event Player, Vector(-70.799, 8.098, 170.162));
}
}
rule("Lvl10 = Sombra")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] >= 9;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Skip If(Distance Between(Event Player, Vector(-109.023, 13.905, 128.916)) > 0.800, 11);
Chase Player Variable At Rate(Event Player, Timer, 60, 0, Destination and Rate);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Play Effect(All Players(All Teams), Ring Explosion, Blue, Vector(-109.023, 13.905, 128.916), 3);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Finished")));
Wait(3, Ignore Condition);
Event Player.Playerlevel[0] = 10;
Start Forcing Player To Be Hero(Event Player, Hero(Symmetra));
Wait(0.100, Ignore Condition);
Teleport(Event Player, Vector(-131.011, 3.056, 107.948));
Event Player.Won = True;
Global.Win = True;
}
}
rule("Map restart")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.Win == True;
Global.Currentmap == Map(Blizzard World);
}
actions
{
Event Player.PreWinPos = Position Of(Event Player);
Skip If(Event Player.Won == True, 1);
Teleport(Event Player, Vector(-116.941, 1.199, 112.043));
}
}
rule("-------------------------------------------------------===[ DORADO ]===-------------------------------------------------------")
{
event
{
Ongoing - Global;
}
}
rule("Init player")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Has Spawned(Event Player) == True;
Global.Currentmap == Map(Dorado);
}
actions
{
Start Forcing Player To Be Hero(Event Player, Hero(Reaper));
Teleport(Event Player, Vector(131.336, -3.250, 64.804));
Set Facing(Event Player, Direction From Angles(20.410, 12.230), To World);
}
}
rule("Respawn Death")
{
event
{
Player Died;
All;
All;
}
conditions
{
Global.Win == False;
Global.Currentmap == Map(Dorado);
}
actions
{
Set Match Time(10000);
Respawn(Event Player);
Set Move Speed(Event Player, 0);
Wait(0.016, Ignore Condition);
Skip If(Event Player.Playerlevel[0] != 0, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Reaper));
Teleport(Event Player, Vector(131.336, -3.250, 64.804));
Skip If(Event Player.Playerlevel[0] != 1, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Soldier: 76));
Teleport(Event Player, Vector(-15.839, -0.498, 34.045));
Skip If(Event Player.Playerlevel[0] != 2, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Ashe));
Teleport(Event Player, Vector(-10.771, -0.639, 25.205));
Skip If(Event Player.Playerlevel[0] != 3, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Sombra));
Teleport(Event Player, Vector(238.594, 30.351, 49.379));
Skip If(Event Player.Playerlevel[0] != 4, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Tracer));
Teleport(Event Player, Vector(114.885, 24.692, -47.238));
Skip If(Event Player.Playerlevel[0] != 5, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Doomfist));
Teleport(Event Player, Vector(-6.172, 5.098, -24.643));
Skip If(Event Player.Playerlevel[0] != 6, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Genji));
Teleport(Event Player, Vector(94.950, 8.359, 2.105));
Skip If(Event Player.Playerlevel[0] != 7, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Pharah));
Teleport(Event Player, Vector(47.798, 12.098, -8.736));
Skip If(Event Player.Playerlevel[0] != 8, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Junkrat));
Teleport(Event Player, Vector(153.840, 42.334, -11.966));
Skip If(Event Player.Playerlevel[0] != 9, 2);
Start Forcing Player To Be Hero(Event Player, Hero(Reaper));
Teleport(Event Player, Vector(-39.943, 24.111, -14.509));
Set Move Speed(Event Player, 100);
}
}
rule("Setup (Circles / text / barrier bubble)")
{
event
{
Ongoing - Global;
}
conditions
{
Global.Currentmap == Map(Dorado);
}
actions
{
Create Effect(All Players(All Teams), Ring, Yellow, Vector(111.728, -1.534, 85.518), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 2), Vector(111.728, -0.500, 85.518), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(15.054, -5.869, 24.064), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 3), Vector(15.131, -5.076, 23.954), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(-30.427, 7.477, -63.211), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 4), Vector(-30.427, 7.477, -63.211), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(97.710, 46.315, -47.479), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 5), Vector(97.710, 46.315, -47.479), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(119, 21.500, -45), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 6), Vector(119, 23.040, -45), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(73.435, 19.182, -79.015), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 7), Vector(73.435, 19.182, -79.015), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(64.578, 14.564, 29.671), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 8), Vector(64.578, 14.564, 29.671), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(126.027, 12.348, 16.356), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 9), Vector(126.027, 12.348, 16.356), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Blue, Vector(166.951, 125.072, 35.933), 0.800, Visible To Position and Radius);
Create In-World Text(All Players(All Teams), String("{0} {1}", String("Level"), 10), Vector(166.951, 125.072, 35.933), 1,
Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
Create Effect(All Players(All Teams), Ring, Yellow, Vector(62.446, 54.614, -29.626), 0.800, Visible To Position and Radius);
Create HUD Text(All Players(All Teams), Null, Custom String("This map were created by:"), Custom String("Lmnoo"), Left, 4, White,
Red, Purple, Visible To and String, Default Visibility);
}
}
rule("Lvl1 = reaper")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 0;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(111.728, -1.534, 85.518)) > 0.900, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(111.728, -1.500, 85.518), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 1;
Start Forcing Player To Be Hero(Event Player, Hero(Soldier: 76));
Teleport(Event Player, Vector(-15.839, -0.498, 34.045));
}
}
rule("Lvl2 = Soldier")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 1;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(15.054, -5.869, 24.064)) > 1, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(15.054, -5.400, 24.064), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 2;
Start Forcing Player To Be Hero(Event Player, Hero(Ashe));
Teleport(Event Player, Vector(-10.877, -0.639, 24.677));
}
}
rule("Lvl3 = Ashe")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 2;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(-30.427, 6.477, -63.211)) > 0.900, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(-30.427, 6.477, -63.211), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 3;
Start Forcing Player To Be Hero(Event Player, Hero(Sombra));
Teleport(Event Player, Vector(238.594, 30.351, 49.379));
}
}
rule("Lvl4 = Sombra")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 3;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(97.710, 45.315, -47.479)) > 0.900, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(97.710, 45.315, -47.479), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 4;
Start Forcing Player To Be Hero(Event Player, Hero(Tracer));
Teleport(Event Player, Vector(114.906, 24.702, -47.225));
}
}
rule("Lvl5 = Tracer")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 4;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(119, 21.840, -45)) > 0.900, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(119, 21.600, -45), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 5;
Start Forcing Player To Be Hero(Event Player, Hero(Doomfist));
Teleport(Event Player, Vector(-6.172, 5.098, -24.643));
}
}
rule("Lvl6 = Doomfist")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 5;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(73.435, 18.182, -79.015)) > 0.900, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(73.435, 18.182, -79.015), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 6;
Start Forcing Player To Be Hero(Event Player, Hero(Genji));
Teleport(Event Player, Vector(94.950, 8.359, 2.105));
}
}
rule("Lvl7 = Genji")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 6;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(64.578, 13.564, 29.671)) > 0.900, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(64.578, 13.564, 29.671), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 7;
Start Forcing Player To Be Hero(Event Player, Hero(Pharah));
Teleport(Event Player, Vector(47.798, 12.098, -8.736));
}
}
rule("Lvl8 = Pharah")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] == 7;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(126.027, 11.348, 16.356)) > 0.900, 8);
Play Effect(All Players(All Teams), Ring Explosion, Yellow, Vector(126.027, 11.348, 16.356), 3);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Unlocked")));
Wait(2, Ignore Condition);
Event Player.Playerlevel[0] = 8;
Start Forcing Player To Be Hero(Event Player, Hero(Junkrat));
Teleport(Event Player, Vector(153.840, 42.334, -11.966));
}
}
rule("Lvl9 = Junkrat")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is Button Held(Event Player, Interact) == True;
Event Player.Playerlevel[0] >= 8;
Global.Currentmap == Map(Dorado);
}
actions
{
Skip If(Distance Between(Event Player, Vector(166.951, 125.072, 35.933)) > 0.800, 11);
Chase Player Variable At Rate(Event Player, Timer, 60, 0, Destination and Rate);
Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 50);
Play Effect(All Players(All Teams), Ring Explosion, Blue, Vector(166.951, 125.072, 35.933), 3);
Small Message(Event Player, String("{0} {1}", String("Level"), String("Finished")));
Wait(3, Ignore Condition);
Event Player.Playerlevel[0] = 9;
Start Forcing Player To Be Hero(Event Player, Hero(Symmetra));
Wait(0.100, Ignore Condition);
Teleport(Event Player, Vector(66.798, 21.360, 21.443));
Event Player.Won = True;
Global.Win = True;
}
}
rule("Map restart")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.Win == True;
Global.Currentmap == Map(Dorado);
}
actions
{
Event Player.PreWinPos = Position Of(Event Player);
Skip If(Event Player.Won == True, 1);
Teleport(Event Player, Vector(72.693, 21.360, 12.988));
}
}