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 GetStratModifierTotal( GameDatabase gamedb, StratModifiers sm, int playerId, int modValue) { GovernmentInfo governmentInfo = gamedb.GetGovernmentInfo(playerId); GovEffectCollection effectCollection; if (governmentInfo != null && this.DiplomaticEffects.TryGetValue(governmentInfo.CurrentType, out effectCollection)) { return(effectCollection.StratEffects.GetResultingStratModifierValue(gamedb, sm, playerId, modValue)); } return(modValue); }