Create
Return to post

Comparing difference between and

View raw
  • settings
  • {
  • main
  • {
  • Description: "NO SUDDEN MOVES: Original Gamemode by u/FearlessKat Code:VE9TP There is a creature loose in the castle, one who relies on sound rather than sight. Don't make any sudden moves, dont say a word, and if it knows you're there.... RUN."
  • Description: "NO SUDDEN MOVES: Original Gamemode by u/FearlessKat Code:VE9TP There is a creature loose in the castle, one who relies on sound rather than sight. Don't make any sudden moves, dont say a word, and if it knows you're there.... RUN. - Favorite this mode at workshop.codes/VE9TP - VERS: 2.3"
  • }
  • lobby
  • {
  • Map Rotation: Paused
  • Map Rotation: After A Game
  • Match Voice Chat: Enabled
  • Max Spectators: 6
  • Max Team 1 Players: 11
  • Max Team 2 Players: 1
  • Return To Lobby: Never
  • Swap Teams After Match: No
  • Team Balancing: After A Game
  • }
  • modes
  • {
  • Team Deathmatch
  • {
  • Game Length In Minutes: 5
  • Imbalanced Team Score To Win: On
  • Team 1 Score To Win: 1
  • Team 2 Score To Win: 200
  • enabled maps
  • {
  • King's Row
  • Château Guillard Halloween
  • }
  • }
  • General
  • {
  • Enemy Health Bars: Off
  • Game Mode Start: Immediately
  • Game Mode Start: Manual
  • Hero Limit: Off
  • }
  • }
  • heroes
  • {
  • Team 1
  • {
  • Healing Received: 25%
  • Ultimate Generation - Passive: 250%
  • Winston
  • {
  • Damage Dealt: 200%
  • Jump Pack Knockback Scalar: 75%
  • Primal Rage Melee Knockback Scalar: 75%
  • }
  • enabled heroes
  • {
  • Ana
  • Ashe
  • Genji
  • Hanzo
  • McCree
  • Mei
  • Mercy
  • Moira
  • Sombra
  • Tracer
  • Widowmaker
  • }
  • }
  • Team 2
  • {
  • Winston
  • {
  • Barrier Projector: Off
  • Damage Dealt: 200%
  • Infinite Ultimate Duration: On
  • Jump Pack Knockback Scalar: 50%
  • Primal Rage Melee Knockback Scalar: 50%
  • Jump Pack Knockback Scalar: 75%
  • Primal Rage Melee Knockback Scalar: 75%
  • Spawn With Ultimate Ready: On
  • Ultimate Generation - Combat Primal Rage: 500%
  • Ultimate Generation - Passive Primal Rage: 500%
  • Ultimate Generation Primal Rage: 500%
  • }
  • enabled heroes
  • {
  • Winston
  • }
  • }
  • General
  • {
  • Ana
  • {
  • Sleep Dart Cooldown Time: 500%
  • }
  • Ashe
  • Genji
  • {
  • Coach Gun Knockback Scalar Enemy: 25%
  • Swift Strike Cooldown Time: 200%
  • }
  • Hanzo
  • {
  • Lunge Cooldown Time: 50%
  • Lunge Distance Scalar: 125%
  • Sonic Arrow Cooldown Time: 60%
  • }
  • McCree
  • {
  • Combat Roll Cooldown Time: 50%
  • Combat Roll Cooldown Time: 30%
  • Damage Dealt: 25%
  • Flashbang Cooldown Time: 50%
  • Flashbang Cooldown Time: 150%
  • }
  • Mei
  • {
  • Ice Wall Cooldown Time: 300%
  • }
  • Mercy
  • {
  • Regeneration: Off
  • Resurrect: Off
  • }
  • Sombra
  • {
  • Hack: Off
  • Stealth: Off
  • Translocator Cooldown Time: 400%
  • }
  • Tracer
  • {
  • Blink Cooldown Time: 150%
  • Recall Cooldown Time: 250%
  • }
  • Widowmaker
  • {
  • Venom Mine: Off
  • }
  • }
  • }
  • }
  • variables
  • {
  • global:
  • 1: MatchTimeLeft
  • 5: CollisionPoints
  • 9: MonsterMessage
  • 10: SurvivorsMessage
  • player:
  • 0: CanBeSeen
  • 1: PosAndRot
  • 2: UltReady
  • 3: JoinedLate
  • 4: HideInstructions
  • 5: ULTTrackPlayer
  • }
  • disabled rule("CollisionPoints")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.CollisionPoints = Empty Array;
  • If(Current Map == Map(Château Guillard Halloween));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(184.668, 4.348, 92.855));
  • Else If(Current Map == Map(Eichenwalde Halloween));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(36.855, 7.657, -57.898));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(39.743, 7.657, -48.789));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(97.769, 15.123, -101.054));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(101.504, 12.019, -93.850));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(39.140, 7.612, -58.803));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(42.863, 7.642, -50.112));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(50.337, 19.434, -109.117));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(57.215, 20.128, -105.683));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(65.534, 10.125, -107.792));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(48.779, 10.037, -103.427));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(59.300, 9.104, -78.077));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(56.284, 19.745, -107.855));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(54.568, 8.453, -103.207));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(62.788, 8.463, -107.108));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(51.468, 8.458, -104.058));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(55.427, 8.012, -100.553));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(58.251, 8.662, -80.285));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(99.046, 14.318, -99.555));
  • Modify Global Variable(CollisionPoints, Append To Array, Vector(98.249, 14.857, -96));
  • }
  • }
  • rule("DisableGlobal")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Completion;
  • Disable Built-In Game Mode Announcer;
  • Disable Built-In Game Mode Music;
  • Disable Built-In Game Mode Scoring;
  • Disable Game Mode HUD(All Players(All Teams));
  • }
  • }
  • rule("RemoveEnvironmentals")
  • {
  • event
  • {
  • Player Died;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Event Was Environment == True;
  • }
  • actions
  • {
  • Teleport(Event Player, Nearest Walkable Position(Position Of(Event Player)));
  • Resurrect(Event Player);
  • Wait(0.100, Ignore Condition);
  • Press Button(Event Player, Ultimate);
  • Set Status(Event Player, Null, Knocked Down, 2);
  • Apply Impulse(Event Player, Forward, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Backward, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Left, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Right, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Up, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Down, 0.001, To World, Cancel Contrary Motion);
  • }
  • }
  • rule("Croutching")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Crouch) == True;
  • }
  • actions
  • {
  • Disallow Button(Event Player, Ability 1);
  • Start Scaling Player(Event Player, 1.150, True);
  • Set Move Speed(Event Player, 50);
  • Wait(0.300, Ignore Condition);
  • Loop If Condition Is True;
  • Allow Button(Event Player, Ability 1);
  • Start Scaling Player(Event Player, 1.500, True);
  • Skip If(Is Firing Primary(Event Player) == True, 1);
  • Set Move Speed(Event Player, 100);
  • }
  • }
  • rule("Monster")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Winston;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Set Move Speed(Event Player, 100);
  • Start Scaling Player(Event Player, 1.500, True);
  • Start Modifying Hero Voice Lines(Event Player, 0.750, True);
  • Disable Hero HUD(Event Player);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), False, White);
  • Add Health Pool To Player(Event Player, Health, 9999, True, True);
  • Add Health Pool To Player(Event Player, Health, 9999, True, True);
  • Add Health Pool To Player(Event Player, Health, 9999, True, True);
  • Add Health Pool To Player(Event Player, Health, 9999, True, True);
  • Add Health Pool To Player(Event Player, Health, 9999, True, True);
  • Skip If(Is Game In Progress == False, 1);
  • Wait(34, Ignore Condition);
  • Create HUD Text(Event Player, Custom String("{0} Roar! {1}%", Ability Icon String(Hero(Winston), Button(Ultimate)),
  • Event Player.UltReady), Null, Null, Top, 0, Orange, White, White, Visible To and String, Default Visibility);
  • Disable Built-In Game Mode Completion;
  • Disable Built-In Game Mode Announcer;
  • Disable Built-In Game Mode Music;
  • Disable Built-In Game Mode Scoring;
  • Create HUD Text(Filtered Array(All Players(Team 2), Current Array Element.HideInstructions != True), Null, Custom String(
  • "If there is one hider remaining, your ult will show you the direction they are in."), Null, Right, -3, Orange, Red, White,
  • Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 2), Current Array Element.HideInstructions != True), Null, Custom String(
  • "Your Ult Reveals hiders in an area around you."), Null, Right, -4, Orange, Red, White, Visible To and String,
  • Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 2), Current Array Element.HideInstructions != True), Null, Custom String(
  • "Hold Crouch to fit through smaller spaces!"), Null, Right, -2, Orange, Red, White, Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 2), Current Array Element.HideInstructions != True), Null, Custom String(
  • "Hold Interact (F) to remove tips!"), Null, Right, -1, Orange, White, White, Visible To and String, Default Visibility);
  • Event Player.ULTTrackPlayer = Vector(0, -100, 0);
  • Create Effect(Event Player, Bad Aura, Red, Event Player.ULTTrackPlayer, 1, Visible To Position and Radius);
  • }
  • }
  • rule("UltRefresh")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Winston;
  • }
  • conditions
  • {
  • Ultimate Charge Percent(Event Player) == 0;
  • }
  • actions
  • {
  • Wait(0.100, Ignore Condition);
  • Set Ultimate Charge(Event Player, 100);
  • }
  • }
  • rule("MONSTERUlt")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Ultimate Charge Percent(Event Player) == 100;
  • Is Button Held(Event Player, Ultimate) == True;
  • Event Player.UltReady == 100;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Event Player, UltReady);
  • Event Player.UltReady = 0;
  • Event Player.PosAndRot[1] = Position Of(Event Player);
  • Event Player.PosAndRot[2] = Facing Direction Of(Event Player);
  • Wait(0.010, Ignore Condition);
  • Kill(Event Player, Null);
  • Wait(0.010, Ignore Condition);
  • Resurrect(Event Player);
  • Set Ultimate Charge(Event Player, 100);
  • Wait(0.100, Ignore Condition);
  • Press Button(Event Player, Ultimate);
  • Players Within Radius(Position Of(Event Player), 100, Opposite Team Of(Team Of(Event Player)), Off).CanBeSeen = 5;
  • Set Status(Players Within Radius(Position Of(Event Player), 20, Opposite Team Of(Team Of(Event Player)), Off), Null, Knocked Down,
  • 2);
  • 1);
  • Set Status(Players Within Radius(Position Of(Event Player), 50, Opposite Team Of(Team Of(Event Player)), Off), Null, Burning, 5);
  • Chase Player Variable At Rate(Event Player, UltReady, 100, 2, Destination and Rate);
  • If(Number of Living Players(Team 1) == 1);
  • Skip If(Distance Between(Event Player, All Living Players(Team 1)) < 20, 6);
  • Event Player.ULTTrackPlayer = Eye Position(Event Player);
  • Chase Player Variable At Rate(Event Player, ULTTrackPlayer, Position Of(All Living Players(Team 1)), 5, Destination and Rate);
  • Wait(2.500, Ignore Condition);
  • Stop Chasing Player Variable(Event Player, ULTTrackPlayer);
  • Play Effect(Event Player, Bad Pickup Effect, Red, Position Of(Event Player.ULTTrackPlayer), 1.500);
  • Event Player.ULTTrackPlayer = Vector(0, -100, 0);
  • }
  • }
  • rule("Spawn")
  • rule("UltTrackerInitialize")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Winston;
  • }
  • actions
  • {
  • Event Player.ULTTrackPlayer = Vector(0, -100, 0);
  • Create Effect(Event Player, Bad Aura, Red, Event Player.ULTTrackPlayer, 1, Visible To Position and Radius);
  • }
  • }
  • rule("SpawnCinematic")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Winston;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Event Player, UltReady);
  • Start Camera(Event Player, Vector(0, 500, 0), Vector(0, 600, 0), 0);
  • Wait(1, Ignore Condition);
  • Create HUD Text(Event Player, Global.MonsterMessage, Null, Null, Top, 5, White, White, White, Visible To and String,
  • Default Visibility);
  • Event Player.Z[100] = Last Text ID;
  • Set Status(Event Player, Null, Knocked Down, 30);
  • Wait(0.500, Ignore Condition);
  • Event Player.UltReady = 0;
  • Start Camera(Event Player, World Vector Of(Vector(0, 10, 2), Event Player, Rotation And Translation), Position Of(Event Player),
  • 0);
  • Wait(0.100, Ignore Condition);
  • Start Camera(Event Player, World Vector Of(Vector(0, 0.300, 2), Event Player, Rotation And Translation), Position Of(Event Player),
  • 0.200);
  • Wait(29, Ignore Condition);
  • Start Camera(Event Player, World Vector Of(Vector(0, 0.500, 3), Event Player, Rotation And Translation), Eye Position(
  • Event Player), 5);
  • Wait(1, Ignore Condition);
  • Press Button(Event Player, Ultimate);
  • Wait(2, Ignore Condition);
  • Start Camera(Event Player, Eye Position(Event Player), Eye Position(Event Player) + Facing Direction Of(Event Player) * 10, 5);
  • Wait(0.300, Ignore Condition);
  • Stop Camera(Event Player);
  • Chase Player Variable At Rate(Event Player, UltReady, 100, 2, Destination and Rate);
  • }
  • }
  • rule("SpawnSkirmish")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Winston;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Is Game In Progress == False;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Event Player, UltReady);
  • Event Player.UltReady = 0;
  • Disable Hero HUD(Event Player);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), False, White);
  • Wait(1, Ignore Condition);
  • Press Button(Event Player, Ultimate);
  • Chase Player Variable At Rate(Event Player, UltReady, 100, 2, Destination and Rate);
  • }
  • }
  • rule("Survivor Instructions")
  • rule("MonsterMessage")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Create HUD Text(Filtered Array(All Players(Team 1), Current Array Element.HideInstructions != True), Null, Custom String(
  • "Don't make noise: It's vision is based on sound."), Null, Right, -3, Orange, Orange, White, Visible To and String,
  • Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 1), Current Array Element.HideInstructions != True), Null, Custom String(
  • "Pay attention to the eye on your screen. If it's red, you are visible to the monster!"), Null, Right, -2, Orange, Orange,
  • White, Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 1), Current Array Element.HideInstructions != True), Null, Custom String(
  • "Survive until the timer runs out!"), Null, Right, -1, Orange, Orange, White, Visible To and String, Default Visibility);
  • Create HUD Text(Filtered Array(All Players(Team 1), Current Array Element.HideInstructions != True), Null, Custom String(
  • "Hold Interact (F) to remove tips!"), Null, Right, -2, Orange, Orange, White, Visible To and String, Default Visibility);
  • Global.MonsterMessage = Custom String("You are the monster!");
  • Wait(7, Ignore Condition);
  • Global.MonsterMessage = Custom String("{0} Your vision is based on sound, so listen and watch carefully...", Icon String(Eye));
  • Wait(5, Ignore Condition);
  • Global.MonsterMessage = Custom String("Your {0} ultimate reveals enemies in a large radius around you.", Ability Icon String(Hero(
  • Winston), Button(Ultimate)));
  • Wait(5, Ignore Condition);
  • Global.MonsterMessage = Custom String(
  • "Once one player remains, your ult will show you the general direction of the final player.");
  • Wait(6, Ignore Condition);
  • Global.MonsterMessage = Custom String("Kill all survivors before the time runs out to win.");
  • Wait(4, Ignore Condition);
  • Global.MonsterMessage = Custom String("Get ready....");
  • Wait(3, Ignore Condition);
  • Destroy HUD Text(Players On Hero(Hero(Winston), Team 2).Z[100]);
  • }
  • }
  • rule("Attacking Speed")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Primary Fire) == True;
  • Is Button Held(Event Player, Crouch) != True;
  • }
  • actions
  • {
  • Set Move Speed(Event Player, 50);
  • }
  • }
  • rule("Attacking Speed Normal")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Primary Fire) == False;
  • Is Button Held(Event Player, Crouch) != True;
  • }
  • actions
  • {
  • Wait(0.400, Abort When False);
  • Wait(0.500, Abort When False);
  • Set Move Speed(Event Player, 100);
  • }
  • }
  • disabled rule("PassThrough")
  • disabled rule("PLAYER MECHANICS")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("InitializeSurvivor")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is True For Any(Global.CollisionPoints, Distance Between(Eye Position(Event Player), Current Array Element) < 1.500) == True;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Disable Movement Collision With Environment(Event Player, False);
  • Wait(0.200, Ignore Condition);
  • Loop If Condition Is True;
  • Enable Movement Collision With Environment(Event Player);
  • Chase Player Variable At Rate(Event Player, CanBeSeen, 0, 1, Destination and Rate);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), False, White);
  • Global.A = 0;
  • Enable Hero HUD(Event Player);
  • Stop Chasing Player Variable(Event Player, UltReady);
  • Stop Modifying Hero Voice Lines(Event Player);
  • Stop Scaling Player(Event Player);
  • Set Move Speed(Event Player, 100);
  • Remove All Health Pools From Player(Event Player);
  • }
  • }
  • disabled rule("PLAYER MECHANICS")
  • rule("Survivors Message")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Create HUD Text(All Players(Team 1), Global.SurvivorsMessage, Null, Null, Top, 5, White, White, White, Visible To and String,
  • Default Visibility);
  • Global.Z[100] = Last Text ID;
  • Global.SurvivorsMessage = Custom String("You are a survivor");
  • Wait(3, Ignore Condition);
  • Global.SurvivorsMessage = Custom String("You have a few seconds to hide, listen for the roar!", Icon String(Eye));
  • Wait(4, Ignore Condition);
  • Global.SurvivorsMessage = Custom String("The monster's vision is based on sound, so be careful not to make noise.");
  • Wait(6, Ignore Condition);
  • Global.SurvivorsMessage = Custom String(
  • "Pay close attention to the eye on your screen! {0} If it's red, that means you are not invisible!", Icon String(Eye));
  • Wait(8, Ignore Condition);
  • Global.SurvivorsMessage = Custom String("You cannot kill the beast, just survive until the time runs out.");
  • Wait(4, Ignore Condition);
  • Global.SurvivorsMessage = Custom String("Good luck.");
  • Wait(2, Ignore Condition);
  • Destroy HUD Text(Global.Z[100]);
  • }
  • }
  • rule("InitializeSurvivor")
  • rule("CrouchIncreaseSpeed")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Is Crouching(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Chase Player Variable At Rate(Event Player, CanBeSeen, 0, 1, Destination and Rate);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), False, White);
  • Global.A = 0;
  • Disable Game Mode HUD(Event Player);
  • Set Move Speed(Event Player, 130);
  • }
  • }
  • rule("Seen!")
  • rule("CrouchResetSpeed")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Event Player.CanBeSeen > 0;
  • Is In Line of Sight(Eye Position(Event Player), Eye Position(Players On Hero(Hero(Winston), Opposite Team Of(Team Of(
  • Event Player)))), Barriers Do Not Block LOS) == True;
  • Is Crouching(Event Player) == False;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Play Effect(Event Player, Bad Pickup Effect, Red, Event Player, 1.500);
  • Set Move Speed(Event Player, 100);
  • }
  • }
  • rule("Invisible")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Event Player.CanBeSeen == 0;
  • }
  • actions
  • {
  • Destroy HUD Text(Event Player.Z[2]);
  • Set Invisible(Event Player, Enemies);
  • Create HUD Text(Event Player, Icon String(Eye), Null, Null, Top, -5, White, White, White, Visible To and String, Visible Never);
  • Event Player.Z[1] = Last Text ID;
  • Wait(5, Abort When False);
  • Wait(2, Abort When False);
  • Destroy HUD Text(Event Player.Z[1]);
  • }
  • }
  • rule("Visible")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Event Player.CanBeSeen > 0;
  • }
  • actions
  • {
  • Set Invisible(Event Player, None);
  • Destroy HUD Text(Event Player.Z[1]);
  • Create HUD Text(Event Player, Icon String(Eye), Null, Null, Top, -5, Red, White, White, Visible To and String, Visible Never);
  • Event Player.Z[2] = Last Text ID;
  • }
  • }
  • rule("Moving too fast")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Speed Of(Event Player) > 4;
  • Is On Ground(Event Player) == True;
  • Event Player.CanBeSeen <= 1;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 0.500;
  • Wait(0.400, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Firing Primary/secondary")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • (Is Firing Primary(Event Player) || Is Firing Secondary(Event Player)) == True;
  • Event Player.CanBeSeen <= 1;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 0.500;
  • Wait(0.400, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Use Abilities")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • (Is Using Ability 1(Event Player) || Is Using Ability 2(Event Player)) == True;
  • Event Player.CanBeSeen <= 1;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 0.500;
  • Wait(0.400, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Melee")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Meleeing(Event Player) == True;
  • Event Player.CanBeSeen <= 1;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 0.500;
  • Wait(0.400, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("UsingUlt")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == True;
  • Event Player.CanBeSeen <= 1;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 0.500;
  • Wait(0.400, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Too close!!!")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Event Player.CanBeSeen <= 1;
  • Distance Between(Event Player, Players On Hero(Hero(Winston), Opposite Team Of(Team Of(Event Player)))) < 2;
  • Has Spawned(Players On Hero(Hero(Winston), Team 2)) == True;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 0.500;
  • Wait(0.400, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Too close to eyelevel")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Event Player.CanBeSeen <= 1;
  • Distance Between(Event Player, Players On Hero(Hero(Winston), Opposite Team Of(Team Of(Event Player)))) < 3;
  • Distance Between(Event Player, Eye Position(Players On Hero(Hero(Winston), Team 2))) < 2;
  • Has Spawned(Players On Hero(Hero(Winston), Team 2)) == True;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 0.500;
  • Wait(0.400, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Voice")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Communicating Any(Event Player) == True;
  • Event Player.CanBeSeen <= 1;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 1;
  • Wait(0.500, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Wall")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is On Wall(Event Player) == True;
  • Event Player.CanBeSeen <= 1;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 1;
  • Wait(0.500, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("TakesDmg")
  • {
  • event
  • {
  • Player Took Damage;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Event Player.CanBeSeen = 0.500;
  • }
  • }
  • rule("Heartbeat")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is In Line of Sight(Eye Position(Event Player), Eye Position(Players On Hero(Hero(Winston), Opposite Team Of(Team Of(
  • Event Player)))), Barriers Do Not Block LOS) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Players On Hero(Hero(Winston), Team 2)) == True;
  • }
  • actions
  • {
  • Skip If(Event Player.CanBeSeen != True, 1);
  • Play Effect(Event Player, Debuff Impact Sound, White, Event Player, 20);
  • Play Effect(Event Player, Explosion Sound, White, Event Player, 15);
  • Wait(0.200, Ignore Condition);
  • Play Effect(Event Player, Explosion Sound, White, Event Player, 20);
  • Skip If(Event Player.CanBeSeen != True, 1);
  • Play Effect(Event Player, Debuff Impact Sound, White, Event Player, 25);
  • Skip If(Event Player.CanBeSeen > 0, 1);
  • Wait(0.500, Abort When False);
  • Wait(0.300, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • disabled rule("GAME MODE+MISC")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Starting Message")
  • rule("Give Away If Looking For Too Long")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Is In Line of Sight(Eye Position(Event Player), Eye Position(Players On Hero(Hero(Winston), Opposite Team Of(Team Of(
  • Event Player)))), Barriers Do Not Block LOS) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Players On Hero(Hero(Winston), Team 2)) == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Big Message(Event Player, Custom String("BE VERY QUIET"));
  • Wait(3, Ignore Condition);
  • Big Message(Event Player, Custom String("DONT MAKE ANY LOUD NOISES"));
  • Wait(3, Ignore Condition);
  • Big Message(Event Player, Custom String("OR IT MIGHT HEAR YOU"));
  • Wait(3, Ignore Condition);
  • Wait(Random Integer(5, 12), Abort When False);
  • Set Status(Event Player, Null, Hacked, 0.030);
  • Loop If Condition Is True;
  • }
  • }
  • disabled rule("GAME MODE+MISC")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("PreventRespawning")
  • {
  • event
  • {
  • Player Died;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Respawning(Event Player);
  • Big Message(Event Player, Custom String("You died...."));
  • }
  • }
  • rule("MonsterWins")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Number of Living Players(Team 1) == 0;
  • Number of Living Players(Team 1) == Null;
  • Match Time > 30;
  • }
  • actions
  • {
  • Declare Team Victory(Team 2);
  • }
  • }
  • rule("MonsterLeaves")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Number of Living Players(Team 2) == 0;
  • }
  • actions
  • {
  • Wait(1, Abort When False);
  • Wait(3, Abort When False);
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("MonsterWinsIfLastPlayersHaventSpawned")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • All Living Players(Team 1).JoinedLate == True;
  • }
  • actions
  • {
  • Declare Team Victory(Team 2);
  • }
  • }
  • rule("SurvivorsWin")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.MatchTimeLeft == 0;
  • Number of Living Players(Team 1) > 0;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(0.100, Abort When False);
  • Wait(0.200, Abort When False);
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("JoinedLate")
  • {
  • event
  • {
  • Player Joined Match;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Event Player.JoinedLate = True;
  • }
  • }
  • rule("Joined Late")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Event Player.JoinedLate == True;
  • }
  • actions
  • {
  • Wait(0.200, Ignore Condition);
  • Teleport(Event Player, Vector(0, -500, 0));
  • Big Message(Event Player, Custom String("You joined the match late. Please, stay for next match!"));
  • }
  • }
  • rule("After Pregame, all people not spawned in are considered late")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Has Spawned(Event Player) == False;
  • }
  • actions
  • {
  • Wait(30, Ignore Condition);
  • Event Player.JoinedLate = True;
  • }
  • }
  • rule("Quick Assemble")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Assembling Heroes == True;
  • }
  • actions
  • {
  • Set Match Time(12);
  • }
  • }
  • disabled rule("DEBUG:Dummy")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Wait(5, Ignore Condition);
  • Create Dummy Bot(Hero(Ashe), Team 1, -1, Vector(194.624, 10.779, 103.414), Vector(194.624, 10.779, 103.414));
  • Create Dummy Bot(Hero(Winston), Team 2, -1, Vector(196.103, 2.700, 81.066), Vector(204.224, 1.700, 81.064));
  • }
  • }
  • disabled rule("DEBUG:DummyMechanics")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Wait(10, Ignore Condition);
  • Press Button(Event Player, Primary Fire);
  • Wait(5, Ignore Condition);
  • Press Button(Event Player, Jump);
  • Press Button(Event Player, Ability 2);
  • disabled Wait(5, Ignore Condition);
  • disabled Press Button(Event Player, Jump);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Timer")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Pause Match Time;
  • Global.MatchTimeLeft = 210 + 20 * Number of Living Players(Team 1);
  • Global.MatchTimeLeft = 160 + 30 * Number of Living Players(Team 1);
  • Wait(32, Ignore Condition);
  • Chase Global Variable At Rate(MatchTimeLeft, 0, 1, Destination and Rate);
  • Create HUD Text(All Players(All Teams), Null, Custom String("Time before Escape - {0}", Global.MatchTimeLeft), Null, Left, -2,
  • White, White, White, Visible To and String, Default Visibility);
  • Disable Game Mode HUD(All Players(All Teams));
  • }
  • }
  • rule("Instructions")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Interact) == True;
  • }
  • actions
  • {
  • Wait(1, Abort When False);
  • If(Event Player.HideInstructions != True);
  • Event Player.HideInstructions = True;
  • Else If(Event Player.HideInstructions == True);
  • Event Player.HideInstructions = False;
  • End;
  • }
  • }
  • rule("MESSAGE")
  • rule("Match Chat MESSAGE")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(10, Ignore Condition);
  • Big Message(All Players(All Teams), Custom String("Match chat is open! Join for best experience!"));
  • Wait(50, Ignore Condition);
  • Wait(3, Ignore Condition);
  • Small Message(All Players(All Teams), Custom String("Match chat is open! Join for best experience!"));
  • Small Message(All Players(All Teams), Custom String("Match chat is open! Join for best experience!"));
  • Small Message(All Players(All Teams), Custom String("Match chat is open! Join for best experience!"));
  • Small Message(All Players(All Teams), Custom String("Match chat is open! Join for best experience!"));
  • Wait(90, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • disabled rule("Hero Specific------------------")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("ANA COOLDOWN")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Ana;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Set Ability Cooldown(Event Player, Button(Ability 1), 120);
  • }
  • }
  • rule("MCREE - Blind")
  • {
  • event
  • {
  • Player Dealt Damage;
  • Team 1;
  • McCree;
  • }
  • conditions
  • {
  • Event Ability == Button(Ability 2);
  • Team Of(Victim) == Opposite Team Of(Team Of(Event Player));
  • }
  • actions
  • {
  • Set Status(Victim, Null, Stunned, 2);
  • Wait(0.100, Ignore Condition);
  • All Living Players(Team 1).CanBeSeen = 0;
  • }
  • }
  • rule("TRACER - Bomb Knocks Down")
  • {
  • event
  • {
  • Player Dealt Damage;
  • Team 1;
  • Tracer;
  • }
  • conditions
  • {
  • Event Ability == Button(Ultimate);
  • }
  • actions
  • {
  • Set Status(Victim, Null, Knocked Down, 3);
  • }
  • }
  • rule("Always heal Monster")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Health(Event Player) != Max Health(Event Player);
  • }
  • actions
  • {
  • Heal(Event Player, Null, 1000);
  • Wait(0.200, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • disabled rule("NOT FINISHED - DO NOT ENABLE Sniff")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Secondary Fire) == True;
  • Is On Ground(Event Player) == True;
  • Is Dead(Event Player) == True;
  • }
  • actions
  • {
  • Skip If(Distance Between(Event Player, Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player))) == Current Array Element)) > 20, 1);
  • Damage(Event Player, Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))), Distance Between(Event Player,
  • Current Array Element) < 20), 1);
  • Play Effect(All Players(All Teams), Ring Explosion, White, Position Of(Event Player), 5);
  • Set Status(Event Player, Null, Rooted, 0.510);
  • Disallow Button(Event Player, Primary Fire);
  • Wait(0.500, Ignore Condition);
  • Loop If Condition Is True;
  • Allow Button(Event Player, Primary Fire);
  • }
  • }
Join the Workshop.codes Discord