Exemple #1
0
        private void EIBuffParse(List <Player> players, SkillData skillData, FightData fightData)
        {
            var toAdd = new List <AbstractBuffEvent>();

            WarriorHelper.AttachMasterToBanners(players, _buffData, _castDataById);
            foreach (Player p in players)
            {
                if (p.Prof == "Weaver")
                {
                    toAdd = WeaverHelper.TransformWeaverAttunements(GetBuffDataByDst(p.AgentItem), p.AgentItem, skillData);
                }
                if (p.Prof == "Elementalist" || p.Prof == "Tempest")
                {
                    ElementalistHelper.RemoveDualBuffs(GetBuffDataByDst(p.AgentItem), skillData);
                }
            }
            toAdd.AddRange(fightData.Logic.SpecialBuffEventProcess(_buffDataByDst, _buffData, skillData));
            var buffIDsToSort    = new HashSet <long>();
            var buffAgentsToSort = new HashSet <AgentItem>();

            foreach (AbstractBuffEvent bf in toAdd)
            {
                if (_buffDataByDst.TryGetValue(bf.To, out List <AbstractBuffEvent> list1))
                {
                    list1.Add(bf);
                }
                else
                {
                    _buffDataByDst[bf.To] = new List <AbstractBuffEvent>()
                    {
                        bf
                    };
                }
                buffAgentsToSort.Add(bf.To);
                if (_buffData.TryGetValue(bf.BuffID, out List <AbstractBuffEvent> list2))
                {
                    list2.Add(bf);
                }
                else
                {
                    _buffData[bf.BuffID] = new List <AbstractBuffEvent>()
                    {
                        bf
                    };
                }
                buffIDsToSort.Add(bf.BuffID);
            }
            foreach (long buffID in buffIDsToSort)
            {
                _buffData[buffID].Sort((x, y) => x.Time.CompareTo(y.Time));
            }
            foreach (AgentItem a in buffAgentsToSort)
            {
                _buffDataByDst[a].Sort((x, y) => x.Time.CompareTo(y.Time));
            }
        }
Exemple #2
0
 private void EIExtraEventProcess(List <Player> players, SkillData skillData, FightData fightData)
 {
     EIBuffParse(players, skillData, fightData);
     EIDamageParse(skillData, fightData);
     EICastParse(players, skillData);
     EIStatusParse();
     // master attachements
     WarriorHelper.AttachMasterToWarriorBanners(players, _buffData, _castDataById);
     EngineerHelper.AttachMasterToEngineerTurrets(players, _damageDataById, _castDataById);
     RangerHelper.AttachMasterToRangerGadgets(players, _damageDataById, _castDataById);
     ProfHelper.AttachMasterToRacialGadgets(players, _damageDataById, _castDataById);
 }
 private void EIExtraEventProcess(List <Player> players, SkillData skillData, AgentData agentData, FightData fightData, ParserController operation)
 {
     operation.UpdateProgressWithCancellationCheck("Creating Custom Buff Events");
     EIBuffParse(players, skillData, fightData);
     operation.UpdateProgressWithCancellationCheck("Creating Custom Damage Events");
     EIDamageParse(skillData, fightData);
     operation.UpdateProgressWithCancellationCheck("Creating Custom Cast Events");
     EICastParse(players, skillData, agentData);
     operation.UpdateProgressWithCancellationCheck("Creating Custom Status Events");
     EIStatusParse();
     // master attachements
     operation.UpdateProgressWithCancellationCheck("Attaching Banners to Warriors");
     WarriorHelper.AttachMasterToWarriorBanners(players, _buffData, _castDataById);
     operation.UpdateProgressWithCancellationCheck("Attaching Turrets to Engineers");
     EngineerHelper.AttachMasterToEngineerTurrets(players, _damageDataById, _castDataById);
     operation.UpdateProgressWithCancellationCheck("Attaching Ranger Gadgets to Rangers");
     RangerHelper.AttachMasterToRangerGadgets(players, _damageDataById, _castDataById);
     operation.UpdateProgressWithCancellationCheck("Attaching Racial Gadgets to Players");
     ProfHelper.AttachMasterToRacialGadgets(players, _damageDataById, _castDataById);
 }