Create
Return to post

Comparing difference between and

View raw
  • variables
  • {
  • global:
  • 0: DoorHealth
  • 1: UndeadSpawnPoints
  • 2: Score
  • 4: Junkdiff
  • 5: Reapdiff
  • 6: Mondiff
  • 7: Sumdiff
  • 8: Witchdiff
  • 9: mins
  • 10: sec
  • 11: GAMEBROKE
  • 12: Reaperintro
  • 13: Monintro
  • 14: Junkintro
  • 15: Sumintro
  • 16: Witchintro
  • 17: Damage
  • 18: RipTyre
  • 19: Effects
  • 20: Allheroes
  • 21: Forever
  • player:
  • 0: DoorPath
  • 1: DoorPathIndex
  • 2: Invis
  • 3: Finishedpath
  • }
  • rule("Timer")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Skip If(Global.Forever == True, 1);
  • Set Match Time(900);
  • Pause Match Time;
  • }
  • }
  • rule("Disable")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Completion;
  • Disable Built-In Game Mode Scoring;
  • Disable Game Mode HUD(Event Player);
  • Disable Game Mode In-World UI(Event Player);
  • }
  • }
  • rule("Gamemode Made By Waitedboat4 - Please DO NOT Steal My Work As This Took Too Long To Make")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Big Message(All Players(All Teams), Custom String("Gamemode Created By Waitedboat4"));
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("Created By Waitedboat4"), Top, 0, White, White, Green,
  • Visible To and String, Default Visibility);
  • }
  • }
  • rule("Skip Setup")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is In Setup == True;
  • }
  • actions
  • {
  • Set Match Time(0);
  • }
  • }
  • rule("Invis")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Sombra;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) == True;
  • }
  • actions
  • {
  • Event Player.Invis = True;
  • }
  • }
  • rule("Invis")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Sombra;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) == False;
  • }
  • actions
  • {
  • Event Player.Invis = False;
  • }
  • }
  • rule("Barrier - Effect")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(85.024, 13.948, -89.771), 30, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(89.748, 14.543, -102.709), 2, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Sphere, Blue, Vector(90.352, 14.543, -115.488), 2, Visible To Position and Radius);
  • }
  • }
  • rule("Barrier - Push Back")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Vector(85.024, 13.948, -89.771)) > 30;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Abort If(Is Alive(Event Player) == False);
  • Apply Impulse(Event Player, Direction Towards(Event Player, Vector(85.024, 13.948, -89.771)), 70, To World,
  • Cancel Contrary Motion);
  • Wait(0.250, Ignore Condition);
  • Loop If(Distance Between(Event Player, Vector(85.024, 13.948, -89.771)) > 30);
  • }
  • }
  • rule("Player Spawn")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Teleport(Event Player, Vector(87.559, 13.896, -69.931));
  • }
  • }
  • rule("Undead Spawn Points")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.UndeadSpawnPoints = Array(Vector(59.451, 19.973, -99.597), Vector(75.129, 11.941, -110.958), Vector(101.827, 10.854,
  • -93.440));
  • Global.DoorHealth = 2000;
  • }
  • }
  • rule("Path to door")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Zenyatta;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Start Throttle In Direction(Event Player, Direction Towards(Event Player, Event Player.DoorPath[Event Player.DoorPathIndex]), 1,
  • To World, Replace existing throttle, Direction and Magnitude);
  • If(Distance Between(Event Player, Global.UndeadSpawnPoints[0]) <= 2);
  • Event Player.DoorPath = Array(Vector(61.533, 19.973, -89.165), Vector(66.128, 13.973, -73.540), Vector(69.729, 13.973, -70.517),
  • Vector(73.689, 13.910, -70.007), Vector(77.196, 13.910, -67.016), Vector(87.650, 13.969, -66.907), Vector(88.928, 14.062,
  • -63.771));
  • Else If(Distance Between(Event Player, Global.UndeadSpawnPoints[1]) <= 2);
  • Event Player.DoorPath = Vector(88.838, 14.064, -64.502);
  • Else If(Distance Between(Event Player, Global.UndeadSpawnPoints[2]) <= 2);
  • Event Player.DoorPath = Array(Vector(103.648, 11.016, -87.708), Vector(103.747, 13.976, -79.025), Vector(85.959, 13.914, -75.011),
  • Vector(88.725, 14.174, -64.664));
  • }
  • }
  • rule("Zomnics Explode")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Zenyatta;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Vector(88.946, 14.053, -63.987)) <= 2;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • Wait(1, Ignore Condition);
  • Abort If(Is Alive(Event Player) == False);
  • Play Effect(All Players(All Teams), Bad Explosion, Red, Event Player, 5);
  • Damage(Players Within Radius(Event Player, 5, Opposite Team Of(Team Of(Event Player)), Surfaces And Enemy Barriers), Event Player,
  • 40);
  • Global.DoorHealth -= 80;
  • Wait(0.250, Ignore Condition);
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • }
  • }
  • rule("Create Zomnics")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Number of Heroes(Hero(Zenyatta), Team 2) < 4;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(Random Integer(2, 5), Ignore Condition);
  • Create Dummy Bot(Hero(Zenyatta), Team 2, -1, Random Value In Array(Global.UndeadSpawnPoints), Vector(0, 0, 0));
  • Loop If(Number of Heroes(Hero(Zenyatta), Team 2) < 4);
  • }
  • }
  • rule("Zomnics Path")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Zenyatta;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Event Player.DoorPath[Event Player.DoorPathIndex]) <= 2;
  • Event Player.DoorPathIndex < Count Of(Event Player.DoorPath);
  • }
  • actions
  • {
  • Event Player.DoorPathIndex += 1;
  • }
  • }
  • rule("Bots Die")
  • {
  • event
  • {
  • Player Died;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • }
  • }
  • rule("HUD")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create HUD Text(All Players(Team 1), Custom String("DOOR HEALTH {0}%", Global.DoorHealth), Null, Null, Right, 0, White, White,
  • White, Visible To and String, Default Visibility);
  • Create HUD Text(All Players(Team 1), Custom String("Score {0}", Global.Score), Null, Null, Left, 0, White, White, White,
  • Visible To and String, Default Visibility);
  • Create HUD Text(All Players(Team 1), Custom String("Match Time {0}:{1}", Global.mins, Global.sec), Null, Null, Top, 0, White,
  • White, White, Visible To and String, Default Visibility);
  • }
  • }
  • rule("Score")
  • {
  • event
  • {
  • Player Dealt Damage;
  • All;
  • All;
  • }
  • actions
  • {
  • Global.Score += Event Damage;
  • }
  • }
  • rule("Create Junkenstein")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(Global.Junkdiff, Abort When False);
  • Create Dummy Bot(Hero(Junkrat), Team 2, -1, Vector(82.019, 22.503, -64.994), Vector(0, 0, 0));
  • Loop;
  • }
  • }
  • rule("Move")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Junkrat;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Vector(82.019, 22.503, -64.994)) > 5;
  • Distance Between(Event Player, Vector(82.019, 22.503, -64.994)) > 2;
  • Is Dummy Bot(Event Player) == True;
  • Global.RipTyre != Event Player;
  • }
  • actions
  • {
  • Event Player.Finishedpath = True;
  • Start Throttle In Direction(Event Player, Direction Towards(Event Player, Vector(82.019, 22.503, -64.994)), 1, To World,
  • Replace existing throttle, Direction and Magnitude);
  • }
  • }
  • rule("Stop Move")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Junkrat;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Vector(82.019, 22.503, -64.994)) <= 2;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • }
  • }
  • rule("Health")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Junkrat;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • Global.RipTyre != Event Player;
  • }
  • actions
  • {
  • Set Max Health(Event Player, 1125);
  • Wait(0.250, Ignore Condition);
  • Heal(Event Player, Null, Max Health(Event Player));
  • Set Move Speed(Event Player, 1000);
  • }
  • }
  • rule("Facing")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Zenyatta);
  • Hero Of(Event Player) != Hero(Mercy);
  • Hero Of(Event Player) != Hero(Reaper);
  • Global.RipTyre != Event Player;
  • }
  • actions
  • {
  • Skip If(Hero Of(Event Player) == Hero(Junkrat), 2);
  • Skip If(Hero Of(Event Player) == Hero(Zarya), 1);
  • Start Facing(Event Player, Direction Towards(Event Player, First Of(Filtered Array(Sorted Array(Filtered Array(Filtered Array(
  • Players in View Angle(Event Player, Opposite Team Of(Team Of(Event Player)), 180), Is Alive(Current Array Element)),
  • Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)), Distance Between(Event Player,
  • Current Array Element)), Current Array Element.Invis == False))), 200, To World, Direction and Turn Rate);
  • Start Facing(Event Player, Direction Towards(Event Player, First Of(Filtered Array(Sorted Array(Filtered Array(All Living Players(
  • Opposite Team Of(Team Of(Event Player))), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)) + Velocity Of(
  • Player Closest To Reticle(Event Player, Opposite Team Of(Team Of(Event Player)))) * (Distance Between(Event Player,
  • Player Closest To Reticle(Event Player, Opposite Team Of(Team Of(Event Player)))) / 24)), 200, To World,
  • Direction and Turn Rate);
  • }
  • }
  • rule("Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • Hero Of(Event Player) != Hero(Zenyatta);
  • Hero Of(Event Player) != Hero(Mercy);
  • Hero Of(Event Player) != Hero(Zarya);
  • Hero Of(Event Player) != Hero(Reaper);
  • Global.RipTyre != Event Player;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Zenyatta);
  • Hero Of(Event Player) != Hero(Mercy);
  • Hero Of(Event Player) != Hero(Zarya);
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == False;
  • Global.RipTyre != Event Player;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Primary Fire);
  • Stop Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Roadhog Right Click")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Roadhog;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Player Closest To Reticle(Event Player, Opposite Team Of(Team Of(Event Player)))) > 10;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Roadhog Right Click")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Roadhog;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Player Closest To Reticle(Event Player, Opposite Team Of(Team Of(Event Player)))) <= 10;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Symmetra Right Click")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Symmetra;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Player Closest To Reticle(Event Player, Opposite Team Of(Team Of(Event Player)))) > 10;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Symmetra Right Click")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Symmetra;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Player Closest To Reticle(Event Player, Opposite Team Of(Team Of(Event Player)))) <= 10;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Create Junkenstein's Monster")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(Global.Mondiff, Abort When False);
  • Create Dummy Bot(Hero(Roadhog), Team 2, -1, Vector(80.076, 14.239, -98.538), Vector(0, 0, 0));
  • Loop;
  • }
  • }
  • rule("Go to Door")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Roadhog;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Start Throttle In Direction(Event Player, Direction Towards(Event Player, Vector(86.653, 14.196, -71.812)), 1, To World,
  • Replace existing throttle, Direction and Magnitude);
  • Set Max Health(Event Player, 633);
  • Wait(0.250, Ignore Condition);
  • Heal(Event Player, Null, Max Health(Event Player));
  • }
  • }
  • rule("Start Following")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Roadhog;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Distance Between(Event Player, Vector(86.653, 14.196, -71.812)) <= 2;
  • }
  • actions
  • {
  • Start Throttle In Direction(Event Player, Direction Towards(Event Player, Filtered Array(Sorted Array(Filtered Array(
  • Filtered Array(Players in View Angle(Event Player, Opposite Team Of(Team Of(Event Player)), 180), Is In Line of Sight(
  • Event Player, Current Array Element, Barriers Do Not Block LOS)), Is Alive(Current Array Element)), Distance Between(
  • Event Player, Current Array Element)), Current Array Element.Invis == False)), 1, To World, Replace existing throttle,
  • Direction and Magnitude);
  • Event Player.Finishedpath = True;
  • }
  • }
  • rule("Start Following")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Distance Between(Event Player, First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))), Distance Between(
  • Event Player, Current Array Element)))) > 3;
  • Event Player.Finishedpath == True;
  • }
  • actions
  • {
  • Start Throttle In Direction(Event Player, Direction Towards(Event Player, Filtered Array(Sorted Array(Filtered Array(
  • Filtered Array(Players in View Angle(Event Player, Opposite Team Of(Team Of(Event Player)), 180), Is In Line of Sight(
  • Event Player, Current Array Element, Barriers Do Not Block LOS)), Is Alive(Current Array Element)), Distance Between(
  • Event Player, Current Array Element)), Current Array Element.Invis == False)), 1, To World, Replace existing throttle,
  • Direction and Magnitude);
  • }
  • }
  • rule("Stop Following")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Event Player.Finishedpath == True;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == False;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • }
  • }
  • rule("Stop Following")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Event Player.Finishedpath == True;
  • Distance Between(Event Player, First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))), Distance Between(
  • Event Player, Current Array Element)))) <= 3;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • }
  • }
  • rule("Sym Ult")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Symmetra;
  • }
  • conditions
  • {
  • Ultimate Charge Percent(Event Player) == 100;
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Wait(0.500, Ignore Condition);
  • Press Button(Event Player, Ultimate);
  • Wait(0.250, Ignore Condition);
  • Press Button(Event Player, Ultimate);
  • Wait(1, Ignore Condition);
  • Press Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Ability 1")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Ability Cooldown(Event Player, Button(Ability 1)) == 0;
  • Hero Of(Event Player) != Hero(Junkrat);
  • Hero Of(Event Player) != Hero(Zarya);
  • Hero Of(Event Player) != Hero(Zenyatta);
  • Ultimate Charge Percent(Event Player) == 0;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • Hero Of(Event Player) != Hero(Roadhog);
  • }
  • actions
  • {
  • Skip If(Event Player.Finishedpath == True, 1);
  • Press Button(Event Player, Ability 1);
  • }
  • }
  • rule("Ability 1 Roadhog")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Roadhog;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Ability Cooldown(Event Player, Button(Ability 1)) == 0;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • }
  • actions
  • {
  • Skip If(Event Player.Finishedpath == False, 1);
  • Wait(0.250, Ignore Condition);
  • Press Button(Event Player, Ability 1);
  • }
  • }
  • rule("Roadhog Abilities")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Roadhog;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Health(Event Player) < Max Health(Event Player);
  • Ability Cooldown(Event Player, Button(Ability 2)) == 0;
  • }
  • actions
  • {
  • Press Button(Event Player, Ability 2);
  • }
  • }
  • rule("ULT")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Ultimate Charge Percent(Event Player) == 100;
  • Hero Of(Event Player) != Hero(Junkrat);
  • Hero Of(Event Player) != Hero(Zarya);
  • Hero Of(Event Player) != Hero(Zenyatta);
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • }
  • actions
  • {
  • Press Button(Event Player, Ultimate);
  • }
  • }
  • rule("Create The Witch")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(Global.Witchdiff, Abort When False);
  • Create Dummy Bot(Hero(Mercy), Team 2, -1, Vector(82.359, 13.979, -99.194), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Mercy), Team 2, -1, Vector(83.339, 14.454, -94.776), Vector(0, 0, 0));
  • Loop;
  • }
  • }
  • rule("Revive")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Skip If(Number of Heroes(Hero(Roadhog), Team 2) > 1, 1);
  • Create Dummy Bot(Hero(Roadhog), Team 2, -1, Position Of(Event Player), Vector(0, 0, 0));
  • Wait(0.250, Ignore Condition);
  • Skip If(Number of Heroes(Hero(Junkrat), Team 2) > 1, 1);
  • Create Dummy Bot(Hero(Junkrat), Team 2, -1, Vector(82.019, 22.503, -64.994), Vector(0, 0, 0));
  • }
  • }
  • rule("Revive")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Players On Hero(Hero(Roadhog), Team 2)) == True;
  • Is Alive(Players On Hero(Hero(Junkrat), Team 2)) == True;
  • }
  • actions
  • {
  • Global.Effects = Empty Array;
  • Create Effect(All Players(All Teams), Orb, Yellow, Players On Hero(Hero(Roadhog), Team 2), 10, Visible To Position and Radius);
  • Modify Global Variable(Effects, Append To Array, Last Created Entity);
  • Create Effect(All Players(All Teams), Orb, Yellow, Players On Hero(Hero(Junkrat), Team 2), 10, Visible To Position and Radius);
  • Modify Global Variable(Effects, Append To Array, Last Created Entity);
  • Create Effect(All Players(All Teams), Orb, Yellow, Event Player, 4, Visible To Position and Radius);
  • Modify Global Variable(Effects, Append To Array, Last Created Entity);
  • Wait(2, Ignore Condition);
  • Destroy Effect(Global.Effects[0]);
  • Destroy Effect(Global.Effects[1]);
  • Destroy Effect(Global.Effects[2]);
  • }
  • }
  • rule("Health")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Set Max Health(Event Player, 800);
  • Wait(0.250, Ignore Condition);
  • Heal(Event Player, Null, Max Health(Event Player));
  • }
  • }
  • rule("Witch Heal")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Players On Hero(Hero(Roadhog), Team 2)) > 3;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Start Throttle In Direction(Event Player, Direction Towards(Event Player, Players On Hero(Hero(Roadhog), Team 2)), 1, To World,
  • Replace existing throttle, Direction and Magnitude);
  • Start Facing(Event Player, Direction Towards(Event Player, First Of(Sorted Array(Players On Hero(Hero(Roadhog), Team 2),
  • Distance Between(Event Player, Current Array Element)))), 200, To World, Direction and Turn Rate);
  • }
  • }
  • rule("Witch Heal")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Players On Hero(Hero(Roadhog), Team 2)) <= 3;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • }
  • }
  • rule("Witch Heal")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Lose")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Number of Living Players(Team 1) == 0;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Skip If(Global.Forever == True, 1);
  • Declare Team Victory(Team 2);
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("Win")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Match Time == 0;
  • Is Game In Progress == True;
  • Global.Forever == False;
  • }
  • actions
  • {
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("Create The Reaper")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(Global.Reapdiff, Abort When False);
  • Create Dummy Bot(Hero(Reaper), Team 2, -1, Vector(62.376, 20.399, -92.766), Vector(0, 0, 0));
  • Loop;
  • }
  • }
  • rule("Teleport")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Reaper;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Start Facing(Event Player, Direction Towards(Event Player, Vector(85.495, 13.932, -77.854)), 500, To World,
  • Direction and Turn Rate);
  • Wait(0.500, Ignore Condition);
  • Stop Facing(Event Player);
  • Press Button(Event Player, Ability 2);
  • Wait(0.500, Ignore Condition);
  • Press Button(Event Player, Primary Fire);
  • Wait(1, Ignore Condition);
  • Event Player.Finishedpath = True;
  • Start Facing(Event Player, Direction Towards(Event Player, First Of(Filtered Array(Sorted Array(Filtered Array(Filtered Array(
  • Players in View Angle(Event Player, Opposite Team Of(Team Of(Event Player)), 180), Is Alive(Current Array Element)),
  • Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)), Distance Between(Event Player,
  • Current Array Element)), Current Array Element.Invis == False))), 200, To World, Direction and Turn Rate);
  • }
  • }
  • rule("Create The Summoner")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(Global.Sumdiff, Abort When False);
  • Create Dummy Bot(Hero(Symmetra), Team 2, -1, Global.UndeadSpawnPoints[0], Vector(0, 0, 0));
  • Loop;
  • }
  • }
  • rule("Path")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Symmetra;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Set Max Health(Event Player, 750);
  • Wait(0.250, Ignore Condition);
  • Heal(Event Player, Null, Max Health(Event Player));
  • Event Player.DoorPathIndex = 0;
  • Event Player.DoorPath = Array(Vector(61.533, 19.973, -89.165), Vector(66.128, 13.973, -73.540), Vector(69.729, 13.973, -70.517),
  • Vector(73.689, 13.910, -70.007), Vector(77.196, 13.910, -67.016), Vector(87.650, 13.969, -66.907));
  • Start Throttle In Direction(Event Player, Direction Towards(Event Player, Event Player.DoorPath[Event Player.DoorPathIndex]), 1,
  • To World, Replace existing throttle, Direction and Magnitude);
  • }
  • }
  • rule("Symmetra Path")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Symmetra;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Event Player.DoorPath[Event Player.DoorPathIndex]) <= 2;
  • Event Player.DoorPathIndex < Count Of(Event Player.DoorPath);
  • }
  • actions
  • {
  • Event Player.DoorPathIndex += 1;
  • }
  • }
  • rule("Symmetra Path")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Symmetra;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.DoorPathIndex == 5;
  • }
  • actions
  • {
  • Event Player.Finishedpath = True;
  • }
  • }
  • rule("Lose")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.DoorHealth <= 0;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Big Message(All Players(All Teams), Custom String("DOOR DESTROYED"));
  • Wait(1, Ignore Condition);
  • Declare Team Victory(Team 2);
  • }
  • }
  • rule("Create Zombardiers")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Number of Heroes(Hero(Zarya), Team 2) < 2;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(Random Integer(10, 30), Abort When False);
  • Create Dummy Bot(Hero(Zarya), Team 2, -1, Random Value In Array(Global.UndeadSpawnPoints), Vector(0, 0, 0));
  • Loop If(Number of Heroes(Hero(Zarya), Team 2) < 2);
  • }
  • }
  • rule("Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Zarya;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Zarya;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == False;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Path to door")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Zarya;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Event Player.DoorPathIndex = 0;
  • Start Throttle In Direction(Event Player, Direction Towards(Event Player, Event Player.DoorPath[Event Player.DoorPathIndex]), 1,
  • To World, Replace existing throttle, Direction and Magnitude);
  • If(Distance Between(Event Player, Global.UndeadSpawnPoints[0]) <= 2);
  • Event Player.DoorPath = Array(Vector(60.330, 20.148, -93.199), Vector(62.059, 20.270, -93.685));
  • Else If(Distance Between(Event Player, Global.UndeadSpawnPoints[1]) <= 2);
  • Event Player.DoorPath = Vector(81.578, 13.933, -93.675);
  • Else If(Distance Between(Event Player, Global.UndeadSpawnPoints[2]) <= 2);
  • Event Player.DoorPath = Array(Vector(103.594, 11.102, -88.685), Vector(104.527, 14.137, -77.604), Vector(102.692, 14.090, -73.167),
  • Vector(95.201, 14.121, -73.396));
  • }
  • }
  • rule("Stop")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Zarya;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Last Of(Event Player.DoorPath)) <= 2;
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • }
  • }
  • rule("Zarya Path")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Zarya;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Event Player.DoorPath[Event Player.DoorPathIndex]) <= 2;
  • Event Player.DoorPathIndex < Count Of(Event Player.DoorPath);
  • }
  • actions
  • {
  • Event Player.DoorPathIndex += 1;
  • }
  • }
  • rule("Spawn No Heal")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is In Spawn Room(Event Player) == True;
  • }
  • actions
  • {
  • Set Healing Received(Event Player, 0);
  • }
  • }
  • rule("Spawn No Heal")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is In Spawn Room(Event Player) == False;
  • }
  • actions
  • {
  • Set Healing Received(Event Player, 100);
  • }
  • }
  • rule("Barrier - Push Back")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is In Spawn Room(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Abort If(Is Alive(Event Player) == False);
  • Teleport(Event Player, Vector(87.606, 14.069, -101.705));
  • Wait(0.160, Ignore Condition);
  • Loop If(Is In Spawn Room(Event Player) == True);
  • }
  • }
  • rule("Hardness")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.Reapdiff = Workshop Setting Integer(Custom String("Difficulty"), Custom String("The Reaper Difficulty"), 150, 10, 500);
  • Global.Mondiff = Workshop Setting Integer(Custom String("Difficulty"), Custom String("Junkenstein's Monster Difficulty"), 200, 10,
  • 500);
  • Global.Sumdiff = Workshop Setting Integer(Custom String("Difficulty"), Custom String("The Summoner Difficulty"), 250, 10, 500);
  • Global.Junkdiff = Workshop Setting Integer(Custom String("Difficulty"), Custom String("Dr Junkenstein Difficulty"), 300, 10, 500);
  • Global.Witchdiff = Workshop Setting Integer(Custom String("Difficulty"), Custom String("The Witch Difficulty"), 350, 10, 500);
  • }
  • }
  • rule("Hardness")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(60, Ignore Condition);
  • Skip If(Global.Reapdiff <= 10, 1);
  • Global.Reapdiff -= 10;
  • Skip If(Global.Mondiff <= 10, 1);
  • Global.Mondiff -= 10;
  • Skip If(Global.Sumdiff <= 10, 1);
  • Global.Sumdiff -= 10;
  • Skip If(Global.Junkdiff <= 10, 1);
  • Global.Junkdiff -= 10;
  • Skip If(Global.Witchdiff <= 10, 1);
  • Global.Witchdiff -= 10;
  • Loop If(Is Game In Progress == True);
  • }
  • }
  • rule("Mins")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.sec == 59;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Global.mins += 1;
  • }
  • }
  • rule("Sec")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Global.sec += 1;
  • Loop If(Is Game In Progress == True);
  • }
  • }
  • rule("Sec")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.sec == 60;
  • }
  • actions
  • {
  • Global.sec = 0;
  • }
  • }
  • rule("Shooting - Reaper")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Reaper;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.Finishedpath == True;
  • Is In Line of Sight(Event Player, First Of(Filtered Array(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)), Current Array Element.Invis == False)), Barriers Do Not Block LOS)
  • == True;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Create Zomnics - Game Broke")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Number of Heroes(Hero(Zenyatta), Team 2) < 4;
  • Is Game In Progress == True;
  • Global.GAMEBROKE == True;
  • }
  • actions
  • {
  • Wait(Random Integer(2, 5), Ignore Condition);
  • Create Dummy Bot(Hero(Zenyatta), Team 2, -1, Random Value In Array(Global.UndeadSpawnPoints), Vector(0, 0, 0));
  • Loop If(Number of Heroes(Hero(Zenyatta), Team 2) < 4);
  • }
  • }
  • rule("Broke Verify")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Number of Heroes(Hero(Zenyatta), Team 2) == 0;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(6, Abort When False);
  • Big Message(All Players(All Teams), Custom String("GAME BROKEN Fixing..."));
  • Wait(1, Ignore Condition);
  • Global.GAMEBROKE = True;
  • Wait(0.250, Ignore Condition);
  • Global.GAMEBROKE = False;
  • }
  • }
  • rule("Reaper Intro")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Reaper;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Global.Reaperintro == False;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Set Slow Motion(50);
  • Set Slow Motion(35);
  • Global.Reaperintro = True;
  • Set Status(All Players(Team 1), Null, Invincible, 2);
  • Start Camera(All Players(Team 1), Vector(64.829, 20.727, -91.771), Eye Position(Players On Hero(Hero(Reaper), Team 2)), 0);
  • Big Message(All Players(All Teams), Custom String("The Reaper"));
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(Team 1));
  • Set Slow Motion(100);
  • }
  • }
  • rule("Junkrat Intro")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Junkrat;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Global.Junkintro == False;
  • Is Dummy Bot(Event Player) == True;
  • Global.DoorHealth != Event Player;
  • }
  • actions
  • {
  • Set Status(All Players(Team 1), Null, Invincible, 2);
  • Set Slow Motion(50);
  • Set Slow Motion(35);
  • Global.Junkintro = True;
  • Start Camera(All Players(Team 1), Vector(82.489, 22.749, -67.924), Eye Position(Players On Hero(Hero(Junkrat), Team 2)), 0);
  • Big Message(All Players(All Teams), Custom String("Dr Junkenstein"));
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(Team 1));
  • Set Slow Motion(100);
  • }
  • }
  • rule("Road Intro")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Roadhog;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Global.Monintro == False;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Set Status(All Players(Team 1), Null, Invincible, 2);
  • Set Slow Motion(50);
  • Set Slow Motion(35);
  • Global.Monintro = True;
  • Start Camera(All Players(Team 1), Vector(83.796, 13.950, -94.722), Eye Position(Players On Hero(Hero(Roadhog), Team 2)), 0);
  • Start Camera(All Players(Team 1), Vector(84.170, 14.557, -91.100), Eye Position(Players On Hero(Hero(Roadhog), Team 2)), 0);
  • Big Message(All Players(All Teams), Custom String("Junkenstein's Monster"));
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(Team 1));
  • Set Slow Motion(100);
  • }
  • }
  • rule("Witch Intro")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mercy;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Global.Witchintro == False;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Set Status(All Players(Team 1), Null, Invincible, 2);
  • Set Slow Motion(50);
  • Set Slow Motion(35);
  • Global.Witchintro = True;
  • Start Camera(All Players(Team 1), Vector(85.866, 14.398, -99.525), Eye Position(Players On Hero(Hero(Mercy), Team 2)), 0);
  • Big Message(All Players(All Teams), Custom String("The Witch"));
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(Team 1));
  • Set Slow Motion(100);
  • }
  • }
  • rule("Summoner Intro")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Symmetra;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Global.Sumintro == False;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Set Status(All Players(Team 1), Null, Invincible, 2);
  • Set Slow Motion(50);
  • Set Slow Motion(35);
  • Global.Sumintro = True;
  • Start Camera(All Players(Team 1), Vector(59.837, 20.211, -96.009), Eye Position(Players On Hero(Hero(Symmetra), Team 2)), 0);
  • Big Message(All Players(All Teams), Custom String("The Summoner"));
  • Wait(2, Ignore Condition);
  • Stop Camera(All Players(Team 1));
  • Set Slow Motion(100);
  • }
  • }
  • rule("Damage")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.Damage = Workshop Setting Integer(Custom String("Difficulty"), Custom String("Boss Damage"), 100, 50, 250);
  • }
  • }
  • rule("Damage")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Set Damage Dealt(All Players(Team 2), Global.Damage);
  • }
  • }
  • rule("Allowed heroes")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.Allheroes = Workshop Setting Toggle(Custom String("Settings"), Custom String("All Heroes"), False);
  • }
  • }
  • rule("Allowed heroes")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.Allheroes == True;
  • }
  • actions
  • {
  • Set Player Allowed Heroes(Event Player, All Heroes);
  • }
  • }
  • rule("Allowed heroes")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.Allheroes == False;
  • }
  • actions
  • {
  • Set Player Allowed Heroes(Event Player, Array(Hero(Genji), Hero(Hanzo), Hero(McCree), Hero(Soldier: 76), Hero(Torbjörn), Hero(
  • Tracer), Hero(Widowmaker), Hero(Ana), Hero(Brigitte), Hero(Zenyatta)));
  • }
  • }
  • rule("Forever")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.Forever = Workshop Setting Toggle(Custom String("Settings"), Custom String("Never Ending Mode"), False);
  • }
  • }
Join the Workshop.codes Discord