Create
Return to post

Comparing difference between and

View raw
  • variables
  • {
  • global:
  • 0: INTROS
  • 1: WINNING
  • 2: LOSING
  • 3: TIE
  • 4: FIVEMINS
  • 5: ONEMIN
  • 6: THIRTY
  • 7: TEN
  • 8: INTRO_DONE
  • 25: SOUL_OPTIONS
  • 26: RADAR_OPTIONS
  • player:
  • 0: showTips
  • 1: effect
  • 2: iwt
  • 3: releaseTimer
  • 4: hasHud
  • }
  • rule("Radar Init")
  • rule("Workshop Settings Init")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "Check the Workshop Settings to reposition the radar as well as change the size"
  • Global.RADAR_OPTIONS = Array(Workshop Setting Real(Custom String("Radar Options"), Custom String("Radar display radius"), 0.200,
  • 0.050, 0.800), Workshop Setting Real(Custom String("Radar Options"), Custom String("X position (on screen)"), 0, -2.500,
  • 2.500), Workshop Setting Real(Custom String("Radar Options"), Custom String("Y position (on screen)"), -0.800, -1.250, 1.250),
  • Workshop Setting Real(Custom String("Radar Options"), Custom String("Radar range"), 30, 10, 100));
  • 0.050, 0.800, 0), Workshop Setting Real(Custom String("Radar Options"), Custom String("X Position (on screen)"), 0, -2.500,
  • 2.500, 1), Workshop Setting Real(Custom String("Radar Options"), Custom String("Y Position"), -0.800, -1.250, 1.250, 2),
  • Workshop Setting Integer(Custom String("Radar Options"), Custom String("Radar Range"), 30, 10, 100, 3));
  • Global.SOUL_OPTIONS = Workshop Setting Integer(Custom String("Soul Options"), Custom String("Time until release"), 30, 15, 60, 4);
  • }
  • }
  • rule("Player Init - Radar")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Create In-World Text(Event Player, Custom String("◆"), Eye Position(Event Player) + 100 * (
  • Create In-World Text(Event Player, Custom String("◆"), Update Every Frame(Eye Position(Event Player) + 100 * (
  • Global.RADAR_OPTIONS[1] * World Vector Of(Right, Event Player, Rotation) + (Global.RADAR_OPTIONS[2] - 0.200)
  • * Direction From Angles(Horizontal Angle From Direction(Facing Direction Of(Event Player)), Vertical Angle From Direction(
  • Facing Direction Of(Event Player)) - 90) + 3 * Facing Direction Of(Event Player)), 2, Do Not Clip, Visible To and Position,
  • White, Visible Always);
  • Facing Direction Of(Event Player)) - 90) + 3 * Facing Direction Of(Event Player))), 2, Do Not Clip, Visible To and Position,
  • Color(White), Visible Always);
  • "Radar Blip - Will change icon based on distance to target"
  • Create In-World Text(Filtered Array(Event Player, Entity Exists(Players In Slot(0, Opposite Team Of(Team Of(Event Player))))
  • && Is Alive(Players In Slot(0, Opposite Team Of(Team Of(Event Player)))) && Distance Between(Event Player, Players In Slot(0,
  • Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3]), Distance Between(Event Player, Players In Slot(0,
  • Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3] * 0.250 ? Custom String("※") : (Distance Between(
  • Event Player, Players In Slot(0, Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3] * 0.500 ? Custom String(
  • "◆") : Custom String("◇")), Eye Position(Event Player) + 100 * ((
  • "◆") : Custom String("◇")), Update Every Frame(Eye Position(Event Player) + 100 * ((
  • Global.RADAR_OPTIONS[1] + -2.500 * Global.RADAR_OPTIONS[0] * Cosine From Degrees(Horizontal Angle Towards(Event Player,
  • Players In Slot(0, Opposite Team Of(Team Of(Event Player)))) + -90)) * World Vector Of(Right, Event Player, Rotation) + (
  • Global.RADAR_OPTIONS[2] + -1.250 * Global.RADAR_OPTIONS[0] * Sine From Degrees(Horizontal Angle Towards(Event Player,
  • Players In Slot(0, Opposite Team Of(Team Of(Event Player)))) + -90) - 0.200) * Direction From Angles(
  • Horizontal Angle From Direction(Facing Direction Of(Event Player)), Vertical Angle From Direction(Facing Direction Of(
  • Event Player)) - 90) + 3 * Facing Direction Of(Event Player)), 2, Do Not Clip, Visible To Position and String, Red,
  • Event Player)) - 90) + 3 * Facing Direction Of(Event Player))), 2, Do Not Clip, Visible To Position and String, Color(Red),
  • Visible Always);
  • "Radar Blip - Will change icon based on distance to target"
  • Create In-World Text(Filtered Array(Event Player, Entity Exists(Players In Slot(1, Opposite Team Of(Team Of(Event Player))))
  • && Is Alive(Players In Slot(1, Opposite Team Of(Team Of(Event Player)))) && Distance Between(Event Player, Players In Slot(1,
  • Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3]), Distance Between(Event Player, Players In Slot(1,
  • Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3] * 0.250 ? Custom String("※") : (Distance Between(
  • Event Player, Players In Slot(1, Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3] * 0.500 ? Custom String(
  • "◆") : Custom String("◇")), Eye Position(Event Player) + 100 * ((
  • "◆") : Custom String("◇")), Update Every Frame(Eye Position(Event Player) + 100 * ((
  • Global.RADAR_OPTIONS[1] + -2.500 * Global.RADAR_OPTIONS[0] * Cosine From Degrees(Horizontal Angle Towards(Event Player,
  • Players In Slot(1, Opposite Team Of(Team Of(Event Player)))) + -90)) * World Vector Of(Right, Event Player, Rotation) + (
  • Global.RADAR_OPTIONS[2] + -1.250 * Global.RADAR_OPTIONS[0] * Sine From Degrees(Horizontal Angle Towards(Event Player,
  • Players In Slot(1, Opposite Team Of(Team Of(Event Player)))) + -90) - 0.200) * Direction From Angles(
  • Horizontal Angle From Direction(Facing Direction Of(Event Player)), Vertical Angle From Direction(Facing Direction Of(
  • Event Player)) - 90) + 3 * Facing Direction Of(Event Player)), 2, Do Not Clip, Visible To Position and String, Red,
  • Event Player)) - 90) + 3 * Facing Direction Of(Event Player))), 2, Do Not Clip, Visible To Position and String, Color(Red),
  • Visible Always);
  • "Radar Blip - Will change icon based on distance to target"
  • Create In-World Text(Filtered Array(Event Player, Entity Exists(Players In Slot(2, Opposite Team Of(Team Of(Event Player))))
  • && Is Alive(Players In Slot(2, Opposite Team Of(Team Of(Event Player)))) && Distance Between(Event Player, Players In Slot(2,
  • Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3]), Distance Between(Event Player, Players In Slot(2,
  • Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3] * 0.250 ? Custom String("※") : (Distance Between(
  • Event Player, Players In Slot(2, Opposite Team Of(Team Of(Event Player)))) <= Global.RADAR_OPTIONS[3] * 0.500 ? Custom String(
  • "◆") : Custom String("◇")), Eye Position(Event Player) + 100 * ((
  • "◆") : Custom String("◇")), Update Every Frame(Eye Position(Event Player) + 100 * ((
  • Global.RADAR_OPTIONS[1] + -2.500 * Global.RADAR_OPTIONS[0] * Cosine From Degrees(Horizontal Angle Towards(Event Player,
  • Players In Slot(2, Opposite Team Of(Team Of(Event Player)))) + -90)) * World Vector Of(Right, Event Player, Rotation) + (
  • Global.RADAR_OPTIONS[2] + -1.250 * Global.RADAR_OPTIONS[0] * Sine From Degrees(Horizontal Angle Towards(Event Player,
  • Players In Slot(2, Opposite Team Of(Team Of(Event Player)))) + -90) - 0.200) * Direction From Angles(
  • Horizontal Angle From Direction(Facing Direction Of(Event Player)), Vertical Angle From Direction(Facing Direction Of(
  • Event Player)) - 90) + 3 * Facing Direction Of(Event Player)), 2, Do Not Clip, Visible To Position and String, Red,
  • Event Player)) - 90) + 3 * Facing Direction Of(Event Player))), 2, Do Not Clip, Visible To Position and String, Color(Red),
  • Visible Always);
  • }
  • }
  • rule("Game Init - General")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Assembling Heroes == True;
  • }
  • actions
  • {
  • Disable Inspector Recording;
  • Disable Built-In Game Mode Announcer;
  • Disable Built-In Game Mode Scoring;
  • Set Match Time(0);
  • Set Objective Description(All Players(All Teams), Custom String("{0} Escaped Souls Containment Training Field", Hero Icon String(
  • Hero(Reaper))), Visible To and String);
  • }
  • }
  • rule("Player Init - General")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Event Player.hasHud == False;
  • }
  • actions
  • {
  • Disable Game Mode In-World UI(Event Player);
  • Disable Built-In Game Mode Respawning(Event Player);
  • Disable Nameplates(Event Player, All Players(All Teams));
  • Enable Death Spectate All Players(Event Player);
  • Disable Scoreboard(Event Player);
  • "Captured Timer"
  • Create HUD Text(Filtered Array(Event Player, Is Dead(Event Player)), Custom String("You've been captured. Release in {0}",
  • Round To Integer(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))).releaseTimer, Up)), Null,
  • Null, Top, 2, Aqua, White, White, Visible To and String, Default Visibility);
  • Null, Top, 2, Color(Aqua), Color(White), Color(White), Visible To and String, Default Visibility);
  • "Some vanity"
  • Create HUD Text(Event Player, Null, Custom String("{0} ESCTF by WildByte", Ability Icon String(Hero(McCree), Button(Ultimate))),
  • Custom String("GS0PAW"), Left, 0, White, Yellow, White, Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(Event Player, Event Player.showTips), Icon String(Circle), Null, Custom String(
  • "Defeating opponents causes them to drop their soul"), Left, 1, Aqua, White, White, Visible To and String, Default Visibility);
  • Custom String("GS0PAW"), Left, 0, Color(White), Color(Yellow), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(Event Player, Event Player.showTips), Ability Icon String(Hero(Brigitte), Button(Ultimate)), Null,
  • Custom String("Score points by bringing souls to your flag"), Left, 2, Aqua, White, White, Visible To and String,
  • Default Visibility);
  • Custom String("Score points by bringing souls to your flag"), Left, 1, Color(Aqua), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(Event Player, Event Player.showTips), Ability Icon String(Hero(McCree), Button(Ultimate)), Null,
  • Custom String("({0}) Pick up Souls / (Crouch) Drop Souls", Input Binding String(Button(Melee))), Left, 3, Aqua, White, White,
  • Custom String("({0}) Pick up Souls / (Crouch) Drop Souls", Input Binding String(Button(Melee))), Left, 2, Color(Aqua), Color(
  • White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(Event Player, Event Player.showTips), Ability Icon String(Hero(Zarya), Button(Ability 1)), Null,
  • Custom String("Defeating opponents causes them to drop their captured soul"), Left, 3, Color(Aqua), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(Event Player, Event Player.showTips), Ability Icon String(Hero(McCree), Button(Ability 2)), Null,
  • Custom String("Rescue your allies by destroying their soul pod {0}", Hero Icon String(Hero(Wrecking Ball))), Left, 4, Color(
  • Aqua), Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Null, Null, Custom String("Press {0} to toggle tips", Input Binding String(Button(Interact))), Left,
  • 4, White, White, Aqua, Visible To and String, Default Visibility);
  • 5, Color(White), Color(White), Color(Aqua), Visible To and String, Default Visibility);
  • Event Player.showTips = True;
  • Event Player.hasHud = True;
  • }
  • }
  • rule("Trap Init (Wrecking Ball)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Start Scaling Player(Event Player, 0.400, True);
  • Create Effect(All Players(All Teams), Sphere, Aqua, Event Player, 0.400, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Sphere, Color(Aqua), Event Player, 0.400, Visible To Position and Radius);
  • Create In-World Text(All Players(All Teams), Custom String("{0}'s Soul\nRelease in {1}", Players In Slot(Slot Of(Event Player)
  • + -3, Opposite Team Of(Team Of(Event Player))), Round To Integer(Event Player.releaseTimer, Up)), Event Player, 1,
  • Clip Against Surfaces, Visible To Position and String, Aqua, Default Visibility);
  • Clip Against Surfaces, Visible To Position and String, Color(Aqua), Default Visibility);
  • Event Player.effect = Last Created Entity;
  • Event Player.iwt = Last Text ID;
  • Event Player.releaseTimer = 45;
  • Event Player.releaseTimer = Global.SOUL_OPTIONS;
  • Chase Player Variable At Rate(Event Player, releaseTimer, 0, 1, Destination and Rate);
  • }
  • }
  • rule("Capture Foe")
  • {
  • event
  • {
  • Player Died;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == False;
  • Event Was Environment == False;
  • }
  • actions
  • {
  • Play Effect(All Players(All Teams), Buff Explosion Sound, White, Event Player, 65);
  • Play Effect(All Players(All Teams), Good Explosion, Aqua, Event Player, 1);
  • Play Effect(All Players(All Teams), Buff Explosion Sound, Color(White), Event Player, 65);
  • Play Effect(All Players(All Teams), Good Explosion, Color(Aqua), Event Player, 1);
  • If(Slot Of(Event Player) == 0);
  • Create Dummy Bot(Hero(Wrecking Ball), Opposite Team Of(Team Of(Event Player)), 3, Event Player, Vector(0, 0, 0));
  • Else If(Slot Of(Event Player) == 1);
  • Create Dummy Bot(Hero(Wrecking Ball), Opposite Team Of(Team Of(Event Player)), 4, Event Player, Vector(0, 0, 0));
  • Else If(Slot Of(Event Player) == 2);
  • Create Dummy Bot(Hero(Wrecking Ball), Opposite Team Of(Team Of(Event Player)), 5, Event Player, Vector(0, 0, 0));
  • End;
  • Small Message(All Players(Team Of(Event Player)), Custom String("{0} has been captured!", Event Player));
  • Small Message(All Players(Team Of(Event Player)), Custom String("{0} {1} was captured by {2}!", Ability Icon String(Hero(Zarya),
  • Button(Ability 2)), Event Player, Attacker));
  • }
  • }
  • rule("Pick up Trap (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Melee) == True;
  • Is Button Held(Event Player, Button(Melee)) == True;
  • Distance Between(Event Player, Players In Slot(3, Team Of(Event Player))) <= 2;
  • }
  • actions
  • {
  • Detach Players(Players In Slot(3, Team Of(Event Player)));
  • Wait(0.020, Ignore Condition);
  • Attach Players(Players In Slot(3, Team Of(Event Player)), Event Player, Vector(0, 0.250, 0.650));
  • }
  • }
  • rule("Pick up Trap (2)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Melee) == True;
  • Is Button Held(Event Player, Button(Melee)) == True;
  • Distance Between(Event Player, Players In Slot(4, Team Of(Event Player))) <= 2;
  • }
  • actions
  • {
  • Detach Players(Players In Slot(4, Team Of(Event Player)));
  • Wait(0.020, Ignore Condition);
  • Attach Players(Players In Slot(4, Team Of(Event Player)), Event Player, Vector(0, 0.250, 0.650));
  • }
  • }
  • rule("Pick up Trap (3)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Melee) == True;
  • Is Button Held(Event Player, Button(Melee)) == True;
  • Distance Between(Event Player, Players In Slot(5, Team Of(Event Player))) <= 2;
  • }
  • actions
  • {
  • Detach Players(Players In Slot(5, Team Of(Event Player)));
  • Wait(0.020, Ignore Condition);
  • Attach Players(Players In Slot(5, Team Of(Event Player)), Event Player, Vector(0, 0.250, 0.650));
  • }
  • }
  • rule("Drop Trap (1)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Crouching(Event Player) == True;
  • Distance Between(Event Player, Players In Slot(3, Team Of(Event Player))) <= 2;
  • Is Button Held(Event Player, Interact) == False;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Detach Players(Players In Slot(3, Team Of(Event Player)));
  • }
  • }
  • rule("Drop Trap (2)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Crouching(Event Player) == True;
  • Distance Between(Event Player, Players In Slot(4, Team Of(Event Player))) <= 2;
  • Is Button Held(Event Player, Interact) == False;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Detach Players(Players In Slot(4, Team Of(Event Player)));
  • }
  • }
  • rule("Drop Trap (3)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Crouching(Event Player) == True;
  • Distance Between(Event Player, Players In Slot(5, Team Of(Event Player))) <= 2;
  • Is Button Held(Event Player, Interact) == False;
  • Is Button Held(Event Player, Button(Interact)) == False;
  • }
  • actions
  • {
  • Detach Players(Players In Slot(5, Team Of(Event Player)));
  • }
  • }
  • rule("Free Ally")
  • {
  • event
  • {
  • Player Died;
  • All;
  • Wrecking Ball;
  • }
  • actions
  • {
  • Detach Players(Event Player);
  • Stop Chasing Player Variable(Event Player, releaseTimer);
  • If(Event Was Environment == False);
  • Teleport(Players In Slot(Slot Of(Event Player) + -3, Opposite Team Of(Team Of(Event Player))), Event Player);
  • Resurrect(Players In Slot(Slot Of(Event Player) + -3, Opposite Team Of(Team Of(Event Player))));
  • Small Message(All Players(Team Of(Event Player)), Custom String("{0} {1} was freed by {2}!", Ability Icon String(Hero(McCree),
  • Button(Ability 1)), Players In Slot(Slot Of(Event Player) + -3, Opposite Team Of(Team Of(Event Player))), Attacker));
  • Else;
  • Respawn(Players In Slot(Slot Of(Event Player) + -3, Opposite Team Of(Team Of(Event Player))));
  • End;
  • Destroy Effect(Event Player.effect);
  • Destroy In-World Text(Event Player.iwt);
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • Play Effect(All Players(All Teams), Good Explosion, Aqua, Event Player, 1);
  • Play Effect(All Players(All Teams), Good Explosion, Color(Aqua), Event Player, 1);
  • }
  • }
  • rule("Detach Captured Ally")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Has Status(Event Player, Stunned) == True;
  • }
  • actions
  • {
  • Detach Players(Event Player);
  • }
  • }
  • rule("Score Point")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Flag Position(Team Of(Event Player))) <= 1;
  • }
  • actions
  • {
  • Small Message(All Players(All Teams), Custom String("{0} {1} scored!", Ability Icon String(Hero(Brigitte), Button(Ultimate)),
  • Closest Player To(Event Player, Team Of(Event Player))));
  • Modify Team Score(Team Of(Event Player), 1);
  • Play Effect(All Players(All Teams), Good Explosion, Aqua, Flag Position(All Teams), 2);
  • Play Effect(All Players(All Teams), Good Explosion, Color(Aqua), Flag Position(All Teams), 2);
  • Detach Players(Event Player);
  • Respawn(Players In Slot(Slot Of(Event Player) + -3, Opposite Team Of(Team Of(Event Player))));
  • Destroy Effect(Event Player.effect);
  • Destroy In-World Text(Event Player.iwt);
  • Wait(0.100, Ignore Condition);
  • If(Team Score(Team 1) > Team Score(Team 2));
  • Big Message(All Players(Team 1), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(Global.WINNING)));
  • Big Message(All Players(Team 2), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(Global.LOSING)));
  • Else If(Team Score(Team 1) < Team Score(Team 2));
  • Big Message(All Players(Team 2), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(Global.WINNING)));
  • Big Message(All Players(Team 1), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(Global.LOSING)));
  • Else If(Team Score(Team 1) == Team Score(Team 2));
  • Big Message(All Players(All Teams), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(Global.TIE)));
  • End;
  • Wait(0.100, Ignore Condition);
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • }
  • }
  • rule("Respawn all players if everyone is dead")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Filtered Array(All Dead Players(All Teams), Is Dummy Bot(Current Array Element) == False)) == Count Of(Filtered Array(
  • All Players(All Teams), Is Dummy Bot(Current Array Element) == False));
  • Total Time Elapsed > 20;
  • }
  • actions
  • {
  • Respawn(All Players(All Teams));
  • }
  • }
  • rule("No touchy flag")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Flag Position(Opposite Team Of(Team Of(Event Player)))) <= 4;
  • }
  • actions
  • {
  • Apply Impulse(Event Player, Direction Towards(Flag Position(Opposite Team Of(Team Of(Event Player))), Event Player), 20, To World,
  • Cancel Contrary Motion);
  • Wait(0.020, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("You dare touch the flag?")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Player Carrying Flag(Opposite Team Of(Team Of(Event Player))) == Event Player;
  • }
  • actions
  • {
  • Kill(Event Player, Null);
  • }
  • }
  • rule("Release timer")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Event Player.releaseTimer == 0;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Wait(0.500, Abort When False);
  • Kill(Event Player, Null);
  • }
  • }
  • rule("Toggle Tips")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Interact) == True;
  • Is Button Held(Event Player, Button(Interact)) == True;
  • }
  • actions
  • {
  • Event Player.showTips = !Event Player.showTips;
  • Wait(1, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Director (Reaper) - Init")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.INTROS = Array(Custom String("I know you can fight, but can you capture souls?"), Custom String(
  • "Nothing complicated here. Defend your allies and capture those souls."), Custom String(
  • "Capture those souls, Cadets! Victory demands it."), Custom String("Time to fight, Cadets. Capture those souls."));
  • Global.WINNING = Array(Custom String("Gained the lead!"), Custom String("You're in the lead. Don't choke, Cadet!"), Custom String(
  • "You team is in the lead! Don't let up."));
  • Global.LOSING = Array(Custom String("Lost the lead"), Custom String("You're falling behind!"), Custom String(
  • "You're team is behind, but this fight is far from over!"));
  • Global.TIE = Array(Custom String("The score's tied up, Cadets. Fight on!"), Custom String("You're in a tie. Break it!"),
  • Custom String("Don't let up, Cadets!"));
  • Global.FIVEMINS = Array(Custom String("Five minutes remaining"), Custom String("Only five minutes left!"));
  • Global.ONEMIN = Array(Custom String("One minute"), Custom String("Only one minute left!"));
  • Global.THIRTY = Array(Custom String("Thirty seconds remaining"), Custom String("Thirty seconds left. Stay focused"), Custom String(
  • "Just thirty seconds. Get it done."), Custom String("Thirty seconds, Cadets. Keep it up!"));
  • Global.TEN = Array(Custom String("You've got ten seconds!"), Custom String("Ten seconds remaining!"), Custom String(
  • "Ten seconds. Fight to the end!"), Custom String("Just ten seconds to go"), Custom String(
  • "Ten seconds! Bring it home, Cadets!"), Custom String("Ten seconds remaining. Give 'em hell!"));
  • }
  • }
  • rule("Director (Reaper) - Intro message")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.INTRO_DONE == False;
  • }
  • actions
  • {
  • Big Message(All Players(All Teams), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(
  • Global.INTROS)));
  • Set Objective Description(All Players(All Teams), Custom String("{0} Bring back those souls!", Hero Icon String(Hero(Reaper))),
  • Visible To and String);
  • Global.INTRO_DONE = True;
  • }
  • }
  • rule("Five minutes left")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • (Match Time <= 300 && Match Time >= 298) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Big Message(All Players(All Teams), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(
  • Global.FIVEMINS)));
  • }
  • }
  • rule("One minute left")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • (Match Time <= 60 && Match Time >= 58) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Big Message(All Players(All Teams), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(
  • Global.ONEMIN)));
  • }
  • }
  • rule("Thirty Seconds")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • (Match Time <= 30 && Match Time >= 28) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Big Message(All Players(All Teams), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(
  • Global.THIRTY)));
  • }
  • }
  • rule("Ten Seconds")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • (Match Time <= 10 && Match Time >= 8) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Big Message(All Players(All Teams), Custom String("{0} {1}", Hero Icon String(Hero(Reaper)), Random Value In Array(Global.TEN)));
  • }
  • }
  • rule("Soul speak")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Communicating Any(Event Player) == True;
  • }
  • actions
  • {
  • If(Is Communicating(Event Player, Hello));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Hello);
  • Else If(Is Communicating(Event Player, Need Healing));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Need Healing);
  • Else If(Is Communicating(Event Player, Group Up));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Group Up);
  • Else If(Is Communicating(Event Player, Thanks));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Thanks);
  • Else If(Is Communicating(Event Player, Acknowledge));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Acknowledge);
  • Else If(Is Communicating(Event Player, Press the Attack));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Press the Attack);
  • Else If(Is Communicating(Event Player, You are Welcome));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), You are Welcome);
  • Else If(Is Communicating(Event Player, Yes));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Yes);
  • Else If(Is Communicating(Event Player, No));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), No);
  • Else If(Is Communicating(Event Player, Goodbye));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Goodbye);
  • Else If(Is Communicating(Event Player, Go));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Go);
  • Else If(Is Communicating(Event Player, Ready));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Ready);
  • Else If(Is Communicating(Event Player, Fall Back));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Fall Back);
  • Else If(Is Communicating(Event Player, Push Forward));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Push Forward);
  • Else If(Is Communicating(Event Player, Incoming));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Incoming);
  • Else If(Is Communicating(Event Player, With You));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), With You);
  • Else If(Is Communicating(Event Player, Going In));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Going In);
  • Else If(Is Communicating(Event Player, On My Way));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), On My Way);
  • Else If(Is Communicating(Event Player, Attacking));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Attacking);
  • Else If(Is Communicating(Event Player, Defending));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Defending);
  • Else If(Is Communicating(Event Player, Need Help));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Need Help);
  • Else If(Is Communicating(Event Player, Sorry));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Sorry);
  • Else If(Is Communicating(Event Player, Countdown));
  • Communicate(Players In Slot(Slot Of(Event Player) + 3, Opposite Team Of(Team Of(Event Player))), Countdown);
  • End;
  • }
  • }
  • rule("No environmental death")
  • {
  • event
  • {
  • Player Died;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Was Environment == True;
  • }
  • actions
  • {
  • Wait(3, Ignore Condition);
  • Respawn(Event Player);
  • }
  • }
  • disabled rule("Gamemode create by WildByte#1143 Feel free to build upon or modify this mode! I only ask that you credit me for my work")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Interact) == True;
  • Is Button Held(Event Player, Button(Interact)) == True;
  • }
  • actions
  • {
  • disabled Kill(Event Player, Event Player);
  • Set Match Time(Match Time + -90);
  • }
  • }
Join the Workshop.codes Discord