public DeathListTracker(string faction) { LogDebug("DeathListTracker ctor: " + faction); this.faction = faction; factionDef = sim.GetFactionDef(faction); // TODO comment this foreach (var factionNames in IncludedFactions) { var def = sim.GetFactionDef(factionNames); if (!IncludedFactions.Contains(def.FactionValue.Name)) { continue; } if (factionDef != def && factionDef.Enemies.Contains(def.FactionValue.Name)) { deathList.Add(def.FactionValue.Name, Settings.KLValuesEnemies); } else if (factionDef != def && factionDef.Allies.Contains(def.FactionValue.Name)) { deathList.Add(def.FactionValue.Name, Settings.KLValueAllies); } else if (factionDef != def) { deathList.Add(def.FactionValue.Name, Settings.KLValuesNeutral); } } }
static void Postfix(SimGameState __instance, ref Contract contract) { var MRBRep = __instance.GetRawReputation(__instance.GetFactionDef("MercenaryReviewBoard").FactionValue); float initialCV = (float)contract.InitialContractValue; int newInitialContractValue = (int)(initialCV + initialCV * (MRBRep / __instance.Constants.Story.MRBRepMaxCap)); Traverse.Create(contract).Property("InitialContractValue").SetValue(newInitialContractValue); }