Return to post
- 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);
- }
- }