Skip to content

Commit

Permalink
Check __runOriginal in patches
Browse files Browse the repository at this point in the history
  • Loading branch information
doombubbles committed Oct 16, 2023
1 parent b127032 commit ba1168b
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions Patches.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,18 @@ namespace UltimateCrosspathing
internal class UpgradeObject_CheckBlockedPath
{
[HarmonyPostfix]
internal static void Postfix(UpgradeObject __instance, ref int __result)
internal static void Postfix(UpgradeObject __instance, ref int __result, ref bool __runOriginal)
{
if (__instance.tts != null && LoadInfo.ShouldWork(__instance.tts.Def.baseId))
if (__instance.tts == null || !LoadInfo.ShouldWork(__instance.tts.Def.baseId) || !__runOriginal) return;

var tier = __instance.tier;
var tiers = __instance.tts.Def.tiers;
var sum = tiers.Sum();
var remainingTiers = Settings.MaxTiers - sum;
__result = tier + remainingTiers;
if (__result > 5)
{
var tier = __instance.tier;
var tiers = __instance.tts.Def.tiers;
var sum = tiers.Sum();
var remainingTiers = Settings.MaxTiers - sum;
__result = tier + remainingTiers;
if (__result > 5)
{
__result = 5;
}
__result = 5;
}
}
}
Expand All @@ -30,10 +29,10 @@ internal static void Postfix(UpgradeObject __instance, ref int __result)
internal class TowerSelectionMenu_IsUpgradePathClosed
{
[HarmonyPostfix]
internal static void Postfix(TowerSelectionMenu __instance, int path, ref bool __result)
internal static void Postfix(TowerSelectionMenu __instance, int path, ref bool __result, ref bool __runOriginal)
{
if (__instance.selectedTower == null) return;
if (__instance.selectedTower == null || !__runOriginal) return;

var towerModel = __instance.selectedTower.Def;
var blockBeastHandler = towerModel.baseId == TowerType.BeastHandler &&
towerModel.tiers.Count(t => t > 0) >= 2 &&
Expand All @@ -44,7 +43,7 @@ internal static void Postfix(TowerSelectionMenu __instance, int path, ref bool _
}
}
}

/// <summary>
/// Fix v38.1 inlining of TowerSelectionMenu.IsUpgradePathClosed method
/// </summary>
Expand All @@ -58,13 +57,14 @@ private static bool Prefix(UpgradeObject __instance, int path, bool upgradeClick
{
__instance.upgradeButton.SetUpgradeModel(null);
}

__instance.CheckLocked();
var maxTier = __instance.CheckBlockedPath();
var maxTierRestricted = __instance.CheckRestrictedPath();
__instance.SetTier(__instance.tier, maxTier, maxTierRestricted);
__instance.currentUpgrade.UpdateVisuals();
__instance.upgradeButton.UpdateVisuals(path, upgradeClicked);

return false;
}
}
Expand Down

0 comments on commit ba1168b

Please sign in to comment.