Create
Return to post

Comparing difference between and

View raw
  • settings
  • {
  • main
  • {
  • Description: "Yeti Hunter Boss Battle - made by Waitedboat4#2760 - Release Version"
  • Description: "Yeti Hunter Boss Battle - made by Waitedboat4#2760 - Update v2 - Add AI Feature"
  • }
  • lobby
  • {
  • Max Team 2 Players: 5
  • Return To Lobby: Never
  • }
  • modes
  • {
  • Elimination
  • {
  • enabled maps
  • {
  • Nepal Village
  • }
  • }
  • General
  • {
  • Hero Limit: Off
  • Score To Win: 1
  • }
  • }
  • heroes
  • {
  • Team 1
  • {
  • enabled heroes
  • {
  • Winston
  • }
  • }
  • Team 2
  • {
  • enabled heroes
  • {
  • Mei
  • }
  • }
  • General
  • {
  • Mei
  • {
  • Healing Received: 200%
  • }
  • Winston
  • {
  • Damage Dealt: 150%
  • Ultimate Duration: 200%
  • Ultimate Generation - Combat Primal Rage: 0%
  • Ultimate Generation - Passive Primal Rage: 0%
  • Ultimate Generation Primal Rage: 10%
  • }
  • }
  • }
  • }
  • variables
  • {
  • global:
  • 0: MeatPos
  • 1: Lives
  • 2: LivesYetiPOV
  • 3: MeatEaten
  • 4: UltTimer
  • 5: UltText
  • 6: Preulthealth
  • 7: EffectIndex
  • 8: EffectArray
  • 9: Ulted
  • 10: TextArray
  • 11: TempMeatPos
  • 14: Intro
  • 0: _extendedGlobalCollection
  • 2: Nodes
  • 3: Segments
  • 4: Attributes
  • 5: map
  • 6: _classIndexes
  • 7: _tempNodes
  • 8: _tempSegments
  • 9: _tempAttributes
  • 10: MeatPos
  • 11: Lives
  • 12: LivesYetiPOV
  • 13: MeatEaten
  • 14: UltTimer
  • 15: UltText
  • 16: Preulthealth
  • 17: EffectIndex
  • 18: EffectArray
  • 19: Ulted
  • 20: TextArray
  • 21: TempMeatPos
  • 22: Intro
  • 23: AddAI
  • player:
  • 0: _extendedPlayerCollection
  • 1: pathfinderDoGetCurrent
  • 2: pathfinderCurrent
  • 3: pathmapReference
  • 4: parentArray
  • 5: destination
  • 6: lastAttribute
  • 7: Dijkstra_Final_Path
  • 8: Dijkstra_Final_Path_Attributes
  • 9: Dijkstra_Current
  • 10: Dijkstra_Distances
  • 11: Dijkstra_Unvisited
  • 12: Dijkstra_Connected_Segments
  • 13: Dijkstra_Neighbor_Index
  • 14: Dijkstra_Distance
  • 15: Dijkstra_Neighbor_Attributes
  • 16: Dijkstra_Parent_Array
  • 27: Dijkstra_Final_Path_1
  • 28: Dijkstra_Final_Path_Attributes_1
  • 29: Dijkstra_Current_1
  • 30: Dijkstra_Distances_1
  • 31: Dijkstra_Unvisited_1
  • 32: Dijkstra_Connected_Segments_1
  • 33: Dijkstra_Neighbor_Index_1
  • 34: Dijkstra_Distance_1
  • 35: Dijkstra_Neighbor_Attributes_1
  • 36: Dijkstra_Parent_Array_1
  • 37: Dijkstra_Final_Path_2
  • 38: Dijkstra_Final_Path_Attributes_2
  • 39: Dijkstra_Current_2
  • 40: Dijkstra_Distances_2
  • 41: Dijkstra_Unvisited_2
  • 42: Dijkstra_Connected_Segments_2
  • 43: Dijkstra_Neighbor_Index_2
  • 44: Dijkstra_Distance_2
  • 45: Dijkstra_Neighbor_Attributes_2
  • 46: Dijkstra_Parent_Array_2
  • }
  • rule("Initial Global")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global._classIndexes[1000] = 0;
  • Global._extendedGlobalCollection[1] = Index Of Array Value(Global._classIndexes, 0);
  • Global._classIndexes[Global._extendedGlobalCollection[1]] = -1;
  • Global._tempNodes = Empty Array;
  • Global._tempSegments = Empty Array;
  • Global._tempAttributes = Empty Array;
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-159.980, -97.520, 78.310));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-141.510, -94.400, 69.970));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-158.780, -98.130, 63.960));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-164.080, -98.790, 59.010));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-184.780, -98.280, 65.830));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-182.310, -99.160, 71.090));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-158.760, -90.390, 45.180));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-160.740, -89.990, 40.950));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-177.480, -90, 41.550));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-162.850, -88, 25.650));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-177.900, -90, 35.310));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-180.900, -90, 35.350));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-180.890, -90, 20.340));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-197.300, -94.700, 41.960));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-192.920, -98.500, 61.080));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-200.910, -94, 30.250));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-193.360, -94.260, 28.290));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-192.800, -94.130, 12.820));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-171.840, -92.010, 13.860));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-162.560, -92.040, 13.930));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-171.170, -92, 20.070));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-163.050, -92, 20));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-161.690, -89.200, -0.220));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-161.930, -92.020, -13.520));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-190.140, -87, 0.070));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-189.900, -87, 5.510));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-199.620, -87, 5.720));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-200.600, -87, 0.100));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-198.220, -87, -5.500));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-190.980, -87, -5.060));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-220.310, -88.210, -0.080));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-219.100, -92.210, 21.310));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-201.650, -94, 21.030));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-202.430, -94.120, 13.010));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-219.010, -92.210, -22.530));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-202.110, -94, -20.880));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-202.710, -94.130, -13.810));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-171.390, -92.030, -13.550));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-162.320, -88, 18.940));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-157.130, -88, 18.510));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-158.230, -89.120, 4.870));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-158.710, -89.050, -3.550));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-157.120, -88, -19.750));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-161.300, -88, -19.410));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-162.450, -89.270, -29.620));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-159.090, -97.520, -78.750));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-158.920, -98.010, -62.720));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-163.830, -98.750, -59));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-183.390, -98.190, -65.880));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-181.360, -99.170, -70.220));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-158.720, -90.480, -45.950));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-160, -90.040, -42.290));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-176.840, -90, -41.550));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-177.470, -90, -35.130));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-180.710, -90, -34.310));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-180.520, -90, -20.210));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-170.960, -92, -19.710));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-161.780, -92, -19.300));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-192.970, -94.190, -14.020));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-192.910, -94.280, -27.300));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-188.070, -93.960, -26.600));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-187.880, -93.900, -35.430));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-194.070, -94.380, -36.860));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-198.070, -95.630, -48.560));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-191.710, -98.480, -62.660));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-196.120, -94.640, -42));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-164.100, -98.290, -52.840));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-172.380, -94.410, -30.770));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-205, -94.020, -0.530));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-205.110, -94.020, -6.530));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-220.170, -94.040, -5.710));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-219.750, -93.570, Empty Array));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-219.710, -94.020, 5.770));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-205.020, -94.020, 5.210));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-212.630, -94, -0.080));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-213.590, -94, -5.740));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-212.520, -94, 5.290));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-185.720, -94.150, 12.550));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-184.370, -94.110, 0.670));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-184.450, -94.020, -13.820));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-171.920, -94.350, 29.140));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(Empty Array, 2, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(Empty Array, 3, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(2, 3, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(3, 4, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(4, 5, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(5, 2, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(5, Empty Array, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Up);
  • Modify Global Variable(_tempSegments, Append To Array, Vector(1, 6, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(6, 2, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(6, 7, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(7, 8, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(7, 9, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(8, 10, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(10, 11, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(11, 12, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(4, 14, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(14, 13, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(13, 8, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(13, 15, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(15, 16, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(16, 17, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(18, 19, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(12, 20, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(20, 21, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(21, 19, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(18, 20, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(19, 22, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(22, 23, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(22, 24, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(24, 25, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(25, 26, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(26, 27, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(27, 28, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(28, 29, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(29, 24, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(27, 30, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(30, 31, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(31, 32, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(32, 33, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(33, 17, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(30, 34, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(34, 35, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(35, 36, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(23, 37, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(22, 40, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(40, 39, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(39, 38, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(38, 9, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(22, 41, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(41, 42, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(42, 43, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(43, 44, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(41, 40, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(45, 46, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(45, 47, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(46, 47, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(47, 48, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(48, 49, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(49, 46, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(49, 45, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(46, 50, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(50, 51, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(51, 44, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(51, 52, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(52, 53, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(53, 54, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(54, 55, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(55, 56, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(56, 57, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(56, 37, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(23, 57, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(58, 36, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(58, 59, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(59, 60, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(60, 61, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(61, 62, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(63, 64, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(64, 48, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(62, 65, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(65, 63, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(65, 52, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(47, 66, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(66, 67, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(67, 60, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(33, 68, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(68, 69, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(70, 71, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(71, 72, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(73, 68, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(71, 74, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(74, 75, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(75, 69, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(75, 70, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(72, 76, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(76, 73, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(74, 76, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(77, 78, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(17, 77, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(77, 18, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(78, 68, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(79, 78, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(58, 79, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(79, 37, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(37, 36, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(36, 69, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(80, 16, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(80, 3, Empty Array));
  • Global.Nodes[Global._extendedGlobalCollection[1]] = Global._tempNodes;
  • Global.Segments[Global._extendedGlobalCollection[1]] = Global._tempSegments;
  • Global.Attributes[Global._extendedGlobalCollection[1]] = Global._tempAttributes;
  • Global.map = Global._extendedGlobalCollection[1];
  • }
  • }
  • rule("Pathfinder: Resolve Current")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.pathfinderDoGetCurrent == True;
  • }
  • actions
  • {
  • Event Player.pathfinderCurrent = Index Of Array Value(Global.Nodes[Event Player.pathmapReference], First Of(Sorted Array(
  • Global.Nodes[Event Player.pathmapReference], Distance Between(Position Of(Event Player), Current Array Element))));
  • Start Throttle In Direction(Event Player, Direction Towards(Position Of(Event Player),
  • Event Player.pathfinderCurrent == -1 ? Event Player.destination : Global.Nodes[Event Player.pathmapReference][Event Player.pathfinderCurrent]),
  • 1, To World, Replace existing throttle, Direction and Magnitude);
  • Event Player.pathfinderDoGetCurrent = False;
  • }
  • }
  • rule("Pathfinder: Resolve Next")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Position Of(Event Player),
  • Event Player.pathfinderCurrent == -1 ? Event Player.destination : Global.Nodes[Event Player.pathmapReference][Event Player.pathfinderCurrent])
  • <= 0.400;
  • Event Player.parentArray != Null;
  • }
  • actions
  • {
  • If(Event Player.pathfinderCurrent != -1);
  • Event Player.lastAttribute = Mapped Array(Filtered Array(Global.Attributes[Event Player.pathmapReference], X Component Of(
  • Current Array Element) == Event Player.pathfinderCurrent && Y Component Of(Current Array Element)
  • == Event Player.parentArray[Event Player.pathfinderCurrent] - 1), Z Component Of(Current Array Element));
  • Event Player.pathfinderCurrent = Event Player.parentArray[Event Player.pathfinderCurrent] - 1;
  • Else;
  • Stop Throttle In Direction(Event Player);
  • Event Player.parentArray = Null;
  • End;
  • }
  • }
  • rule("Yeti Pathfind to Meat")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Winston;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == False;
  • Is Dummy Bot(Event Player) == True;
  • Is Game In Progress == True;
  • Is Alive(Event Player) == True;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Event Player._extendedPlayerCollection[0] = Random Value In Array(Global.MeatPos);
  • Event Player.Dijkstra_Final_Path = Empty Array;
  • Event Player.Dijkstra_Final_Path_Attributes = Empty Array;
  • Event Player.Dijkstra_Current = Index Of Array Value(Global.Nodes[Global.map], First Of(Sorted Array(Global.Nodes[Global.map],
  • Distance Between(First Of(Event Player._extendedPlayerCollection), Current Array Element))));
  • Event Player.Dijkstra_Distances[Event Player.Dijkstra_Current] = 0.000;
  • Event Player.Dijkstra_Unvisited = Mapped Array(Global.Nodes[Global.map], Current Array Index);
  • While(Is True For Any(Event Player.Dijkstra_Unvisited, Event Player.Dijkstra_Distances[Current Array Element] != 0));
  • Wait(0.016, Ignore Condition);
  • Event Player.Dijkstra_Connected_Segments = Filtered Array(Global.Segments[Global.map], Array Contains(Append To Array(
  • Append To Array(Empty Array, X Component Of(Current Array Element)), Y Component Of(Current Array Element)),
  • Event Player.Dijkstra_Current));
  • Event Player._extendedPlayerCollection[1] = 0;
  • While(Event Player._extendedPlayerCollection[1] < Count Of(Event Player.Dijkstra_Connected_Segments));
  • Wait(0.016, Ignore Condition);
  • Event Player.Dijkstra_Neighbor_Index = First Of(Filtered Array(Append To Array(Append To Array(Empty Array, X Component Of(
  • Event Player.Dijkstra_Connected_Segments[Event Player._extendedPlayerCollection[1]])), Y Component Of(
  • Event Player.Dijkstra_Connected_Segments[Event Player._extendedPlayerCollection[1]])),
  • Current Array Element != Event Player.Dijkstra_Current));
  • Event Player.Dijkstra_Distance = Distance Between(Global.Nodes[Global.map][Event Player.Dijkstra_Neighbor_Index],
  • Global.Nodes[Global.map][Event Player.Dijkstra_Current]) + Event Player.Dijkstra_Distances[Event Player.Dijkstra_Current];
  • Event Player.Dijkstra_Neighbor_Attributes = Filtered Array(Global.Attributes[Global.map], Y Component Of(Current Array Element)
  • == Event Player.Dijkstra_Current && X Component Of(Current Array Element) == Event Player.Dijkstra_Neighbor_Index);
  • If((
  • Event Player.Dijkstra_Distances[Event Player.Dijkstra_Neighbor_Index] == 0 || Event Player.Dijkstra_Distance < Event Player.Dijkstra_Distances[Event Player.Dijkstra_Neighbor_Index])
  • && (!Count Of(Event Player.Dijkstra_Neighbor_Attributes) || Is True For Any(Event Player.Dijkstra_Neighbor_Attributes,
  • Array Contains(Null, Z Component Of(Current Array Element)))));
  • Event Player.Dijkstra_Distances[Event Player.Dijkstra_Neighbor_Index] = Event Player.Dijkstra_Distance;
  • Event Player.Dijkstra_Parent_Array[Event Player.Dijkstra_Neighbor_Index] = Event Player.Dijkstra_Current + 1;
  • End;
  • Event Player._extendedPlayerCollection[1] += 1;
  • End;
  • Modify Player Variable(Event Player, Dijkstra_Unvisited, Remove From Array By Value, Event Player.Dijkstra_Current);
  • Skip If(Index Of Array Value(Global.Nodes[Global.map], First Of(Sorted Array(Global.Nodes[Global.map], Distance Between(
  • Position Of(Event Player), Current Array Element)))) == Event Player.Dijkstra_Current, 2);
  • Event Player.Dijkstra_Current = First Of(Sorted Array(Filtered Array(Event Player.Dijkstra_Unvisited,
  • Event Player.Dijkstra_Distances[Current Array Element] != 0), Event Player.Dijkstra_Distances[Current Array Element]));
  • End;
  • Event Player.pathmapReference = Global.map;
  • Event Player.parentArray = Event Player.Dijkstra_Parent_Array;
  • Event Player.destination = First Of(Event Player._extendedPlayerCollection);
  • Event Player.pathfinderDoGetCurrent = True;
  • Event Player.Dijkstra_Current = 0;
  • Event Player.Dijkstra_Distances = 0;
  • Event Player.Dijkstra_Connected_Segments = 0;
  • Event Player.Dijkstra_Neighbor_Index = 0;
  • Event Player.Dijkstra_Distance = 0;
  • Event Player.Dijkstra_Parent_Array = 0;
  • Wait(5, Ignore Condition);
  • Loop If(Is Using Ultimate(Event Player) == False);
  • }
  • }
  • rule("Yeti Pathfind to Player in rage")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Winston;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • Is Game In Progress == True;
  • Is Alive(Event Player) == True;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Event Player._extendedPlayerCollection[4] = First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)));
  • Event Player.Dijkstra_Final_Path_1 = Empty Array;
  • Event Player.Dijkstra_Final_Path_Attributes_1 = Empty Array;
  • Event Player.Dijkstra_Current_1 = Index Of Array Value(Global.Nodes[Global.map], First Of(Sorted Array(Global.Nodes[Global.map],
  • Distance Between(Event Player._extendedPlayerCollection[4], Current Array Element))));
  • Event Player.Dijkstra_Distances_1[Event Player.Dijkstra_Current_1] = 0.000;
  • Event Player.Dijkstra_Unvisited_1 = Mapped Array(Global.Nodes[Global.map], Current Array Index);
  • While(Is True For Any(Event Player.Dijkstra_Unvisited_1, Event Player.Dijkstra_Distances_1[Current Array Element] != 0));
  • Wait(0.016, Ignore Condition);
  • Event Player.Dijkstra_Connected_Segments_1 = Filtered Array(Global.Segments[Global.map], Array Contains(Append To Array(
  • Append To Array(Empty Array, X Component Of(Current Array Element)), Y Component Of(Current Array Element)),
  • Event Player.Dijkstra_Current_1));
  • Event Player._extendedPlayerCollection[5] = 0;
  • While(Event Player._extendedPlayerCollection[5] < Count Of(Event Player.Dijkstra_Connected_Segments_1));
  • Wait(0.016, Ignore Condition);
  • Event Player.Dijkstra_Neighbor_Index_1 = First Of(Filtered Array(Append To Array(Append To Array(Empty Array, X Component Of(
  • Event Player.Dijkstra_Connected_Segments_1[Event Player._extendedPlayerCollection[5]])), Y Component Of(
  • Event Player.Dijkstra_Connected_Segments_1[Event Player._extendedPlayerCollection[5]])),
  • Current Array Element != Event Player.Dijkstra_Current_1));
  • Event Player.Dijkstra_Distance_1 = Distance Between(Global.Nodes[Global.map][Event Player.Dijkstra_Neighbor_Index_1],
  • Global.Nodes[Global.map][Event Player.Dijkstra_Current_1])
  • + Event Player.Dijkstra_Distances_1[Event Player.Dijkstra_Current_1];
  • Event Player.Dijkstra_Neighbor_Attributes_1 = Filtered Array(Global.Attributes[Global.map], Y Component Of(Current Array Element)
  • == Event Player.Dijkstra_Current_1 && X Component Of(Current Array Element) == Event Player.Dijkstra_Neighbor_Index_1);
  • If((
  • Event Player.Dijkstra_Distances_1[Event Player.Dijkstra_Neighbor_Index_1] == 0 || Event Player.Dijkstra_Distance_1 < Event Player.Dijkstra_Distances_1[Event Player.Dijkstra_Neighbor_Index_1])
  • && (!Count Of(Event Player.Dijkstra_Neighbor_Attributes_1) || Is True For Any(Event Player.Dijkstra_Neighbor_Attributes_1,
  • Array Contains(Null, Z Component Of(Current Array Element)))));
  • Event Player.Dijkstra_Distances_1[Event Player.Dijkstra_Neighbor_Index_1] = Event Player.Dijkstra_Distance_1;
  • Event Player.Dijkstra_Parent_Array_1[Event Player.Dijkstra_Neighbor_Index_1] = Event Player.Dijkstra_Current_1 + 1;
  • End;
  • Event Player._extendedPlayerCollection[5] += 1;
  • End;
  • Modify Player Variable(Event Player, Dijkstra_Unvisited_1, Remove From Array By Value, Event Player.Dijkstra_Current_1);
  • Skip If(Index Of Array Value(Global.Nodes[Global.map], First Of(Sorted Array(Global.Nodes[Global.map], Distance Between(
  • Position Of(Event Player), Current Array Element)))) == Event Player.Dijkstra_Current_1, 2);
  • Event Player.Dijkstra_Current_1 = First Of(Sorted Array(Filtered Array(Event Player.Dijkstra_Unvisited_1,
  • Event Player.Dijkstra_Distances_1[Current Array Element] != 0), Event Player.Dijkstra_Distances_1[Current Array Element]));
  • End;
  • Event Player.pathmapReference = Global.map;
  • Event Player.parentArray = Event Player.Dijkstra_Parent_Array_1;
  • Event Player.destination = Event Player._extendedPlayerCollection[4];
  • Event Player.pathfinderDoGetCurrent = True;
  • Event Player.Dijkstra_Current_1 = 0;
  • Event Player.Dijkstra_Distances_1 = 0;
  • Event Player.Dijkstra_Connected_Segments_1 = 0;
  • Event Player.Dijkstra_Neighbor_Index_1 = 0;
  • Event Player.Dijkstra_Distance_1 = 0;
  • Event Player.Dijkstra_Parent_Array_1 = 0;
  • Wait(5, Ignore Condition);
  • Loop If(Is Using Ultimate(Event Player) == True);
  • }
  • }
  • rule("Mei Pathfind to Yeti")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Global.Intro == False;
  • 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)))) > 4;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Event Player._extendedPlayerCollection[6] = First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element)));
  • Event Player.Dijkstra_Final_Path_2 = Empty Array;
  • Event Player.Dijkstra_Final_Path_Attributes_2 = Empty Array;
  • Event Player.Dijkstra_Current_2 = Index Of Array Value(Global.Nodes[Global.map], First Of(Sorted Array(Global.Nodes[Global.map],
  • Distance Between(Event Player._extendedPlayerCollection[6], Current Array Element))));
  • Event Player.Dijkstra_Distances_2[Event Player.Dijkstra_Current_2] = 0.000;
  • Event Player.Dijkstra_Unvisited_2 = Mapped Array(Global.Nodes[Global.map], Current Array Index);
  • While(Is True For Any(Event Player.Dijkstra_Unvisited_2, Event Player.Dijkstra_Distances_2[Current Array Element] != 0));
  • Wait(0.016, Ignore Condition);
  • Event Player.Dijkstra_Connected_Segments_2 = Filtered Array(Global.Segments[Global.map], Array Contains(Append To Array(
  • Append To Array(Empty Array, X Component Of(Current Array Element)), Y Component Of(Current Array Element)),
  • Event Player.Dijkstra_Current_2));
  • Event Player._extendedPlayerCollection[7] = 0;
  • While(Event Player._extendedPlayerCollection[7] < Count Of(Event Player.Dijkstra_Connected_Segments_2));
  • Wait(0.016, Ignore Condition);
  • Event Player.Dijkstra_Neighbor_Index_2 = First Of(Filtered Array(Append To Array(Append To Array(Empty Array, X Component Of(
  • Event Player.Dijkstra_Connected_Segments_2[Event Player._extendedPlayerCollection[7]])), Y Component Of(
  • Event Player.Dijkstra_Connected_Segments_2[Event Player._extendedPlayerCollection[7]])),
  • Current Array Element != Event Player.Dijkstra_Current_2));
  • Event Player.Dijkstra_Distance_2 = Distance Between(Global.Nodes[Global.map][Event Player.Dijkstra_Neighbor_Index_2],
  • Global.Nodes[Global.map][Event Player.Dijkstra_Current_2])
  • + Event Player.Dijkstra_Distances_2[Event Player.Dijkstra_Current_2];
  • Event Player.Dijkstra_Neighbor_Attributes_2 = Filtered Array(Global.Attributes[Global.map], Y Component Of(Current Array Element)
  • == Event Player.Dijkstra_Current_2 && X Component Of(Current Array Element) == Event Player.Dijkstra_Neighbor_Index_2);
  • If((
  • Event Player.Dijkstra_Distances_2[Event Player.Dijkstra_Neighbor_Index_2] == 0 || Event Player.Dijkstra_Distance_2 < Event Player.Dijkstra_Distances_2[Event Player.Dijkstra_Neighbor_Index_2])
  • && (!Count Of(Event Player.Dijkstra_Neighbor_Attributes_2) || Is True For Any(Event Player.Dijkstra_Neighbor_Attributes_2,
  • Array Contains(Null, Z Component Of(Current Array Element)))));
  • Event Player.Dijkstra_Distances_2[Event Player.Dijkstra_Neighbor_Index_2] = Event Player.Dijkstra_Distance_2;
  • Event Player.Dijkstra_Parent_Array_2[Event Player.Dijkstra_Neighbor_Index_2] = Event Player.Dijkstra_Current_2 + 1;
  • End;
  • Event Player._extendedPlayerCollection[7] += 1;
  • End;
  • Modify Player Variable(Event Player, Dijkstra_Unvisited_2, Remove From Array By Value, Event Player.Dijkstra_Current_2);
  • Skip If(Index Of Array Value(Global.Nodes[Global.map], First Of(Sorted Array(Global.Nodes[Global.map], Distance Between(
  • Position Of(Event Player), Current Array Element)))) == Event Player.Dijkstra_Current_2, 2);
  • Event Player.Dijkstra_Current_2 = First Of(Sorted Array(Filtered Array(Event Player.Dijkstra_Unvisited_2,
  • Event Player.Dijkstra_Distances_2[Current Array Element] != 0), Event Player.Dijkstra_Distances_2[Current Array Element]));
  • End;
  • Event Player.pathmapReference = Global.map;
  • Event Player.parentArray = Event Player.Dijkstra_Parent_Array_2;
  • Event Player.destination = Event Player._extendedPlayerCollection[6];
  • Event Player.pathfinderDoGetCurrent = True;
  • Event Player.Dijkstra_Current_2 = 0;
  • Event Player.Dijkstra_Distances_2 = 0;
  • Event Player.Dijkstra_Connected_Segments_2 = 0;
  • Event Player.Dijkstra_Neighbor_Index_2 = 0;
  • Event Player.Dijkstra_Distance_2 = 0;
  • Event Player.Dijkstra_Parent_Array_2 = 0;
  • Wait(5, Ignore Condition);
  • Loop If(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)))) > 4);
  • }
  • }
  • rule("Mei Stop Pathfinding")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Global.Intro == False;
  • 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)))) <= 4;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Event Player.parentArray = Null;
  • Stop Throttle In Direction(Event Player);
  • }
  • }
  • rule("Intro")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Workshop Setting Toggle(Custom String("Settings"), Custom String("Enable Intro Cutscene"), True) == True;
  • }
  • actions
  • {
  • Global.Intro = True;
  • Set Slow Motion(50);
  • Create Dummy Bot(Hero(Mei), Team 2, -1, Vector(-168.793, -98.085, -69.605), Vector(-168.069, -97.797, -65.020));
  • Create Dummy Bot(Hero(Mei), Team 2, -1, Vector(-169.122, -97.804, -67.386), Vector(-168.069, -97.797, -65.020));
  • Create Dummy Bot(Hero(Mei), Team 2, -1, Vector(-165.651, -98.020, -68.596), Vector(-168.069, -97.797, -65.020));
  • Create Dummy Bot(Hero(Winston), Team 2, -1, Vector(-173.279, -98.082, -70.747), Vector(-174.439, -98.084, -72.521));
  • Create Effect(All Players(All Teams), Sphere, Red, Vector(-174.439, -98.084, -72.521), 1, Visible To Position and Radius);
  • Start Camera(All Players(All Teams), Vector(-164.542, -97.748, -74.078), Vector(-173.537, -97.649, -64.700), 0);
  • Wait(1, Ignore Condition);
  • Start Camera(All Players(All Teams), Vector(-174.725, -97.858, -74.814), Vector(-173.537, -97.649, -64.700), 1);
  • Wait(2, Ignore Condition);
  • Start Camera(All Players(All Teams), Vector(-164.542, -97.748, -74.078), Vector(-173.537, -97.649, -64.700), 1);
  • Wait(1, Ignore Condition);
  • Stop Camera(All Players(All Teams));
  • Destroy All Dummy Bots;
  • Global.Intro = False;
  • Set Slow Motion(100);
  • }
  • }
  • rule("Me")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • actions
  • {
  • Create HUD Text(Event Player, Null, Custom String("https://workshop.codes/yetihunter"), Null, Right, -1, Green, Green, Green,
  • Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Null, Null, Custom String("Created by Waitedboat4#2760"), Right, -1, Green, Green, Green,
  • Visible To and String, Default Visibility);
  • }
  • }
  • rule("Disallow ult")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mei;
  • }
  • actions
  • {
  • Disallow Button(Event Player, Ultimate);
  • }
  • }
  • rule("Skip Assemble")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Assembling Heroes == True;
  • }
  • actions
  • {
  • Set Match Time(0);
  • }
  • }
  • rule("Skip Setup")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is In Setup == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Set Match Time(0);
  • }
  • }
  • rule("Pause")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Pause Match Time;
  • }
  • }
  • rule("Disable - Global")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • disabled Disable Built-In Game Mode Completion;
  • Disable Built-In Game Mode Announcer;
  • disabled Disable Built-In Game Mode Scoring;
  • Disable Built-In Game Mode Music;
  • }
  • }
  • rule("Disable - Players")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • actions
  • {
  • Disable Game Mode HUD(Event Player);
  • Disable Built-In Game Mode Respawning(Event Player);
  • }
  • }
  • rule("Set Variables")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Global.Lives = 5;
  • Global.LivesYetiPOV = 0;
  • Global.TextArray = Empty Array;
  • Global.EffectArray = Empty Array;
  • Global.TempMeatPos = Empty Array;
  • Global.Preulthealth = 5000;
  • }
  • }
  • rule("Spawn - Hunters")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • (Is Game In Progress || Is Waiting For Players) == True;
  • (Is Game In Progress || Is Waiting For Players == True) == True;
  • Is Dummy Bot(Event Player) == False;
  • }
  • actions
  • {
  • Teleport(Event Player, Vector(-158.692, -96.221, -77.853));
  • }
  • }
  • rule("Spawn - Yeti")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • (Is Game In Progress || Is Waiting For Players) == True;
  • (Is Game In Progress || Is Waiting For Players == True) == True;
  • }
  • actions
  • {
  • Teleport(Event Player, Vector(-158.249, -94.801, 79.319));
  • Set Max Health(Event Player, 1000);
  • Wait(0.016, Ignore Condition);
  • Set Player Health(Event Player, 5000);
  • }
  • }
  • rule("Big Message")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Wait(0.500, Ignore Condition);
  • Small Message(All Players(All Teams), Custom String("Created by Waitedboat4#2760"));
  • Big Message(All Players(Team 1), Custom String("YOU ARE THE YETI"));
  • Wait(0.250, Ignore Condition);
  • Big Message(All Players(Team 1), Custom String("GO!"));
  • Big Message(All Players(Team 2), Custom String("YOU ARE A HUNTER"));
  • Wait(0.250, Ignore Condition);
  • Big Message(All Players(Team 2), Custom String("GO!"));
  • }
  • }
  • rule("HUD - Yeti")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Abort If(Global.Intro == True);
  • Create HUD Text(All Players(Team 1), Null, Null, Custom String("{0} {1}/4", Ability Icon String(Hero(Winston), Button(Ultimate)),
  • Global.MeatEaten), Top, 0, White, White, White, Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Custom String("{0} {1}/5", Hero Icon String(Hero(Mei)), Global.LivesYetiPOV), Null, Null, Top, 0,
  • White, White, White, Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Null, Null, Custom String("Search For Meat"), Top, 0, White, White, White, Visible To and String,
  • Default Visibility);
  • }
  • }
  • rule("HUD - Hunters")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Abort If(Global.Intro == True);
  • Create HUD Text(Event Player, Custom String("{0}/4", Global.MeatEaten), Null, Null, Right, 0, White, White, White,
  • Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Null, Null, Custom String("MEAT EATEN BY YETI"), Right, 0, White, White, White,
  • Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Custom String("{0} {1}", Hero Icon String(Hero(Mei)), Global.Lives), Null, Null, Right, 0, White,
  • White, White, Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Null, Null, Custom String("TEAM LIVES"), Right, 0, White, White, White, Visible To and String,
  • Default Visibility);
  • Create HUD Text(Event Player, Custom String("{0} {1}", Hero Icon String(Hero(Winston)), Round To Integer(Health(Players On Hero(
  • Hero(Winston), Team 1)), To Nearest)), Null, Null, Top, 0, White, White, White, Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Null, Null, Custom String("HUNT THE YETI"), Top, 0, White, White, White, Visible To and String,
  • Default Visibility);
  • }
  • }
  • rule("Player Died - Subtract Lives")
  • {
  • event
  • {
  • Player Died;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Global.Lives > 0;
  • }
  • actions
  • {
  • Global.Lives -= 1;
  • Global.LivesYetiPOV += 1;
  • }
  • }
  • rule("Meat Positions")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.MeatPos = Empty Array;
  • Global.MeatPos = Array(Vector(-167.802, -88.625, 42.024), Vector(-194.375, -92.619, 35.076), Vector(-220.658, -92.072, -0.084),
  • Vector(-206.196, -86.484, 0.344), Vector(-194.835, -92.360, 0.049), Vector(-161.938, -87.703, -0.023), Vector(-194.230,
  • -92.551, -34.561));
  • }
  • }
  • disabled rule("Set Meat Pos")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Interact) == True;
  • }
  • actions
  • {
  • Create Effect(Event Player, Sphere, Red, Eye Position(Event Player), 1, Visible To);
  • Modify Global Variable(MeatPos, Append To Array, Eye Position(Event Player));
  • }
  • }
  • rule("Meat Eaten")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == False;
  • Distance Between(Event Player, First Of(Sorted Array(Global.MeatPos, Distance Between(Event Player, Current Array Element)))) <= 2;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Destroy Effect(Global.EffectArray[Index Of Array Value(Global.MeatPos, First Of(Sorted Array(Global.MeatPos, Distance Between(
  • Event Player, Current Array Element))))]);
  • Destroy In-World Text(Global.TextArray[Index Of Array Value(Global.MeatPos, First Of(Sorted Array(Global.MeatPos, Distance Between(
  • Event Player, Current Array Element))))]);
  • Global.MeatEaten += 1;
  • Set Ultimate Charge(Event Player, Ultimate Charge Percent(Event Player) + 25);
  • Modify Global Variable(EffectArray, Remove From Array By Value, Global.EffectArray[Index Of Array Value(Global.MeatPos, First Of(
  • Sorted Array(Global.MeatPos, Distance Between(Event Player, Current Array Element))))]);
  • Modify Global Variable(TextArray, Remove From Array By Value, Global.TextArray[Index Of Array Value(Global.MeatPos, First Of(
  • Sorted Array(Global.MeatPos, Distance Between(Event Player, Current Array Element))))]);
  • Modify Global Variable(TempMeatPos, Append To Array, First Of(Sorted Array(Global.MeatPos, Distance Between(Event Player,
  • Current Array Element))));
  • Modify Global Variable(MeatPos, Remove From Array By Value, First Of(Sorted Array(Global.MeatPos, Distance Between(Event Player,
  • Current Array Element))));
  • Play Effect(All Players(Team 1), Good Pickup Effect, Red, Event Player, 200);
  • Play Effect(All Players(All Teams), Good Pickup Effect, Red, Event Player, 200);
  • }
  • }
  • rule("Auto Ult")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Ultimate Charge Percent(Event Player) == 100;
  • Has Status(Event Player, Frozen) == False;
  • }
  • actions
  • {
  • Global.Preulthealth = Health(Event Player);
  • Wait(0.250, Ignore Condition);
  • Press Button(Event Player, Ultimate);
  • Big Message(Event Player, Custom String("ENRAGED!"));
  • Big Message(All Players(Team 2), Custom String("RUN FOR YOUR LIFE!"));
  • Global.UltTimer = 20;
  • Chase Global Variable Over Time(UltTimer, 0, 20, Destination and Duration);
  • Create HUD Text(All Players(Team 2), Null, Null, Custom String("{0}s", Round To Integer(Global.UltTimer, To Nearest)), Top, 1,
  • White, White, White, Visible To and String, Default Visibility);
  • Create HUD Text(All Players(Team 2), Null, Null, Custom String("{0}s"), Top, 1, White, White, White, Visible To and String,
  • Default Visibility);
  • Global.UltText = Last Text ID;
  • Global.MeatEaten = 0;
  • Global.Ulted += 1;
  • }
  • }
  • rule("Destroy Ult Text")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Global.UltTimer <= 0;
  • Global.Ulted > 0;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Destroy HUD Text(Global.UltText);
  • Set Player Health(Event Player, Global.Preulthealth);
  • }
  • }
  • rule("Health")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == True;
  • }
  • actions
  • {
  • Set Player Health(Event Player, Global.Preulthealth);
  • }
  • }
  • rule("Create Effect")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Create Effect(All Players(All Teams), Sphere, Red, Global.MeatPos[Global.EffectIndex], 1, None);
  • Modify Global Variable(EffectArray, Append To Array, Last Created Entity);
  • Create In-World Text(All Players(Team 1), Custom String("MEAT"), Global.MeatPos[Global.EffectIndex], 1, Do Not Clip, None, Red,
  • Default Visibility);
  • Modify Global Variable(TextArray, Append To Array, Last Text ID);
  • Global.EffectIndex += 1;
  • Loop If(Global.EffectIndex < Count Of(Global.MeatPos));
  • }
  • }
  • rule("Respawn")
  • {
  • event
  • {
  • Player Died;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Workshop Setting Toggle(Custom String("Settings"), Custom String("Respawn"), True) == True;
  • }
  • actions
  • {
  • Small Message(Event Player, Custom String("Respawning..."));
  • Wait(10, Ignore Condition);
  • Resurrect(Event Player);
  • Teleport(Event Player, Vector(-158.692, -96.221, -77.853));
  • }
  • }
  • rule("Yeti Win")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.Lives == 0;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("Hunters Win")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Number of Living Players(Team 1) == 0;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Declare Round Victory(Team 2);
  • }
  • }
  • rule("Wait")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == False;
  • Distance Between(Event Player, First Of(Sorted Array(Global.MeatPos, Distance Between(Event Player, Current Array Element)))) <= 2;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(30, Ignore Condition);
  • Create Effect(All Players(All Teams), Sphere, Red, First Of(Global.TempMeatPos), 1, None);
  • Modify Global Variable(EffectArray, Append To Array, Last Created Entity);
  • Create In-World Text(All Players(Team 1), Custom String("MEAT"), First Of(Global.TempMeatPos), 1, Do Not Clip, None, Red,
  • Default Visibility);
  • Modify Global Variable(TextArray, Append To Array, Last Text ID);
  • Wait(0.250, Ignore Condition);
  • Modify Global Variable(MeatPos, Append To Array, First Of(Global.TempMeatPos));
  • Modify Global Variable(TempMeatPos, Remove From Array By Value, First Of(Global.TempMeatPos));
  • Loop If(Count Of(Global.TempMeatPos) > 0);
  • }
  • }
  • rule("Create Junkrat")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Global.Intro == False;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Abort If(Global.Intro == True);
  • Create Dummy Bot(Hero(Junkrat), Team Of(Event Player), Slot Of(Event Player) + 6, Position Of(Event Player), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Junkrat), Team Of(Event Player), Slot Of(Event Player) + 6, Position Of(Event Player), Vector(Empty Array,
  • Empty Array, Empty Array));
  • }
  • }
  • rule("Junkrat")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Junkrat;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Set Status(Event Player, Null, Phased Out, 9999);
  • Set Status(Event Player, Null, Invincible, 9999);
  • Set Invisible(Event Player, All);
  • Attach Players(Event Player, Players In Slot(Slot Of(Event Player) - 6, Team 2), Vector(0, 0, 0));
  • Attach Players(Event Player, Players In Slot(Slot Of(Event Player) - 6, Team 2), Vector(Empty Array, Empty Array, Empty Array));
  • Start Facing(Event Player, Facing Direction Of(Players In Slot(Slot Of(Event Player) - 6, Team 2)), 100000000, To World,
  • Direction and Turn Rate);
  • }
  • }
  • rule("Junkrat")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Ultimate) == True;
  • Ultimate Charge Percent(Event Player) == 100;
  • Is Using Ability 1(Event Player) == False;
  • }
  • actions
  • {
  • Set Ultimate Charge(Event Player, 0);
  • }
  • }
  • rule("Junkrat")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Junkrat;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Is Button Held(Players In Slot(Slot Of(Event Player) - 6, Team 2), Ultimate) == True;
  • Ultimate Charge Percent(Players In Slot(Slot Of(Event Player) - 6, Team 2)) == 100;
  • Is Using Ability 1(Players In Slot(Slot Of(Event Player) - 6, Team 2)) == False;
  • }
  • actions
  • {
  • Press Button(Event Player, Ability 2);
  • }
  • }
  • rule("Junkrat")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Junkrat;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Players In Slot(Slot Of(Event Player) - 6, Team 2)) > 2;
  • }
  • actions
  • {
  • Attach Players(Event Player, Players In Slot(Slot Of(Event Player) - 6, Team 2), Vector(0, 0, 0));
  • Attach Players(Event Player, Players In Slot(Slot Of(Event Player) - 6, Team 2), Vector(Empty Array, Empty Array, Empty Array));
  • }
  • }
  • rule("Setup")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is In Setup == True;
  • }
  • actions
  • {
  • Set Status(Event Player, Null, Rooted, 9999);
  • }
  • }
  • rule("Setup")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Clear Status(Event Player, Rooted);
  • }
  • }
  • rule("Go Back to cave")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Winston;
  • }
  • conditions
  • {
  • Y Component Of(Position Of(Event Player)) <= -105.994;
  • Workshop Setting Toggle(Custom String("Settings"), Custom String("Go back to cave when fallen off map"), True) == True;
  • }
  • actions
  • {
  • Teleport(Event Player, Vector(-158.249, -94.801, 79.319));
  • Big Message(All Players(Team 2), Custom String("YETI RETURNED TO CAVE"));
  • }
  • }
  • rule("Mei Ice Wall")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mei;
  • }
  • conditions
  • {
  • Is Using Ability 2(Event Player) == True;
  • Is Button Held(Event Player, Primary Fire) == True;
  • }
  • actions
  • {
  • Wait(3, Ignore Condition);
  • Abort If(Is Using Ability 2(Event Player) == False);
  • Press Button(Event Player, Ability 2);
  • }
  • }
  • rule("Mei Cryo")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Mei;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) == True;
  • }
  • actions
  • {
  • Wait(2, Abort When False);
  • Press Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Left")
  • {
  • event
  • {
  • Player Left Match;
  • Team 2;
  • All;
  • }
  • actions
  • {
  • Destroy Dummy Bot(Team 2, Slot Of(Event Player) - 6);
  • }
  • }
  • rule("Wait")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Winston;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Intro == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Wait(2, Ignore Condition);
  • Destroy All Effects;
  • Play Effect(All Players(All Teams), Good Pickup Effect, Red, Event Player, 200);
  • Set Ultimate Charge(Event Player, 100);
  • Wait(0.250, Ignore Condition);
  • Press Button(Event Player, Ultimate);
  • Start Facing(Event Player, Direction Towards(Event Player, First Of(Sorted Array(Filtered Array(Players On Hero(Hero(Mei), Team 2),
  • Is Dummy Bot(Current Array Element)), Distance Between(Event Player, Current Array Element)))), 200, To World,
  • Direction and Turn Rate);
  • Wait(1, Ignore Condition);
  • Press Button(Event Player, Ability 1);
  • }
  • }
  • rule("Wait")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Intro == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Primary Fire);
  • Wait(2, Ignore Condition);
  • Stop Holding Button(Event Player, Primary Fire);
  • Start Facing(Event Player, Direction Towards(Event Player, Vector(-162.608, -97.692, -66.357)), 200, To World,
  • Direction and Turn Rate);
  • Start Throttle In Direction(Event Player, Facing Direction Of(Event Player), 1, To World, Replace existing throttle,
  • Direction and Magnitude);
  • }
  • }
  • rule("Revive - join")
  • {
  • event
  • {
  • Player Joined Match;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Resurrect(Event Player);
  • }
  • }
  • rule("---- Add AI ----")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.AddAI = Workshop Setting Toggle(Custom String("Settings"), Custom String("Add AI"), False);
  • }
  • }
  • rule("Create Dummy bot to start game")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.AddAI == True;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Winston), Team 1, -1, Vector(0, 0, 0), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Mei), Team 2, -1, Vector(0, 0, 0), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Dummy Bots - Hunters")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.Intro == False;
  • Is Game In Progress == True;
  • Number of Heroes(Hero(Mei), Team 2) < 5;
  • Global.AddAI == True;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Mei), Team 2, -1, Vector(-158.692, -96.221, -77.853), Vector(0, 0, 0));
  • Loop If(Number of Heroes(Hero(Mei), Team 2) < 5);
  • }
  • }
  • rule("Create Dummy Bots - Yeti")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.Intro == False;
  • Is Game In Progress == True;
  • Number of Players(Team 1) < 1;
  • Global.AddAI == True;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Winston), Team 1, -1, Vector(-158.249, -94.801, 79.319), Vector(0, 0, 0));
  • Loop If(Number of Players(Team 1) < 1);
  • }
  • }
  • rule("Facing")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Global.Intro == False;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Start Facing(Event Player, Direction Towards(Event Player, First Of(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)))), 200, To World, Direction and Turn Rate);
  • }
  • }
  • rule("Mei Ice")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Health(Event Player) <= Max Health(Event Player) / 2;
  • Is Dummy Bot(Event Player) == True;
  • Ability Cooldown(Event Player, Button(Ability 1)) == 0;
  • Is Using Ability 2(Event Player) == False;
  • }
  • actions
  • {
  • Press Button(Event Player, Ability 1);
  • }
  • }
  • rule("Mei Wall")
  • {
  • event
  • {
  • Player Took Damage;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player))),
  • Barriers Do Not Block LOS) == True;
  • Ability Cooldown(Event Player, Button(Ability 2)) == 0;
  • Is Using Ability 1(Event Player) == False;
  • }
  • actions
  • {
  • Press Button(Event Player, Ability 2);
  • Wait(0.250, Ignore Condition);
  • Press Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Mei Ult")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Ultimate Charge Percent(Event Player) == 100;
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player))),
  • Barriers Do Not Block LOS) == True;
  • }
  • actions
  • {
  • Wait(0.500, Abort When False);
  • Press Button(Event Player, Ultimate);
  • }
  • }
  • rule("Mei Secondary")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player))),
  • Barriers Do Not Block LOS) == True;
  • Distance Between(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player)))) > 10;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Primary Fire);
  • Wait(0.250, Ignore Condition);
  • Start Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Shoot - Mei")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • Mei;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element))), Barriers Do Not Block LOS) == True;
  • Distance Between(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player)))) <= 10;
  • Is Using Ability 2(Event Player) == False;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Secondary Fire);
  • Wait(0.250, Ignore Condition);
  • Start Holding Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Stop Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Mei;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element))), Barriers Do Not Block LOS) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Primary Fire);
  • Stop Holding Button(Event Player, Secondary Fire);
  • }
  • }
  • rule("Winston Jump")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Winston;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element))), Barriers Do Not Block LOS) == True;
  • Ability Cooldown(Event Player, Button(Ability 1)) == 0;
  • Global.Intro == False;
  • Is Using Ultimate(Event Player) == True;
  • }
  • actions
  • {
  • Press Button(Event Player, Ability 1);
  • }
  • }
  • rule("Winston Shield")
  • {
  • event
  • {
  • Player Took Damage;
  • Team 1;
  • Winston;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Ability Cooldown(Event Player, Button(Ability 2)) == 0;
  • }
  • actions
  • {
  • Press Button(Event Player, Ability 2);
  • }
  • }
  • rule("Shoot - Winston")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Winston;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element))), Barriers Do Not Block LOS) == True;
  • Distance Between(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player)))) <= 8;
  • Global.Intro == False;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Stop Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Winston;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Closest Player To(Event Player, Opposite Team Of(Team Of(Event Player)))) > 8;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Stop Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Winston;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is In Line of Sight(Event Player, First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Distance Between(Event Player, Current Array Element))), Barriers Do Not Block LOS) == False;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Primary Fire);
  • }
  • }
  • rule("Jump")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Horizontal Speed Of(Event Player) < 1;
  • Global.Intro == False;
  • Is Moving(Event Player) == True;
  • }
  • actions
  • {
  • Press Button(Event Player, Jump);
  • Wait(0.250, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
Join the Workshop.codes Discord