예제 #1
0
 public ProcEventInfo(Unit actor, Unit actionTarget, Unit procTarget, ProcFlags typeMask, ProcFlagsSpellType spellTypeMask,
                      ProcFlagsSpellPhase spellPhaseMask, ProcFlagsHit hitMask, Spell spell, DamageInfo damageInfo, HealInfo healInfo)
 {
     _actor          = actor;
     _actionTarget   = actionTarget;
     _procTarget     = procTarget;
     _typeMask       = typeMask;
     _spellTypeMask  = spellTypeMask;
     _spellPhaseMask = spellPhaseMask;
     _hitMask        = hitMask;
     _spell          = spell;
     _damageInfo     = damageInfo;
     _healInfo       = healInfo;
 }
예제 #2
0
        public DamageInfo(SpellNonMeleeDamage spellNonMeleeDamage, DamageEffectType damageType, WeaponAttackType attackType, ProcFlagsHit hitMask)
        {
            m_attacker   = spellNonMeleeDamage.attacker;
            m_victim     = spellNonMeleeDamage.target;
            m_damage     = spellNonMeleeDamage.damage;
            m_spellInfo  = Global.SpellMgr.GetSpellInfo(spellNonMeleeDamage.SpellId);
            m_schoolMask = spellNonMeleeDamage.schoolMask;
            m_damageType = damageType;
            m_attackType = attackType;
            m_absorb     = spellNonMeleeDamage.absorb;
            m_resist     = spellNonMeleeDamage.resist;
            m_block      = spellNonMeleeDamage.blocked;
            m_hitMask    = hitMask;

            if (spellNonMeleeDamage.blocked != 0)
            {
                m_hitMask |= ProcFlagsHit.Block;
            }
            if (spellNonMeleeDamage.absorb != 0)
            {
                m_hitMask |= ProcFlagsHit.Absorb;
            }
        }