Create
Return to post

Comparing difference between and

View raw
  • settings
  • {
  • main
  • {
  • Description: "Overwatch: Uprising - made by Waitedboat4#2760 - BETA/WIP v2.1: Glass Cannon"
  • Description: "Overwatch: Uprising - made by Waitedboat4#2760 - BETA/WIP v2.7: Smoother Pathfinding"
  • }
  • lobby
  • {
  • Max Team 1 Players: 0
  • Max Team 2 Players: 4
  • Swap Teams After Match: No
  • }
  • modes
  • {
  • Assault
  • {
  • enabled maps
  • {
  • }
  • }
  • Control
  • {
  • enabled maps
  • {
  • }
  • }
  • Escort
  • {
  • enabled maps
  • {
  • }
  • }
  • Hybrid
  • {
  • Capture Speed Modifier: 500%
  • enabled maps
  • {
  • King's Row
  • }
  • }
  • General
  • {
  • Game Mode Start: Immediately
  • Spawn Health Packs: Disabled
  • }
  • }
  • heroes
  • {
  • Team 1
  • {
  • Bastion
  • {
  • Infinite Ultimate Duration: On
  • Spawn With Ultimate Ready: On
  • }
  • Wrecking Ball
  • {
  • Movement Speed: 85%
  • Roll Always Active: On
  • }
  • Zarya
  • {
  • No Ammunition Requirement: On
  • }
  • }
  • General
  • {
  • enabled heroes
  • {
  • Mercy
  • Reinhardt
  • Torbjörn
  • Tracer
  • }
  • }
  • }
  • workshop
  • {
  • Legendary: On
  • Normal: Off
  • }
  • }
  • variables
  • {
  • global:
  • 0: _extendedGlobalCollection
  • 2: Nodes
  • 3: Segments
  • 4: Attributes
  • 5: map
  • 6: _classIndexes
  • 7: _tempNodes
  • 8: _tempSegments
  • 9: _tempAttributes
  • 10: TerminalPercent
  • 11: AllTerminalsHacked
  • 12: TerminalPosition
  • 13: PayloadFixed
  • 14: KillOR14
  • 15: NumberofOR14killed
  • 16: StartedCapture
  • 18: PayloadHP
  • 19: ReleaseHPkillers
  • 20: HUDtext
  • 21: Normal
  • 22: Hard
  • 23: Expert
  • 24: Legendary
  • 25: Fixingpayload
  • 26: SentryPos
  • 27: Healovertime
  • 28: Score
  • 29: OrisaWave
  • 30: TrooperSpawns
  • 31: GlassCannon
  • 32: SecondArea2
  • 33: NumberOfTroopers
  • 34: SlicerSpawns
  • 35: CurrentSlicerSpawn
  • 36: NumberOfSlicers
  • 38: NumberOfEradicators
  • 39: TerminalEffect
  • 40: _objectVariable_0
  • 41: _objectVariable_1
  • 42: bake
  • 43: bakeWait
  • 44: bakemap
  • 45: bakemapNode
  • 46: Dijkstra_Current
  • 47: Dijkstra_Distances
  • 48: Dijkstra_Unvisited
  • 49: Dijkstra_Parent_Array
  • 50: antiCrashActivated
  • 51: Dijkstra_Neighbor_Index
  • 52: Dijkstra_Distance
  • 53: Dijkstra_Neighbor_Attributes
  • 54: Dijkstra_Connected_Segments
  • 55: bakeCompleted
  • 57: _arrayBuilder1
  • 58: AllPos
  • 59: AllDir
  • 60: firstpos
  • 61: secondpos
  • 62: firstpoint2
  • 63: secondpoint2
  • 65: z
  • 66: Wall_ID
  • 67: showwalls
  • 70: beam_ID
  • 71: g_beamType
  • 72: initialized
  • 73: sphereRadius
  • 74: x
  • 75: Index
  • 76: Areas
  • 77: Sizes
  • 78: i
  • 79: compressBakeMatcher
  • 80: compressedNodes
  • 81: compressBakeResult
  • 82: compressCurrentNodeArray
  • 83: compressBakeNodeLoop
  • 84: compressBakeStringLoop
  • 85: compressMapper
  • player:
  • 1: Spawn
  • 2: pathfinderDoGetCurrent
  • 3: pathfinderCurrent
  • 4: pathmapReference
  • 5: parentArray
  • 6: destination
  • 7: lastAttribute
  • 18: LineofSight
  • 24: Invis
  • 26: Index
  • 40: ReviveEffect
  • 41: ReviveText
  • 42: Hasult
  • 53: WasTank
  • 54: CanBeRevived
  • 55: ReviveTimer
  • 56: ProgressBar
  • 58: filterpos
  • 59: lastsavedpos
  • 60: closestbodypos
  • 61: fullbodypos
  • 62: prevpos_intersection
  • 63: active_wall
  • 64: closestwall
  • 65: is_Grounded
  • 66: x
  • 67: intersection_length
  • 68: thickness
  • 69: intersection_length_0
  • 70: thickness_0
  • 71: intersection_length_1
  • 72: intersection_length_2
  • 73: dir
  • 74: intersection_length_3
  • }
  • rule("Disable - Global")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Completion;
  • Disable Built-In Game Mode Scoring;
  • Disable Built-In Game Mode Announcer;
  • Global.PayloadHP = 100;
  • Disable Inspector Recording;
  • }
  • }
  • rule("Disable - Player")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Respawning(Event Player);
  • Disable Messages(Event Player);
  • }
  • }
  • rule("Initial Global")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global._classIndexes[1000] = 0;
  • Global._classIndexes[0] = -1;
  • 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(-148.970, -2.860, 25.490));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-156.270, -2.920, 13.760));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-152.050, -2.930, 35.980));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-120.590, -1.220, 18.270));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-156.450, 0.070, 5.260));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-162.160, 0.070, 3.600));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-161.140, 0.070, 12.440));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-166.680, 0.070, 13.790));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-150.910, 0.070, 46.680));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-161.460, 0.070, 48.910));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-121.660, -1.220, -4.230));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-105.860, 0.770, -10.310));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-91, 0.860, -10.020));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-87.810, 0.900, 4.140));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-88.140, 0.770, -25.770));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-100.730, -0.490, -33.760));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-95.580, -2.500, -46.140));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-88.290, -1.490, -59.710));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-63.600, 0.390, -49.810));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-70.650, 0.250, -42.810));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-82.010, 0.280, -46.210));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-85.490, 0.850, -30.010));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-79.950, 4.500, -40.560));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-70.310, 4.500, -36.160));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-74.800, 4.500, -27.490));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-80.360, 2.500, -30.960));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-79.980, 2.500, -33.230));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-72.080, 0.500, -31.970));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-61.590, -0.340, -28.650));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-64.520, -0.320, -21.630));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-60.480, -0.350, -36.040));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-48.520, -0.180, -32.560));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-52.890, 0.070, -43.040));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-48.310, 0.090, -42.790));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-47.530, 2, -51.080));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-36.770, 2, -49.840));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-38.320, 0.070, -35.260));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-35.630, 2, -54.510));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-25.010, 1, -52.900));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-10.260, 1, -52.830));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-8.400, 1, -58.360));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-4.650, 1, -57.780));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-8.220, 6, -42));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-12.740, 6.060, -44.520));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-26.650, 6, -47.010));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-31.110, 6, -47.460));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-33.580, 9, -34.120));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-37.670, 9, -13.050));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-29.620, 9, -15.910));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-58.140, 4.960, -16.180));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-59.190, 5.020, -11));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-61.150, 3, -4.470));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-70.790, -0.190, -6.820));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-72.840, -0.190, -12.670));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-43.740, -0.150, -25.550));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-46.280, -0.060, -20.840));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-53.090, -0.060, -22.320));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-55.460, -0.060, -28.940));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-28.140, -0.100, -24.160));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-23.290, -0.100, -32.300));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-12.840, -0.110, -30.320));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-8.860, -0.030, -20.090));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-1.840, -0.130, -16.120));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(2.580, -0.140, -25.770));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-4.390, -0.150, -29.890));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-2.270, 0.020, -42.590));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-11.320, 1, -44.850));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(3.840, 6.030, -41.180));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(4.580, 6.030, -36.210));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(16.400, 6.030, -37.140));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(18.230, 0.080, -18.490));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-1.590, -0.110, -8.860));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(22.940, 4, -6.040));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(23.930, 4, -2.800));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(11.700, 6, -4.510));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(8.560, 6, -11.240));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(9.650, 6, -15.260));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-26.640, 0.140, -41.090));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-28.690, 0.140, -35.360));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-24.380, 0.030, -21.990));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-18.030, 1, -20.400));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-17.580, 1, -16.170));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-22.050, 1, -12.020));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-27.200, 0.080, -13.590));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-13.910, -0.130, -5.770));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-25.920, -0.120, -4.540));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-26.180, -0.130, 4.340));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-25.470, -0.110, 15.160));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-21.490, -0.120, 16.280));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-17.060, -1, 42.550));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-0.040, 1, 40.430));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(12.660, 1, 35.390));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(11, 6, 19.090));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(15.730, 6, 17.030));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(4.470, 1, 32.270));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-5.140, 1, 34.340));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-7.070, 1.150, 22.980));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-3.480, 1.150, 21.720));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(2.030, 1.150, 21.300));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-6.140, -0.070, 9.130));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-7.700, -0.120, -0.870));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-9.890, 0.080, 7.430));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-17.440, 0.260, 5.170));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-71.080, -0.130, 2.590));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-99.090, 1.070, 9.340));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-101.440, 1.070, 2.070));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-109.690, 1.070, 3.770));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-109.350, 2.070, 9.860));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-100.990, 5.070, 8.880));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-102.480, 6.930, -5.360));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-90.140, 6.930, -5.330));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-86.280, 6.930, -15.920));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-67.590, 5.020, -13.540));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-101.880, 6.930, -6.640));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-112.720, -0.930, 16.700));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-111.290, 1.070, 27.990));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-129.670, 1.070, 32.350));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-129.960, 0.070, 42.670));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-107.520, 1.070, -20.430));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-122.460, 1.070, -15.200));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-135.690, 0.070, -13.480));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-134.250, -1.020, -6.400));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-134.450, -1.020, -0.880));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-139.830, -0.930, 1.960));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-137.140, -0.930, 11.280));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-132.940, -0.930, 11.830));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-132.650, -1.320, 16.830));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-125.560, -1.290, 10.430));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-48.890, -0.040, 3.400));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-46.460, 0.960, -9.200));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-57.960, -0.040, 3.490));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-104.680, -3.500, -49.830));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-87.960, 0.660, -32.630));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-75.460, -0.030, -22.450));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-69.230, 0.020, -13.480));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-64.440, 0.020, -12.490));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-65.350, -0.080, -9.020));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-68.190, -0.010, -9.070));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-64.270, -0.110, -17.840));
  • Modify Global Variable(_tempNodes, Append To Array, Vector(-109.650, -0.180, -4.460));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(Empty Array, 2, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Up);
  • Modify Global Variable(_tempSegments, Append To Array, Vector(Empty Array, 3, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(7, 6, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(6, 5, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(5, 4, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(4, 1, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(2, 8, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(8, 9, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(3, 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(12, 13, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(12, 14, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(14, 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(17, 18, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(18, 19, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(19, 20, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(14, 21, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(21, 22, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(22, 23, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(23, 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, 19, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(27, 28, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(29, 28, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(28, 30, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(30, 31, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(18, 31, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(18, 32, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(32, 33, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(33, 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(36, 31, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(35, 37, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(37, 38, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(38, 39, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(39, 40, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(40, 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(44, 45, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(45, 46, 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(47, 49, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(49, 50, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(50, 51, 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, 29, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(31, 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(57, 30, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(54, 58, 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, 60, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(64, 65, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(65, 66, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(66, 39, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(67, 68, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(68, 69, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(69, 70, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(70, 62, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(62, 71, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(71, 72, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(72, 73, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(73, 74, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(74, 75, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(75, 76, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(76, 70, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(63, 62, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(42, 64, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(44, 77, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(77, 78, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(78, 58, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(77, 38, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(46, 59, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(46, 31, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(79, 80, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(80, 81, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(81, 82, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(82, 83, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(83, 79, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(79, 58, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(81, 62, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(71, 84, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(84, 85, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(85, 86, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(86, 87, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(87, 88, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(88, 89, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(89, 90, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(90, 91, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(91, 92, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(92, 93, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(90, 95, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(90, 94, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(95, 96, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(96, 97, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(97, 98, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(98, 94, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(97, 99, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(99, 100, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(100, 71, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(99, 101, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(101, 102, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(102, 86, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(65, 67, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(13, 103, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(103, 52, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(13, 104, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(104, 105, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(105, 106, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(106, 107, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(107, 108, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(108, 109, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(110, 111, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(111, 112, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(112, 50, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(109, 113, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(110, 113, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(112, 29, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(3, 114, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(114, 115, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(115, 116, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(116, 117, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(117, 8, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(11, 118, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(118, 119, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(119, 120, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(120, 121, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(121, 10, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(121, 122, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(122, 123, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(123, 124, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(124, 125, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(125, 126, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(126, 3, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(125, 127, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(127, 3, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(128, 129, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(129, 50, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(103, 130, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(130, 128, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(16, 131, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(14, 133, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(133, 29, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(14, 132, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(132, 20, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(53, 134, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(134, 135, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(135, 136, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(136, 137, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(137, 52, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(138, 29, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(138, 49, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(106, 139, Empty Array));
  • Modify Global Variable(_tempSegments, Append To Array, Vector(139, 11, Empty Array));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(70, 76, 1));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(64, 42, 1));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(77, 44, 1));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(31, 46, 1));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(59, 46, 1));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(65, 67, 1));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(29, 112, 1));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(138, 49, 1));
  • Modify Global Variable(_tempAttributes, Append To Array, Vector(139, 106, 1));
  • 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];
  • Global.i = 0;
  • Global.compressBakeMatcher = Array(Custom String(""), Custom String(""), Custom String(""), Custom String(""), Custom String(
  • ""), Custom String(""), Custom String(""), Custom String(""), Custom String(" "), Custom String(" "), Custom String(" "),
  • Custom String(""), Custom String(""), Custom String(""), Custom String(""), Custom String(""), Custom String(""),
  • Custom String(""), Custom String(""), Custom String(""), Custom String(""), Custom String(""), Custom String(""),
  • Custom String(""), Custom String(""), Custom String(""), Custom String(""), Custom String(""), Custom String(""),
  • Custom String(" "), Custom String("!"), Custom String("#"), Custom String("$"), Custom String("%"), Custom String("&"),
  • Custom String("'"), Custom String("("), Custom String(")"), Custom String("*"), Custom String("+"), Custom String(","),
  • Custom String("-"), Custom String("."), Custom String("/"), Custom String("0"), Custom String("1"), Custom String("2"),
  • Custom String("3"), Custom String("4"), Custom String("5"), Custom String("6"), Custom String("7"), Custom String("8"),
  • Custom String("9"), Custom String(":"), Custom String(";"), Custom String("<"), Custom String("="), Custom String(">"),
  • Custom String("?"), Custom String("@"), Custom String("A"), Custom String("B"), Custom String("C"), Custom String("D"),
  • Custom String("E"), Custom String("F"), Custom String("G"), Custom String("H"), Custom String("I"), Custom String("J"),
  • Custom String("K"), Custom String("L"), Custom String("M"), Custom String("N"), Custom String("O"), Custom String("P"),
  • Custom String("Q"), Custom String("R"), Custom String("S"), Custom String("T"), Custom String("U"), Custom String("V"),
  • Custom String("W"), Custom String("X"), Custom String("Y"), Custom String("Z"), Custom String("["), Custom String("]"),
  • Custom String("^"), Custom String("_"), Custom String("`"), Custom String("a"), Custom String("b"), Custom String("c"),
  • Custom String("d"), Custom String("e"), Custom String("f"), Custom String("g"), Custom String("h"), Custom String("i"),
  • Custom String("j"), Custom String("k"), Custom String("l"), Custom String("m"), Custom String("n"), Custom String("o"),
  • Custom String("p"), Custom String("q"), Custom String("r"), Custom String("s"), Custom String("t"), Custom String("u"),
  • Custom String("v"), Custom String("w"), Custom String("x"), Custom String("y"), Custom String("z"), Custom String("|"),
  • Custom String("}"), Custom String("~"), Custom String(""), Custom String("€"), Custom String(""), Custom String("‚"),
  • Custom String("ƒ"), Custom String("„"), Custom String("…"), Custom String("†"), Custom String("‡"), Custom String("ˆ"),
  • Custom String("‰"), Custom String("Š"), Custom String("‹"), Custom String("Œ"), Custom String(""), Custom String("Ž"),
  • Custom String(""), Custom String(""), Custom String("‘"), Custom String("’"));
  • }
  • }
  • rule("bake")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.bakeWait = 0;
  • Global.bakemap = Empty Array;
  • For Global Variable(bakemapNode, 0, Count Of(Global.Nodes[Global.map]), 1);
  • "Set current to the first node."
  • Global.Dijkstra_Current = Global.bakemapNode;
  • Global.Dijkstra_Distances[Global.Dijkstra_Current] = 0.000;
  • Global.Dijkstra_Unvisited = Mapped Array(Global.Nodes[Global.map], Current Array Index);
  • While(Is True For Any(Global.Dijkstra_Unvisited, Global.Dijkstra_Distances[Current Array Element]));
  • Global.bakeWait += 1;
  • Skip If(Global.bakeWait % 6, 1);
  • Wait(0.016, Ignore Condition);
  • Global.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)), Global.Dijkstra_Current));
  • Global._extendedGlobalCollection[2] = 0;
  • While(Global._extendedGlobalCollection[2] < Count Of(Global.Dijkstra_Connected_Segments));
  • Global.Dijkstra_Neighbor_Index = First Of(Filtered Array(Append To Array(Append To Array(Empty Array, X Component Of(
  • Global.Dijkstra_Connected_Segments[Global._extendedGlobalCollection[2]])), Y Component Of(
  • Global.Dijkstra_Connected_Segments[Global._extendedGlobalCollection[2]])), Current Array Element != Global.Dijkstra_Current));
  • Global.Dijkstra_Distance = Distance Between(Global.Nodes[Global.map][Global.Dijkstra_Neighbor_Index],
  • Global.Nodes[Global.map][Global.Dijkstra_Current]) + Global.Dijkstra_Distances[Global.Dijkstra_Current];
  • Global.Dijkstra_Neighbor_Attributes = Filtered Array(Global.Attributes[Global.map], Y Component Of(Current Array Element)
  • == Global.Dijkstra_Current && X Component Of(Current Array Element) == Global.Dijkstra_Neighbor_Index);
  • "If the distance between this node and the neighbor node is lower than the node's current parent,\r\nthen the current node is closer and should be set as the neighbor's parent.\r\nAlternatively, if the neighbor's distance is 0, that means it was not set so this"
  • If((
  • !Global.Dijkstra_Distances[Global.Dijkstra_Neighbor_Index] || Global.Dijkstra_Distance < Global.Dijkstra_Distances[Global.Dijkstra_Neighbor_Index])
  • && (!Count Of(Global.Dijkstra_Neighbor_Attributes) || Is True For Any(Global.Dijkstra_Neighbor_Attributes, Array Contains(
  • Empty Array, Z Component Of(Current Array Element)))));
  • "Set the neighbor's distance to be the distance between the current node and neighbor node."
  • Global.Dijkstra_Distances[Global.Dijkstra_Neighbor_Index] = Global.Dijkstra_Distance;
  • "Set the neighbor's parent ('parentArray[neighborIndex]') to be current. 1 is added to current because\r\n0 means no parent was set yet (the first node will have current equal 0). This value will be subtracted\r\nback by 1 when used."
  • Global.Dijkstra_Parent_Array[Global.Dijkstra_Neighbor_Index] = Global.Dijkstra_Current + 1;
  • End;
  • Global._extendedGlobalCollection[2] += 1;
  • Global.compressedNodes = Array(Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sx| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sx| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sx| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz€‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sx| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sx| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sx| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "  ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sx| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "  ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sz| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "  ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sz| €‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz€€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz}€€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikn’pqrwv!sxyz}€€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !: #%&)$(*+,-0123$64789m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLiknopqrwv7sxyz}€€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikn’pqruv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikn’pqruv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " ‹!Œ %&'$(*+,-0123$64‘67:!$;>#;?@AVEAG,FHICCLMPQK+??TUXTLYZ[]`e`abhfgigjLikn’pqruv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • "  $%&'$(*+,-0123$34‘67:!$;<#;?@AVEAG,FHICCLMPQK+??TUXTLYZ[]`e`abhfgigjLikn’pqruv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " ‹ $%&'$(*+,-0123$34‘67:!$;<#;?@AVEAG,FHICCLMPQK+??TUXTLYZ[]`e`abhfgigjLik9n’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " ‹ %&'$(*+,-0123$64‘67:!$;>#;?@AVEAG,FHICCLMPQK+??TUXTLYZ[]`e`abhfgigjLik9n’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " ‹ %&'$(*+,-0123$64‘67:!$;>#;?@AVEAG,FHICCLMPQK+??TUXTLYZ[]`e`abhfgigjLikn’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " ‹ !Œ #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikn’pqruv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " ‹Œ #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikn’pqruv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " ‹ #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • "  #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " m #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " m #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ #%&)$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ  #%()$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ ! #%()$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # #%()$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $%()$(*+,-0123$34‘67:!$;<#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " ‹% $%&'((*+,-01R1$34‘67:!$;<#;?@AVEFG,FHICCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " ‹% $&&'((*+,-01R1$34‘67:!$;<#S?@AVEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " ‹%# $)&''((*+,-01R1$34‘67:!$;<#S?@AVEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ% # $)&'(((*+,-01R1$34‘67:!$;<#S?@AVEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $)&'()(*+,-0123$34‘67:!$;<#;?@AVEAG,FHICCLMPQK+??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ% # $)&'(*(*+,-01R1$34‘67:!$;<#S?@AVEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ% # $)&'(*(++,-01R1234‘67:!?;<#S?@AVEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ% # $)&'(*(+,,-./R1234‘67:!?;<#SAEADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ% # $)&'(*(+,--./01234467:!?;<#SAEADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ% # $)&'(*(+,-../01234467:!?;<#SAEADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ% # $)&'(*(+,-.//0123446789?;<#SAEADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ% # $)&'(*(+,-./00123446789?;<#SAEADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ% !:$)&'(*(+,-./01123446789?;<#SAEADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ% !: )&'(*(+,-./01223446789?;<#SAEADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ !: #&'(*(+,-./01233446789$=>#SAEADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ !: #%()$+,-./01234446789$=>#;?EADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ !: #%()$+,-./01234546789$=>#;?EADEFG,FHIJCLMPQK+R?TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ !: #%()$(*-./01234646789$=>#;?@AVEAG,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ !: #%()$(*-./01234647789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9norswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ !: #%()$(*+./01234647889$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9nopswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:9!")), Array(Custom String(
  • " mŒ !: #%()$(*+,-0123$647899$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9nopqwuv7txyz}€€‚ƒ"),
  • Custom String("‰7m!:9!")), Array(Custom String(
  • " mŒ !: #%()$(*+,-0123$64‘89:$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9nopqwuv!txyz}€€‚ƒ"),
  • Custom String("‰7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;%()$(R+,-E1R3$34‘67:!;<=;?@AVEAEFFHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # >;%()$(R+,-E1R3$34‘67:!<<=;?@AVEAEFFHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # >;%()$(R+,-E1R3$34‘67:!<==;?@AVEAEFFHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # >#%()$(*+,-0123$64‘67:!<=>;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+R+,-E1R1@34‘67:!?;<=?@AVEAEFFHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/23@344678!?;<=@@ABEAEFFHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’rswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/03@344678!?;<=@AABEAEFFHICCLMPQKS??TCXTLYZ[]`e`abhfgigjLik9n’rswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/03@344678!?;<=@ABBCAEFFHKCCLMPQKS?UVCVWLYZ[]`e`abhfgigjLik9n’rswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCCDEFFHKCCLMPQKS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;&'(*$+,G./E/01@344678!?;<=@AECDDEFFHICCLMPQKS?UVCVWLYZ[]`e`abhfgigjLik9n’rswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ$ # $;&'(*$+,G./E/01@344678!?;<=@AEADEEFFHICCLMPQKS??VCVTLYZ[]`e`abhfgigjLik9n’rswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ% # $;&'(*(+,G,-E/01@344678!?;<=@AEADEFFFHIJCLMPQK+R?VCVTLYZ[]`e`abhfgigjLik9n’rswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ% # $)&'(*(+,G,-./R1@34467:!?;<#@AEADEFGFHIJCLMPQK+R?VCVTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCKCDEFHIJCNOPQKS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCKCDEFIIJCNOPQKS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCKCDEFIJJCNOPQKS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCKCDEFIJKCNOPQKS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCLMNQKS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCMMNOPS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCMNNOPS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCMNOOPS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCMNOPPS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCMNOPQS?UVCVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ% # $;&'(*(+R+,-01R1234467:!?;<=S?@AVEAG,FHICCLMPQKR?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;&'(*$+R+,-01R1234‘67:!?;<=S?@AVEAG,FHICCLMPQKS?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+R+,-E1R1@34‘67:!?;<=T?@CVCAEFFHKCCLMPQKS?TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+R+,-E1R1@34‘67:!?;<=T?@CVCDEFFHKCCLMPQKS?UUVTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+R+,/E/R1@34‘67:!?;<=T?BCVCDEFFHKCCLMPQKS?UVVWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+R+,/E1R1@34‘67:!?;<=T?@CVCDEFFHKCCLMPQKS?XVWWLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+R+,-E1R1@34‘67:!?;<=T?@CVCAEFFHKCCLMPQKS?XTWXLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCYLMNQKS?UVCVWYZ[]^e`abhfgigjLi[9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCYLMNQKS?UVCVWZZ[]^e`abhfgigkLl[9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCYLMNQKS?UVCVWZ[[]^e`abhfgigkil[9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCYLMNQKS?UVCVWZ[]]^_`ab``gigkil[9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCYLMNQKS?UVCVWZ[]^^_`ab``gigkil[9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWZ[]^__`ab``efdgii[9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l^_``ab``efdgiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l^_`aab``efdgiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l^_`abb``efdgiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l^_`abc``efdgiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l^_`d`ab`ghdgiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l^_`e`ab`efggiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l[]`e`abhffggiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l[]`e`abhfgggiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l[]`d`abhfghgiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l[]`e`abhfgigiik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWLYl[]`e`abhfgigjik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWL[l[]`e`abhfgigkik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " mŒ$ # $;'(*$+RG./E/01@34467:!?;<=TABCLCDEFFHKCjLMNQKS?UVCVWZ[l[]^e`abhfgigkil9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9!")), Array(Custom String(
  • " m‹ !: #%()$(*+,-0123$64789m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLiknopqruv7sxyz}€€‚ƒ"),
  • Custom String("‰‡m!:9!")), Array(Custom String(
  • " n‹ !: #%&)$(*+,-0123$64789m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLiknopqrwt7sxyz}€€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " n‹ !: #%&)$(*+,-0123$64789m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikoopqrwt7sxyz}€€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " n‹ !: #%&)$(*+,-0123$64789m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikoppqrwtusxyz}€€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " n‹ !: #%&)$(*+,-01234647v9m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikopqqrwtusxyz}€€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " n‹ !: #%&)$(*+./01234647v7m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikopqrrwtusxyz}€€‚ƒ"),
  • Custom String("‰7m:9!")), Array(Custom String(
  • " n‹ !: #%()$(*-./01234647v789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikopqrswtusxyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " nŒ !: #%()$(*-./01234647v789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9opqrswtutxyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ !: #%()$(*-./01234647v789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9opqrswuutxyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " mŒ !: #%()$(*-./01234647v789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9nqrswuvtxyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • " n‹ !: #%()$(*-./01234647v789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikopqrswwtuxyz}€€‚ƒ"),
  • Custom String("ˆ7‡!:9!")), Array(Custom String(
  • "x ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz€‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "x| ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!syyz€‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " x| ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!syzz€‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " x| ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!syz|€‚ƒ„†"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " }‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz}~€‚ƒ"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " €}‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz~~€‚ƒ„„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " €‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz~€‚ƒ„„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " €‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz~€€‚ƒ„„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "† €‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz~€‚ƒ„„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "† €‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz~€‚‚ƒ„„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "† €‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz~€‚ƒƒ„„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "† €‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz~€‚ƒ„„„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "… ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz€‚ƒ„…„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • "† ‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz€‚ƒ„†„"),
  • Custom String("‰‡m:9!")), Array(Custom String(
  • " m‹ !: #%()$(*+./01234647ˆ7m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik‰nopqwuv7txyz}€€‚ƒ"),
  • Custom String("‡‡!:9!")), Array(Custom String(
  • " mŒ !: #%()$(*-./01234647ˆ789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik‰nopswuv7txyz}€€‚ƒ"),
  • Custom String("ˆ‡!:9!")), Array(Custom String(
  • " m‹ !: #%()$(*+,-01234647ˆ9m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik‰nopqwuv7txyz}€€‚ƒ"),
  • Custom String("‰‡!:9!")), Array(Custom String(
  • " Š‹!Œ %&'$(*+,-0123$64‘67:!$;>#;?@AVEAG,FHICCLMPQK+??TUXTLYZ[]`e`abhfgigjLikn’pqruv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " ‹‹!Œ #%&'$(*+,-0123$64‘67:!$=>#;?@AVEAG,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikn’pqruv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " Œ‹ !Œ #%()$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pqwuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m:Ž9!")), Array(Custom String(
  • " mŒ !: #%()$(*+,-0123$64‘89:$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9nopqwuv!txyz}€€‚ƒ"),
  • Custom String("‰7m!Ž!")), Array(Custom String(
  • " mŒ !: #%()$(*+,-0123$64789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9nopqwuv!txyz}€€‚ƒ"),
  • Custom String("‰7m!ŽŽ!")), Array(Custom String(
  • " mŒ !: #%()$(*+,-0123$64789$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9nopqwuv7txyz}€€‚ƒ"),
  • Custom String("‰7m!Ž!")), Array(Custom String(
  • " mŒ !: #%()$(*+,-0123$647899$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9nopqwuv7txyz}€€‚ƒ"),
  • Custom String("‰7m!Ž!")), Array(Custom String(
  • " mŒ !‘ #%()$(*+,-0123$64‘67:!$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLik9n’pswuv!txyz}€€‚ƒ"),
  • Custom String("ˆ7m!:Ž9")), Array(Custom String(
  • " ’‹ !Œ #%&)$(*+,-0123$64‘69m9$=>#;?@AVEAE,FHICCLMPQKS??TUXTLYZ[]`e`abhfgigjLikop’pqrwt!sxyz}€€‚ƒ"),
  • Custom String("‰‡m:9!")));
  • Global.compressBakeResult = Empty Array;
  • For Global Variable(compressBakeNodeLoop, 0, Count Of(Global.compressedNodes), 1);
  • Global.compressCurrentNodeArray = Empty Array;
  • For Global Variable(compressBakeStringLoop, 0, Count Of(Global.compressedNodes[Global.compressBakeNodeLoop]), 1);
  • Global.compressMapper = Empty Array;
  • Global.compressMapper[String Length(Global.compressedNodes[Global.compressBakeNodeLoop][Global.compressBakeStringLoop]) - 1] = 0;
  • Modify Global Variable(compressCurrentNodeArray, Append To Array, Mapped Array(Global.compressMapper, Index Of Array Value(
  • Global.compressBakeMatcher, String Slice(Global.compressedNodes[Global.compressBakeNodeLoop][Global.compressBakeStringLoop],
  • Current Array Index, 1))));
  • Global.i += 1;
  • If(!(Global.i % 5));
  • Wait(0.016, Ignore Condition);
  • End;
  • Modify Global Variable(Dijkstra_Unvisited, Remove From Array By Value, Global.Dijkstra_Current);
  • Global.Dijkstra_Current = First Of(Sorted Array(Filtered Array(Global.Dijkstra_Unvisited,
  • Global.Dijkstra_Distances[Current Array Element] != 0), Global.Dijkstra_Distances[Current Array Element]));
  • End;
  • Global.bakemap[Global.bakemapNode] = Global.Dijkstra_Parent_Array;
  • Global.Dijkstra_Current = 0;
  • Global.Dijkstra_Distances = 0;
  • Global.Dijkstra_Connected_Segments = 0;
  • Global.Dijkstra_Neighbor_Index = 0;
  • Global.Dijkstra_Distance = 0;
  • Global.Dijkstra_Parent_Array = 0;
  • Global.compressBakeResult[Global.compressBakeNodeLoop] = Global.compressCurrentNodeArray;
  • End;
  • Global._extendedGlobalCollection[3] = Index Of Array Value(Global._classIndexes, 0);
  • Global._classIndexes[Global._extendedGlobalCollection[3]] = 1;
  • Global._objectVariable_1[Global._extendedGlobalCollection[3]] = Global.map;
  • Global._objectVariable_0[Global._extendedGlobalCollection[3]] = Global.bakemap;
  • Global.bake = Global._extendedGlobalCollection[3];
  • Global._extendedGlobalCollection[2] = Index Of Array Value(Global._classIndexes, 0);
  • Global._classIndexes[Global._extendedGlobalCollection[2]] = 1;
  • Global._objectVariable_1[Global._extendedGlobalCollection[2]] = Global.map;
  • Global._objectVariable_0[Global._extendedGlobalCollection[2]] = Global.compressBakeResult;
  • Global.bake = Global._extendedGlobalCollection[2];
  • Global.bakeCompleted = True;
  • }
  • }
  • rule("Me")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create HUD Text(All Players(Team 2), Null, Custom String("https://workshop.codes/uprising"), Null, Right, 0, Color(White), Color(
  • Green), Color(Green), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(Team 2), Null, Null, Custom String("Created by Waitedboat4#2760"), Right, 0, Color(White), Color(
  • White), Color(Green), Visible To and String, Default Visibility);
  • }
  • }
  • rule("anti crash")
  • disabled rule("anti crash")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.antiCrashActivated == False;
  • Server Load > 200;
  • Is Assembling Heroes == False;
  • }
  • actions
  • {
  • Wait(1, Abort When False);
  • Set Slow Motion(10);
  • Global.antiCrashActivated = True;
  • }
  • }
  • rule("disable anti crash")
  • disabled rule("disable anti crash")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.antiCrashActivated == True;
  • Server Load < 175;
  • Is Assembling Heroes == False;
  • }
  • actions
  • {
  • Set Slow Motion(100);
  • Global.antiCrashActivated = False;
  • }
  • }
  • rule("Bastion/Wrecking Ball POS")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.SentryPos = Array(Vector(-9.545, 1.577, -20.975), Vector(-29.313, 1.800, -15.087));
  • }
  • }
  • rule("Scoreboard")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == False;
  • }
  • actions
  • {
  • Create HUD Text(All Players(Team 2), Null, Null, Custom String("{0} | {1} HP | {2}%", Custom String("{0} {1}", Is Alive(
  • Event Player) == True ? Hero Icon String(Hero Of(Event Player)) : Icon String(X), Event Player), Round To Integer(Health(
  • Event Player), To Nearest), Ultimate Charge Percent(Event Player)), Left, 2, Color(White), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • }
  • }
  • 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(
  • Filtered Array(Global.Nodes[Event Player.pathmapReference], Is In Line of Sight(Eye Position(Event Player),
  • Current Array Element, Barriers Do Not Block LOS) == True), 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;
  • Loop If Condition Is True;
  • }
  • }
  • rule("Pathfinder: skip if visible")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.parentArray != Null;
  • Event Player.pathfinderCurrent != -1;
  • Y Component Of(
  • Event Player.pathfinderCurrent == -1 ? Event Player.destination : Global.Nodes[Event Player.pathmapReference][Event Player.pathfinderCurrent])
  • - Y Component Of(
  • Event Player.parentArray[Event Player.pathfinderCurrent] - 1 == -1 ? Event Player.destination : Global.Nodes[Event Player.pathmapReference][Event Player.parentArray[Event Player.pathfinderCurrent] - 1])
  • == True;
  • Is In Line of Sight(Position Of(Event Player) + Vector(Empty Array, 0.250, Empty Array), (
  • Event Player.parentArray[Event Player.pathfinderCurrent] - 1 == -1 ? Event Player.destination : Global.Nodes[Event Player.pathmapReference][Event Player.parentArray[Event Player.pathfinderCurrent] - 1])
  • + Vector(Empty Array, 0.250, Empty Array), Barriers Do Not Block LOS) == True;
  • }
  • actions
  • {
  • Wait(0.100, Ignore Condition);
  • 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;
  • Wait(0.100, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Pathfind")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Hero Of(Event Player) != Hero(Ana);
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)))) > 5;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Event Player.LineofSight == True;
  • Hero Of(Event Player) != Hero(Symmetra);
  • Hero Of(Event Player) != Hero(Zarya);
  • Hero Of(Event Player) != Hero(Bastion);
  • Hero Of(Event Player) != Hero(Wrecking Ball);
  • Count Of(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))), Current Array Element.Invis == False)) > 0;
  • }
  • actions
  • {
  • Event Player.pathmapReference = Global._objectVariable_1[Global.bake];
  • Event Player.destination = First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)));
  • Event Player.parentArray = Global._objectVariable_0[Global.bake][Index Of Array Value(
  • Global.Nodes[Global._objectVariable_1[Global.bake]], First Of(Sorted Array(Global.Nodes[Global._objectVariable_1[Global.bake]],
  • Distance Between(Current Array Element, Event Player.destination))))];
  • Event Player.pathfinderDoGetCurrent = True;
  • Wait(5, Ignore Condition);
  • Loop If(Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(
  • Event Player))), Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)))) > 5);
  • }
  • }
  • rule("Stop Pathfinding")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Hero Of(Event Player) != Hero(Ana);
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Symmetra);
  • Hero Of(Event Player) != Hero(Wrecking Ball);
  • Hero Of(Event Player) != Hero(Zarya);
  • Hero Of(Event Player) != Hero(Bastion);
  • Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)))) <= 5;
  • Count Of(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))), Current Array Element.Invis == False)) > 0;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • Wait(Random Integer(1, 2), Ignore Condition);
  • Start Throttle In Direction(Event Player, Direction Towards(Position Of(Event Player), Position Of(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))))
  • + Direction From Angles(Total Time Elapsed * 135, 0) * 5), 1, To World, Replace existing throttle, Direction and Magnitude);
  • Wait(Random Integer(1, 2), Ignore Condition);
  • Loop If(Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(
  • Event Player))), Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)))) <= 5);
  • }
  • }
  • rule("Hack Terminals Big Message")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Disable Messages(All Players(Team 2));
  • Wait(3, Ignore Condition);
  • Enable Messages(All Players(Team 2));
  • Big Message(All Players(Team 2), Custom String("HACK THE TERMINALS"));
  • }
  • }
  • rule("Disable HUD")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Disable Game Mode HUD(Event Player);
  • Disable Game Mode In-World UI(Event Player);
  • }
  • }
  • rule("Enable HUD")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Global.AllTerminalsHacked == True;
  • }
  • actions
  • {
  • Enable Game Mode HUD(Event Player);
  • Enable Game Mode In-World UI(Event Player);
  • }
  • }
  • rule("Disable - Global")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Completion;
  • Disable Built-In Game Mode Scoring;
  • Disable Built-In Game Mode Announcer;
  • Global.PayloadHP = 100;
  • Disable Inspector Recording;
  • }
  • }
  • rule("Disable - Player")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Respawning(Event Player);
  • }
  • }
  • rule("Start Facing")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Ana);
  • Hero Of(Event Player) != Hero(Symmetra);
  • Event Player.LineofSight == True;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • > 0;
  • }
  • actions
  • {
  • Start Facing(Event Player, Direction Towards(Event Player, Eye Position(First Of(Sorted Array(Filtered Array(Filtered Array(
  • All Living Players(Opposite Team Of(Team Of(Event Player))), Current Array Element.Invis == False), Is In Line of Sight(
  • Event Player, Current Array Element, Barriers Do Not Block LOS)), Distance Between(Event Player, Current Array Element))))
  • + Down + Down), 200, To World, Direction and Turn Rate);
  • }
  • }
  • rule("Stop Facing")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Ana);
  • Hero Of(Event Player) != Hero(Symmetra);
  • Event Player.LineofSight == True;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • <= 0;
  • }
  • actions
  • {
  • Stop Facing(Event Player);
  • }
  • }
  • rule("Shooting - Baptiste")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Baptiste;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.LineofSight == True;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • > 0;
  • }
  • actions
  • {
  • Press Button(Event Player, Button(Primary Fire));
  • Wait(1.500, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Stop Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Ana);
  • Hero Of(Event Player) != Hero(Zarya);
  • Hero Of(Event Player) != Hero(Wrecking Ball);
  • Hero Of(Event Player) != Hero(Symmetra);
  • Hero Of(Event Player) != Hero(Baptiste);
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • <= 0;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Button(Primary Fire));
  • }
  • }
  • rule("Bap Reload")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Baptiste;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Ammo(Event Player, 0) < 1;
  • }
  • actions
  • {
  • Press Button(Event Player, Button(Reload));
  • }
  • }
  • rule("Reset Variables - Player")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Event Player.Spawn = False;
  • }
  • }
  • rule("HUD")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Create HUD Text(All Players(Team 2), Null, Null, Custom String("HACK THE TERMINALS\r \n {0} {1} {2}", Count Of(
  • Global.TerminalPosition) == 3 ? Custom String("{0}%", Round To Integer(Global.TerminalPercent, To Nearest)) : (Count Of(
  • Global.TerminalPosition) > 3 ? Icon String(No) : Icon String(Checkmark)), Count Of(Global.TerminalPosition)
  • == 2 ? Custom String("{0}%", Round To Integer(Global.TerminalPercent, To Nearest)) : (Count Of(Global.TerminalPosition)
  • > 2 ? Icon String(No) : Icon String(Checkmark)), Count Of(Global.TerminalPosition) == 1 ? Custom String("{0}%",
  • Round To Integer(Global.TerminalPercent, To Nearest)) : (Count Of(Global.TerminalPosition) > 1 ? Icon String(No) : Icon String(
  • Checkmark))), Top, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Global.HUDtext = Last Text ID;
  • }
  • }
  • rule("Skip Setup")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is In Setup == True;
  • }
  • actions
  • {
  • Set Match Time(0);
  • }
  • }
  • rule("Terminal Array")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.TerminalPosition = Array(Vector(-60.851, 1.250, 3.839), Vector(-2.205, 1.118, -15.754), Vector(0.606, 2.250, 39.854));
  • }
  • }
  • rule("Create Effect - Terminals")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create Effect(All Players(Team 2), Ring, Color(Blue), First Of(Global.TerminalPosition), 5, Visible To Position and Radius);
  • Global.TerminalEffect = Last Created Entity;
  • Create In-World Text(All Players(Team 2), Custom String(" {0}\r\nHACK", Icon String(Bolt)), Global.TerminalPosition, 1,
  • Do Not Clip, Visible To Position and String, Color(Blue), Default Visibility);
  • }
  • }
  • rule("Pause")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Pause Match Time;
  • }
  • }
  • rule("Force Spawn Point")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Start Forcing Spawn Room(Team 1, 2);
  • Start Forcing Spawn Room(Team 2, 2);
  • Wait(0.250, Ignore Condition);
  • Start Forcing Spawn Room(Team 2, 1);
  • }
  • }
  • rule("Contest Point")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Ana), Team 1, -1, Vector(-19.067, 1.322, -36.125), Vector(Empty Array, Empty Array, Empty Array));
  • }
  • }
  • rule("Ana Invincible")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Ana;
  • }
  • actions
  • {
  • Set Invisible(Event Player, All);
  • Set Status(Event Player, Null, Phased Out, 9999);
  • }
  • }
  • rule("Spawn")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Event Player.Spawn == False;
  • }
  • actions
  • {
  • Teleport(Event Player, Vector(-103.528, -3.226, -66.614));
  • Set Facing(Event Player, Direction Towards(Event Player, Vector(-107.258, -3.401, -60.100)), To World);
  • Wait(0.250, Ignore Condition);
  • Event Player.Spawn = True;
  • }
  • }
  • rule("Get Through Exit")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Vector(-92.782, 2.504, -28.929)) <= 2;
  • }
  • actions
  • {
  • Disable Movement Collision With Environment(Event Player, False);
  • }
  • }
  • rule("Get Through Exit - Disable")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Vector(-92.782, 2.504, -28.929)) > 2;
  • }
  • actions
  • {
  • Enable Movement Collision With Environment(Event Player);
  • }
  • }
  • rule("Get Through Exit")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Vector(-68.142, 1.754, -50.930)) <= 2;
  • }
  • actions
  • {
  • Disable Movement Collision With Environment(Event Player, False);
  • }
  • }
  • rule("Get Through Exit - Disable")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Vector(-68.142, 1.754, -50.930)) > 2;
  • }
  • actions
  • {
  • Enable Movement Collision With Environment(Event Player);
  • }
  • }
  • rule("Terminal Finished")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.TerminalPercent == 100;
  • Global.AllTerminalsHacked == False;
  • }
  • actions
  • {
  • Play Effect(All Players(Team 2), Ring Explosion Sound, Color(White), All Players(Team 2), 200);
  • Modify Global Variable(TerminalPosition, Remove From Array By Value, First Of(Global.TerminalPosition));
  • Global.TerminalPercent = 0;
  • }
  • }
  • rule("Terminal Capture")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Filtered Array(Players Within Radius(First Of(Global.TerminalPosition), 5, Team 2, Off), Is Alive(Current Array Element)))
  • > 0;
  • Global.AllTerminalsHacked == False;
  • }
  • actions
  • {
  • Global.StartedCapture = True;
  • While(True);
  • Wait(Workshop Setting Real(Custom String("Settings"), Custom String("Hacking Speed (percent/sec)"), 0.500, 0, 500, 0),
  • Abort When False);
  • Global.TerminalPercent += 1;
  • Loop If Condition Is True;
  • }
  • }
  • rule("All Terminals Hacked")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Global.TerminalPosition) == 0;
  • }
  • actions
  • {
  • Global.AllTerminalsHacked = True;
  • Destroy Effect(Global.TerminalEffect);
  • Destroy All In-World Text;
  • Destroy HUD Text(Global.HUDtext);
  • Set Objective Description(All Players(Team 2), Custom String("RENDEZVOUS AT THE PAYLOAD"), Visible To and String);
  • Big Message(All Players(Team 2), Custom String("GET TO THE PAYLOAD"));
  • }
  • }
  • rule("Remove Contest")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Ana;
  • }
  • conditions
  • {
  • Global.AllTerminalsHacked == True;
  • }
  • actions
  • {
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • }
  • }
  • rule("Contest Payload")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Distance Between(Payload Position, Vector(-18.813, 1.334, -38.687)) <= 5;
  • Global.AllTerminalsHacked == True;
  • Is Game In Progress == True;
  • Global.PayloadFixed == False;
  • }
  • actions
  • {
  • Global.Fixingpayload = True;
  • Destroy All Dummy Bots;
  • Wait(0.250, Ignore Condition);
  • Create Progress Bar HUD Text(All Players(Team 2), Global.PayloadHP, Custom String("Payload Health: {0}%", Global.PayloadHP), Right,
  • 0.500, Color(White), Color(White), Visible To Values and Color, Default Visibility);
  • Global.AllTerminalsHacked = False;
  • Global.ReleaseHPkillers = True;
  • Big Message(All Players(Team 2), Custom String("DEFEND THE PAYLOAD"));
  • Set Objective Description(All Players(Team 2), Custom String("DEFEND THE PAYLOAD"), Visible To and String);
  • Set Match Time(240);
  • Unpause Match Time;
  • Create Dummy Bot(Hero(Ana), Team 1, -1, Vector(-19.070, 1.326, -37.026), Vector(Empty Array, Empty Array, Empty Array));
  • Wait(240, Ignore Condition);
  • Global.PayloadFixed = True;
  • Global.Fixingpayload = False;
  • }
  • }
  • rule("Time")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Match Time <= 0;
  • }
  • actions
  • {
  • Pause Match Time;
  • Set Match Time(240);
  • }
  • }
  • rule("Payload Fixed")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Ana;
  • }
  • conditions
  • {
  • Global.PayloadFixed == True;
  • Global.KillOR14 == False;
  • }
  • actions
  • {
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • Big Message(All Players(Team 2), Custom String("ESCORT THE PAYLOAD"));
  • Set Objective Description(All Players(Team 2), Custom String("ESCORT THE PAYLOAD"), Visible To and String);
  • }
  • }
  • rule("Kill OR14-NS UNITS")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Distance Between(Payload Position, Vector(-101.517, 2.194, -8.275)) <= 5;
  • Is Game In Progress == True;
  • Global.PayloadFixed == True;
  • Global.KillOR14 == False;
  • }
  • actions
  • {
  • Destroy All Progress Bar HUD Text;
  • Wait(0.250, Ignore Condition);
  • Big Message(All Players(Team 2), Custom String("KILL THE OR14-NS UNITS"));
  • Set Objective Description(All Players(Team 2), Custom String("KILL THE OR14-NS UNITS"), Visible To and String);
  • Create HUD Text(All Players(Team 2), Null, Null, Custom String(" {0}/4 {1}\r\nELIMINATED", Global.NumberofOR14killed,
  • Icon String(Skull)), Top, 1, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Global.HUDtext = Last Text ID;
  • Destroy All Dummy Bots;
  • Wait(0.250, Ignore Condition);
  • Create Dummy Bot(Hero(Ana), Team 1, -1, Vector(-111.347, 0.825, -6.609), Vector(Empty Array, Empty Array, Empty Array));
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Vector(-122.719, 2.321, -11.916), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Vector(-131.052, 2.319, 30.021), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Vector(-155.245, 1.321, 38.596), Vector(0, 0, 0));
  • Global.SentryPos = Array(Vector(-122.719, 2.321, -11.916), Vector(-131.052, 2.319, 30.021), Vector(-155.245, 1.321, 38.596));
  • Global.KillOR14 = True;
  • Set Match Time(360);
  • Unpause Match Time;
  • }
  • }
  • rule("Elims")
  • {
  • event
  • {
  • Player Died;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Hero Of(Event Player) == Hero(Orisa);
  • Global.KillOR14 == True;
  • }
  • actions
  • {
  • Global.NumberofOR14killed += 1;
  • }
  • }
  • rule("Win")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.NumberofOR14killed == 4;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Start Camera(All Players(Team 2), Eye Position(Players On Hero(Hero(Orisa), Team 1)) + Up, Eye Position(Players On Hero(Hero(
  • Orisa), Team 1)), 0);
  • Set Slow Motion(50);
  • Wait(1, Ignore Condition);
  • Declare Team Victory(Team 2);
  • }
  • }
  • rule("Subway bots")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-94.559, -1.246, -46.642), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-94.559, -1.246, -46.642), Vector(0, 0, 0));
  • }
  • }
  • rule("Outside Subway")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-86.969, 2.274, -7.325), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-91.223, 2.373, 3.848), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-72.201, 1.127, 3.191), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-71.291, 1.044, -2.007), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-55.147, 1.250, 3.453), Vector(0, 0, 0));
  • }
  • }
  • rule("Line of Sight")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • 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, First Of(Sorted Array(All Living Players(Opposite Team Of(Team Of(Event Player))), Distance Between(
  • Event Player, Current Array Element)))) <= 20;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Event Player.LineofSight = True;
  • }
  • }
  • rule("Line of Sight")
  • {
  • event
  • {
  • Player Took Damage;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Event Player.LineofSight = True;
  • }
  • }
  • rule("Line of Sight")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Global.StartedCapture == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Event Player.LineofSight = True;
  • }
  • }
  • rule("Create Troopers (Baptiste)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.StartedCapture == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(Random Integer(10, 20), Ignore Condition);
  • Global.NumberOfTroopers = Random Integer(1, 4);
  • Wait(0.250, Ignore Condition);
  • If(Global.NumberOfTroopers == 1);
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Else If(Global.NumberOfTroopers == 2);
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Else If(Global.NumberOfTroopers == 3);
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Else If(Global.NumberOfTroopers == 4);
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • End;
  • Loop;
  • }
  • }
  • rule("Insta-dead")
  • {
  • event
  • {
  • Player Died;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Orisa);
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • }
  • }
  • rule("Defeat")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Number Of Living Players(Team 2) == 0;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("Slicer Properties")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Symmetra;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Set Max Health(Event Player, 50);
  • Start Scaling Player(Event Player, 0.700, True);
  • Set Damage Dealt(Event Player, 25);
  • Start Facing(Event Player, Direction Towards(Event Player, Payload Position), 200, To World, Direction and Turn Rate);
  • }
  • }
  • rule("Slicer Attack")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Symmetra;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Payload Position) <= 5;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • Start Holding Button(Event Player, Button(Primary Fire));
  • Chase Global Variable At Rate(PayloadHP, 0, 0.200, Destination and Rate);
  • }
  • }
  • rule("Pathfind to Payload")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Payload Position) > 5;
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Baptiste);
  • Hero Of(Event Player) != Hero(Brigitte);
  • Hero Of(Event Player) != Hero(Bastion);
  • Hero Of(Event Player) != Hero(Orisa);
  • Hero Of(Event Player) != Hero(Ana);
  • Hero Of(Event Player) != Hero(Zarya);
  • }
  • actions
  • {
  • Skip If(Hero Of(Event Player) == Hero(Wrecking Ball), 4);
  • Stop Holding Button(Event Player, Button(Primary Fire));
  • Stop Chasing Global Variable(PayloadHP);
  • If(Count Of(Filtered Array(Filtered Array(Players Within Radius(Payload Position, 5, Team 1, Off), Is Alive(
  • Current Array Element)), Hero Of(Current Array Element) == Hero(Symmetra))) == 0);
  • Stop Chasing Global Variable(PayloadHP);
  • End;
  • Event Player.pathmapReference = Global._objectVariable_1[Global.bake];
  • Event Player.destination = Payload Position;
  • Event Player.parentArray = Global._objectVariable_0[Global.bake][Index Of Array Value(
  • Global.Nodes[Global._objectVariable_1[Global.bake]], First Of(Sorted Array(Global.Nodes[Global._objectVariable_1[Global.bake]],
  • Distance Between(Current Array Element, Event Player.destination))))];
  • Event Player.pathfinderDoGetCurrent = True;
  • Wait(5, Ignore Condition);
  • Loop If(Distance Between(Event Player, Payload Position) > 5);
  • }
  • }
  • rule("Payload HP DEFEAT")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.PayloadHP <= 0;
  • Global.KillOR14 == False;
  • }
  • actions
  • {
  • Big Message(All Players(Team 2), Custom String("PAYLOAD DESTROYED"));
  • Wait(0.250, Ignore Condition);
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("Detonator Properties")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Start Scaling Player(Event Player, 1.300, True);
  • Set Knockback Received(Event Player, 10);
  • Set Max Health(Event Player, 500);
  • Wait(0.250, Ignore Condition);
  • Set Player Health(Event Player, 3000);
  • Start Facing(Event Player, Direction Towards(Event Player, Payload Position), 200, To World, Direction and Turn Rate);
  • Set Move Speed(Event Player, 50);
  • }
  • }
  • rule("Detonator Explode")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, Payload Position) <= 5;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • Wait(1, Abort When False);
  • Play Effect(All Players(Team 2), Bad Explosion, Color(Red), Event Player, 5);
  • Play Effect(All Players(Team 1), Explosion Sound, Color(White), Event Player, 200);
  • Global.PayloadHP -= 20;
  • Kill(Event Player, Null);
  • }
  • }
  • rule("Bastion - Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.LineofSight == True;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • > 0;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Button(Primary Fire));
  • }
  • }
  • rule("Orisa - Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.LineofSight == True;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • > 0;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Button(Primary Fire));
  • }
  • }
  • rule("Orisa - Secondary Fire")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Ability Cooldown(Event Player, Button(Secondary Fire)) == 0;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • > 0;
  • }
  • actions
  • {
  • Press Button(Event Player, Button(Secondary Fire));
  • Wait(1.500, Ignore Condition);
  • Press Button(Event Player, Button(Secondary Fire));
  • }
  • }
  • rule("Orisa - Shield")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Ability Cooldown(Event Player, Button(Ability 2)) == 0;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • > 0;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Press Button(Event Player, Button(Ability 2));
  • }
  • }
  • rule("Orisa - Ultimate")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Ultimate Charge Percent(Event Player) == 100;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • > 0;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Press Button(Event Player, Button(Ultimate));
  • }
  • }
  • rule("Slicers")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.Fixingpayload == True;
  • Global.KillOR14 == False;
  • }
  • actions
  • {
  • Wait(Random Integer(10, 20), Ignore Condition);
  • Global.CurrentSlicerSpawn = Random Value In Array(Filtered Array(Global.SlicerSpawns, Is In Line of Sight(All Players(Team 2),
  • Current Array Element, Barriers Do Not Block LOS) == False));
  • Global.NumberOfSlicers = Random Integer(1, 4);
  • Wait(0.250, Ignore Condition);
  • If(Global.NumberOfSlicers == 1);
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Else If(Global.NumberOfSlicers == 2);
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Else If(Global.NumberOfSlicers == 3);
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Else If(Global.NumberOfSlicers == 4);
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Symmetra), Team 1, -1, Global.CurrentSlicerSpawn, Vector(0, 0, 0));
  • End;
  • Abort If(Global.KillOR14 == True);
  • Loop;
  • }
  • }
  • rule("Pathfind to Setup")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Event Player.Hasult == 0;
  • Distance Between(Event Player, First Of(Sorted Array(Global.SentryPos, Distance Between(Event Player, Current Array Element))))
  • > 2;
  • Event Player.WasTank == False;
  • }
  • actions
  • {
  • Event Player.pathmapReference = Global._objectVariable_1[Global.bake];
  • Event Player.destination = First Of(Sorted Array(Global.SentryPos, Distance Between(Event Player, Current Array Element)));
  • Event Player.parentArray = Global._objectVariable_0[Global.bake][Index Of Array Value(
  • Global.Nodes[Global._objectVariable_1[Global.bake]], First Of(Sorted Array(Global.Nodes[Global._objectVariable_1[Global.bake]],
  • Distance Between(Current Array Element, Event Player.destination))))];
  • Event Player.pathfinderDoGetCurrent = True;
  • }
  • }
  • rule("Setup")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, First Of(Sorted Array(Global.SentryPos, Distance Between(Event Player, Current Array Element))))
  • <= 2;
  • Is Alive(Event Player) == True;
  • Event Player.Hasult == 0;
  • Global.KillOR14 == False;
  • Is In Alternate Form(Event Player) == False;
  • }
  • actions
  • {
  • Press Button(Event Player, Button(Ability 1));
  • }
  • }
  • rule("Revive")
  • {
  • event
  • {
  • Player Died;
  • Team 2;
  • All;
  • }
  • actions
  • {
  • Create Effect(All Players(Team 2), Ring, Color(Yellow), Position Of(Event Player), 3, Visible To Position and Radius);
  • Event Player.ReviveEffect = Last Created Entity;
  • Create In-World Text(All Players(Team 2), Custom String("REVIVE"), Position Of(Event Player), 1, Do Not Clip,
  • Visible To Position and String, Color(Yellow), Default Visibility);
  • Event Player.ReviveText = Last Text ID;
  • Event Player.CanBeRevived = True;
  • }
  • }
  • rule("Revive")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Distance Between(Event Player, First Of(Sorted Array(All Dead Players(Team Of(Event Player)), Distance Between(Event Player,
  • Current Array Element)))) <= 3;
  • Is Alive(Event Player) == True;
  • First Of(Sorted Array(All Dead Players(Team Of(Event Player)), Distance Between(Event Player, Current Array Element)))
  • .CanBeRevived == True;
  • }
  • actions
  • {
  • Big Message(First Of(Sorted Array(All Dead Players(Team Of(Event Player)), Distance Between(Event Player, Current Array Element))),
  • Custom String("Reviving"));
  • Small Message(Event Player, Custom String("Reviving..."));
  • Wait(3, Abort When False);
  • First Of(Sorted Array(All Dead Players(Team Of(Event Player)), Distance Between(Event Player, Current Array Element)))
  • .CanBeRevived = False;
  • Wait(0.250, Ignore Condition);
  • Destroy Effect(First Of(Sorted Array(All Dead Players(Team Of(Event Player)), Distance Between(Event Player,
  • Current Array Element))).ReviveEffect);
  • Destroy In-World Text(First Of(Sorted Array(All Dead Players(Team Of(Event Player)), Distance Between(Event Player,
  • Current Array Element))).ReviveText);
  • Destroy Progress Bar In-World Text(Event Player.ProgressBar);
  • Resurrect(First Of(Sorted Array(All Dead Players(Team Of(Event Player)), Distance Between(Event Player, Current Array Element))));
  • }
  • }
  • rule("Revive")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Destroy Effect(Event Player.ReviveEffect);
  • Destroy In-World Text(Event Player.ReviveText);
  • Destroy Progress Bar In-World Text(Event Player.ProgressBar);
  • }
  • }
  • rule("Revive")
  • {
  • event
  • {
  • Player Died;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Is In Air(Event Player) == True;
  • }
  • actions
  • {
  • Teleport(Event Player, Nearest Walkable Position(Event Player));
  • }
  • }
  • rule("Revive Timer")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Event Player.CanBeRevived == True;
  • }
  • actions
  • {
  • Event Player.ReviveTimer = 44;
  • Wait(0.250, Ignore Condition);
  • Chase Player Variable Over Time(Event Player, ReviveTimer, 0, 44, Destination and Duration);
  • Create Progress Bar In-World Text(All Players(All Teams), Event Player.ReviveTimer / 44 * 100, Null, Position Of(Event Player), 1,
  • Do Not Clip, Color(Red), Color(White), Visible To Values and Color, Default Visibility);
  • Event Player.ProgressBar = Last Text ID;
  • Wait(44, Abort When False);
  • Abort If(Is Alive(Event Player) == True);
  • Event Player.CanBeRevived = False;
  • Destroy Effect(Event Player.ReviveEffect);
  • Destroy In-World Text(Event Player.ReviveText);
  • Create Effect(All Players(All Teams), Ring, Color(Red), Position Of(Event Player), 3, None);
  • Create In-World Text(All Players(All Teams), Custom String("DEAD"), Position Of(Event Player), 2, Clip Against Surfaces, None,
  • Color(Red), Default Visibility);
  • Destroy Progress Bar In-World Text(Event Player.ProgressBar);
  • }
  • }
  • rule("Revive Timer")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Event Player.CanBeRevived == False;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Event Player, ReviveTimer);
  • Wait(1, Ignore Condition);
  • If(Is Dead(Event Player) == True);
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("Eradicator Properties")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Brigitte;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Button(Secondary Fire));
  • Create Dummy Bot(Hero(Zarya), Team 1, -1, Position Of(Event Player), Vector(0, 0, 0));
  • Start Scaling Player(Event Player, 1.500, True);
  • Add Health Pool To Player(Event Player, Health, 350, True, True);
  • }
  • }
  • rule("Create Zarya if no Zarya")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Brigitte;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Count Of(Filtered Array(Players Within Radius(Event Player, 2, Team Of(Event Player), Off), Hero Of(Current Array Element) == Hero(
  • Zarya))) <= 0;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Create Dummy Bot(Hero(Zarya), Team 1, -1, Position Of(Event Player), Vector(0, 0, 0));
  • Loop If Condition Is True;
  • }
  • }
  • rule("Zarya Attach")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Zarya;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Attach Players(Event Player, First Of(Sorted Array(Players On Hero(Hero(Brigitte), Team 1), Distance Between(Event Player,
  • Current Array Element))), Vector(0, 0, 0));
  • Set Invisible(Event Player, All);
  • Set Status(Event Player, Null, Phased Out, 9999);
  • }
  • }
  • rule("Zarya Die when Brig Die")
  • {
  • event
  • {
  • Player Died;
  • Team 1;
  • Brigitte;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Kill(First Of(Sorted Array(Filtered Array(Players On Hero(Hero(Zarya), Team 1), Hero Of(Current Array Element) != Hero(Ana)),
  • Distance Between(Event Player, Current Array Element))), Null);
  • }
  • }
  • rule("Zarya - Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Zarya;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.LineofSight == True;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • > 0;
  • }
  • actions
  • {
  • Start Holding Button(Event Player, Button(Secondary Fire));
  • }
  • }
  • rule("Zarya - Stop Shooting")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Zarya;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Count Of(Filtered Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Is In Line of Sight(Event Player, Current Array Element, Barriers Do Not Block LOS)))
  • <= 0;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Stop Holding Button(Event Player, Button(Secondary Fire));
  • }
  • }
  • rule("Create Eradicator")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Count Of(Global.TerminalPosition) == 2;
  • }
  • actions
  • {
  • Wait(2, Ignore Condition);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(-18.068, 1.137, -31.840), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(-18.398, 1.674, -34.306), Vector(0, 0, 0));
  • }
  • }
  • rule("Stop When shield breaks")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Brigitte;
  • }
  • conditions
  • {
  • Is Firing Secondary(Event Player) == False;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Stop Holding Button(Event Player, Button(Secondary Fire));
  • }
  • }
  • rule("Difficulties")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.Normal = Workshop Setting Toggle(Custom String("Difficulty"), Custom String("Normal"), True, 0);
  • Global.Hard = Workshop Setting Toggle(Custom String("Difficulty"), Custom String("Hard"), False, 0);
  • Global.Expert = Workshop Setting Toggle(Custom String("Difficulty"), Custom String("Expert"), False, 0);
  • Global.Legendary = Workshop Setting Toggle(Custom String("Difficulty"), Custom String("Legendary"), False, 0);
  • }
  • }
  • rule("Set Damage Types")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Hero Of(Event Player) != Hero(Symmetra);
  • }
  • actions
  • {
  • If(Global.Normal == True);
  • Set Damage Dealt(Event Player, 25);
  • Else If(Global.Hard == True);
  • Set Damage Dealt(Event Player, 50);
  • Else If(Global.Expert == True);
  • Set Damage Dealt(Event Player, 75);
  • Else If(Global.Legendary == True);
  • Set Damage Dealt(Event Player, 100);
  • End;
  • }
  • }
  • rule("Bastion - Properties - Tank")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Remove All Health Pools From Player(Event Player);
  • Wait(0.250, Ignore Condition);
  • Add Health Pool To Player(Event Player, Health, 450, True, True);
  • }
  • }
  • rule("Bastion - Properties - Sentry")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == False;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Remove All Health Pools From Player(Event Player);
  • Wait(0.250, Ignore Condition);
  • Add Health Pool To Player(Event Player, Health, 600, True, True);
  • }
  • }
  • rule("Orisa - Properties")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Add Health Pool To Player(Event Player, Health, 3000, True, True);
  • }
  • }
  • rule("Set Ult")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Global.PayloadFixed == True;
  • Global.KillOR14 == False;
  • }
  • actions
  • {
  • Event Player.Hasult = 1;
  • }
  • }
  • rule("Bastion Ult")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.Hasult == 1;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Press Button(Event Player, Button(Ultimate));
  • }
  • }
  • rule("Pathfind to Player - Bastion Ult")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.Hasult == 1;
  • Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)))) > 5;
  • }
  • actions
  • {
  • Event Player.pathmapReference = Global._objectVariable_1[Global.bake];
  • Event Player.destination = First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)));
  • Event Player.parentArray = Global._objectVariable_0[Global.bake][Index Of Array Value(
  • Global.Nodes[Global._objectVariable_1[Global.bake]], First Of(Sorted Array(Global.Nodes[Global._objectVariable_1[Global.bake]],
  • Distance Between(Current Array Element, Event Player.destination))))];
  • Event Player.pathfinderDoGetCurrent = True;
  • Wait(5, Ignore Condition);
  • Loop If(Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(
  • Event Player))), Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)))) > 5);
  • }
  • }
  • rule("Stop Pathfinding - Bastion Ult")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Player.Hasult == 1;
  • Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)))) <= 5;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • Wait(Random Integer(1, 2), Ignore Condition);
  • Start Throttle In Direction(Event Player, Direction Towards(Position Of(Event Player), Position Of(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))))
  • + Direction From Angles(Total Time Elapsed * 135, 0) * 5), 1, To World, Replace existing throttle, Direction and Magnitude);
  • Wait(Random Integer(1, 2), Ignore Condition);
  • Loop If(Distance Between(Event Player, First Of(Sorted Array(Filtered Array(All Living Players(Opposite Team Of(Team Of(
  • Event Player))), Current Array Element.Invis == False), Distance Between(Event Player, Current Array Element)))) <= 5);
  • }
  • }
  • rule("Setup on OR14")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Global.KillOR14 == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Wait(0.500, Ignore Condition);
  • Press Button(Event Player, Button(Ability 1));
  • }
  • }
  • rule("Defeat - OR14")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Match Time <= 0;
  • Global.KillOR14 == True;
  • }
  • actions
  • {
  • Declare Team Victory(Team 1);
  • }
  • }
  • rule("Wrecking Ball Ability 1")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Is Using Ability 1(Event Player) == False;
  • }
  • actions
  • {
  • Press Button(Event Player, Button(Ability 1));
  • }
  • }
  • rule("Destroy Zarya if no Brig")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Zarya;
  • }
  • conditions
  • {
  • Number Of Heroes(Hero(Brigitte), Team 1) <= 0;
  • }
  • actions
  • {
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • }
  • }
  • rule("Heal over time")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.Healovertime = Workshop Setting Toggle(Custom String("Settings"), Custom String("Heal Over Time"), False, 0);
  • }
  • }
  • rule("Heal over time")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Health(Event Player) < Max Health(Event Player);
  • Global.Healovertime == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Start Heal Over Time(Event Player, Event Player, 9999, 20);
  • }
  • }
  • rule("Heal over time")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Health(Event Player) == Max Health(Event Player);
  • Global.Healovertime == True;
  • }
  • actions
  • {
  • Stop All Heal Over Time(Event Player);
  • }
  • }
  • rule("All Heroes")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Workshop Setting Toggle(Custom String("Settings"), Custom String("All Heroes"), False, 0) == True;
  • }
  • actions
  • {
  • Set Player Allowed Heroes(Event Player, All Heroes);
  • }
  • }
  • rule("Detonator go into ball")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Wrecking Ball;
  • }
  • conditions
  • {
  • Is Using Ability 1(Event Player) == False;
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Press Button(Event Player, Button(Ability 1));
  • Wait(0.250, Ignore Condition);
  • Loop If(Is Using Ability 1(Event Player) == False);
  • }
  • }
  • rule("Insta-dead - Orisa")
  • {
  • event
  • {
  • Player Died;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Destroy Dummy Bot(Team Of(Event Player), Slot Of(Event Player));
  • }
  • }
  • rule("Scoring - Normal")
  • rule("Scoring")
  • {
  • event
  • {
  • Player Dealt Final Blow;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Global.Normal == True;
  • }
  • actions
  • {
  • If(Hero Of(Victim) == Hero(Baptiste));
  • Global.Score += 12.500;
  • Else If(Hero Of(Victim) == Hero(Brigitte));
  • Global.Score += 50;
  • Else If(Hero Of(Victim) == Hero(Symmetra));
  • Global.Score += 12.500;
  • Else If(Hero Of(Victim) == Hero(Wrecking Ball));
  • Global.Score += 62.500;
  • Else If(Hero Of(Victim) == Hero(Bastion));
  • Global.Score += 125;
  • Else If(Hero Of(Victim) == Hero(Orisa));
  • Global.Score += 125;
  • End;
  • }
  • }
  • rule("Scoring HUD")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create HUD Text(All Players(Team 2), Null, Null, Custom String("Team Score: {0}", Round To Integer(Global.Score, To Nearest)),
  • Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Repair - Bastion")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Bastion;
  • }
  • conditions
  • {
  • Is Using Ultimate(Event Player) == False;
  • }
  • actions
  • {
  • If(Health(Event Player) < Max Health(Event Player));
  • If(Is Moving(Event Player) == False);
  • If(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);
  • Start Holding Button(Event Player, Button(Secondary Fire));
  • Else;
  • Stop Holding Button(Event Player, Button(Secondary Fire));
  • End;
  • Else If(Is Moving(Event Player) == True);
  • Start Holding Button(Event Player, Button(Secondary Fire));
  • Else;
  • Stop Holding Button(Event Player, Button(Secondary Fire));
  • End;
  • Else If(Health(Event Player) == Max Health(Event Player));
  • Stop Holding Button(Event Player, Button(Secondary Fire));
  • End;
  • Wait(0.250, Ignore Condition);
  • Loop If(Is Using Ultimate(Event Player) == False);
  • }
  • }
  • rule("OrisaWave1")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.KillOR14 == True;
  • }
  • actions
  • {
  • Wait(0.250, Ignore Condition);
  • Wait(0.250, Abort When False);
  • Create Dummy Bot(Hero(Orisa), Team 1, -1, Vector(-165.858, 1.321, 20.433), Vector(0, 0, 0));
  • Global.OrisaWave = 2;
  • }
  • }
  • rule("OrisaWave2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.OrisaWave == 2;
  • Number Of Heroes(Hero(Orisa), Team 1) == 0;
  • Number Of Players(Team 1) <= 7;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Create Dummy Bot(Hero(Orisa), Team 1, -1, Vector(-162.303, 1.321, 41.609), Vector(0, 0, 0));
  • Global.OrisaWave = 3;
  • }
  • }
  • rule("OrisaWave3")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.OrisaWave == 3;
  • Number Of Heroes(Hero(Orisa), Team 1) == 0;
  • Number Of Players(Team 1) <= 6;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Create Dummy Bot(Hero(Orisa), Team 1, -1, Vector(-162.303, 1.321, 41.609), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Orisa), Team 1, -1, Vector(-165.858, 1.321, 20.433), Vector(0, 0, 0));
  • Global.OrisaWave = 4;
  • }
  • }
  • rule("Trooper Spawns")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Global.TerminalPosition) == 3;
  • }
  • actions
  • {
  • Global.TrooperSpawns = Array(Vector(-88.944, 2.087, -7.301), Vector(-59.277, 6.270, -12.242), Vector(-68.433, 1.269, -12.886));
  • }
  • }
  • rule("Trooper Spawns 2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Global.TerminalPosition) == 2;
  • }
  • actions
  • {
  • Global.TrooperSpawns = Array(Vector(-15.900, 2.250, -20.440), Vector(17.753, 4.250, -28.246), Vector(-18.132, 1.124, 12.089),
  • Vector(-12.285, 2.250, -45.146));
  • }
  • }
  • rule("Trooper Spawns 3")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Global.TerminalPosition) == 1;
  • }
  • actions
  • {
  • Global.TrooperSpawns = Array(Vector(-4.425, 1.129, 14.081), Vector(13.677, 7.250, 18.288), Vector(-18.132, 1.124, 12.089), Vector(
  • -12.285, 2.250, -45.146));
  • }
  • }
  • rule("Create Second Area")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Global.TerminalPosition) == 2;
  • Is Game In Progress == True;
  • Global.TerminalPercent > 0;
  • }
  • actions
  • {
  • Wait(22, Abort When False);
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(0.854, 1.125, -8.638), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(-1.638, 1.141, -8.403), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-5.106, 1.127, -7.533), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-5.106, 1.127, -7.533), Vector(0, 0, 0));
  • Global.SecondArea2 = True;
  • }
  • }
  • rule("Create Second Area 2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SecondArea2 == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(-19.073, 1.142, -31.343), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-19.073, 1.142, -31.343), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-19.073, 1.142, -31.343), Vector(0, 0, 0));
  • Global.SecondArea2 = False;
  • }
  • }
  • rule("Create Third Area")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Global.TerminalPosition) == 1;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(1, Ignore Condition);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(7.020, 1.312, 12.663), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(7.020, 1.312, 12.663), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-4.509, 1.320, 15.475), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-4.509, 1.320, 15.475), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-4.509, 1.320, 15.475), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Third Area 2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Count Of(Global.TerminalPosition) == 1;
  • Is Game In Progress == True;
  • Global.TerminalPercent > 0;
  • }
  • actions
  • {
  • Wait(20, Ignore Condition);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(-4.233, 1.125, 14.462), Vector(0, 0, 0));
  • Wait(2, Ignore Condition);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(-4.233, 1.125, 14.462), Vector(0, 0, 0));
  • Wait(2, Ignore Condition);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(-4.233, 1.125, 14.462), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Payload Troopers")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Fixingpayload == True;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-24.450, 1.116, -25.600), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-24.450, 1.116, -25.600), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-10.758, 1.117, -25.250), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Baptiste), Team 1, -1, Vector(-10.758, 1.117, -25.250), Vector(0, 0, 0));
  • Global.TrooperSpawns = Array(Vector(-9.240, 1.125, -7.441), Vector(17.699, 4.250, -29.587), Vector(-40.352, 1.324, -32.622),
  • Vector(-17.726, 2.250, -20.295), Vector(10.784, 7.276, -36.329));
  • }
  • }
  • rule("Slicer Spawns")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Global.SlicerSpawns = Array(Vector(-50.989, 1.040, -33.107), Vector(17.425, 1.316, -18.238));
  • }
  • }
  • rule("Eradicators Random Spawns")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.Fixingpayload == True;
  • Number Of Players(Team 1) <= 6;
  • }
  • actions
  • {
  • Wait(Random Integer(30, 60), Ignore Condition);
  • Global.NumberOfEradicators = Random Integer(1, 3);
  • Wait(0.250, Ignore Condition);
  • If(Global.NumberOfEradicators == 1);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Else If(Global.NumberOfEradicators == 2);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Else If(Global.NumberOfEradicators == 3);
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 2), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • End;
  • Loop If(Number Of Players(Team 1) <= 6);
  • }
  • }
  • rule("Create Detonator - 1")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Fixingpayload == True;
  • }
  • actions
  • {
  • Wait(73, Ignore Condition);
  • Create Dummy Bot(Hero(Wrecking Ball), Team 1, -1, Vector(-0.965, 1.139, -11.281), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Bastions - 1")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Fixingpayload == True;
  • }
  • actions
  • {
  • Wait(127, Ignore Condition);
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Vector(8.189, 2.250, -8.131), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Bastions - 2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Fixingpayload == True;
  • }
  • actions
  • {
  • Wait(155, Ignore Condition);
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Vector(-45.422, 1.191, -19.479), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Detonator - 2")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Fixingpayload == True;
  • }
  • actions
  • {
  • Wait(185, Ignore Condition);
  • Create Dummy Bot(Hero(Wrecking Ball), Team 1, -1, Vector(-2.487, 1.137, -12.924), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Detonator - 3")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Fixingpayload == True;
  • }
  • actions
  • {
  • Wait(222, Ignore Condition);
  • Create Dummy Bot(Hero(Wrecking Ball), Team 1, -1, Vector(-1.241, 1.132, -14.621), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Bastions - 3")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.Fixingpayload == True;
  • }
  • actions
  • {
  • Wait(225, Ignore Condition);
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Vector(7.789, 2.250, -5.828), Vector(0, 0, 0));
  • }
  • }
  • rule("Tank Bastions")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.PayloadFixed == True;
  • Global.KillOR14 == False;
  • }
  • actions
  • {
  • Wait(Random Integer(20, 30), Abort When False);
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 1), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Abort If(Global.KillOR14 == True);
  • Loop;
  • }
  • }
  • rule("Trooper Spawns 4")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PayloadFixed == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Global.TrooperSpawns = Array(Vector(-31.002, 1.347, -17.573), Vector(-49.210, 1.191, -21.565), Vector(-36.936, 3.250, -49.734),
  • Vector(-67.226, 1.272, -13.389), Vector(-72.424, 1.750, -31.964), Vector(-85.044, 1.921, 3.019), Vector(-59.520, 6.271,
  • -11.683), Vector(-97.440, -1.246, -42.053));
  • Wait(0.250, Ignore Condition);
  • Global.SlicerSpawns = Global.TrooperSpawns;
  • }
  • }
  • rule("Create Detonator - Payload - 1")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.PayloadFixed == True;
  • Distance Between(Payload Position, Vector(-58.650, 0.874, -34.346)) <= 5;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Wrecking Ball), Team 1, -1, Vector(-41.119, 1.113, -26.584), Vector(0, 0, 0));
  • }
  • }
  • rule("Create Eraditcator Kill OR-14s")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.KillOR14 == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Create Dummy Bot(Hero(Brigitte), Team 1, -1, Vector(-111.707, 0.764, -6.724), Vector(0, 0, 0));
  • }
  • }
  • rule("Random Spawns for finale")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.KillOR14 == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Global.TrooperSpawns = Array(Vector(-111.850, 0.321, 16.304), Vector(-128.243, 2.320, 32.062), Vector(-147.475, -1.679, 38.089),
  • Vector(-157.946, -1.679, 25.980), Vector(-161.618, 1.321, 45.759), Vector(-165.094, 1.320, 8.855));
  • }
  • }
  • rule("Slicer Stop attack")
  • rule("Set Ult - 2")
  • {
  • event
  • {
  • Player Died;
  • Ongoing - Each Player;
  • Team 1;
  • Symmetra;
  • Bastion;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Filtered Array(Players On Hero(Hero(Symmetra), Team 1), Current Array Element != Event Player), Payload Position)
  • > 5;
  • Global.KillOR14 == True;
  • Event Player.WasTank == True;
  • }
  • actions
  • {
  • Stop Holding Button(Event Player, Button(Primary Fire));
  • Stop Chasing Global Variable(PayloadHP);
  • Event Player.Hasult = 1;
  • }
  • }
  • rule("Set Ult - 2")
  • rule("Tank Bastions - Kill or14")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.KillOR14 == True;
  • Global.NumberofOR14killed >= 1;
  • }
  • actions
  • {
  • Wait(Random Integer(20, 30), Ignore Condition);
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 1), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Last Created Entity.WasTank = True;
  • Loop If(Is Game In Progress == True);
  • }
  • }
  • rule("Stagger")
  • {
  • event
  • {
  • Player Took Damage;
  • Team 1;
  • Bastion;
  • Baptiste;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Global.KillOR14 == True;
  • Event Player.WasTank == True;
  • Event Damage >= Max Health(Event Player) / 2;
  • }
  • actions
  • {
  • Event Player.Hasult = 1;
  • Set Status(Event Player, Null, Stunned, 1.500);
  • }
  • }
  • rule("Tank Bastions - Kill or14")
  • rule("Speed")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Baptiste;
  • }
  • actions
  • {
  • Set Projectile Speed(Event Player, 50);
  • }
  • }
  • rule("Challenge Missions")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.GlassCannon = Workshop Setting Toggle(Custom String("Challenge Missions"), Custom String("Glass Cannon"), False, 0);
  • }
  • }
  • rule("Glass Cannon - Setup")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.KillOR14 == True;
  • Global.GlassCannon == True;
  • }
  • actions
  • {
  • Wait(Random Integer(20, 30), Ignore Condition);
  • Create Dummy Bot(Hero(Bastion), Team 1, -1, Random Value In Array(Filtered Array(Global.TrooperSpawns, Is In Line of Sight(
  • All Players(Team 1), Current Array Element, Barriers Do Not Block LOS) == False)), Vector(0, 0, 0));
  • Last Created Entity.WasTank = True;
  • Loop If(Is Game In Progress == True);
  • Global.Normal = False;
  • Global.Expert = True;
  • Global.Hard = False;
  • Global.Legendary = False;
  • }
  • }
  • rule("Root")
  • rule("Glass Cannon - Setup")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Global.GlassCannon == True;
  • }
  • actions
  • {
  • Set Player Allowed Heroes(Event Player, All Heroes);
  • }
  • }
  • rule("Glass Cannon")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • }
  • conditions
  • {
  • Global.bakeCompleted == False;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Global.GlassCannon == True;
  • }
  • actions
  • {
  • Set Status(Event Player, Null, Rooted, 9999);
  • Wait(1, Ignore Condition);
  • Small Message(Event Player, Custom String("Loading Pathfinding..."));
  • Set Max Health(Event Player, 35);
  • Set Damage Dealt(Event Player, 135);
  • Set Player Health(Event Player, Max Health(Event Player));
  • }
  • }
  • disabled rule("WALLS")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Initial Global")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global._arrayBuilder1 = Array(Null, Null, Null, Null);
  • Global.AllPos = Array(Vector(1.094, 1.392, -38.531), Vector(-3.724, 2.406, -57.288));
  • Global.AllDir = Array(Vector(-0.982, 0, 0.187), Vector(-0.980, 0, -0.201));
  • Global.firstpos = Array(Vector(0.869, 2.702, -39.715), Vector(-3.477, 3.697, -58.490));
  • Global.secondpos = Array(Vector(1.319, 0.081, -37.346), Vector(-3.971, 1.115, -56.085));
  • Global.firstpoint2 = Array(Vector(0.869, 0.081, -39.715), Vector(-3.477, 1.115, -58.490));
  • Global.secondpoint2 = Array(Vector(1.319, 2.702, -37.346), Vector(-3.971, 3.697, -56.085));
  • Global.z = 2;
  • Global.g_beamType = Array(1, 1);
  • Global.showwalls = True;
  • Global.Wall_ID = Array(1, 1);
  • }
  • }
  • rule("Initial Player")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • actions
  • {
  • Event Player.filterpos = 0;
  • Event Player.lastsavedpos = 0;
  • Event Player.closestbodypos = 0;
  • Event Player.fullbodypos = Position Of(Event Player);
  • Event Player.prevpos_intersection = Position Of(Event Player);
  • Event Player.active_wall = Empty Array;
  • }
  • }
  • rule("Collision Logic")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.initialized == True;
  • Is Dummy Bot(Event Player) == False;
  • }
  • actions
  • {
  • Event Player.lastsavedpos = (Eye Position(Event Player) + Position Of(Event Player)) / 2;
  • Wait(0.016, Ignore Condition);
  • Event Player.closestwall = Filtered Array(Global.AllPos, Distance Between(Global.AllPos[Current Array Index], Event Player)
  • <= Distance Between(Global.AllPos[Current Array Index], Global.firstpos[Current Array Index])
  • || Event Player.active_wall[Current Array Index] == 1 || (Dot Product(Direction Towards(Current Array Element,
  • Event Player.lastsavedpos), Global.AllDir[Current Array Index]) > 0) != (Dot Product(Direction Towards(Current Array Element,
  • Event Player), Global.AllDir[Current Array Index]) > 0));
  • For Player Variable(Event Player, x, 0, Count Of(Event Player.closestwall), 1);
  • Global.z = Index Of Array Value(Global.AllPos, Event Player.closestwall[Event Player.x]);
  • If(Global.Wall_ID[Global.z] == 1 || Global.Wall_ID[Global.z] == 3 || Global.Wall_ID[Global.z] == 5);
  • If(Y Component Of(Global.firstpos[Global.z]) >= Y Component Of(Position Of(Event Player)) && Y Component Of(
  • Global.firstpos[Global.z]) <= Y Component Of(Eye Position(Event Player) + Vector(Empty Array, 0.200, Empty Array)));
  • Event Player.closestbodypos = Global.firstpos[Global.z];
  • Else If(Y Component Of(Global.secondpos[Global.z]) >= Y Component Of(Position Of(Event Player)) && Y Component Of(
  • Global.secondpos[Global.z]) <= Y Component Of(Eye Position(Event Player) + Vector(Empty Array, 0.200, Empty Array)));
  • Event Player.closestbodypos = Global.secondpos[Global.z];
  • Else;
  • Event Player.closestbodypos = Position Of(Event Player);
  • End;
  • Event Player.fullbodypos = Vector(X Component Of(Eye Position(Event Player)), Y Component Of(Event Player.closestbodypos),
  • Z Component Of(Eye Position(Event Player)));
  • Event Player.filterpos = Event Player.fullbodypos + Global.AllDir[Global.z] * Dot Product(
  • Global.AllPos[Global.z] - Event Player.fullbodypos, Global.AllDir[Global.z]) / Dot Product(Global.AllDir[Global.z],
  • Global.AllDir[Global.z]);
  • If(Global.Wall_ID[Global.z] == 1 || Global.Wall_ID[Global.z] == 3);
  • If((Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.lastsavedpos), Global.AllDir[Global.z]) > 0) != (
  • Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.fullbodypos), Global.AllDir[Global.z]) > 0));
  • Event Player.intersection_length = Dot Product(Global.AllPos[Global.z] - Event Player.fullbodypos, Global.AllDir[Global.z])
  • / Dot Product(Direction Towards(Event Player.lastsavedpos, Event Player.fullbodypos), Global.AllDir[Global.z]);
  • Event Player.prevpos_intersection = Event Player.fullbodypos + Direction Towards(Event Player.lastsavedpos,
  • Event Player.fullbodypos) * Vector(1, Empty Array, 1) * Event Player.intersection_length;
  • If(Dot Product(Direction Towards(Global.firstpos[Global.z], Vector(X Component Of(Global.secondpos[Global.z]), Y Component Of(
  • Global.firstpos[Global.z]), Z Component Of(Global.secondpos[Global.z]))), Direction Towards(Global.firstpos[Global.z],
  • Event Player.prevpos_intersection)) >= 0 && Dot Product(Direction Towards(Global.firstpos[Global.z], Vector(X Component Of(
  • Global.firstpos[Global.z]), Y Component Of(Global.secondpos[Global.z]), Z Component Of(Global.firstpos[Global.z]))),
  • Direction Towards(Global.firstpos[Global.z], Event Player.prevpos_intersection)) >= 0 && Dot Product(Direction Towards(
  • Global.secondpos[Global.z], Vector(X Component Of(Global.secondpos[Global.z]), Y Component Of(Global.firstpos[Global.z]),
  • Z Component Of(Global.secondpos[Global.z]))), Direction Towards(Global.secondpos[Global.z], Event Player.prevpos_intersection))
  • >= 0 && Dot Product(Direction Towards(Global.secondpos[Global.z], Vector(X Component Of(Global.firstpos[Global.z]),
  • Y Component Of(Global.secondpos[Global.z]), Z Component Of(Global.firstpos[Global.z]))), Direction Towards(
  • Global.secondpos[Global.z], Event Player.prevpos_intersection)) >= 0);
  • Cancel Primary Action(Event Player);
  • Teleport(Event Player, Event Player.prevpos_intersection + Direction Towards(Event Player.prevpos_intersection,
  • Event Player.lastsavedpos) * Vector(1, Empty Array, 1) * 2);
  • End;
  • End;
  • End;
  • Event Player.thickness = 0;
  • If(Global.Wall_ID[Global.z] == 5);
  • Event Player.thickness = 4;
  • Else;
  • Event Player.thickness = 1;
  • End;
  • If(Distance Between(Event Player.fullbodypos, Event Player.filterpos) <= Event Player.thickness && Dot Product(Direction Towards(
  • Global.firstpos[Global.z], Vector(X Component Of(Global.secondpos[Global.z]), Y Component Of(Global.firstpos[Global.z]),
  • Z Component Of(Global.secondpos[Global.z]))), Direction Towards(Global.firstpos[Global.z], Event Player.filterpos))
  • >= 0 && Dot Product(Direction Towards(Global.firstpos[Global.z], Vector(X Component Of(Global.firstpos[Global.z]),
  • Y Component Of(Global.secondpos[Global.z]), Z Component Of(Global.firstpos[Global.z]))), Direction Towards(
  • Global.firstpos[Global.z], Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(Global.secondpos[Global.z], Vector(
  • X Component Of(Global.secondpos[Global.z]), Y Component Of(Global.firstpos[Global.z]), Z Component Of(
  • Global.secondpos[Global.z]))), Direction Towards(Global.secondpos[Global.z], Event Player.filterpos)) >= 0 && Dot Product(
  • Direction Towards(Global.secondpos[Global.z], Vector(X Component Of(Global.firstpos[Global.z]), Y Component Of(
  • Global.secondpos[Global.z]), Z Component Of(Global.firstpos[Global.z]))), Direction Towards(Global.secondpos[Global.z],
  • Event Player.filterpos)) >= 0);
  • If(!Event Player.is_Grounded);
  • Set Gravity(Event Player, 100);
  • End;
  • If(Event Player.active_wall[Global.z] == False);
  • Event Player.active_wall[Global.z] = 1;
  • If((Global.Wall_ID[Global.z] == 1 || Global.Wall_ID[Global.z] == 3) && Event Player.is_Grounded == False);
  • Set Gravity(Event Player, 100);
  • Else If(Global.Wall_ID[Global.z] == 5);
  • Disable Movement Collision With Environment(Event Player, False);
  • End;
  • End;
  • If(Global.Wall_ID[Global.z] == 1);
  • Apply Impulse(Event Player, Direction Towards(Event Player.filterpos, Event Player.fullbodypos) * Vector(1, Empty Array, 1), 0.001,
  • To World, Cancel Contrary Motion);
  • Set Move Speed(Event Player, 100 - Dot Product(Direction Towards(Eye Position(Event Player), Eye Position(Event Player)
  • + World Vector Of(Throttle Of(Event Player), Event Player, Rotation)), Direction Towards(Event Player.filterpos,
  • Event Player.fullbodypos) * -1) * 100);
  • Else If(Global.Wall_ID[Global.z] == 3);
  • Apply Impulse(Event Player, Direction Towards(Event Player.filterpos, Event Player.fullbodypos), Speed Of(Event Player), To World,
  • Cancel Contrary Motion);
  • End;
  • Else;
  • Event Player.active_wall[Global.z] = 0;
  • Set Move Speed(Event Player, 100);
  • End;
  • Else If(Global.Wall_ID[Global.z] == 2 || Global.Wall_ID[Global.z] == 6 || Global.Wall_ID[Global.z] == 7);
  • If(Y Component Of(Global.firstpos[Global.z]) >= Y Component Of(Position Of(Event Player)) && Y Component Of(
  • Global.firstpos[Global.z]) <= Y Component Of(Eye Position(Event Player) + Vector(Empty Array, 0.200, Empty Array)));
  • Event Player.closestbodypos = Global.firstpos[Global.z];
  • Else If(Y Component Of(Global.firstpos[Global.z]) <= Y Component Of(Position Of(Event Player)));
  • Event Player.closestbodypos = Position Of(Event Player);
  • Else If(Y Component Of(Global.firstpos[Global.z]) >= Y Component Of(Eye Position(Event Player)));
  • Event Player.closestbodypos = Eye Position(Event Player);
  • End;
  • Event Player.fullbodypos = Vector(X Component Of(Eye Position(Event Player)), Y Component Of(Event Player.closestbodypos),
  • Z Component Of(Eye Position(Event Player)));
  • Event Player.filterpos = Event Player.fullbodypos + Global.AllDir[Global.z] * Dot Product(
  • Global.AllPos[Global.z] - Event Player.fullbodypos, Global.AllDir[Global.z]) / Dot Product(Global.AllDir[Global.z],
  • Global.AllDir[Global.z]);
  • If(Global.Wall_ID[Global.z] == 2 || Global.Wall_ID[Global.z] == 7);
  • If((Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.lastsavedpos), Global.AllDir[Global.z]) > 0) != (
  • Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.fullbodypos), Global.AllDir[Global.z]) > 0));
  • Event Player.intersection_length_0 = Dot Product(Global.AllPos[Global.z] - Event Player.fullbodypos, Global.AllDir[Global.z])
  • / Dot Product(Direction Towards(Event Player.lastsavedpos, Event Player.fullbodypos), Global.AllDir[Global.z]);
  • Event Player.prevpos_intersection = Event Player.fullbodypos + Direction Towards(Event Player.lastsavedpos,
  • Event Player.fullbodypos) * Up * Event Player.intersection_length_0;
  • If(Dot Product(Down, Direction Towards(Event Player.lastsavedpos, Event Player.prevpos_intersection)) > 0);
  • If(Dot Product(Direction Towards(Global.firstpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(
  • Global.firstpos[Global.z], Event Player.prevpos_intersection)) >= 0 && Dot Product(Direction Towards(Global.firstpos[Global.z],
  • Global.firstpoint2[Global.z]), Direction Towards(Global.firstpos[Global.z], Event Player.prevpos_intersection))
  • >= 0 && Dot Product(Direction Towards(Global.secondpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(
  • Global.secondpos[Global.z], Event Player.prevpos_intersection)) >= 0 && Dot Product(Direction Towards(
  • Global.secondpos[Global.z], Global.firstpoint2[Global.z]), Direction Towards(Global.secondpos[Global.z],
  • Event Player.prevpos_intersection)) >= 0);
  • Cancel Primary Action(Event Player);
  • If(Hero Of(Event Player) == Hero(Wrecking Ball));
  • Teleport(Event Player, Nearest Walkable Position(Event Player.prevpos_intersection));
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Event Player.prevpos_intersection + Up);
  • Else;
  • Teleport(Event Player, Event Player.prevpos_intersection + Up);
  • End;
  • End;
  • End;
  • End;
  • End;
  • Event Player.thickness_0 = 0;
  • If(Global.Wall_ID[Global.z] == 6);
  • Event Player.thickness_0 = 6;
  • Else;
  • Event Player.thickness_0 = 0.500;
  • End;
  • If(Distance Between(Event Player.filterpos, Event Player.fullbodypos) <= Event Player.thickness_0 && Dot Product(Direction Towards(
  • Global.firstpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(Global.firstpos[Global.z],
  • Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(Global.firstpos[Global.z], Global.firstpoint2[Global.z]),
  • Direction Towards(Global.firstpos[Global.z], Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(
  • Global.secondpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(Global.secondpos[Global.z],
  • Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(Global.secondpos[Global.z], Global.firstpoint2[Global.z]),
  • Direction Towards(Global.secondpos[Global.z], Event Player.filterpos)) >= 0);
  • If(Global.Wall_ID[Global.z] == 2);
  • If(Dot Product(Down, Direction Towards(Event Player.fullbodypos, Event Player.filterpos)) > 0);
  • If(Event Player.active_wall[Global.z] == False);
  • Event Player.is_Grounded = True;
  • Set Gravity(Event Player, 0);
  • Event Player.active_wall[Global.z] = 1;
  • Apply Impulse(Event Player, Up, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Down, 0.001, To World, Cancel Contrary Motion);
  • If(Horizontal Speed Of(Event Player) > 0.010);
  • Apply Impulse(Event Player, Left, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Right, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Forward, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Backward, 0.001, To World, Cancel Contrary Motion);
  • End;
  • End;
  • If(Is Button Held(Event Player, Button(Jump)));
  • Apply Impulse(Event Player, Up, 5.500, To World, Cancel Contrary Motion);
  • End;
  • If(Throttle Of(Event Player) != Vector(Empty Array, Empty Array, Empty Array));
  • Apply Impulse(Event Player, Cross Product(Up, Normalize(World Vector Of(Throttle Of(Event Player), Event Player, Rotation))),
  • 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Cross Product(Down, Normalize(World Vector Of(Throttle Of(Event Player), Event Player, Rotation))),
  • 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Direction Towards(Eye Position(Event Player), Eye Position(Event Player) + Normalize(World Vector Of(
  • Throttle Of(Event Player), Event Player, Rotation))), 3, To World, Cancel Contrary Motion);
  • End;
  • If(Throttle Of(Event Player) == Vector(Empty Array, Empty Array, Empty Array) && Horizontal Speed Of(Event Player) > 0.010);
  • Apply Impulse(Event Player, Left, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Right, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Forward, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Event Player, Backward, 0.001, To World, Cancel Contrary Motion);
  • End;
  • Else;
  • Apply Impulse(Event Player, Down, 0.001, To World, Cancel Contrary Motion);
  • End;
  • Else If(Global.Wall_ID[Global.z] == 6);
  • If(Event Player.active_wall[Global.z] == False);
  • Event Player.active_wall[Global.z] = 1;
  • Disable Movement Collision With Environment(Event Player, True);
  • End;
  • Else If(Global.Wall_ID[Global.z] == 7);
  • If(Dot Product(Down, Direction Towards(Event Player.fullbodypos, Event Player.filterpos)) >= 0);
  • If(Is Button Held(Event Player, Button(Jump)));
  • Apply Impulse(Event Player, Up, 5.500, To World, Cancel Contrary Motion);
  • End;
  • If(Event Player.active_wall[Global.z] == False);
  • Event Player.active_wall[Global.z] = 1;
  • Set Gravity(Event Player, 0);
  • End;
  • Apply Impulse(Event Player, Up, 0.001, To World, Cancel Contrary Motion);
  • Else;
  • Apply Impulse(Event Player, Down, 0.001, To World, Cancel Contrary Motion);
  • End;
  • End;
  • Else;
  • Event Player.active_wall[Global.z] = 0;
  • Event Player.is_Grounded = False;
  • End;
  • Else If(Global.Wall_ID[Global.z] == 4);
  • Event Player.closestbodypos = Position Of(Event Player) + Vector(Empty Array, 0.500, Empty Array);
  • Event Player.fullbodypos = Vector(X Component Of(Eye Position(Event Player)), Y Component Of(Event Player.closestbodypos),
  • Z Component Of(Eye Position(Event Player)));
  • Event Player.filterpos = Event Player.fullbodypos + Global.AllDir[Global.z] * Dot Product(
  • Global.AllPos[Global.z] - Event Player.fullbodypos, Global.AllDir[Global.z]) / Dot Product(Global.AllDir[Global.z],
  • Global.AllDir[Global.z]);
  • If((Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.lastsavedpos), Global.AllDir[Global.z]) > 0) != (
  • Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.fullbodypos), Global.AllDir[Global.z]) > 0));
  • Event Player.intersection_length_1 = Dot Product(Global.AllPos[Global.z] - Event Player.fullbodypos, Global.AllDir[Global.z])
  • / Dot Product(Direction Towards(Event Player.lastsavedpos, Event Player.fullbodypos), Global.AllDir[Global.z]);
  • Event Player.prevpos_intersection = Ray Cast Hit Position(Event Player.fullbodypos, Event Player.fullbodypos + Direction Towards(
  • Event Player.lastsavedpos, Event Player.fullbodypos) * Event Player.intersection_length_1, Null, Event Player, True);
  • If(Dot Product(Direction Towards(Global.firstpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(
  • Global.firstpos[Global.z], Event Player.prevpos_intersection)) >= 0 && Dot Product(Direction Towards(Global.firstpos[Global.z],
  • Global.firstpoint2[Global.z]), Direction Towards(Global.firstpos[Global.z], Event Player.prevpos_intersection))
  • >= 0 && Dot Product(Direction Towards(Global.secondpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(
  • Global.secondpos[Global.z], Event Player.prevpos_intersection)) >= 0 && Dot Product(Direction Towards(
  • Global.secondpos[Global.z], Global.firstpoint2[Global.z]), Direction Towards(Global.secondpos[Global.z],
  • Event Player.prevpos_intersection)) >= 0);
  • Teleport(Event Player, Ray Cast Hit Position(Event Player.prevpos_intersection,
  • Event Player.prevpos_intersection + Direction Towards(Event Player.prevpos_intersection, Event Player.lastsavedpos) * Vector(1,
  • Empty Array, 1), Null, Event Player, True));
  • If(Hero Of(Event Player) == Hero(Doomfist) && Is Using Ability 2(Event Player));
  • Teleport(Event Player, Nearest Walkable Position(Event Player.prevpos_intersection));
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Ray Cast Hit Position(Event Player.prevpos_intersection, Event Player.prevpos_intersection + Up, Null,
  • Event Player, True));
  • Cancel Primary Action(Event Player);
  • Else If(Hero Of(Event Player) == Hero(Wrecking Ball));
  • Cancel Primary Action(Event Player);
  • Teleport(Event Player, Nearest Walkable Position(Event Player.prevpos_intersection));
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Ray Cast Hit Position(Event Player.prevpos_intersection, Event Player.prevpos_intersection + Up, Null,
  • Event Player, True));
  • End;
  • Apply Impulse(Event Player, Global.AllDir[Global.z], 0.001, To World, Cancel Contrary Motion XYZ);
  • End;
  • End;
  • If(Distance Between(Event Player.filterpos, Event Player.fullbodypos) <= 1 && Dot Product(Direction Towards(
  • Global.firstpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(Global.firstpos[Global.z],
  • Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(Global.firstpos[Global.z], Global.firstpoint2[Global.z]),
  • Direction Towards(Global.firstpos[Global.z], Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(
  • Global.secondpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(Global.secondpos[Global.z],
  • Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(Global.secondpos[Global.z], Global.firstpoint2[Global.z]),
  • Direction Towards(Global.secondpos[Global.z], Event Player.filterpos)) >= 0);
  • If(Dot Product(Up, Direction Towards(Event Player.filterpos, Event Player.closestbodypos)) > 0);
  • Apply Impulse(Event Player, Global.AllDir[Global.z], 0.001, To World, Cancel Contrary Motion XYZ);
  • Else;
  • Apply Impulse(Event Player, Global.AllDir[Global.z], 0.001, To Player, Cancel Contrary Motion XYZ);
  • End;
  • Else;
  • Event Player.active_wall[Global.z] = 0;
  • End;
  • Else If(Global.Wall_ID[Global.z] == 8);
  • Event Player.closestbodypos = Position Of(Event Player) + Vector(Empty Array, 0.500, Empty Array);
  • Event Player.fullbodypos = Vector(X Component Of(Eye Position(Event Player)), Y Component Of(Event Player.closestbodypos),
  • Z Component Of(Eye Position(Event Player)));
  • Event Player.filterpos = Event Player.fullbodypos + Global.AllDir[Global.z] * Dot Product(
  • Global.AllPos[Global.z] - Event Player.fullbodypos, Global.AllDir[Global.z]) / Dot Product(Global.AllDir[Global.z],
  • Global.AllDir[Global.z]);
  • If((Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.lastsavedpos), Global.AllDir[Global.z]) > 0) != (
  • Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.fullbodypos), Global.AllDir[Global.z]) > 0));
  • Event Player.intersection_length_2 = Dot Product(Global.AllPos[Global.z] - Event Player.fullbodypos, Global.AllDir[Global.z])
  • / Dot Product(Direction Towards(Event Player.lastsavedpos, Event Player.fullbodypos), Global.AllDir[Global.z]);
  • Event Player.prevpos_intersection = Ray Cast Hit Position(Event Player.fullbodypos, Event Player.fullbodypos + Direction Towards(
  • Event Player.lastsavedpos, Event Player.fullbodypos) * Event Player.intersection_length_2, Null, Event Player, True);
  • If(Dot Product(Direction Towards(Global.firstpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(
  • Global.firstpos[Global.z], Event Player.prevpos_intersection)) >= 0 && Dot Product(Direction Towards(Global.firstpos[Global.z],
  • Global.firstpoint2[Global.z]), Direction Towards(Global.firstpos[Global.z], Event Player.prevpos_intersection))
  • >= 0 && Dot Product(Direction Towards(Global.secondpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(
  • Global.secondpos[Global.z], Event Player.prevpos_intersection)) >= 0 && Dot Product(Direction Towards(
  • Global.secondpos[Global.z], Global.firstpoint2[Global.z]), Direction Towards(Global.secondpos[Global.z],
  • Event Player.prevpos_intersection)) >= 0);
  • Teleport(Event Player, Ray Cast Hit Position(Event Player.prevpos_intersection,
  • Event Player.prevpos_intersection + Direction Towards(Event Player.prevpos_intersection, Event Player.lastsavedpos) * Vector(1,
  • Empty Array, 1), Null, Event Player, True));
  • If(Hero Of(Event Player) == Hero(Doomfist) && Is Using Ability 2(Event Player));
  • Teleport(Event Player, Nearest Walkable Position(Event Player.prevpos_intersection));
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Ray Cast Hit Position(Event Player.prevpos_intersection, Event Player.prevpos_intersection + Up, Null,
  • Event Player, True));
  • Cancel Primary Action(Event Player);
  • Else If(Hero Of(Event Player) == Hero(Wrecking Ball));
  • Cancel Primary Action(Event Player);
  • Teleport(Event Player, Nearest Walkable Position(Event Player.prevpos_intersection));
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Ray Cast Hit Position(Event Player.prevpos_intersection, Event Player.prevpos_intersection + Up, Null,
  • Event Player, True));
  • End;
  • Apply Impulse(Event Player, Global.AllDir[Global.z], 0.001, To World, Cancel Contrary Motion);
  • End;
  • End;
  • If(Distance Between(Event Player.filterpos, Event Player.fullbodypos) <= 1 && Dot Product(Direction Towards(
  • Global.firstpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(Global.firstpos[Global.z],
  • Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(Global.firstpos[Global.z], Global.firstpoint2[Global.z]),
  • Direction Towards(Global.firstpos[Global.z], Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(
  • Global.secondpos[Global.z], Global.secondpoint2[Global.z]), Direction Towards(Global.secondpos[Global.z],
  • Event Player.filterpos)) >= 0 && Dot Product(Direction Towards(Global.secondpos[Global.z], Global.firstpoint2[Global.z]),
  • Direction Towards(Global.secondpos[Global.z], Event Player.filterpos)) >= 0);
  • If(Dot Product(Up, Direction Towards(Event Player.filterpos, Event Player.closestbodypos)) > 0);
  • Apply Impulse(Event Player, Global.AllDir[Global.z], 0.001, To World, Cancel Contrary Motion XYZ);
  • Else;
  • Apply Impulse(Event Player, Direction Towards(Event Player.filterpos, Event Player.fullbodypos), 0.001, To World,
  • Cancel Contrary Motion);
  • End;
  • Else;
  • Event Player.active_wall[Global.z] = 0;
  • End;
  • Else If(Global.Wall_ID[Global.z] == 9);
  • Event Player.dir = Direction Towards(Global.AllPos[Global.z] + Direction Towards(Global.AllPos[Global.z], Event Player)
  • * Global.sphereRadius[Global.z], Event Player);
  • If((Dot Product(Direction Towards(Global.AllPos[Global.z], Event Player.lastsavedpos), Event Player.dir) > 0) != (Dot Product(
  • Direction Towards(Global.AllPos[Global.z], Event Player), Event Player.dir) > 0));
  • Event Player.intersection_length_3 = Dot Product(Global.AllPos[Global.z] - Event Player, Event Player.dir) / Dot Product(
  • Direction Towards(Event Player.lastsavedpos, Event Player), Event Player.dir);
  • Event Player.prevpos_intersection = Ray Cast Hit Position(Event Player, Event Player + Direction Towards(Event Player.lastsavedpos,
  • Event Player) * Event Player.intersection_length_3, Null, Event Player, True);
  • Teleport(Event Player, Ray Cast Hit Position(Event Player.prevpos_intersection,
  • Event Player.prevpos_intersection + Direction Towards(Event Player.prevpos_intersection, Event Player.lastsavedpos), Null,
  • Event Player, True));
  • Apply Impulse(Event Player, Event Player.dir, 0.001, To World, Cancel Contrary Motion XYZ);
  • End;
  • If(Distance Between(Event Player, Global.AllPos[Global.z] + Direction Towards(Global.AllPos[Global.z], Event Player)
  • * Global.sphereRadius[Global.z]) < 1);
  • Apply Impulse(Event Player, Event Player.dir, 1, To World, Cancel Contrary Motion XYZ);
  • Else;
  • Event Player.active_wall[Global.z] = 0;
  • End;
  • End;
  • End;
  • Loop;
  • }
  • }
  • rule("Root")
  • rule("Disables stuff")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.bakeCompleted == True;
  • Count Of(Filtered Array(Event Player.active_wall, Current Array Element != 0)) == 0;
  • }
  • actions
  • {
  • Clear Status(Event Player, Rooted);
  • Small Message(Event Player, Custom String("Pathfinding Loaded"));
  • Set Gravity(Event Player, 100);
  • Stop Forcing Throttle(Event Player);
  • Stop Accelerating(Event Player);
  • Enable Movement Collision With Environment(Event Player);
  • }
  • }
  • rule("Stagger")
  • rule("Throttle Loop")
  • {
  • event
  • {
  • Player Took Damage;
  • Team 1;
  • Baptiste;
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Event Damage >= Max Health(Event Player) / 2;
  • Is True For Any(Event Player.active_wall, Current Array Element) == True;
  • }
  • actions
  • {
  • Set Status(Event Player, Null, Stunned, 1.500);
  • Start Throttle In Direction(Event Player, Null, False, To World, Add to existing throttle, None);
  • Wait(0.016, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Speed")
  • rule("Throttle Loop")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Baptiste;
  • All;
  • All;
  • }
  • actions
  • {
  • Set Projectile Speed(Event Player, 50);
  • Wait(0.016, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Challenge Missions")
  • rule("Effect Creation")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.GlassCannon = Workshop Setting Toggle(Custom String("Challenge Missions"), Custom String("Glass Cannon"), False, 0);
  • Wait(5, Ignore Condition);
  • If(Global.showwalls);
  • For Global Variable(x, 0, Count Of(Global.AllPos), 1);
  • If(Array Contains(Array(1, 3, 5), Global.Wall_ID[Global.x]));
  • If(Global.Wall_ID[Global.x] == 5);
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.firstpos[Global.x], Vector(X Component Of(Global.secondpos[Global.x]),
  • Y Component Of(Global.firstpos[Global.x]), Z Component Of(Global.secondpos[Global.x])), Color(Red), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID)];
  • Global._arrayBuilder1[0] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID)] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Vector(X Component Of(Global.secondpos[Global.x]), Y Component Of(
  • Global.firstpos[Global.x]), Z Component Of(Global.secondpos[Global.x])), Global.secondpos[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Red), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[1] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.firstpos[Global.x] + Vector(0.001, Empty Array, Empty Array), Vector(
  • X Component Of(Global.firstpos[Global.x]), Y Component Of(Global.secondpos[Global.x]), Z Component Of(
  • Global.firstpos[Global.x])), Color(Red), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[2] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Vector(X Component Of(Global.firstpos[Global.x]), Y Component Of(
  • Global.secondpos[Global.x]), Z Component Of(Global.firstpos[Global.x])), Global.secondpos[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Red), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[3] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Else;
  • Skip(Array(50, 0, 17, 34)[Index Of Array Value(Array(1, 2, 3), Global.g_beamType[Global.x]) + 1]);
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Global.firstpos[Global.x], Vector(X Component Of(
  • Global.secondpos[Global.x]), Y Component Of(Global.firstpos[Global.x]), Z Component Of(Global.secondpos[Global.x])), Color(
  • Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID)];
  • Global._arrayBuilder1[0] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID)] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Vector(X Component Of(Global.secondpos[Global.x]), Y Component Of(
  • Global.firstpos[Global.x]), Z Component Of(Global.secondpos[Global.x])), Global.secondpos[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[1] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Global.firstpos[Global.x] + Vector(0.001, Empty Array, Empty Array),
  • Vector(X Component Of(Global.firstpos[Global.x]), Y Component Of(Global.secondpos[Global.x]), Z Component Of(
  • Global.firstpos[Global.x])), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[2] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Vector(X Component Of(Global.firstpos[Global.x]), Y Component Of(
  • Global.secondpos[Global.x]), Z Component Of(Global.firstpos[Global.x])), Global.secondpos[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[3] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Skip(33);
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.firstpos[Global.x], Vector(X Component Of(Global.secondpos[Global.x]),
  • Y Component Of(Global.firstpos[Global.x]), Z Component Of(Global.secondpos[Global.x])), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID)];
  • Global._arrayBuilder1[0] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID)] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Vector(X Component Of(Global.secondpos[Global.x]), Y Component Of(
  • Global.firstpos[Global.x]), Z Component Of(Global.secondpos[Global.x])), Global.secondpos[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[1] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.firstpos[Global.x] + Vector(0.001, Empty Array, Empty Array), Vector(
  • X Component Of(Global.firstpos[Global.x]), Y Component Of(Global.secondpos[Global.x]), Z Component Of(
  • Global.firstpos[Global.x])), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[2] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Vector(X Component Of(Global.firstpos[Global.x]), Y Component Of(
  • Global.secondpos[Global.x]), Z Component Of(Global.firstpos[Global.x])), Global.secondpos[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[3] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Skip(16);
  • Create Beam Effect(All Players(All Teams), Bad Beam, Global.firstpos[Global.x], Vector(X Component Of(Global.secondpos[Global.x]),
  • Y Component Of(Global.firstpos[Global.x]), Z Component Of(Global.secondpos[Global.x])), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID)];
  • Global._arrayBuilder1[0] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID)] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Bad Beam, Vector(X Component Of(Global.secondpos[Global.x]), Y Component Of(
  • Global.firstpos[Global.x]), Z Component Of(Global.secondpos[Global.x])), Global.secondpos[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[1] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Bad Beam, Global.firstpos[Global.x] + Vector(0.001, Empty Array, Empty Array), Vector(
  • X Component Of(Global.firstpos[Global.x]), Y Component Of(Global.secondpos[Global.x]), Z Component Of(
  • Global.firstpos[Global.x])), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[2] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Bad Beam, Vector(X Component Of(Global.firstpos[Global.x]), Y Component Of(
  • Global.secondpos[Global.x]), Z Component Of(Global.firstpos[Global.x])), Global.secondpos[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[3] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • End;
  • Else If(Array Contains(Array(2, 4, 6, 7, 8), Global.Wall_ID[Global.x]));
  • If(Global.Wall_ID[Global.x] == 6);
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.firstpos[Global.x], Global.firstpoint2[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Red), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID)];
  • Global._arrayBuilder1[0] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID)] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.firstpoint2[Global.x] + Vector(Empty Array, Empty Array, 0.001),
  • Global.secondpos[Global.x], Color(Red), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[1] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.secondpos[Global.x], Global.secondpoint2[Global.x] + Vector(
  • Empty Array, Empty Array, 0.001), Color(Red), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[2] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.secondpoint2[Global.x] + Vector(Empty Array, Empty Array, 0.001),
  • Global.firstpos[Global.x], Color(Red), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[3] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Else;
  • Skip(Array(50, 0, 17, 34)[Index Of Array Value(Array(1, 2, 3), Global.g_beamType[Global.x]) + 1]);
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Global.firstpos[Global.x], Global.firstpoint2[Global.x] + Vector(
  • Empty Array, Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID)];
  • Global._arrayBuilder1[0] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID)] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Global.firstpoint2[Global.x] + Vector(Empty Array, Empty Array, 0.001),
  • Global.secondpos[Global.x], Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[1] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Global.secondpos[Global.x], Global.secondpoint2[Global.x] + Vector(
  • Empty Array, Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[2] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Global.secondpoint2[Global.x] + Vector(Empty Array, Empty Array, 0.001),
  • Global.firstpos[Global.x], Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[3] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Skip(33);
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.firstpos[Global.x], Global.firstpoint2[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID)];
  • Global._arrayBuilder1[0] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID)] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.firstpoint2[Global.x] + Vector(Empty Array, Empty Array, 0.001),
  • Global.secondpos[Global.x], Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[1] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.secondpos[Global.x], Global.secondpoint2[Global.x] + Vector(
  • Empty Array, Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[2] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Good Beam, Global.secondpoint2[Global.x] + Vector(Empty Array, Empty Array, 0.001),
  • Global.firstpos[Global.x], Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[3] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Skip(16);
  • Create Beam Effect(All Players(All Teams), Bad Beam, Global.firstpos[Global.x], Global.firstpoint2[Global.x] + Vector(Empty Array,
  • Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID)];
  • Global._arrayBuilder1[0] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID)] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Bad Beam, Global.firstpoint2[Global.x] + Vector(Empty Array, Empty Array, 0.001),
  • Global.secondpos[Global.x], Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[1] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Bad Beam, Global.secondpos[Global.x], Global.secondpoint2[Global.x] + Vector(
  • Empty Array, Empty Array, 0.001), Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[2] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • Create Beam Effect(All Players(All Teams), Bad Beam, Global.secondpoint2[Global.x] + Vector(Empty Array, Empty Array, 0.001),
  • Global.firstpos[Global.x], Color(Aqua), Visible To);
  • Global._arrayBuilder1 = Global.beam_ID[Count Of(Global.beam_ID) - 1];
  • Global._arrayBuilder1[3] = Last Created Entity;
  • Global.beam_ID[Count Of(Global.beam_ID) - 1] = Global._arrayBuilder1;
  • End;
  • Else If(Global.Wall_ID[Global.x] == 9);
  • Create Effect(All Players(All Teams), Sphere, Color(Orange), Global.AllPos[Global.x], Global.sphereRadius[Global.x], Visible To);
  • End;
  • Wait(0.016, Ignore Condition);
  • End;
  • End;
  • Global.initialized = True;
  • }
  • }
  • rule("Glass Cannon - Setup")
  • disabled rule("")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Reset")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.GlassCannon == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Global.Normal = False;
  • Global.Expert = True;
  • Global.Hard = False;
  • Global.Legendary = False;
  • Global.Index = -1;
  • Global.Areas = Array(Vector(-122.539, -1.225, -4.575), Vector(-120.587, -1.225, 19.619), Vector(-149.351, -2.856, 24.063));
  • Global.Sizes = Array(17, 17, 10);
  • }
  • }
  • rule("Glass Cannon - Setup")
  • rule("Index")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Global.GlassCannon == True;
  • Is Dummy Bot(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Global.Index < 3;
  • }
  • actions
  • {
  • Set Player Allowed Heroes(Event Player, All Heroes);
  • Global.Index += 1;
  • Wait(0.250, Ignore Condition);
  • Event Player.Index = Global.Index;
  • }
  • }
  • rule("Glass Cannon")
  • rule("Walk back into circle")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, First Of(Sorted Array(Global.Areas[Event Player.Index], Distance Between(Event Player,
  • Current Array Element)))) >= Global.Sizes[Event Player.Index];
  • }
  • actions
  • {
  • Event Player.pathmapReference = Global._objectVariable_1[Global.bake];
  • Event Player.destination = Global.Areas[Event Player.Index];
  • Event Player.parentArray = Global._objectVariable_0[Global.bake][Index Of Array Value(
  • Global.Nodes[Global._objectVariable_1[Global.bake]], First Of(Sorted Array(Global.Nodes[Global._objectVariable_1[Global.bake]],
  • Distance Between(Current Array Element, Event Player.destination))))];
  • Event Player.pathfinderDoGetCurrent = True;
  • }
  • }
  • rule("Stop in Circle")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 1;
  • Orisa;
  • }
  • conditions
  • {
  • Is Dummy Bot(Event Player) == True;
  • Distance Between(Event Player, First Of(Sorted Array(Global.Areas[Event Player.Index], Distance Between(Event Player,
  • Current Array Element)))) <= Global.Sizes[Event Player.Index];
  • }
  • actions
  • {
  • Stop Throttle In Direction(Event Player);
  • }
  • }
  • rule("Cancel Revive")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • Team 2;
  • All;
  • Mercy;
  • }
  • conditions
  • {
  • Is Alive(Event Player) == True;
  • Has Spawned(Event Player) == True;
  • Global.GlassCannon == True;
  • Closest Player To(Event Player, Team Of(Event Player)).CanBeRevived == False;
  • Is Using Ability 2(Event Player) == True;
  • }
  • actions
  • {
  • Set Max Health(Event Player, 35);
  • Set Damage Dealt(Event Player, 135);
  • Set Player Health(Event Player, Max Health(Event Player));
  • Cancel Primary Action(Event Player);
  • }
  • }
Join the Workshop.codes Discord