Exemple #1
0
 static void Prefix(KingdomSettlementItemVM ____currentSelectedSettlement, ref int value)
 {
     if (____currentSelectedSettlement != null &&
         ____currentSelectedSettlement.Settlement.OwnerClan == Clan.PlayerClan)
     {
         value = 0;
     }
 }
Exemple #2
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);
 }
Exemple #3
0
 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");
     }
 }