internal NonDirectDamageEvent(CombatItem evtcItem, AgentData agentData, SkillData skillData) : base(evtcItem, agentData, skillData)
        {
            Damage = evtcItem.BuffDmg;
            ArcDPSEnums.ConditionResult result = ArcDPSEnums.GetConditionResult(evtcItem.Result);

            IsAbsorbed = result == ArcDPSEnums.ConditionResult.InvulByBuff ||
                         result == ArcDPSEnums.ConditionResult.InvulByPlayerSkill1 ||
                         result == ArcDPSEnums.ConditionResult.InvulByPlayerSkill2 ||
                         result == ArcDPSEnums.ConditionResult.InvulByPlayerSkill3;
            HasHit       = result == ArcDPSEnums.ConditionResult.ExpectedToHit;
            ShieldDamage = evtcItem.IsShields > 0 ? Damage : 0;
        }
예제 #2
0
        public static void AddIndirectDamageEvent(CombatItem damageEvent, List <AbstractHealthDamageEvent> hpDamage, List <AbstractBreakbarDamageEvent> brkBarDamage, AgentData agentData, SkillData skillData)
        {
            ArcDPSEnums.ConditionResult result = ArcDPSEnums.GetConditionResult(damageEvent.Result);
            switch (result)
            {
            /*case ArcDPSEnums.ConditionResult.BreakbarDamage:
             *  brkBarDamage.Add(new NonDirectBreakbarDamageEvent(c, agentData, skillData));
             *  break;*/
            case ArcDPSEnums.ConditionResult.Unknown:
                break;

            default:
                hpDamage.Add(new NonDirectHealthDamageEvent(damageEvent, agentData, skillData, result));
                break;
            }
        }