static void Prefix(KingdomSettlementItemVM ____currentSelectedSettlement, ref int value) { if (____currentSelectedSettlement != null && ____currentSelectedSettlement.Settlement.OwnerClan == Clan.PlayerClan) { value = 0; } }
static bool Prefix(KingdomSettlementItemVM ____currentSelectedSettlement) { if (____currentSelectedSettlement.Settlement.OwnerClan == Clan.PlayerClan) { var name = ____currentSelectedSettlement.Settlement.Name; InformationManager.DisplayMessage(new InformationMessage($"You have given away {name}")); ChangeOwnerOfSettlementAction.ApplyBySiege(Clan.PlayerClan.MapFaction.Leader, null, ____currentSelectedSettlement.Settlement); return(false); } return(true); }
public static void SetCurrentSelectedSettlementPatch(KingdomSettlementItemVM settlementItem, KingdomSettlementVM __instance) { try { if (SettingsHelper.SubSystemEnabled(SubSystemType.ElectionCooldownsForPlayer)) { bool HasCooldown = AOCooldownManager.HasDecisionCooldown(new SettlementClaimantPreliminaryDecision(Clan.PlayerClan, settlementItem.Settlement), out float elapsedDaysUntilNow); __instance.CanAnnexCurrentSettlement = __instance.CanAnnexCurrentSettlement && !HasCooldown; __instance.AnnexActionExplanationText += HasCooldown ? "\n" + StringHelper.GetCooldownText(typeof(SettlementClaimantPreliminaryDecision), elapsedDaysUntilNow).ToString() : string.Empty; } } catch (Exception ex) { MethodInfo methodInfo = MethodBase.GetCurrentMethod() as MethodInfo; DebugHelper.HandleException(ex, methodInfo, "Harmony patch for KingdomSettlementVM. SetCurrentSelectedSettlement"); } }