Ejemplo n.º 1
0
        public override void ShowBattleResults()
        {
            if (TutorialPhase.Instance.TutorialQuestPhase != TutorialQuestPhase.Finalized || Mission.Current.Mode == MissionMode.Conversation || (Mission.Current.Mode == MissionMode.StartUp || Mission.Current.CombatType == Mission.MissionCombatType.ArenaCombat))
            {
                return;
            }
            int num1 = this.totalKillCount();

            if (num1 <= 0)
            {
                return;
            }
            float f = (float)DSBattleLogic.Percentile((IEnumerable <float>) this.kill_counts(), (double)this._ang_instance.outperform_percentile);

            foreach (Agent activeAgent in Mission.Current.PlayerTeam.ActiveAgents)
            {
                if (!activeAgent.IsHero)
                {
                    CharacterObject characterObject = CharacterObject.Find(activeAgent.Character.StringId);
                    if (MobileParty.MainParty.MemberRoster.Contains(characterObject))
                    {
                        int num2 = !characterObject.IsArcher ? (!characterObject.IsMounted ? this._ang_instance.inf_kill_threshold : this._ang_instance.cav_kill_threshold) : this._ang_instance.ran_kill_threshold;
                        if (((double)this._ang_instance.outperform_percentile <= 0.0 ? 1 : (activeAgent.KillCount > MathF.Ceiling(f) ? 1 : 0)) != 0 && activeAgent.KillCount >= num2 && AddNewGuy.is_soldier_qualified(characterObject))
                        {
                            this._ang_instance.nominations.Add(characterObject);
                            this._ang_instance.killcounts.Add(activeAgent.KillCount);
                        }
                    }
                }
            }
            this._ang_instance.begin_battle_size = num1;
            this._ang_instance.OnPCBattleEnded_results();
        }