public int GetResultingStratModifierValue( GameDatabase gamedb, StratModifiers sm, int player, int modValue) { KeyValuePair <EffectAvailability, float> keyValuePair; if (this.StratEffects.TryGetValue(sm, out keyValuePair)) { if (keyValuePair.Key != EffectAvailability.All) { bool flag = GovernmentEffects.IsPlayerAtWar(gamedb, player); if (flag && keyValuePair.Key == EffectAvailability.War || !flag && keyValuePair.Key == EffectAvailability.Peace) { modValue += (int)keyValuePair.Value; } } else { modValue += (int)keyValuePair.Value; } } return(modValue); }
public int GetResultingMoral(GameDatabase gamedb, MoralEvent me, int player, int moral) { bool flag1 = false; bool flag2 = false; if (this.AllMoralEffects.Keys.Any <EffectAvailability>((Func <EffectAvailability, bool>)(x => { if (x != EffectAvailability.Peace) { return(x == EffectAvailability.War); } return(true); }))) { flag1 = GovernmentEffects.IsPlayerAtWar(gamedb, player); flag2 = true; if (flag1 && this.AllMoralEffects.ContainsKey(EffectAvailability.War)) { moral = this.GetValueWithImmunity(this.AllMoralEffects[EffectAvailability.War], moral); } else if (!flag1 && this.AllMoralEffects.ContainsKey(EffectAvailability.Peace)) { moral = this.GetValueWithImmunity(this.AllMoralEffects[EffectAvailability.Peace], moral); } } Dictionary <EffectAvailability, GovMoralEffects.MoralEffect> dictionary = new Dictionary <EffectAvailability, GovMoralEffects.MoralEffect>(); if (this.MoralEffects.TryGetValue(me, out dictionary)) { if (dictionary.Keys.Any <EffectAvailability>((Func <EffectAvailability, bool>)(x => { if (x != EffectAvailability.Peace) { return(x == EffectAvailability.War); } return(true); }))) { if (!flag2) { flag1 = GovernmentEffects.IsPlayerAtWar(gamedb, player); } if (flag1 && dictionary.ContainsKey(EffectAvailability.War)) { moral = this.GetValueWithImmunity(dictionary[EffectAvailability.War], moral); } else if (!flag1 && dictionary.ContainsKey(EffectAvailability.Peace)) { moral = this.GetValueWithImmunity(dictionary[EffectAvailability.Peace], moral); } } else if (dictionary.ContainsKey(EffectAvailability.All)) { moral = this.GetValueWithImmunity(dictionary[EffectAvailability.All], moral); } } return(moral); }