public static void Postfix(ref Village village, ref float __result) { if (__result > 0) { float reduceInfluenceRate = VillageTaxRateMemory.CalculateAddHealthRate(village); __result = __result * reduceInfluenceRate; } }
private static float CalculateVillageExemptFromTax(Clan clan, Village village) { int baseTax = village.VillageState == Village.VillageStates.Looted || village.VillageState == Village.VillageStates.BeingRaided ? 0 : (int)((double)village.TradeTaxAccumulated / (double)5f); float tax = baseTax; if (clan.Kingdom != null && clan.Kingdom.ActivePolicies.Contains(DefaultPolicies.LandTax)) { tax = tax * 0.95f; } float reduceRate = VillageTaxRateMemory.GetReduceCoinRate(village); return(tax * reduceRate); }
public static void Apply(Village village, int reduceRate) { VillageTaxRateMemory.AddVillageRate(village, reduceRate); }