Create
Return to post

Comparing difference between and

View raw
  • settings
  • {
  • main
  • {
  • Description: "Symmetrical fighting / duality sim: Players on Team 2 also control bots on Team 1; The bots only need half as many points to win. CTF and TDM. Best played on Ayutthaya only, but also works with Illios Ruins, Lijang, Nepal, Oasis University, and Workshop Maps. Vanilla heroes! Can be set to 11v11 if spectators are off. By Puppetsquid. Code: WF51X"
  • }
  • lobby
  • {
  • Allow Players Who Are In Queue: Yes
  • Match Voice Chat: Enabled
  • Max Spectators: 1
  • Max Team 1 Players: 0
  • Max Team 2 Players: 10
  • Return To Lobby: Never
  • }
  • modes
  • {
  • Capture the Flag
  • {
  • Flag Score Respawn Time: 0.0
  • Respawn Speed Buff Duration: 10.0
  • Score To Win: 9
  • Team Needs Flag At Base To Score: On
  • enabled maps
  • {
  • Ayutthaya
  • }
  • }
  • disabled Control
  • {
  • Score To Win: 3
  • Scoring Speed Modifier: 500%
  • }
  • disabled Elimination
  • {
  • Capture Objective Tiebreaker: Off
  • Hero Selection: Limited
  • Limited Choice Pool: Team Size +3
  • Reveal Heroes: On
  • }
  • disabled Team Deathmatch
  • {
  • Imbalanced Team Score To Win: On
  • Score To Win: 200
  • Team 2 Score To Win: 60
  • }
  • General
  • {
  • Game Mode Start: Immediately
  • Respawn Time Scalar: 50%
  • Skins: Off
  • }
  • }
  • heroes
  • {
  • Team 1
  • {
  • Damage Dealt: 110%
  • Damage Received: 90%
  • }
  • }
  • workshop
  • {
  • Auto Restart After POTG: On
  • Better Aim uses raycasts: On
  • }
  • extensions
  • {
  • Buff Status Effects
  • Spawn More Dummy Bots
  • }
  • }
  • variables
  • {
  • global:
  • 0: NextSwap
  • 1: MirrorOffset
  • 2: MapDirList
  • 3: CapturePoint
  • 4: PointLocations
  • 6: ctfScoreWin
  • 7: ctfScoreLoss
  • 8: flagMulti
  • 9: it
  • 15: TeamScores
  • player:
  • 4: reversedName
  • 5: Name
  • 6: effect
  • 7: Hamsterfix
  • 8: echoEffects
  • 10: aiHasBeenKilled
  • 11: LastHero
  • 12: Momenum
  • 17: MercyLink
  • 18: SlideDVA
  • 19: TimerDVA
  • 20: ShieldDva
  • 21: ShieldSize
  • }
  • subroutines
  • {
  • 0: restartGame
  • }
  • rule("Setup Mirror Axis (specific for some maps)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.NextSwap = Vector(1, 1, -1);
  • Global.MirrorOffset = Vector(0, 0, 0);
  • Global.MapDirList = Append To Array(Map(Oasis Gardens), Map(Ilios Ruins));
  • Modify Global Variable(MapDirList, Append To Array, Append To Array(Append To Array(Map(Lijiang Control Center), Map(
  • Lijiang Control Center Lunar New Year)), Append To Array(Map(Lijiang Tower), Map(Lijiang Tower Lunar New Year))));
  • Modify Global Variable(MapDirList, Append To Array, Append To Array(Append To Array(Map(Lijiang Night Market), Map(
  • Lijiang Night Market Lunar New Year)), Append To Array(Map(Lijiang Garden), Map(Lijiang Garden Lunar New Year))));
  • Skip If(!Array Contains(Global.MapDirList, Current Map), 1);
  • Global.NextSwap = Vector(-1, 1, 1);
  • Skip If(Current Map != Map(Ayutthaya), 2);
  • Global.NextSwap = Vector(-1, 1, -1);
  • Global.MirrorOffset = Vector(34, 0, -14);
  • Skip If(Current Map == Map(Black Forest), 1);
  • Skip If(Current Map != Map(Black Forest Winter), 1);
  • Global.MirrorOffset = Vector(0, 0, 10);
  • Skip If(Current Map != Map(Oasis City Center), 1);
  • Global.MirrorOffset = Vector(286, 0, 0);
  • Skip If(Current Map != Map(Ilios Ruins), 1);
  • Global.MirrorOffset = Vector(57, 0, 0);
  • Skip If(Current Map != Map(Castillo), 2);
  • Global.NextSwap = Vector(0.980, 1, -1.190);
  • Global.MirrorOffset = Vector(-1.810, 0, 122.710);
  • Skip If(!Array Contains(Append To Array(Map(Workshop Chamber), Append To Array(Map(Workshop Expanse), Map(Workshop Island))),
  • Current Map), 1);
  • Global.NextSwap = Vector(-1, 1, -1);
  • }
  • }
  • rule("Create Mirror Bot")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • disabled Players In Slot(Slot Of(Event Player), Team 1) == Null;
  • Is Alive(Event Player) == True;
  • Has Spawned(Players In Slot(Slot Of(Event Player), Team 1)) == False;
  • }
  • actions
  • {
  • Destroy Effect(Players In Slot(Slot Of(Event Player), Team 1).effect);
  • Create Dummy Bot(Hero(Ana), Team 1, Slot Of(Event Player), Position Of(Event Player) * Global.NextSwap, Vector(0, 0, 0));
  • If(Global.NextSwap == Vector(-1, 1, -1));
  • Start Throttle In Direction(Players In Slot(Slot Of(Event Player), Team 1), Throttle Of(Event Player), Distance Between(Vector(0,
  • 0, 0), Throttle Of(Event Player)) * 1, To Player, Replace existing throttle, Direction and Magnitude);
  • Else;
  • Start Throttle In Direction(Players In Slot(Slot Of(Event Player), Team 1), Throttle Of(Event Player) * Vector(-1, 1, 1),
  • Distance Between(Vector(0, 0, 0), Throttle Of(Event Player)) * 1, To Player, Replace existing throttle,
  • Direction and Magnitude);
  • End;
  • disabled Disable Movement Collision With Players(Event Player);
  • If(Workshop Setting Toggle(Custom String("Advance Settings"), Custom String("Better Aim (uses raycasts)"), False, 0));
  • Start Facing(Players In Slot(Slot Of(Event Player), Team 1), Direction Towards(Eye Position(Players In Slot(Slot Of(Event Player),
  • Team 1)), Global.MirrorOffset + Global.NextSwap * Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, All Players(Team 1), Event Player, True)), 1000, To World, Direction and Turn Rate);
  • Else;
  • Start Facing(Players In Slot(Slot Of(Event Player), Team 1), Facing Direction Of(Event Player) * Global.NextSwap, 1000, To World,
  • Direction and Turn Rate);
  • End;
  • }
  • }
  • rule("Remove bot")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Players In Slot(Slot Of(Event Player), Team 2) == Null;
  • Slot Of(Event Player) != 11;
  • }
  • actions
  • {
  • disabled Destroy Dummy Bot(Team 1, Slot Of(Event Player));
  • Destroy Effect(Event Player.effect);
  • Stop Forcing Player To Be Hero(Players In Slot(Slot Of(Event Player), Team 1));
  • Destroy Dummy Bot(Team 1, Slot Of(Event Player));
  • If(Event Player.echoEffects != 0);
  • Destroy Effect(Event Player.echoEffects);
  • Event Player.echoEffects = 0;
  • End;
  • }
  • }
  • disabled rule("Remove Bot")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Players In Slot(Slot Of(Event Player), Team 2) == Null;
  • }
  • actions
  • {
  • Destroy Dummy Bot(Team 1, Slot Of(Event Player));
  • }
  • }
  • rule("Update hero")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Players In Slot(Slot Of(Event Player), Team 1)) == True;
  • Hero Of(Event Player) != Hero Of(Players In Slot(Slot Of(Event Player), Team 1));
  • Is Duplicating(Event Player) != True;
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Players In Slot(Slot Of(Event Player), Team 1)) == True;
  • Slot Of(Event Player) != 11;
  • }
  • actions
  • {
  • Start Forcing Player To Be Hero(Players In Slot(Slot Of(Event Player), Team 1), Hero Of(Event Player));
  • If(Event Player.echoEffects != 0);
  • Destroy Effect(Event Player.echoEffects);
  • Event Player.echoEffects = 0;
  • End;
  • }
  • }
  • rule("Failsafe positioning every second")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Slot Of(Event Player) != 11;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Is Alive(Players In Slot(Slot Of(Event Player), Team 2)) == True;
  • Has Status(Event Player, Asleep) != True;
  • Has Status(Event Player, Frozen) != True;
  • Has Status(Event Player, Knocked Down) != True;
  • Has Status(Event Player, Rooted) != True;
  • Has Status(Event Player, Stunned) != True;
  • disabled (Hero Of(Event Player) == Hero(Wrecking Ball) && Is Firing Secondary(Event Player)) != True;
  • }
  • actions
  • {
  • Wait(0.150, Ignore Condition);
  • Event Player.C = Position Of(Players In Slot(Slot Of(Event Player), Team 2)) * Global.NextSwap + Global.MirrorOffset;
  • Event Player.D = Distance Between(Position Of(Event Player), Event Player.C);
  • Skip If(Event Player.D < 0.200, 3);
  • Apply Impulse(Event Player, Direction Towards(Position Of(Event Player), Event Player.C + Up), Distance Between(
  • Up + Event Player.C, Position Of(Event Player)) * 3.500, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Direction Towards(Position Of(Event Player), Event Player.C + Down), Distance Between(
  • Down + Event Player.C, Position Of(Event Player)) * 3.500, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Direction Towards(Position Of(Event Player), Event Player.C), Event Player.D * 3.500, To World,
  • Cancel Contrary Motion);
  • Skip If(Event Player.D < 0.200, 1);
  • Skip If(Array Contains(Players Within Radius(Up + Event Player.C, 30, Team 1, Surfaces), Event Player), 3);
  • Global.NextSwap.Momenum = Vector(Speed Of In Direction(Global.NextSwap, Vector(1, 0, 0)), Speed Of In Direction(Global.NextSwap,
  • Up), Speed Of In Direction(Global.NextSwap, Forward));
  • Teleport(Event Player, Event Player.C);
  • Apply Impulse(Event Player, Direction Towards(Vector(0, 0, 0), Event Player.Momenum), Distance Between(Vector(0, 0, 0),
  • Event Player.Momenum) * 1, To World, Cancel Contrary Motion);
  • Loop If Condition Is True;
  • Small Message(Null, Custom String("Mode by puppetsquid"));
  • Skip If((Hero Of(Event Player) == Hero(Wrecking Ball) && Is Firing Secondary(Event Player)) == True, 1);
  • }
  • }
  • rule("Do Shoot")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Primary Fire)) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • Hero Of(Event Player) != Hero(Mercy);
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Primary Fire));
  • }
  • }
  • rule("Stop Shoot")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Hero Of(Event Player) != Hero(Mercy);
  • Is Firing Primary(Event Player) == False;
  • Is Button Held(Event Player, Button(Primary Fire)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Primary Fire));
  • }
  • }
  • rule("Do Jump")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Jump)) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Jump));
  • }
  • }
  • rule("Stop Jump")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Jump)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Jump));
  • }
  • }
  • rule("Do Ability 1")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ability 1)) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Ability 1));
  • }
  • }
  • rule("Stop Ability 1")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ability 1)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Ability 1));
  • }
  • }
  • rule("Do Ability 2")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ability 2)) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Ability 2));
  • }
  • }
  • rule("Stop Ability 2")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ability 2)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Ability 2));
  • }
  • }
  • rule("Do Ultimate")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Set Ultimate Charge(Players In Slot(Slot Of(Event Player), Team 1), 100);
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Ultimate));
  • }
  • }
  • rule("Stop Ultimate")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ultimate)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Ultimate));
  • }
  • }
  • rule("Do Crouch")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Crouch)) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Crouch));
  • }
  • }
  • rule("Stop Crouch")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Crouch)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Crouch));
  • }
  • }
  • rule("Passthru")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Position Of(Event Player), Position Of(Event Player) * Global.NextSwap) < 1;
  • }
  • actions
  • {
  • Set Status(Event Player, Null, Phased Out, 1);
  • }
  • }
  • rule("Other Rules")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • actions
  • {
  • Enable Death Spectate All Players(Event Player);
  • }
  • }
  • rule("Wave Hello")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Communicating(Event Player, Hello) == True;
  • }
  • actions
  • {
  • Communicate(Players In Slot(Slot Of(Event Player), Team 1), Hello);
  • }
  • }
  • rule("On Player Dead")
  • {
  • event
  • {
  • Player Died;
  • Team 2;
  • All;
  • }
  • actions
  • {
  • Skip If(Current Game Mode == Game Mode(Capture the Flag), 1);
  • Wait(0.250, Ignore Condition);
  • disabled Set Status(Players In Slot(Slot Of(Event Player), Team 1), Null, Phased Out, 9999);
  • disabled Set Invisible(Players In Slot(Slot Of(Event Player), Team 1), All);
  • disabled Teleport(Players In Slot(Slot Of(Event Player), Team 1), Nearest Walkable Position(Event Player));
  • Kill(Players In Slot(Slot Of(Event Player), Team 1), Null);
  • If(Current Game Mode == Game Mode(Team Deathmatch));
  • Modify Team Score(Team 1, 1);
  • End;
  • }
  • }
  • rule("On Player Alive")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Heal(Players In Slot(0, Team 1), Null, Max Health(Event Player));
  • Set Invisible(Players In Slot(Slot Of(Event Player), Team 1), None);
  • Clear Status(Players In Slot(Slot Of(Event Player), Team 1), Phased Out);
  • }
  • }
  • rule("CTF additions")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Capture the Flag);
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Completion;
  • disabled Create HUD Text(All Players(All Teams), String("{0} / {1}", Global.TeamScores[1], 15), Null, Custom String("DEATHS TO LOSE"), Top,
  • 0, Color(Team 1), Color(White), Color(White), String, Default Visibility);
  • disabled Create HUD Text(All Players(All Teams), String("{0} / {1}", Global.TeamScores[0], 30), Null, Custom String("ELIMS TO WIN",
  • Team Score(Team 1)), Top, 0, Color(Team 2), Color(White), Color(White), String, Default Visibility);
  • disabled Global.ctfScoreWin = 0;
  • Create HUD Text(All Players(Team 2), String("{0} / {1}", Global.TeamScores[0], Global.ctfScoreWin), Null, Custom String(
  • "ELIMS TO WIN", Team Score(Team 2)), Top, -3, Color(Team 2), Color(White), Color(White), Visible To and String,
  • Default Visibility);
  • Create HUD Text(All Players(Team 2), String("{0} / {1}", Global.TeamScores[1], Global.ctfScoreLoss), Null, Custom String(
  • "DEATHS TO LOSE"), Top, -2, Color(Team 1), Color(White), Color(White), Visible To and String, Default Visibility);
  • disabled Create HUD Text(All Players(All Teams), Null, Custom String("5x {0} {1}", String("Capture"), String("Score")), Null, Top, -1,
  • Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • disabled Create HUD Text(All Players(All Teams), Custom String("5x {0} {1}", String("Capture"), String("Score")), Null, Custom String(
  • "ELIMS TO WIN", Team Score(Team 1)), Top, 0, Color(Team 2), Color(White), Color(White), String, Default Visibility);
  • disabled Create HUD Text(Filtered Array(All Players(Team 2), Is In Spawn Room(Current Array Element)), Null, Custom String(""),
  • Custom String("You vs Reflections. Elims and Caps to win.", Global.ctfScoreWin), Top, 1, Color(White), Color(White), Color(
  • White), Visible To and String, Default Visibility);
  • disabled Create HUD Text(Filtered Array(All Players(Team 2), Is In Spawn Room(Current Array Element)), Null, Custom String(
  • "{0} to win, Flags worth 5x, enemy scores doubled", Global.ctfScoreWin), Custom String("", Global.ctfScoreWin), Top, 2, Color(
  • White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Pause Match Time;
  • Set Objective Description(Null, Custom String(""), Visible To and String);
  • }
  • }
  • rule("Team 1 win")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • disabled Team Score(Team 2) == Global.ctfScoreWin;
  • Team Score(Team 1) == Global.ctfScoreLoss;
  • Current Game Mode == Game Mode(Capture the Flag);
  • }
  • actions
  • {
  • Declare Team Victory(Team 1);
  • If(Global.Z);
  • Call Subroutine(restartGame);
  • End;
  • }
  • }
  • rule("Team 2 win")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Team Score(Team 2) == Global.ctfScoreWin;
  • disabled Team Score(Team 1) == Global.ctfScoreLoss;
  • Current Game Mode == Game Mode(Capture the Flag);
  • }
  • actions
  • {
  • Declare Team Victory(Team 2);
  • If(Global.Z);
  • Call Subroutine(restartGame);
  • End;
  • }
  • }
  • rule("CTF score override")
  • {
  • event
  • {
  • Player Dealt Final Blow;
  • All;
  • All;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Capture the Flag);
  • }
  • actions
  • {
  • Skip If(Victim == Event Player, 2);
  • Modify Team Score(Team Of(Event Player), 1);
  • Skip(1);
  • Modify Team Score(Team Of(Event Player), -1);
  • }
  • }
  • rule("Score display bypass fix")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • (Global.TeamScores[0] != Team Score(Team 2) || Global.TeamScores[1] != Team Score(Team 1)) == True;
  • Current Game Mode == Game Mode(Capture the Flag);
  • }
  • actions
  • {
  • Global.TeamScores[0] = Team Score(Team 2);
  • Global.TeamScores[1] = Team Score(Team 1);
  • Wait(0.250, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Quickstart")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Assembling Heroes == True;
  • Current Game Mode != Game Mode(Elimination);
  • }
  • actions
  • {
  • Set Match Time(1);
  • }
  • }
  • disabled rule("Display server performance characteristics")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create HUD Text(Host Player, String("{0}: {1}", String("Server Load"), String("{0}%", Server Load)), Null, Null, Left, 0, Color(
  • White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Host Player, String("{0}: {1}", String("Server Load Average"), String("{0}%", Server Load Average)), Null, Null,
  • Left, 1, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Host Player, String("{0}: {1}", String("Server Load Peak"), String("{0}%", Server Load Peak)), Null, Null, Left, 2,
  • Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Auto Resawpn Baddies")
  • {
  • event
  • {
  • Player Died;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Current Game Mode != Game Mode(Elimination);
  • }
  • actions
  • {
  • Wait(3, Ignore Condition);
  • Respawn(Event Player);
  • }
  • }
  • disabled rule("Custom TDM spots")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Team Deathmatch);
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Event Player) != True;
  • Array Contains(Global.PointLocations, Position Of(Event Player)) != True;
  • }
  • actions
  • {
  • Modify Global Variable(PointLocations, Append To Array, Position Of(Event Player));
  • disabled Global.F = Nearest Walkable Position(Global.NextSwap * 20 + Global.MirrorOffset);
  • disabled Create Effect(All Players(All Teams), Light Shaft, Color(Team 2), Global.F, 5, Visible To Position and Radius);
  • disabled Create Icon(All Players(All Teams), Global.F, Arrow: Down, Visible To and Position, Color(White), True);
  • }
  • }
  • disabled rule("Change Places")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Wait(15, Ignore Condition);
  • Global.CapturePoint = Random Value In Array(Global.PointLocations);
  • }
  • }
  • disabled rule("QuickSkipTest")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Total Time Elapsed == 12;
  • }
  • actions
  • {
  • Set Match Time(1);
  • }
  • }
  • rule("Do Shoot2")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Secondary Fire)) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • Is Alive(Players In Slot(Slot Of(Event Player), Team 1)) == True;
  • Hero Of(Event Player) != Hero(Mercy);
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire));
  • }
  • }
  • rule("Stop Shoot2")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Firing Secondary(Event Player) == False;
  • Is Button Held(Event Player, Button(Secondary Fire)) == False;
  • Hero Of(Event Player) != Hero(Mercy);
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire));
  • }
  • }
  • disabled rule("McCree Fix")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • McCree;
  • }
  • conditions
  • {
  • Is Firing Secondary(Event Player) != True;
  • }
  • actions
  • {
  • Set Status(Players In Slot(Slot Of(Event Player), Team 1), Null, Stunned, 0.250);
  • }
  • }
  • disabled rule("Remove bot")
  • {
  • event
  • {
  • Player Left Match;
  • All;
  • All;
  • }
  • actions
  • {
  • Destroy Dummy Bot(Team 1, Slot Of(Event Player));
  • }
  • }
  • rule("Do Melee")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Melee)) == True;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Melee));
  • }
  • }
  • rule("Stop Melee")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Melee)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Melee));
  • }
  • }
  • rule("Do Reload")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Reload)) == True;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Reload));
  • }
  • }
  • rule("Stop Reload")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Reload)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Reload));
  • }
  • }
  • rule("CTF Match Draw")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Match Time == 0;
  • Is Game In Progress == True;
  • Current Game Mode == Game Mode(Capture the Flag);
  • }
  • actions
  • {
  • disabled If(Team Score(Team 2) < 15);
  • disabled Declare Match Draw;
  • disabled End;
  • Go To Assemble Heroes;
  • }
  • }
  • rule("Elim Loss")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Elimination);
  • Count Of(All Living Players(Team 2)) == 1;
  • Number Of Players(Team 2) > 1;
  • }
  • actions
  • {
  • disabled Declare Round Victory(Team 1);
  • Kill(All Living Players(All Teams), All Living Players(Team 1));
  • }
  • }
  • rule("Elim Ghosts")
  • {
  • event
  • {
  • Player Died;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Elimination);
  • Attacker != Null;
  • Is Match Complete != True;
  • (Hero Of(Event Player) == Hero(D.Va) && Max Health(Event Player) > 300) == False;
  • }
  • actions
  • {
  • Event Player.aiHasBeenKilled = True;
  • Kill(Filtered Array(All Players(Team 1), Current Array Element.aiHasBeenKilled == True), Null);
  • Wait(1, Ignore Condition);
  • Respawn(Filtered Array(All Players(Team 1), Event Player.aiHasBeenKilled && Is Alive(Players In Slot(Slot Of(
  • Current Array Element), Team 2))));
  • Wait(0.250, Ignore Condition);
  • Set Status(Filtered Array(All Players(Team 1), Current Array Element.aiHasBeenKilled == True), Null, Burning, 9999);
  • Set Damage Received(Event Player, 125);
  • Set Damage Dealt(Event Player, 80);
  • For Global Variable(X, 0, Count Of(All Players(Team 1)), 1);
  • Start Forcing Player To Be Hero(Players In Slot(Global.X, Team 1), Hero Of(Players In Slot(Global.X, Team 2)));
  • Set Max Health(Players In Slot(Event Player.X, Team 1), Normalized Health(Players In Slot(Global.X, Team 2)) * 100);
  • End;
  • }
  • }
  • rule("Reset zombos")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Between Rounds == True;
  • Current Game Mode == Game Mode(Elimination);
  • }
  • actions
  • {
  • Event Player.aiHasBeenKilled = False;
  • Set Damage Received(Event Player, 100);
  • Clear Status(Event Player, Burning);
  • Set Damage Dealt(Event Player, 100);
  • Set Max Health(Event Player, 100);
  • }
  • }
  • rule("Do Use")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Interact)) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Interact));
  • }
  • }
  • rule("Stop Use")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Interact));
  • }
  • }
  • disabled rule("Rule 52")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Array Contains(Append To Array(Append To Array(Map(Workshop Chamber), Map(Workshop Expanse)), Map(Workshop Island)), Current Map)
  • == True;
  • }
  • }
  • rule("Elim Rotation")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Current Game Mode == Game Mode(Elimination);
  • }
  • actions
  • {
  • Set Facing(Event Player, Direction Towards(Event Player, Players In Slot(Slot Of(Event Player) + 1, Team 1)), To World);
  • }
  • }
  • disabled rule("TDM npcscore")
  • {
  • event
  • {
  • Player Died;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Attacker == Null;
  • Current Game Mode == Game Mode(Team Deathmatch);
  • }
  • actions
  • {
  • Modify Team Score(Team 1, 2);
  • }
  • }
  • rule("TDM Disable")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Team Deathmatch);
  • }
  • actions
  • {
  • Disable Built-In Game Mode Scoring;
  • }
  • }
  • rule("TDM kill score")
  • {
  • event
  • {
  • Player Dealt Final Blow;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Team Deathmatch);
  • }
  • actions
  • {
  • Modify Team Score(Team 2, 1);
  • }
  • }
  • rule("ELIM Additions")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Elimination);
  • disabled Is Game In Progress == True;
  • }
  • actions
  • {
  • disabled Disable Built-In Game Mode Completion;
  • disabled Create HUD Text(All Players(All Teams), String("{0} / {1}", Global.TeamScores[1], 15), Null, Custom String("DEATHS TO LOSE"), Top,
  • 0, Color(Team 1), Color(White), Color(White), String, Default Visibility);
  • disabled Create HUD Text(All Players(All Teams), String("{0} / {1}", Global.TeamScores[0], 30), Null, Custom String("ELIMS TO WIN",
  • Team Score(Team 1)), Top, 0, Color(Team 2), Color(White), Color(White), String, Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 2), Is In Spawn Room(Current Array Element)), Null, Custom String(
  • "Dead enemies come back as burning 'zombies'. Your team loses if reduced to one player."), Custom String(
  • "Kill every Dummy Bot at least once"), Top, 10, Color(White), Color(White), Color(White), Visible To and String,
  • Default Visibility);
  • Create HUD Text(All Players(All Teams), Hero Icon String(Hero Of(Filtered Array(All Players(Team 1),
  • Current Array Element.aiHasBeenKilled == False))), Null, Custom String("Kill these bots to win"), Top, 0, Color(White), Color(
  • White), Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("TDM Additions")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Team Deathmatch);
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • disabled Disable Built-In Game Mode Completion;
  • Create HUD Text(All Players(All Teams), 15, Null, Custom String("DEATHS TO LOSE"), Top, 0, Color(Team 1), Color(White), Color(
  • White), String, Default Visibility);
  • Create HUD Text(All Players(All Teams), 30, Null, Custom String("ELIMS TO WIN", Team Score(Team 1)), Top, 0, Color(Team 2), Color(
  • White), Color(White), String, Default Visibility);
  • Create HUD Text(All Players(Team 2), Null, Null, Custom String("Get elims to win"), Top, 10, Color(White), Color(White), Color(
  • White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Damage Nerf")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • actions
  • {
  • Start Damage Modification(Players In Slot(Slot Of(Event Player), Team 1), Event Player, 50, Receivers Damagers and Damage Percent);
  • }
  • }
  • disabled rule("baby DVa Roll")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • D.Va;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ability 1)) == True;
  • !Has Status(Event Player, Stunned) == True;
  • !Has Status(Event Player, Asleep) == True;
  • !Has Status(Event Player, Rooted) == True;
  • !Has Status(Event Player, Frozen) == True;
  • !Has Status(Event Player, Knocked Down) == True;
  • !Has Status(Event Player, Hacked) == True;
  • }
  • actions
  • {
  • Event Player.SlideDVA = World Vector Of(Throttle Of(Event Player), Event Player, Rotation);
  • Event Player.SlideDVA[1] = Facing Direction Of(Event Player);
  • Start Camera(Event Player, Eye Position(Event Player), Eye Position(Event Player) + Event Player.SlideDVA[1], 0);
  • Set Facing(Event Player, World Vector Of(Throttle Of(Event Player), Event Player, Rotation), To World);
  • Set Status(Event Player, Null, Knocked Down, 0.250);
  • For Player Variable(Event Player, TimerDVA, 0, 0.260, 0.020);
  • Apply Impulse(Event Player, Event Player.SlideDVA, 15, To World, Cancel Contrary Motion);
  • Wait(0.020, Ignore Condition);
  • Skip If(Event Player.TimerDVA < 0.230, 4);
  • Set Facing(Event Player, Event Player.SlideDVA[1], To World);
  • Stop Camera(Event Player);
  • Skip If(Is Button Held(Event Player, Button(Ability 1)), 1);
  • Event Player.TimerDVA = 0.260;
  • End;
  • Clear Status(Event Player, Knocked Down);
  • Wait(5, Ignore Condition);
  • }
  • }
  • disabled rule("baby DVa Shield")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • D.Va;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ability 2)) == True;
  • !Has Status(Event Player, Stunned) == True;
  • !Has Status(Event Player, Asleep) == True;
  • !Has Status(Event Player, Rooted) == True;
  • !Has Status(Event Player, Frozen) == True;
  • !Has Status(Event Player, Knocked Down) == True;
  • !Has Status(Event Player, Hacked) == True;
  • }
  • actions
  • {
  • Play Effect(All Players(All Teams), Ring Explosion, Color(Green), Event Player, 7);
  • Event Player.ShieldDva = Position Of(Event Player);
  • Create Effect(All Players(All Teams), Sphere, Color(Lime Green), Event Player.ShieldDva, Event Player.ShieldSize,
  • Visible To Position and Radius);
  • Modify Player Variable(Event Player, ShieldDva, Append To Array, Last Created Entity);
  • Start Damage Modification(Players Within Radius(Event Player.ShieldDva, Event Player.ShieldSize, Team Of(Event Player), Off),
  • All Players(All Teams), 25, Receivers Damagers and Damage Percent);
  • Modify Player Variable(Event Player, ShieldDva, Append To Array, Last Damage Modification ID);
  • Chase Player Variable Over Time(Event Player, ShieldSize, 6, 0.240, Destination and Duration);
  • Wait(0.250, Ignore Condition);
  • Chase Player Variable At Rate(Event Player, ShieldSize, 0, 0.250, Destination and Rate);
  • Wait(5, Ignore Condition);
  • Chase Player Variable Over Time(Event Player, ShieldSize, 0, 0.240, Destination and Duration);
  • Wait(0.250, Ignore Condition);
  • Stop Damage Modification(Event Player.ShieldDva[2].ShieldDva);
  • Destroy Effect(Event Player.ShieldDva[1]);
  • Wait(5, Ignore Condition);
  • Global.NextSwap = 0;
  • }
  • }
  • disabled rule("Mercy Heal")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Secondary Fire)) == True;
  • Is Firing Primary(Event Player) != True;
  • Is Alive(Event Player) == True;
  • !Has Status(Event Player, Stunned) == True;
  • !Has Status(Event Player, Asleep) == True;
  • !Has Status(Event Player, Frozen) == True;
  • !Has Status(Event Player, Knocked Down) == True;
  • }
  • actions
  • {
  • While(Event Player.MercyLink == Null);
  • Event Player.MercyLink = First Of(Sorted Array(Filtered Array(Players Within Radius(Eye Position(Event Player), 15, Team Of(
  • Event Player), Surfaces), Is In View Angle(Event Player, Eye Position(Current Array Element), 45) && Is Alive(
  • Current Array Element)), Angle Between Vectors(Facing Direction Of(Event Player), Direction Towards(Eye Position(Event Player),
  • Eye Position(Current Array Element)))));
  • Wait(0.100, Abort When False);
  • End;
  • While(Is Alive(Event Player.MercyLink) && Event Player.MercyLink != Null && Distance Between(Eye Position(Event Player),
  • Eye Position(Event Player.MercyLink)) < 15.250);
  • If(Is Using Ultimate(Event Player));
  • Heal(Remove From Array(Players Within Radius(Event Player.MercyLink, 10, Team Of(Event Player), Surfaces And Enemy Barriers),
  • Event Player), Event Player, 0.500);
  • Else;
  • Heal(Event Player.MercyLink, Event Player, 6);
  • End;
  • disabled Heal(Event Player.MercyLink, Event Player, 6);
  • Wait(0.100, Ignore Condition);
  • If(Has Status(Event Player, Knocked Down) || Has Status(Event Player, Asleep) || Has Status(Event Player, Stunned) || Has Status(
  • Event Player, Frozen));
  • Event Player.MercyLink = Null;
  • Else If(Is Firing Primary(Event Player) || !Is Button Held(Event Player, Button(Secondary Fire)));
  • Event Player.MercyLink = Null;
  • End;
  • End;
  • Loop If Condition Is True;
  • Event Player.MercyLink = Null;
  • }
  • }
  • disabled rule("Mercy Beam")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • actions
  • {
  • Create Beam Effect(Filtered Array(All Players(All Teams), Event Player.MercyLink != Null), Good Beam, Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 1.100 + Direction From Angles(Horizontal Facing Angle Of(Event Player) + -15,
  • Vertical Facing Angle Of(Event Player) + 10), (Position Of(Event Player.MercyLink) + Eye Position(Event Player.MercyLink))
  • * 0.500, Color(Orange), Visible To Position and Radius);
  • Create Effect(Filtered Array(All Players(All Teams), Is Using Ultimate(Event Player) && Event Player.MercyLink != Null), Ring,
  • Color(Orange), Eye Position(Event Player.MercyLink), 10, Visible To Position and Radius);
  • }
  • }
  • rule("Invis on spawn")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Hero Of(Event Player) == Null;
  • Is Alive(Players In Slot(Slot Of(Event Player), Team 2)) == False;
  • }
  • actions
  • {
  • Set Invisible(Event Player, All);
  • Set Status(Event Player, Null, Phased Out, 9999);
  • Set Status(Event Player, Null, Asleep, 9999);
  • }
  • }
  • rule("Hide in spawn")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is In Spawn Room(Event Player) == True;
  • }
  • actions
  • {
  • Set Invisible(Event Player, All);
  • }
  • }
  • rule("Reveal out of spawn")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is In Spawn Room(Event Player) != True;
  • Is Alive(Players In Slot(Slot Of(Event Player), Team 2)) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Wait(0.010, Ignore Condition);
  • Set Invisible(Event Player, None);
  • Clear Status(Event Player, Phased Out);
  • Clear Status(Event Player, Asleep);
  • }
  • }
  • rule("Torb Turret Synch")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Torbjörn;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) == False;
  • }
  • actions
  • {
  • Press Button(Players In Slot(Slot Of(Event Player), Opposite Team Of(Team Of(Event Player))), Button(Interact));
  • }
  • }
  • rule("Emote")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Communicating Any Emote(Event Player) == True;
  • }
  • actions
  • {
  • Set Status(Players In Slot(Slot Of(Event Player), Team 1), Event Player, Phased Out, 9999);
  • disabled Wait(0.250, Ignore Condition);
  • Set Status(Players In Slot(Slot Of(Event Player), Team 1), Event Player, Asleep, 9999);
  • disabled Communicate(Players In Slot(Slot Of(Event Player), Team 1), Hello);
  • Wait(0.250, Ignore Condition);
  • Set Status(Players In Slot(Slot Of(Event Player), Team 1), Event Player, Frozen, 9999);
  • }
  • }
  • rule("Unemote")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Clear Status(Players In Slot(Slot Of(Event Player), Team 1), Frozen);
  • Clear Status(Players In Slot(Slot Of(Event Player), Team 1), Phased Out);
  • Clear Status(Players In Slot(Slot Of(Event Player), Team 1), Asleep);
  • }
  • }
  • rule("Lucio swap aura")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Lúcio;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) != Is Using Ability 1(Players In Slot(Slot Of(Event Player), Team 2));
  • }
  • actions
  • {
  • Press Button(Event Player, Button(Ability 1));
  • }
  • }
  • rule("Junkrat Blast")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Junkrat;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Press Button(Event Player, Button(Primary Fire));
  • }
  • }
  • rule("GUI: Hero Changes")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • disabled Create HUD Text(Players On Hero(Hero(Mercy), All Teams), Hero Icon String(Hero(Mercy)), Custom String(
  • "Secondary Fire: Healing Beam"), Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String,
  • Default Visibility);
  • Create HUD Text(Players On Hero(Hero(Junkrat), All Teams), Hero Icon String(Hero(Junkrat)), Custom String(
  • "Ult: Explodes Instantly"), Null, Left, 0, Color(White), Color(White), Color(White), Visible To and String,
  • Default Visibility);
  • disabled Create HUD Text(Players On Hero(Hero(Lúcio), All Teams), Hero Icon String(Hero(Lúcio)), Custom String(
  • "Crossfade is set to both heal and speed boost"), Custom String(""), Left, 0, Color(White), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • disabled Create HUD Text(Players On Hero(Hero(Bastion), All Teams), Hero Icon String(Hero(Bastion)), Custom String(
  • "sentry replaced with Overdrive (speed and health boost, 30% DR, no self heal)"), Null, Left, 0, Color(White), Color(White),
  • Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Bastion Match")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) != True;
  • Is Using Ability 1(Players In Slot(Slot Of(Event Player), Team 2)) != True;
  • Is Using Ultimate(Event Player) != True;
  • Is Using Ultimate(Players In Slot(Slot Of(Event Player), Team 1)) != True;
  • Distance Between(Event Player, Eye Position(Event Player)) != Distance Between(Players In Slot(Slot Of(Event Player), Team 2),
  • Eye Position(Players In Slot(Slot Of(Event Player), Team 2)));
  • }
  • actions
  • {
  • Wait(1, Abort When False);
  • Press Button(Event Player, Button(Ability 1));
  • Wait Until(!Is Using Ability 1(Event Player), 1);
  • Loop If Condition Is True;
  • }
  • }
  • disabled rule("Bastion Fix")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.LastHero != Hero Of(Event Player);
  • }
  • actions
  • {
  • If(Event Player.LastHero == Hero(Bastion));
  • Set Ability 1 Enabled(Event Player, True);
  • End;
  • Event Player.LastHero = Hero Of(Event Player);
  • }
  • }
  • rule("Cap Point")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Number Of Players On Objective(Team 2) >= Round To Integer(Number Of Players(Team 2) * 0.500, Up);
  • disabled Count Of(Filtered Array(Number Of Living Players(Team 1), !Is In Spawn Room(Current Array Element))) == 0;
  • Global.TeamScores != True;
  • Control Mode Scoring Team == Team 2;
  • disabled Count Of(Filtered Array(Number Of Players On Objective(Team 1), Is Alive(Current Array Element))) == 0;
  • }
  • actions
  • {
  • Global.TeamScores = True;
  • Declare Round Victory(Team 2);
  • disabled Wait(0.100, Ignore Condition);
  • disabled Go To Assemble Heroes;
  • }
  • }
  • rule("control point extras")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Control);
  • }
  • actions
  • {
  • Disable Built-In Game Mode Scoring;
  • disabled Create HUD Text(All Players(All Teams), Custom String("Kill all enemy bots"), Count Of(Filtered Array(All Living Players(Team 1),
  • !Is In Spawn Room(Current Array Element))) == 0, Null, Top, 0, Color(Team 1), Color(White), Color(Red), Visible To and String,
  • Default Visibility);
  • Create HUD Text(All Players(All Teams), Custom String("{0} players on the point", Round To Integer(Number Of Players(Team 2)
  • * 0.500, Up)), Number Of Players On Objective(Team 2) >= Round To Integer(All Players(Team 2) * 0.500, Up), Null, Top, 0,
  • Color(Team 2), Color(White), Color(Team 2), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), Custom String("Capture Control Point"), Null, Null, Top, 0, Color(Team 1), Color(White),
  • Color(Red), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Controlpoint unlock")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Control Mode Point Locked == True;
  • }
  • actions
  • {
  • Set Match Time(0.100);
  • Global.TeamScores = False;
  • }
  • }
  • rule("BackwardName")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Event Player.Name = Custom String("{0}", Players In Slot(Slot Of(Event Player), Team 2));
  • Event Player.reversedName = Char In String(Event Player.Name, String Length(Event Player.Name) - 1);
  • While(String Length(Event Player.Name) > String Length(Event Player.reversedName));
  • Event Player.reversedName = Custom String("{0}{1}", Event Player.reversedName, Char In String(Event Player.Name, String Length(
  • Event Player.Name) - (1 + String Length(Event Player.reversedName))));
  • Wait(0.100, Ignore Condition);
  • End;
  • Start Forcing Dummy Bot Name(Event Player, Event Player.reversedName);
  • }
  • }
  • disabled rule("Rule 79")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("5x score on flag")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Player Carrying Flag(Opposite Team Of(Team Of(Event Player))) == Event Player;
  • }
  • actions
  • {
  • Wait Until(!Is Flag Being Carried(Opposite Team Of(Team Of(Event Player))), 99999);
  • Abort If(Is Dead(Event Player));
  • Wait(0.250, Ignore Condition);
  • Abort If(Is Flag At Base(Opposite Team Of(Team Of(Event Player))) != True);
  • For Global Variable(it, 1, Global.flagMulti, 1);
  • Modify Team Score(Team Of(Event Player), 1);
  • Wait(0.250, Ignore Condition);
  • End;
  • }
  • }
  • rule("SmokeyEffect")
  • {
  • event
  • {
  • Player Joined Match;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Create Effect(All Players(All Teams), Reaper Wraith Form Effect, Color(White), Event Player, 1, Visible To Position and Radius);
  • Event Player.effect = Last Created Entity;
  • }
  • }
  • rule("Remove Smoke")
  • {
  • event
  • {
  • Player Left Match;
  • Team 2;
  • All;
  • }
  • actions
  • {
  • Destroy Effect(Event Player.effect);
  • }
  • }
  • rule("elapsed time CTF")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Capture the Flag);
  • Is Game In Progress == True;
  • Is In Setup != True;
  • Is Assembling Heroes != True;
  • }
  • actions
  • {
  • Set Match Time(Total Time Elapsed);
  • Wait(1, Ignore Condition);
  • Loop;
  • }
  • }
  • rule("wep swap fix!")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Weapon(Event Player) != Weapon(Players In Slot(Slot Of(Event Player), Team 2));
  • }
  • actions
  • {
  • Set Weapon(Event Player, Weapon(Players In Slot(Slot Of(Event Player), Team 2)));
  • }
  • }
  • disabled rule("Rule 82")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Wait(5, Ignore Condition);
  • Start Forcing Player Outlines(All Players(All Teams), All Players(All Teams), True, Color(White), Default);
  • Loop;
  • }
  • }
  • rule("Reload")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Reloading(Event Player) == True;
  • }
  • actions
  • {
  • Press Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Reload));
  • }
  • }
  • rule("Damage fix")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Start Damage Modification(All Players(Team 1), All Players(Team 1), 50, Receivers Damagers and Damage Percent);
  • }
  • }
  • rule("Dva mech Fix")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • D.Va;
  • }
  • conditions
  • {
  • Max Health Of Type(Event Player, Health) > Max Health Of Type(Players In Slot(Slot Of(Event Player), Team 2), Health);
  • }
  • actions
  • {
  • Kill(Event Player, Null);
  • }
  • }
  • rule("WreckingFix")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) != Is Using Ability 1(Players In Slot(Slot Of(Event Player), Team 2));
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Press Button(Event Player, Button(Ability 1));
  • Wait(0.500, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Wrecking latchmatch")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Is Firing Secondary(Event Player) == True;
  • Is Firing Secondary(Players In Slot(Slot Of(Event Player), Team 1)) == False;
  • }
  • actions
  • {
  • Set Ability Cooldown(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire), 0);
  • Event Player.Hamsterfix = Position Of(Event Player) * Global.NextSwap + Global.MirrorOffset;
  • Set Facing(Players In Slot(Slot Of(Event Player), Team 1), Vector Towards(Eye Position(Players In Slot(Slot Of(Event Player),
  • Team 1)), Ray Cast Hit Position(Event Player.Hamsterfix, Event Player.Hamsterfix + Facing Direction Of(Event Player)
  • * Global.NextSwap * 100, Empty Array, Event Player, True)), To World);
  • disabled Event Player.Hamsterfix = Position Of(Event Player) * Global.NextSwap + Global.MirrorOffset;
  • Event Player.Hamsterfix = Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(
  • Event Player) * 100, Empty Array, Event Player, True) * Global.NextSwap + Global.MirrorOffset;
  • Stop Facing(Event Player);
  • Start Facing(Players In Slot(Slot Of(Event Player), Team 1), Direction Towards(Eye Position(Players In Slot(Slot Of(Event Player),
  • Team 1)), Event Player.Hamsterfix), 1000, To World, Direction and Turn Rate);
  • While(Is Firing Secondary(Event Player) && !Is Firing Secondary(Players In Slot(Slot Of(Event Player), Team 1)));
  • Skip If(Is Firing Secondary(Players In Slot(Slot Of(Event Player), Team 1)), 4);
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire));
  • Wait(0.016, Ignore Condition);
  • Set Ability Cooldown(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire), 0);
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire));
  • Set Ability Cooldown(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire), 0);
  • Wait(0.250, Ignore Condition);
  • End;
  • Stop Holding Button(Event Player, Button(Secondary Fire));
  • Stop Facing(Event Player);
  • Start Facing(Players In Slot(Slot Of(Event Player), Team 1), Direction Towards(Eye Position(Players In Slot(Slot Of(Event Player),
  • Team 1)), Global.MirrorOffset + Global.NextSwap * Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player)
  • + Facing Direction Of(Event Player) * 100, All Players(Team 1), Event Player, True)), 1000, To World, Direction and Turn Rate);
  • }
  • }
  • rule("Dva mech Fix")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • D.Va;
  • }
  • conditions
  • {
  • Max Health Of Type(Event Player, Health) < Max Health Of Type(Players In Slot(Slot Of(Event Player), Team 2), Health);
  • }
  • actions
  • {
  • Wait(1, Abort When False);
  • Set Ultimate Charge(Event Player, 100);
  • Press Button(Event Player, Button(Ultimate));
  • }
  • }
  • rule("reflection start")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Current Map == Map(Ayutthaya);
  • Distance Between(Event Player, Global.MirrorOffset * 0.500) < 6.500;
  • }
  • actions
  • {
  • disabled Create Effect(All Players(All Teams), Sphere, Color(White), Global.MirrorOffset * 0.500, 6, Visible To Position and Radius);
  • Start Forcing Player Outlines(Players In Slot(Slot Of(Event Player), Team 1), Event Player, True, Color(Purple), Always);
  • }
  • }
  • rule("reflection stop")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Current Map == Map(Ayutthaya);
  • Distance Between(Event Player, Global.MirrorOffset * 0.500) > 13;
  • }
  • actions
  • {
  • Stop Forcing Player Outlines(Players In Slot(Slot Of(Event Player), All Teams), Event Player);
  • }
  • }
  • rule("thanks")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Communicating(Event Player, Thanks) == True;
  • }
  • actions
  • {
  • Communicate(Players In Slot(Slot Of(Event Player), Team 1), Thanks);
  • }
  • }
  • rule("Wave Hello")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Communicating(Event Player, Goodbye) == True;
  • }
  • actions
  • {
  • Communicate(Players In Slot(Slot Of(Event Player), Team 1), Goodbye);
  • }
  • }
  • rule("thanks")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Communicating Any Spray(Event Player) == True;
  • }
  • actions
  • {
  • Communicate(Players In Slot(Slot Of(Event Player), Team 1), Spray Up);
  • }
  • }
  • rule("Mirror")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Ayutthaya);
  • }
  • actions
  • {
  • Create Effect(All Players(All Teams), Ring, Color(Violet), Down + Global.MirrorOffset * 0.500, 6, Visible To Position and Radius);
  • }
  • }
  • rule("Do Shoot mercy")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mercy;
  • }
  • conditions
  • {
  • Is Firing Primary(Event Player) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Primary Fire));
  • }
  • }
  • rule("Do Shoot2 mercy")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mercy;
  • }
  • conditions
  • {
  • Is Firing Secondary(Event Player) == True;
  • Is Communicating Any Emote(Event Player) == False;
  • }
  • actions
  • {
  • Start Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire));
  • }
  • }
  • rule("Stop Shoot (mercy)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mercy;
  • }
  • conditions
  • {
  • Is Firing Primary(Event Player) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Primary Fire));
  • }
  • }
  • rule("Stop Shoot2 (mercy)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mercy;
  • }
  • conditions
  • {
  • Is Firing Secondary(Event Player) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Players In Slot(Slot Of(Event Player), Team 1), Button(Secondary Fire));
  • }
  • }
  • rule("CTF Setup")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Capture the Flag);
  • }
  • actions
  • {
  • Global.ctfScoreWin = Workshop Setting Integer(Custom String("GAME SETTINGS"), Custom String("Score to Win"), 120, 1, 200, 0);
  • Global.ctfScoreLoss = Workshop Setting Integer(Custom String("GAME SETTINGS"), Custom String("Score to Lose"), 60, 1, 200, 0);
  • Global.flagMulti = Workshop Setting Integer(Custom String("GAME SETTINGS"), Custom String("Flag Multiplier"), 5, 1, 10, 0);
  • Create HUD Text(Filtered Array(All Players(Team 2), Is In Spawn Room(Current Array Element)), Custom String("{0} vs {0}", String(
  • "You")), Null, Null, Top, 1, Color(Orange), Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 2), Is In Spawn Room(Current Array Element)), Null, Custom String(
  • "Duality Simulator code [WF51X] by Puppetsquid"), Custom String("{0} & {1} {2}", String("{0} {1}", String("Eliminate"), String(
  • "Enemies"), String("Hello")), String("Capture"), String("Objectives")), Top, 2, Color(White), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 2), Is In Spawn Room(Current Array Element)), Null, Custom String("{0}, {1}, {2}",
  • Custom String("{0} to {1}", Global.ctfScoreWin, String("Win")), Custom String("{1} = {0} {2}", Global.flagMulti, String(
  • "Capture"), String("Points")), Custom String("{0} {1} x2", String("Enemy"), String("Scores"))), Custom String("",
  • Global.ctfScoreWin), Top, 3, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Rule 100")
  • {
  • event
  • {
  • Subroutine;
  • restartGame;
  • }
  • actions
  • {
  • Wait(30, Ignore Condition);
  • Wait(3, Ignore Condition);
  • Restart Match;
  • }
  • }
  • rule("resetsettings")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.Z = Workshop Setting Toggle(Custom String("LOBBY SETTINGS"), Custom String("Auto Restart After POTG"), False, 0);
  • }
  • }
  • rule("secret view")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Current Map == Map(Ayutthaya);
  • Is Communicating Any Emote(Event Player) == True;
  • Player Carrying Flag(Team 2) != Event Player;
  • Player Carrying Flag(Team 1) != Players In Slot(Slot Of(Event Player), Team 1);
  • Distance Between(Event Player, Global.MirrorOffset * 0.500) < 6.500;
  • disabled Players Within Radius(Global.MirrorOffset * 0.500, 6.500, Team 2, Off) == 1;
  • }
  • actions
  • {
  • Set Status(Players In Slot(Slot Of(Event Player), All Teams), Null, Invincible, 9999);
  • Set Invisible(Players In Slot(Slot Of(Event Player), All Teams), All);
  • Set Status(Players In Slot(Slot Of(Event Player), All Teams), Null, Phased Out, 9999);
  • Start Camera(Event Player, Global.MirrorOffset * 0.500 + Up * 40, Global.MirrorOffset * 0.500 + Up * 1, 0);
  • Start Forcing Player Outlines(All Living Players(Team 1), Event Player, True, Color(Team 1), Always);
  • Start Forcing Player Outlines(All Living Players(Team 2), Event Player, True, Color(Team 2), Always);
  • Wait Until(!Is Communicating Any Emote(Event Player), 3);
  • Loop If Condition Is True;
  • Stop Forcing Player Outlines(All Players(All Teams), Event Player);
  • Start Forcing Player Outlines(Players In Slot(Slot Of(Event Player), Team 1), Event Player, True, Color(Purple), Always);
  • Stop Camera(Event Player);
  • Set Invisible(Players In Slot(Slot Of(Event Player), All Teams), None);
  • Clear Status(Players In Slot(Slot Of(Event Player), All Teams), Phased Out);
  • Clear Status(Players In Slot(Slot Of(Event Player), All Teams), Invincible);
  • }
  • }
  • rule("inspector")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Disable Inspector Recording;
  • }
  • }
  • rule("spawneyes")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is In Spawn Room(Event Player) == True;
  • }
  • actions
  • {
  • Start Forcing Player Outlines(All Players(Team 1), Event Player, True, Color(Team 1), Always);
  • Start Forcing Player Outlines(All Players(Team 2), Event Player, True, Color(Team 2), Always);
  • Wait(1, Abort When False);
  • Loop If Condition Is True;
  • Enable Death Spectate All Players(All Players(All Teams));
  • }
  • }
  • rule("unspawneyes")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is In Spawn Room(Event Player) != True;
  • }
  • actions
  • {
  • Stop Forcing Player Outlines(All Players(All Teams), Event Player);
  • }
  • }
  • disabled rule("secret view spectator")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Current Map == Map(Ayutthaya);
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • Player Carrying Flag(Team 1) != Event Player;
  • disabled Distance Between(Event Player, Global.MirrorOffset * 0.500) < 6.500;
  • }
  • actions
  • {
  • Start Camera(Event Player, Global.MirrorOffset * 0.500 + Up * 40, Global.MirrorOffset * 0.500 + Up * 1, 0);
  • Start Forcing Player Outlines(All Living Players(Team 1), All Players(Team 1), True, Color(Team 2), Always);
  • Start Forcing Player Outlines(All Living Players(Team 2), All Players(Team 1), True, Color(Team 1), Always);
  • }
  • }
  • rule("secret view spectator")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • disabled Current Map == Map(Ayutthaya);
  • disabled Current Game Mode != Game Mode(Capture the Flag);
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • disabled Distance Between(Event Player, Global.MirrorOffset * 0.500) < 6.500;
  • }
  • actions
  • {
  • Start Camera(Event Player, Global.MirrorOffset * 0.500 + Up * 40, Global.MirrorOffset * 0.500 + Up * 1, 0);
  • Start Forcing Player Outlines(All Living Players(Team 1), All Players(Team 1), True, Color(Red), Always);
  • Start Forcing Player Outlines(All Living Players(Team 2), All Players(Team 1), True, Color(Aqua), Always);
  • Enable Death Spectate All Players(All Players(All Teams));
  • }
  • }
  • disabled rule("secret view spectator 2")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 1;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Capture the Flag);
  • disabled Current Map == Map(Ayutthaya);
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • Player Carrying Flag(Team 1) != Event Player;
  • disabled Distance Between(Event Player, Global.MirrorOffset * 0.500) < 6.500;
  • }
  • actions
  • {
  • Start Camera(Event Player, Flag Position(Team 2) + Up * 40, Flag Position(Team 2) + Up * 1, 0);
  • Start Forcing Player Outlines(All Living Players(Team 1), All Players(Team 1), True, Color(Team 2), Always);
  • Start Forcing Player Outlines(All Living Players(Team 2), All Players(Team 1), True, Color(Team 1), Always);
  • }
  • }
  • disabled rule("secret view spectator")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Capture the Flag);
  • disabled Current Map == Map(Ayutthaya);
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • disabled Distance Between(Event Player, Global.MirrorOffset * 0.500) < 6.500;
  • Player Carrying Flag(Team 1) != Event Player;
  • }
  • actions
  • {
  • disabled Start Camera(Event Player, Global.MirrorOffset * 0.500 + Up * 40, Distance Between(Global.MirrorOffset * 0.500, (Flag Position(
  • Team 1) + Flag Position(Team 2)) * 0.500) ? 0 : 0, 10);
  • Start Camera(Event Player, Global.MirrorOffset * 0.500 + Up * 40, Distance Between(Global.MirrorOffset * 0.500, (Flag Position(
  • Team 1) + Flag Position(Team 2)) * 0.500) < 10 ? Global.MirrorOffset * 0.500 : (Flag Position(Team 1) + Flag Position(Team 2))
  • * 0.500, 10);
  • Start Forcing Player Outlines(All Living Players(Team 1), All Players(Team 1), True, Color(Team 2), Always);
  • Start Forcing Player Outlines(All Living Players(Team 2), All Players(Team 1), True, Color(Team 1), Always);
  • }
  • }
  • disabled rule("secret view spectator 2")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Slot 2;
  • }
  • conditions
  • {
  • Current Game Mode == Game Mode(Capture the Flag);
  • disabled Current Map == Map(Ayutthaya);
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • Player Carrying Flag(Team 1) != Event Player;
  • disabled Distance Between(Event Player, Global.MirrorOffset * 0.500) < 6.500;
  • }
  • actions
  • {
  • Start Camera(Event Player, Flag Position(Team 2) + Up * 40, Flag Position(Team 1) + Up * 1, 0);
  • Start Forcing Player Outlines(All Living Players(Team 1), All Players(Team 1), True, Color(Team 2), Always);
  • Start Forcing Player Outlines(All Living Players(Team 2), All Players(Team 1), True, Color(Team 1), Always);
  • }
  • }
  • disabled rule("Rule 110")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Ana), Team 1, 11, Spawn Points(Team 1), Vector(0, 0, 0));
  • Start Forcing Dummy Bot Name(Last Created Entity, Custom String("rotatceps"));
  • }
  • }
  • disabled rule("Rule 111")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Slot Of(Event Player) == 11;
  • Hero Of(Event Player) != Hero Of(First Of(Filtered Array(All Players(Team 2), Has Spawned(Current Array Element))));
  • }
  • actions
  • {
  • Start Forcing Player To Be Hero(Event Player, Hero Of(First Of(Filtered Array(All Players(Team 2), Has Spawned(
  • Current Array Element)))));
  • }
  • }
  • rule("echo Duplication")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Echo;
  • }
  • conditions
  • {
  • Has Spawned(Players In Slot(Slot Of(Event Player), Team 1)) == True;
  • Is Duplicating(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Players In Slot(Slot Of(Event Player), Team 1)) == True;
  • Slot Of(Event Player) != 11;
  • }
  • actions
  • {
  • If(Event Player.echoEffects != 0);
  • Destroy Effect(Event Player.echoEffects);
  • Event Player.echoEffects = 0;
  • End;
  • Start Forcing Player To Be Hero(Players In Slot(Slot Of(Event Player), Team 1), Hero Being Duplicated(Event Player));
  • Create Effect(All Players(All Teams), Echo Cloning Effect, Color(White), Players In Slot(Slot Of(Event Player), Team 1), 1,
  • Visible To Position and Radius);
  • Event Player.echoEffects = Last Created Entity;
  • }
  • }
Join the Workshop.codes Discord