static void Postfix(MoraleTooltipData __instance, SimGameState sim, int moraleLevel) { try { SimGameState simGameState = sim ?? UnityGameInstance.BattleTechGame.Simulation; if (simGameState == null) { return; } // Get //BaseDescriptionDef levelDescription = (BaseDescriptionDef)AccessTools.Property(typeof(MoraleTooltipData), "levelDescription").GetValue(__instance, null); string levelDescriptionName = "Morale: " + simGameState.GetDescriptorForMoraleLevel(moraleLevel); string levelDescriptionDetails = "At this level of morale, you will gain " + __instance.resolvePerTurn + " Resolve points per round of battle."; //Logger.Debug("[MoraleTooltipData_Constructor_POSTFIX] levelDescriptionName: " + levelDescriptionName); //Logger.Debug("[MoraleTooltipData_Constructor_POSTFIX] levelDescriptionDetails: " + levelDescriptionDetails); BaseDescriptionDef customLevelDescription = new BaseDescriptionDef("TooltipMoraleCustom", levelDescriptionName, levelDescriptionDetails, ""); // Set //BaseDescriptionDef levelDescription = AccessTools.Property(typeof(MoraleTooltipData), "levelDescription").SetValue(__instance, customLevelDescription, null); new Traverse(__instance).Property("levelDescription").SetValue(customLevelDescription); } catch (Exception e) { Logger.Error(e); } }