Create
Return to post

Comparing difference between and

View raw
  • variables
  • {
  • global:
  • 0: ArrayPoints
  • 1: ArrayCaptureAmountsBlue
  • 2: ArrayCaptureAmountsRed
  • 3: CapturePointRadius
  • 4: ArrayFlagTexts
  • 5: ArrayPointColors
  • 6: ALPHABET
  • 10: ColorA
  • 11: ColorB
  • 12: ColorC
  • 13: LetterSize
  • 14: DUMBINDEXING
  • 15: EnableA
  • 16: EnableB
  • 17: EnableC
  • 18: EnableD
  • 19: EnableE
  • 20: RedPoints
  • 21: BluePoints
  • 23: Killpoints
  • 24: PointBalanceBlue
  • 25: PointBalanceRed
  • 26: HPBoostAmount
  • 27: HealthCrossDistance
  • 31: COLORS
  • 32: IndexArrayPointColors
  • 33: IndexCreateEffects
  • 34: IndexCalculatePoints
  • 35: IndexResetTexts
  • 36: IndexPowerPlay
  • 37: TempPoint
  • 38: IndexCountBlue
  • 39: IndexCountRed
  • 41: EnableF
  • 42: UsePreferredCaptureZones
  • player:
  • 0: Capturing
  • 1: CaptureHUDElement
  • 2: CaptureAmount
  • 3: CaptureString
  • 4: InsidePoint
  • 5: ColorOfPoint
  • 6: DebugPlayerRing
  • 7: DebugPlayerRingPosition
  • 8: EnemyCapturePointHud
  • 9: DEBUGSTUFF
  • 10: SaveInsidePoint
  • }
  • subroutines
  • {
  • 0: CalculatePoints
  • 1: AddRedPoints
  • 2: AddBluePoints
  • 3: ProgressBar
  • 4: UIText
  • 5: PointBalance
  • 6: UnderdogHP
  • 7: DebugCreateRing
  • 8: Debug
  • 9: DeathPointBalanceRed
  • 10: DeathPointBalanceBlue
  • }
  • rule("INIT: Initialize ArrayPoints with empty Array!")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.ArrayPoints = Array();
  • Global.ArrayCaptureAmountsBlue = Array();
  • Global.ArrayCaptureAmountsRed = Array();
  • }
  • }
  • rule("Options: Enable Points")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.UsePreferredCaptureZones = Workshop Setting Toggle(Custom String("Enabled Capture Zones"), Custom String(
  • "Use Preferred Capture Zones (Choices below wont affect if this is enabled)"), True, -1);
  • Global.EnableA = Workshop Setting Toggle(Custom String("Enabled Capture Zones"), Custom String("A"), True, 0);
  • Global.EnableB = Workshop Setting Toggle(Custom String("Enabled Capture Zones"), Custom String("B"), True, 0);
  • Global.EnableC = Workshop Setting Toggle(Custom String("Enabled Capture Zones"), Custom String("C"), True, 0);
  • Global.EnableD = Workshop Setting Toggle(Custom String("Enabled Capture Zones"), Custom String("D"), True, 0);
  • Global.EnableE = Workshop Setting Toggle(Custom String("Enabled Capture Zones"), Custom String("E"), True, 0);
  • Global.EnableF = Workshop Setting Toggle(Custom String("Enabled Capture Zones"), Custom String("F (King's Row only)"), True, 0);
  • }
  • }
  • disabled rule("MAP: (Template)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Workshop Island);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(0, 0, 0);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(0, 0, 0);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(0, 0, 0);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(0, 0, 0);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "E"
  • If(Global.EnableE == True);
  • Global.TempPoint = Vector(0, 0, 0);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • }
  • }
  • rule("MAP: Castillo")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Castillo);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(-100.072, 33.917, 92.367);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-75.049, 33.348, 52.899);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-113.597, 33.917, 25.967);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(-130.192, 35.729, 63.526);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • disabled If(Global.EnableE == True);
  • disabled Global.TempPoint = Vector(-130.192, 35.729, 63.526);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Château Guillard")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Château Guillard);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(233.047, 3.350, 92.942);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(201.438, 9.350, 52.305);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(181.460, 10.350, 102.504);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(206.220, 1.350, 77.430);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "E"
  • disabled If(Global.EnableE == True);
  • disabled Global.TempPoint = Vector(206.220, 1.350, 77.430);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Dorado")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Dorado);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(160.546, 11.362, -6.549);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(103.096, 12.362, 8.902);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(68.435, 15.362, 16.291);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(114.301, 12.350, 43.967);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableE == True);
  • Global.TempPoint = Vector(106.740, 12.362, -30.627);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • }
  • }
  • rule("MAP: Ecopoint Antarctica")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Ecopoint: Antarctica);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(10.743, 9.385, 49.566);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-15.182, 8.617, -0.003);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(10.642, 9.361, -49.336);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(24.046, 5.646, 0.115);
  • Global.TempPoint = Vector(24.033, 3.646, 0.003);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • disabled If(Global.EnableE == True);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Eichenwalde")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Eichenwalde);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(101.829, 14.073, -108.999);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(58.177, 6.073, -91.342);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(28.960, 9.350, -83.965);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(56.550, 22.353, -68.296);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "E"
  • If(Global.EnableE == True);
  • Global.TempPoint = Vector(54.869, 12.073, -120.264);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • }
  • }
  • rule("MAP: Hanamura")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Hanamura);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(-22.862, 2.829, -96.779);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(13.050, 0.126, -48.984);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-12.011, 2.350, 0.756);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • disabled If(Global.EnableD == True);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • disabled If(Global.EnableE == True);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Hollywood")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Hollywood);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(49.101, 4.099, -54.104);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-3.492, 2.955, -11.518);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-26.856, 7.100, -42.243);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(0.437, 2.955, -76.673);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableE == True);
  • Global.TempPoint = Vector(7.968, 14.253, -47.986);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • }
  • }
  • rule("MAP: Horizon Lunar Colony")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Horizon Lunar Colony);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(-24.597, 4.233, -121.662);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(0.212, 7.350, -90.560);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(53.855, 10.208, -89.226);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(54.195, 8.350, -52.331);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "E"
  • disabled If(Global.EnableE == True);
  • disabled Global.TempPoint = Vector(89.233, 13.248, -58.855);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Ilios Ruins")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Ilios Ruins);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = False;
  • Global.EnableE = False;
  • Global.EnableF = False;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(80.581, 59.717, -156.619);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(28.421, 58.717, -157.215);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-23.650, 59.717, -156.604);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(128.921, 64.078, -163.316);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableE == True);
  • Global.TempPoint = Vector(-71.730, 64.078, -163.385);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • }
  • }
  • rule("MAP: Ilios Well")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Ilios Well);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(-258.016, -3.380, 12.730);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-194.159, 2.365, -1.623);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-179.380, -3.389, -66.048);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(-219.167, 1.351, -27.156);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "E"
  • disabled If(Global.EnableE == True);
  • disabled Global.TempPoint = Vector(0, 0, 0);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Kanezaka")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Kanezaka);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • Skip If(Global.EnableA == False, 1);
  • Modify Global Variable(ArrayPoints, Append To Array, Vector(-28.998, 5.425, 43.971));
  • Skip If(Global.EnableB == False, 1);
  • Modify Global Variable(ArrayPoints, Append To Array, Vector(-30.779, 12.150, -9.609));
  • Skip If(Global.EnableC == False, 1);
  • Modify Global Variable(ArrayPoints, Append To Array, Vector(-0.905, 10.350, -46.513));
  • Skip If(Global.EnableD == False, 1);
  • Modify Global Variable(ArrayPoints, Append To Array, Vector(-65.443, 13.350, -27.394));
  • Skip If(Global.EnableE == False, 1);
  • Modify Global Variable(ArrayPoints, Append To Array, Vector(5.007, 10.350, 1.456));
  • }
  • }
  • rule("MAP: King's Row")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(King's Row);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(-95.479, -1.148, -46.512);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-72.940, -0.500, -32.291);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-33.818, 10.350, -12.495);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(-92.035, 2.490, 9.264);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "E"
  • If(Global.EnableE == True);
  • Global.TempPoint = Vector(-38.869, 3.350, -47.980);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "F"
  • If(Global.EnableF == True);
  • Global.TempPoint = Vector(-48.254, 1.350, 0.741);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • }
  • }
  • rule("MAP: Lijiang Garden")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Lijiang Garden);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(39.926, 96.349, 150);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-0.022, 95.350, 150);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-39.930, 96.350, 150.055);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(0.018, 95.350, 184.821);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "E"
  • If(Global.EnableE == True);
  • Global.TempPoint = Vector(-0.020, 98.265, 115.920);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • }
  • }
  • rule("MAP: Lijiang Night Market")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Lijiang Night Market);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(77.990, 4.850, -24.767);
  • Global.TempPoint = Vector(36.680, 1.210, -27.380);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(0.981, 0.350, -61.281);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-76.329, 4.850, -24.652);
  • Global.TempPoint = Vector(-34.601, 1.210, -27.578);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(1.010, 1.200, -9.911);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • disabled If(Global.EnableE == True);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Nepal Shrine")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Nepal Shrine);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(-48.830, 20.322, -50.978);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-19.130, 14.351, -0.028);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-48.881, 20.321, 50.958);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(-79.094, 9.350, 0.056);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "E"
  • disabled If(Global.EnableE == True);
  • disabled Global.TempPoint = Vector(0, 0, 0);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Oasis Gardens")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Oasis Gardens);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • "A"
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(92.337, 3.850, -243.385);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "B"
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(141.200, 8.727, -247.428);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "C"
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(137.064, 3.850, -198.455);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • "D"
  • disabled If(Global.EnableD == True);
  • disabled Global.TempPoint = Vector(110.466, 14.869, -216.684);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • "E"
  • disabled If(Global.EnableE == True);
  • disabled Global.TempPoint = Vector(0, 0, 0);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Oasis University")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Oasis University);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(-188.001, 19.350, 53.173);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-187.980, 10.750, -0.001);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-188.031, 19.352, -52.969);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableD == True);
  • Global.TempPoint = Vector(-214.173, 20.350, -0.029);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • disabled If(Global.EnableE == True);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("MAP: Paris")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Paris);
  • }
  • actions
  • {
  • "Use Preferred Capture Zones (Option can be enabled in settings)"
  • If(Global.UsePreferredCaptureZones);
  • Global.EnableA = True;
  • Global.EnableB = True;
  • Global.EnableC = True;
  • Global.EnableD = True;
  • Global.EnableE = True;
  • Global.EnableF = True;
  • End;
  • If(Global.EnableA == True);
  • Global.TempPoint = Vector(-85.827, 11.056, -25.361);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableB == True);
  • Global.TempPoint = Vector(-65.481, 14.350, -80.476);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • If(Global.EnableC == True);
  • Global.TempPoint = Vector(-120.776, 14.350, -88.065);
  • Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • End;
  • disabled If(Global.EnableD == True);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • disabled If(Global.EnableE == True);
  • disabled Modify Global Variable(ArrayPoints, Append To Array, Global.TempPoint);
  • disabled End;
  • }
  • }
  • rule("INIT: Each player")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • actions
  • {
  • Event Player.CaptureHUDElement = Null;
  • Event Player.Capturing = Null;
  • }
  • }
  • rule("INIT: Assembly time lower")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Assembling Heroes == True;
  • }
  • actions
  • {
  • Set Match Time(10);
  • }
  • }
  • rule("INIT: Variables")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Disable Built-In Game Mode Scoring;
  • Global.CapturePointRadius = 4.790;
  • If(Workshop Setting Toggle(Custom String("Capture Zone Settings"), Custom String("Use custom radius"), False, 0));
  • Global.CapturePointRadius = Workshop Setting Real(Custom String("Capture Zone Settings"), Custom String("Custom radius"), 4.790,
  • 0.500, 10, 1);
  • End;
  • Global.ArrayPointColors = Array();
  • For Global Variable(IndexArrayPointColors, 0, Count Of(Global.ArrayPoints), 1);
  • Global.ArrayPointColors = Append To Array(Global.ArrayPointColors, Color(White));
  • End;
  • "DISABLED ARE OLD CAPTURING"
  • disabled Global.ColorA = Color(White);
  • disabled Global.ColorB = Color(White);
  • disabled Global.ColorC = Color(White);
  • Global.LetterSize = 3;
  • Global.HPBoostAmount = 0;
  • Global.Killpoints = Workshop Setting Integer(Custom String("Score"), Custom String("Kill points"), 6, 0, 10, 0);
  • Call Subroutine(PointBalance);
  • Global.HealthCrossDistance = 0.300;
  • Global.COLORS = Array(Color(Yellow), Color(Green), Color(Purple), Color(Red), Color(Blue), Color(Aqua), Color(Orange), Color(
  • Sky Blue), Color(Turquoise), Color(Lime Green), Color(Rose), Color(Violet), Color(Gray));
  • Global.ALPHABET = Array(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"));
  • Global.DUMBINDEXING = Array(0, 1, 2, 3);
  • }
  • }
  • rule("Balance: Player joined")
  • {
  • event
  • {
  • Player Joined Match;
  • All;
  • All;
  • }
  • actions
  • {
  • Call Subroutine(PointBalance);
  • }
  • }
  • rule("Balance: Player left")
  • {
  • event
  • {
  • Player Left Match;
  • All;
  • All;
  • }
  • actions
  • {
  • Call Subroutine(PointBalance);
  • }
  • }
  • rule("Balance: Point balance based on team sizes (Subroutine: PointBalance)")
  • {
  • event
  • {
  • Subroutine;
  • PointBalance;
  • }
  • actions
  • {
  • If(Number Of Players(Team 1) == 0 || Number Of Players(Team 2) == 0);
  • Global.PointBalanceBlue = 1;
  • Global.PointBalanceRed = 1;
  • Abort;
  • End;
  • If(Number Of Players(Team 1) == Number Of Players(Team 2));
  • Global.PointBalanceBlue = 1;
  • Global.PointBalanceRed = 1;
  • Abort;
  • End;
  • If(Number Of Players(Team 1) > Number Of Players(Team 2));
  • Global.PointBalanceBlue = Min(Number Of Players(Team 1), Number Of Players(Team 2)) / Max(Number Of Players(Team 1),
  • Number Of Players(Team 2));
  • Global.PointBalanceRed = 1;
  • Else;
  • Global.PointBalanceBlue = 1;
  • Global.PointBalanceRed = Min(Number Of Players(Team 1), Number Of Players(Team 2)) / Max(Number Of Players(Team 1),
  • Number Of Players(Team 2));
  • End;
  • }
  • }
  • rule("INIT: Create Capture Points")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.ArrayFlagTexts = Array Slice(Global.ALPHABET, 0, Count Of(Global.ArrayPoints));
  • disabled For Global Variable(IndexCreateEffects, 0, Count Of(Global.ArrayPoints), 1);
  • disabled End;
  • If(Global.ArrayPoints[0] != Null);
  • Create In-World Text(All Players(All Teams), Custom String("{0}", Global.ArrayFlagTexts[0]), Global.ArrayPoints[0],
  • Global.LetterSize, Do Not Clip, Visible To Position String and Color, Global.ArrayPointColors[0], Default Visibility);
  • Create Effect(All Players(All Teams), Ring, Global.ArrayPointColors[0], Global.ArrayPoints[0], Global.CapturePointRadius,
  • Visible To Position Radius and Color);
  • End;
  • If(Global.ArrayPoints[1] != Null);
  • Create In-World Text(All Players(All Teams), Custom String("{0}", Global.ArrayFlagTexts[1]), Global.ArrayPoints[1],
  • Global.LetterSize, Do Not Clip, Visible To Position String and Color, Global.ArrayPointColors[1], Default Visibility);
  • Create Effect(All Players(All Teams), Ring, Global.ArrayPointColors[1], Global.ArrayPoints[1], Global.CapturePointRadius,
  • Visible To Position Radius and Color);
  • End;
  • If(Global.ArrayPoints[2] != Null);
  • Create In-World Text(All Players(All Teams), Custom String("{0}", Global.ArrayFlagTexts[2]), Global.ArrayPoints[2],
  • Global.LetterSize, Do Not Clip, Visible To Position String and Color, Global.ArrayPointColors[2], Default Visibility);
  • Create Effect(All Players(All Teams), Ring, Global.ArrayPointColors[2], Global.ArrayPoints[2], Global.CapturePointRadius,
  • Visible To Position Radius and Color);
  • End;
  • If(Global.ArrayPoints[3] != Null);
  • Create In-World Text(All Players(All Teams), Custom String("{0}", Global.ArrayFlagTexts[3]), Global.ArrayPoints[3],
  • Global.LetterSize, Do Not Clip, Visible To Position String and Color, Global.ArrayPointColors[3], Default Visibility);
  • Create Effect(All Players(All Teams), Ring, Global.ArrayPointColors[3], Global.ArrayPoints[3], Global.CapturePointRadius,
  • Visible To Position Radius and Color);
  • End;
  • If(Global.ArrayPoints[4] != Null);
  • Create In-World Text(All Players(All Teams), Custom String("{0}", Global.ArrayFlagTexts[4]), Global.ArrayPoints[4],
  • Global.LetterSize, Do Not Clip, Visible To Position String and Color, Global.ArrayPointColors[4], Default Visibility);
  • Create Effect(All Players(All Teams), Ring, Global.ArrayPointColors[4], Global.ArrayPoints[4], Global.CapturePointRadius,
  • Visible To Position Radius and Color);
  • End;
  • If(Global.ArrayPoints[5] != Null);
  • Create In-World Text(All Players(All Teams), Custom String("{0}", Global.ArrayFlagTexts[5]), Global.ArrayPoints[5],
  • Global.LetterSize, Do Not Clip, Visible To Position String and Color, Global.ArrayPointColors[5], Default Visibility);
  • Create Effect(All Players(All Teams), Ring, Global.ArrayPointColors[5], Global.ArrayPoints[5], Global.CapturePointRadius,
  • Visible To Position Radius and Color);
  • End;
  • }
  • }
  • rule("DEBUG:")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • actions
  • {
  • Abort If(Workshop Setting Toggle(Custom String("Debug"), Custom String("Print position"), False, 0) == False);
  • Create HUD Text(Event Player, Custom String("Player position: {0}", Position Of(Event Player)), Null, Null, Left, 0, Color(White),
  • Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Custom String("IN AREA: {1}", Null, Event Player.InsidePoint), Null, Null, Left, 0, Color(White),
  • Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Custom String("Color: {2}", Null, Null, Event Player.ColorOfPoint), Null, Null, Left, 0, Color(
  • White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Custom String("{0}: {1} points", Team 1, Global.BluePoints), Null, Null, Left, 0, Color(Team 1),
  • Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Custom String("{0}: {1} points", Team 2, Global.RedPoints), Null, Null, Left, 0, Color(Team 2),
  • Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Custom String("Custom Stuff: {2}", Null, Null, Event Player.DEBUGSTUFF), Null, Null, Left, 0, Color(
  • White), Color(White), Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Base: Capture Point (ARRAY)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is True For Any(Global.ArrayPoints, Distance Between(Current Array Element, Event Player) <= Global.CapturePointRadius) == True;
  • Is Alive(Event Player) == True;
  • }
  • actions
  • {
  • Event Player.Capturing = True;
  • Event Player.InsidePoint = Last Of(Filtered Array(Global.ArrayPoints, Distance Between(Current Array Element, Event Player)
  • <= Global.CapturePointRadius));
  • Event Player.SaveInsidePoint = Event Player.InsidePoint;
  • Event Player.ColorOfPoint = Global.ArrayPointColors[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)];
  • If(Event Player.ColorOfPoint != Team Of(Event Player));
  • Global.ArrayFlagTexts[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)] = Custom String("!");
  • End;
  • Call Subroutine(ProgressBar);
  • Wait(0.016, Abort When False);
  • If(Event Player.Capturing == False || Event Player.CaptureString == Custom String("Captured"));
  • Event Player.CaptureAmount = 0;
  • Abort;
  • End;
  • If(Team Of(Event Player) == Team 1);
  • "Set BLUE CaptureAmount to 0"
  • Global.ArrayCaptureAmountsBlue[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)] = 0;
  • Else;
  • "Set RED CaptureAmount to 0"
  • Global.ArrayCaptureAmountsRed[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)] = 0;
  • End;
  • Event Player.CaptureAmount = 0;
  • "Set Color of Point"
  • Global.ArrayPointColors[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)] = Team Of(Event Player);
  • "Assign this color to event player (shame there is no local variables :/)"
  • Event Player.ColorOfPoint = Global.ArrayPointColors[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)];
  • "Set Flag Letter"
  • Global.ArrayFlagTexts[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)] = Global.ALPHABET[Index Of Array Value(
  • Global.ArrayPoints, Event Player.InsidePoint)];
  • Call Subroutine(UIText);
  • }
  • }
  • rule("Base: Player Capturing (Subroutine: ProgressBar)")
  • {
  • event
  • {
  • Subroutine;
  • ProgressBar;
  • }
  • actions
  • {
  • If(Event Player.Capturing == False);
  • Abort;
  • End;
  • Call Subroutine(UIText);
  • If(Event Player.CaptureString == Custom String("Captured"));
  • disabled Event Player.CaptureAmount = 0;
  • Abort;
  • End;
  • If(Hero Of(Event Player) == Hero(Sombra));
  • If(Is Using Ability 1(Event Player));
  • Wait(0.010, Ignore Condition);
  • Loop;
  • End;
  • End;
  • Wait(0.010, Ignore Condition);
  • If(Event Player.CaptureString == Custom String("Contested"));
  • Loop;
  • End;
  • disabled If(Is True For Any(All Players(Team Of(Event Player)), Current Array Element.InsidePoint == Event Player.InsidePoint) == True);
  • disabled Event Player.CaptureAmount = Last Of(Sorted Array(Filtered Array(All Players(Team Of(Event Player)),
  • Current Array Element.InsidePoint == Event Player.InsidePoint), Current Array Element.CaptureAmount));
  • disabled End;
  • If(Team Of(Event Player) == Team 1);
  • "Replace this with Global Capturing"
  • Event Player.CaptureAmount = Max(Event Player.CaptureAmount, Global.ArrayCaptureAmountsBlue[Index Of Array Value(
  • Global.ArrayPoints, Event Player.SaveInsidePoint)]);
  • "SHOULD BE 0 when on A point"
  • disabled Event Player.DEBUGSTUFF = Array Contains(Global.ArrayPoints, Event Player.InsidePoint);
  • Global.ArrayCaptureAmountsBlue[Index Of Array Value(Global.ArrayPoints, Event Player.SaveInsidePoint)] = Max(
  • Event Player.CaptureAmount, Global.ArrayCaptureAmountsBlue[Index Of Array Value(Global.ArrayPoints,
  • Event Player.SaveInsidePoint)]);
  • Else;
  • "Replace this with Global Capturing"
  • Event Player.CaptureAmount = Max(Event Player.CaptureAmount, Global.ArrayCaptureAmountsRed[Index Of Array Value(Global.ArrayPoints,
  • Event Player.SaveInsidePoint)]);
  • Global.ArrayCaptureAmountsRed[Index Of Array Value(Global.ArrayPoints, Event Player.SaveInsidePoint)] = Max(
  • Event Player.CaptureAmount, Global.ArrayCaptureAmountsRed[Index Of Array Value(Global.ArrayPoints,
  • Event Player.SaveInsidePoint)]);
  • End;
  • Event Player.CaptureAmount = Event Player.CaptureAmount + 100 * 0.003;
  • Skip If(Event Player.CaptureAmount >= 100, 1);
  • Loop;
  • }
  • }
  • rule("UIText: Text when capturing (Subroutine)")
  • {
  • event
  • {
  • Subroutine;
  • UIText;
  • }
  • actions
  • {
  • If(Is True For Any(All Living Players(Opposite Team Of(Team Of(Event Player))),
  • Current Array Element.InsidePoint == Event Player.InsidePoint));
  • Event Player.CaptureString = Custom String("Contested");
  • Else;
  • If(Global.ArrayPointColors[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)] == Team Of(Event Player));
  • Event Player.CaptureString = Custom String("Captured");
  • Else;
  • Event Player.CaptureString = Custom String("Capturing");
  • End;
  • End;
  • }
  • }
  • rule("Points: Wait giving out points")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(5, Ignore Condition);
  • Call Subroutine(CalculatePoints);
  • Call Subroutine(UnderdogHP);
  • Loop;
  • }
  • }
  • rule("Points: Calculate Points per Area (Subroutine)")
  • {
  • event
  • {
  • Subroutine;
  • CalculatePoints;
  • }
  • actions
  • {
  • For Global Variable(IndexCalculatePoints, 0, Count Of(Global.ArrayPoints), 1);
  • If(Color(Team 1) == Global.ArrayPointColors[Global.IndexCalculatePoints]);
  • Call Subroutine(AddBluePoints);
  • End;
  • If(Color(Team 2) == Global.ArrayPointColors[Global.IndexCalculatePoints]);
  • Call Subroutine(AddRedPoints);
  • End;
  • End;
  • }
  • }
  • rule("Points: Add red point (Subroutine)")
  • {
  • event
  • {
  • Subroutine;
  • AddRedPoints;
  • }
  • actions
  • {
  • disabled Global.RedPoints += Global.PointBalanceRed;
  • disabled Global.RedPoints = Global.RedPoints + Global.PointBalanceRed / 2;
  • Global.RedPoints += Global.PointBalanceRed * (3 / Count Of(Global.ArrayPoints));
  • }
  • }
  • rule("Points: Add blue point (Subroutine)")
  • {
  • event
  • {
  • Subroutine;
  • AddBluePoints;
  • }
  • actions
  • {
  • disabled Global.BluePoints += Global.PointBalanceBlue;
  • disabled Global.BluePoints = Global.BluePoints + Global.PointBalanceBlue / 2;
  • Global.BluePoints += Global.PointBalanceBlue * (3 / Count Of(Global.ArrayPoints));
  • }
  • }
  • rule("Points: Add points from deaths")
  • {
  • event
  • {
  • Player Died;
  • All;
  • All;
  • }
  • actions
  • {
  • If(Team Of(Event Player) == Team 1);
  • Call Subroutine(DeathPointBalanceBlue);
  • End;
  • If(Team Of(Event Player) == Team 2);
  • Call Subroutine(DeathPointBalanceRed);
  • End;
  • }
  • }
  • rule("Balance: Death Blue Count")
  • {
  • event
  • {
  • Subroutine;
  • DeathPointBalanceBlue;
  • }
  • actions
  • {
  • For Global Variable(IndexCountBlue, 0, Count Of(All Players(Team 2)), 1);
  • If(Count Of(All Players(Team 2)) == 1 + Global.IndexCountBlue && Count Of(All Players(Team 2)) != 0);
  • Global.RedPoints += Global.Killpoints / (1 + Global.IndexCountBlue);
  • Abort;
  • End;
  • End;
  • Global.RedPoints += 1;
  • }
  • }
  • rule("Balance: Death Red Count")
  • {
  • event
  • {
  • Subroutine;
  • DeathPointBalanceRed;
  • }
  • actions
  • {
  • For Global Variable(IndexCountRed, 0, Count Of(All Players(Team 1)), 1);
  • If(Count Of(All Players(Team 1)) == 1 + Global.IndexCountRed && Count Of(All Players(Team 1)) != 0);
  • Global.BluePoints += Global.Killpoints / (1 + Global.IndexCountRed);
  • Abort;
  • End;
  • End;
  • Global.BluePoints += 1;
  • }
  • }
  • rule("UI: Player Capturing (Improved)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • actions
  • {
  • If(Is True For Any(Global.ArrayPoints, Distance Between(Event Player, Current Array Element) <= Global.CapturePointRadius)
  • && Is Alive(Event Player));
  • If(Event Player.CaptureAmount < (Team Of(Event Player) == Team 1 ? Global.ArrayCaptureAmountsRed[Index Of Array Value(
  • Global.ArrayPoints, Event Player.InsidePoint)] : Global.ArrayCaptureAmountsBlue[Index Of Array Value(Global.ArrayPoints,
  • Event Player.InsidePoint)]));
  • If(Event Player.CaptureHUDElement != Null);
  • Destroy Progress Bar HUD Text(Event Player.CaptureHUDElement);
  • End;
  • If(Event Player.EnemyCapturePointHud == Null);
  • Create Progress Bar HUD Text(Event Player, Opposite Team Of(Team Of(Event Player))
  • == Team 2 ? Global.ArrayCaptureAmountsRed[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)
  • ] : Global.ArrayCaptureAmountsBlue[Index Of Array Value(Global.ArrayPoints, Event Player.InsidePoint)], Custom String("{0}",
  • Event Player.CaptureString), Top, 0, Opposite Team Of(Team Of(Event Player)), Color(White), Visible To Values and Color,
  • Default Visibility);
  • Event Player.EnemyCapturePointHud = Last Text ID;
  • End;
  • Else;
  • If(Event Player.EnemyCapturePointHud != Null);
  • Destroy Progress Bar HUD Text(Event Player.EnemyCapturePointHud);
  • End;
  • If(Event Player.CaptureHUDElement == Null);
  • Create Progress Bar HUD Text(Event Player, Event Player.CaptureAmount, Custom String("{0}", Event Player.CaptureString), Top, 0,
  • Team Of(Event Player), Color(White), Visible To Values and Color, Default Visibility);
  • Event Player.CaptureHUDElement = Last Text ID;
  • End;
  • End;
  • Else;
  • If(Event Player.CaptureHUDElement != Null);
  • Destroy Progress Bar HUD Text(Event Player.CaptureHUDElement);
  • End;
  • If(Event Player.EnemyCapturePointHud != Null);
  • Destroy Progress Bar HUD Text(Event Player.EnemyCapturePointHud);
  • End;
  • Event Player.CaptureHUDElement = Null;
  • Event Player.EnemyCapturePointHud = Null;
  • Event Player.Capturing = False;
  • Event Player.CaptureAmount = 0;
  • Event Player.ColorOfPoint = Color(White);
  • Event Player.InsidePoint = Null;
  • End;
  • Wait(0.250, Ignore Condition);
  • Loop;
  • }
  • }
  • rule("Points: Calculate game points")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Set Team Score(Team 1, Global.BluePoints);
  • Set Team Score(Team 2, Global.RedPoints);
  • Wait(0.250, Abort When False);
  • Loop;
  • }
  • }
  • rule("Balance: Underdog HP")
  • {
  • event
  • {
  • Subroutine;
  • UnderdogHP;
  • }
  • actions
  • {
  • If(Workshop Setting Toggle(Custom String("Balance"), Custom String("Give HP to Team with less players"), False, 0) == True);
  • Global.HPBoostAmount = Workshop Setting Integer(Custom String("Balance"), Custom String("HP amount given"), 25, 0, 100, 0);
  • Else;
  • Abort;
  • End;
  • If(Number Of Players(Team 1) < Number Of Players(Team 2));
  • Heal(All Living Players(Team 1), Null, Global.HPBoostAmount);
  • End;
  • If(Number Of Players(Team 1) > Number Of Players(Team 2));
  • Heal(All Living Players(Team 2), Null, Global.HPBoostAmount);
  • End;
  • }
  • }
  • rule("Base: Reset Capture Icons & Decrease Capture Amounts")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • For Global Variable(IndexResetTexts, 0, Count Of(Global.ArrayPoints), 1);
  • If(Is True For All(All Living Players(All Teams), Distance Between(Current Array Element,
  • Global.ArrayPoints[Global.IndexResetTexts]) > Global.CapturePointRadius));
  • Global.ArrayFlagTexts[Global.IndexResetTexts] = Global.ALPHABET[Global.IndexResetTexts];
  • End;
  • "Decrease Capture Point Values"
  • If(Is True For All(All Living Players(Team 1), Distance Between(Current Array Element, Global.ArrayPoints[Global.IndexResetTexts])
  • > Global.CapturePointRadius));
  • Global.ArrayCaptureAmountsBlue[Global.IndexResetTexts] -= 3;
  • End;
  • If(Is True For All(All Living Players(Team 2), Distance Between(Current Array Element, Global.ArrayPoints[Global.IndexResetTexts])
  • > Global.CapturePointRadius));
  • Global.ArrayCaptureAmountsRed[Global.IndexResetTexts] -= 3;
  • End;
  • "Reset ArrayCaptureAmounts"
  • If(Global.ArrayCaptureAmountsBlue[Global.IndexResetTexts] < 0);
  • Global.ArrayCaptureAmountsBlue[Global.IndexResetTexts] = 0;
  • End;
  • If(Global.ArrayCaptureAmountsRed[Global.IndexResetTexts] < 0);
  • Global.ArrayCaptureAmountsRed[Global.IndexResetTexts] = 0;
  • End;
  • End;
  • Wait(0.250, Ignore Condition);
  • Loop;
  • }
  • }
  • rule("Base: Big Message")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • (Is True For All(Global.ArrayPointColors, Current Array Element == Color(Team 1)) || Is True For All(Global.ArrayPointColors,
  • Current Array Element == Color(Team 2)) ? True : False) == True;
  • }
  • actions
  • {
  • Big Message(All Players(All Teams), Custom String("{0}ALL ZONES CAPTURED{0}", Icon String(Bolt)));
  • For Global Variable(IndexPowerPlay, 0, Count Of(Global.ArrayPoints), 1);
  • Play Effect(All Players(All Teams), Explosion Sound, Color(White), Global.ArrayPoints[Global.IndexPowerPlay], 100);
  • End;
  • }
  • }
  • rule("Base: HUD Texts")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Create HUD Text(All Players(All Teams), Custom String("Capture Zones{0}", Icon String(Bolt)), Null, Null, Left, 0, Color(White),
  • Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("Code: G0CTY, Made by: Mirex"), Left, 1, Color(White), Color(
  • White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), Null, Custom String("Capture zones or kill opponents to score!"), Null, Left, 2, Color(
  • White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), Null, Custom String("Be first to score 100 to win!"), Null, Left, 3, Color(White), Color(
  • White), Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Hero Balance: RoadHog hook delay")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Hero Of(Event Player) == Hero(Roadhog)) == True;
  • Is Using Ability 1(Event Player) == True;
  • }
  • actions
  • {
  • Set Primary Fire Enabled(Event Player, False);
  • Set Secondary Fire Enabled(Event Player, False);
  • Wait(2, Ignore Condition);
  • Set Primary Fire Enabled(Event Player, True);
  • Set Secondary Fire Enabled(Event Player, True);
  • }
  • }
  • rule("DEBUG: Flag setter")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • (Workshop Setting Toggle(Custom String("Debug"), Custom String("Zone Setter Debug"), False, 0) ? True : False) == True;
  • }
  • actions
  • {
  • Call Subroutine(DebugCreateRing);
  • Call Subroutine(Debug);
  • If(Is Button Held(Event Player, Button(Secondary Fire)));
  • Set Move Speed(Event Player, 25);
  • Else;
  • Set Move Speed(Event Player, 100);
  • End;
  • If(Is Button Held(Event Player, Button(Primary Fire)) && Is Button Held(Event Player, Button(Secondary Fire)));
  • Event Player.DebugPlayerRingPosition = Position Of(Event Player);
  • Else;
  • If(Is Button Held(Event Player, Button(Primary Fire)));
  • Start Forcing Player Position(Event Player, Event Player.DebugPlayerRingPosition, False);
  • Wait(0.250, Ignore Condition);
  • Stop Forcing Player Position(Event Player);
  • End;
  • End;
  • Wait(0.050, Ignore Condition);
  • Loop;
  • }
  • }
  • rule("DEBUG: Create Debug Ring (Subroutine)")
  • {
  • event
  • {
  • Subroutine;
  • DebugCreateRing;
  • }
  • actions
  • {
  • If(Event Player.DebugPlayerRing == Null);
  • Create HUD Text(Event Player, Custom String("DEBUG"), Null, Null, Left, 0, Color(Yellow), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • Event Player.DebugPlayerRingPosition = Vector(0, 0, 0);
  • Create Effect(All Players(All Teams), Ring, Global.COLORS[Index Of Array Value(All Players(All Teams), Event Player)],
  • Event Player.DebugPlayerRingPosition, Global.CapturePointRadius, Visible To Position Radius and Color);
  • Event Player.DebugPlayerRing = Last Created Entity;
  • End;
  • }
  • }
  • rule("DEBUG: Disable shooting (Subroutine)")
  • {
  • event
  • {
  • Subroutine;
  • Debug;
  • }
  • actions
  • {
  • Set Primary Fire Enabled(Event Player, False);
  • Set Secondary Fire Enabled(Event Player, False);
  • Set Ultimate Ability Enabled(Event Player, False);
  • Set Ability 1 Enabled(Event Player, False);
  • Set Ability 2 Enabled(Event Player, False);
  • }
  • }
  • rule("DEBUG: Player joined")
  • {
  • event
  • {
  • Player Joined Match;
  • All;
  • All;
  • }
  • actions
  • {
  • Event Player.DebugPlayerRing = Null;
  • }
  • }
  • rule("DEBUG: Player left")
  • {
  • event
  • {
  • Player Left Match;
  • All;
  • All;
  • }
  • actions
  • {
  • Destroy Effect(Event Player.DebugPlayerRing);
  • }
  • }
Join the Workshop.codes Discord