Пример #1
0
        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);
        }
Пример #2
0
        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);
        }