Example #1
0
            private static void Prefix(Campaign.Battle battle, EBattleResult result)
            {
                RewardSettings rewardSettings = null;

                switch (result)
                {
                case EBattleResult.Victory:
                    rewardSettings = battle.battleSettings.victoryRewards;
                    break;

                case EBattleResult.Draw:
                    rewardSettings = battle.battleSettings.drawRewards;
                    break;

                case EBattleResult.Defeat:
                    rewardSettings = battle.battleSettings.defeatRewards;
                    break;

                case EBattleResult.Passed:
                    rewardSettings = battle.battleSettings.passedRewards;
                    break;
                }
                if (rewardSettings == null)
                {
                    return;
                }
                RewardSettings.BattleReward[] rewards = rewardSettings.rewards;
                for (int i = 0; i < rewards.Length; i++)
                {
                    RewardSettings.BattleReward battleReward = rewards[i];
                    if (battleReward.item.Type == ERewardType.Gold || battleReward.item.Type == ERewardType.Reputation || battleReward.item.Type == ERewardType.CareerPoints)
                    {
                        if (battleReward.item.Type == ERewardType.Gold)
                        {
                            battleReward.count *= (Main._settings.CashRewMult - 1);
                        }
                        if (battleReward.item.Type == ERewardType.Reputation)
                        {
                            battleReward.count *= (Main._settings.ReputationRewMult - 1);
                        }
                        if (battleReward.item.Type == ERewardType.Medal)
                        {
                            battleReward.count *= (Main._settings.CareerPointsRewMult - 1);
                        }

                        battleReward.Transfer(false, battle.NavalDifficulty);
                    }
                }
                if (battle.HasBonusReward)
                {
                    rewardSettings = battle.battleSettings.bonusRewards;
                    if (rewardSettings != null)
                    {
                        rewards = rewardSettings.rewards;
                        for (int j = 0; j < rewards.Length; j++)
                        {
                            RewardSettings.BattleReward battleReward2 = rewards[j];
                            if (battleReward2.item.Type == ERewardType.Gold || battleReward2.item.Type == ERewardType.Reputation || battleReward2.item.Type == ERewardType.Medal)
                            {
                                if (battleReward2.item.Type == ERewardType.Gold)
                                {
                                    battleReward2.count *= (Main._settings.CashRewMult - 1);
                                }
                                if (battleReward2.item.Type == ERewardType.Reputation)
                                {
                                    battleReward2.count *= (Main._settings.ReputationRewMult - 1);
                                }
                                if (battleReward2.item.Type == ERewardType.Medal)
                                {
                                    battleReward2.count *= (Main._settings.CareerPointsRewMult - 1);
                                }

                                battleReward2.Transfer(false, EDifficulty.None);
                            }
                        }
                    }
                }
            }