Esempio n. 1
0
 public static void AppHit(Effect effectData, EntityParent caster, EntityParent target, XPoint basePoint, bool isAddEffect)
 {
     if (target == null)
     {
         return;
     }
     if (!isAddEffect && effectData.cycleHit == 0)
     {
         return;
     }
     if (target.IsStatic)
     {
         return;
     }
     if (target.IsEndure)
     {
         return;
     }
     if (target.GetSkillManager() == null)
     {
         return;
     }
     if (string.IsNullOrEmpty(effectData.hitAction))
     {
         return;
     }
     target.GetSkillManager().ClientHandleHit(caster, effectData, basePoint);
 }
 public static void HandleBuff(Buff buffData, EntityParent caster, EntityParent target, int fromSkillLevel)
 {
     LocalBattleBuffPropHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
     target.GetSkillManager().ClientCastSkillByID(buffData.tempSkill);
 }
Esempio n. 3
0
    protected void IntervalHandleBuff(int buffID, long targetID)
    {
        EntityParent entityByID = LocalAgent.GetEntityByID(targetID);

        if (entityByID == null)
        {
            return;
        }
        XDict <int, BuffState> buffListByEntityID = this.GetBuffListByEntityID(targetID);

        if (buffListByEntityID == null)
        {
            return;
        }
        if (buffListByEntityID.Count == 0)
        {
            return;
        }
        if (!buffListByEntityID.ContainsKey(buffID))
        {
            return;
        }
        EntityParent entityByID2 = LocalAgent.GetEntityByID(this.buffStateTable[targetID][buffID].casterID);

        if (entityByID2 == null)
        {
            return;
        }
        Buff     buffDataByID = LocalAgent.GetBuffDataByID(buffID);
        BuffType type         = (BuffType)buffDataByID.type;

        switch (type)
        {
        case BuffType.Aura:
            entityByID.GetSkillManager().ClientCastSkillByID(buffDataByID.tempSkill);
            return;

        case BuffType.Weak:
        case BuffType.Incurable:
IL_83:
            if (type == BuffType.Damage)
            {
                LocalBattleBuffCalculatorDamageHandler.IntervalBuff(buffDataByID, entityByID2, entityByID, this.buffStateTable[targetID][buffID].fromSkillID, this.buffStateTable[targetID][buffID].fromSkillLevel, this.buffStateTable[targetID][buffID].fromSkillAttrChange, this.buffStateTable[targetID][buffID].isCommunicateMix);
                return;
            }
            if (type == BuffType.Theat)
            {
                LocalBattleBuffCalculatorTreatHandler.IntervalBuff(buffDataByID, entityByID2, entityByID, this.buffStateTable[targetID][buffID].fromSkillID, this.buffStateTable[targetID][buffID].fromSkillLevel, this.buffStateTable[targetID][buffID].fromSkillAttrChange, this.buffStateTable[targetID][buffID].isCommunicateMix);
                return;
            }
            if (type != BuffType.Drain)
            {
                return;
            }
            LocalBattleBuffDrainHandler.IntervalBuff(buffDataByID, entityByID2, entityByID, this.buffStateTable[targetID][buffID].fromSkillID, this.buffStateTable[targetID][buffID].fromSkillLevel, this.buffStateTable[targetID][buffID].fromSkillAttrChange, this.buffStateTable[targetID][buffID].isCommunicateMix);
            return;

        case BuffType.Theat2:
            LocalBattleBuffCalculatorTreat2Handler.IntervalBuff(buffDataByID, entityByID2, entityByID, this.buffStateTable[targetID][buffID].fromSkillID, this.buffStateTable[targetID][buffID].fromSkillLevel, this.buffStateTable[targetID][buffID].fromSkillAttrChange, this.buffStateTable[targetID][buffID].isCommunicateMix);
            return;
        }
        goto IL_83;
    }