Rework customer, decoration bonuses, and walking speed multipliers
This commit is contained in:
@@ -119,26 +119,30 @@ namespace BlacksmithMaster {
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(StaffModel), "RefreshGlobalModifiers")]
|
||||
public class StaffModel_RefreshGlobalModifiers {
|
||||
public static void Postfix(StaffModel __instance) {
|
||||
var instanceTrav = Traverse.Create(__instance);
|
||||
[HarmonyPatch(typeof(TavernModel), "GetNumberOfCustomersPerDay")]
|
||||
public class TavernModel_GetNumberOfCustomersPerDay {
|
||||
public static void Postfix(ref int __result) {
|
||||
Main.LogDebug("Original number of customers per day: " + __result);
|
||||
__result = (int)(__result * Main.dailyCustomerMultiplier.Value + Main.dailyCustomerOffset.Value);
|
||||
Main.LogDebug("Modified number of customers per day: " + __result);
|
||||
}
|
||||
}
|
||||
|
||||
var globalCustomersPerDayMultiplierField = instanceTrav.Field("GlobalCustomersPerDayMultiplier");
|
||||
var globalDecorationAdditionMultiplierField = instanceTrav.Field("GlobalDecorationAdditionMultiplier");
|
||||
var globalSpeedModifierField = instanceTrav.Field("GlobalSpeedModifier");
|
||||
[HarmonyPatch(typeof(TavernModel), "GetBonusPercentageFromDecorations")]
|
||||
public class TavernModel_GetBonusPercentageFromDecorations {
|
||||
public static void Postfix(ref int __result) {
|
||||
Main.LogDebug("Original bonus percentage from decorations: " + __result);
|
||||
__result = (int)(__result * Main.decorationAdditionMultiplier.Value + Main.decorationAdditionOffset.Value);
|
||||
Main.LogDebug("Modified bonus percentage from decorations: " + __result);
|
||||
}
|
||||
}
|
||||
|
||||
Main.LogDebug("Original daily customer: " + globalCustomersPerDayMultiplierField.GetValue<float>());
|
||||
globalCustomersPerDayMultiplierField.SetValue(globalCustomersPerDayMultiplierField.GetValue<float>() * Main.dailyCustomerMultiplier.Value + Main.dailyCustomerOffset.Value);
|
||||
Main.LogDebug("Modified daily customer: " + globalCustomersPerDayMultiplierField.GetValue<float>());
|
||||
|
||||
Main.LogDebug("Original decoration addition: " + globalDecorationAdditionMultiplierField.GetValue<float>());
|
||||
globalDecorationAdditionMultiplierField.SetValue(globalDecorationAdditionMultiplierField.GetValue<float>() * Main.decorationAdditionMultiplier.Value + Main.decorationAdditionOffset.Value);
|
||||
Main.LogDebug("Modified decoration addition: " + globalDecorationAdditionMultiplierField.GetValue<float>());
|
||||
|
||||
Main.LogDebug("Original global speed: " + globalSpeedModifierField.GetValue<float>());
|
||||
globalSpeedModifierField.SetValue(globalSpeedModifierField.GetValue<float>() * Main.globalSpeedMultiplier.Value + Main.globalSpeedOffset.Value);
|
||||
Main.LogDebug("Modified global speed: " + globalSpeedModifierField.GetValue<float>());
|
||||
[HarmonyPatch(typeof(Economy), "GetWalkingSpeed")]
|
||||
public class Economy_GetWalkingSpeed {
|
||||
public static void Postfix(ref float __result) {
|
||||
Main.LogDebug("Original walking speed: " + __result);
|
||||
__result = __result * Main.globalSpeedMultiplier.Value + Main.globalSpeedOffset.Value;
|
||||
Main.LogDebug("Modified walking speed: " + __result);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user