示例#1
0
    protected void KillBuff(int buffID, long casterID, long targetID, int fromSkillLevel, bool isCommunicateMix)
    {
        Buff         buffDataByID = LocalAgent.GetBuffDataByID(buffID);
        EntityParent entityByID   = LocalAgent.GetEntityByID(casterID);
        EntityParent entityByID2  = LocalAgent.GetEntityByID(targetID);

        switch (buffDataByID.type)
        {
        case 1:
            LocalBattleBuffCalculatorDamageHandler.KillBuff(buffID, casterID, targetID, fromSkillLevel, isCommunicateMix);
            break;

        case 2:
            LocalBattleBuffCalculatorTreatHandler.KillBuff(buffID, casterID, targetID, fromSkillLevel, isCommunicateMix);
            break;

        case 3:
            LocalBattleBuffTauntHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 4:
            LocalBattleBuffFixHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 5:
            LocalBattleBuffStaticHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 6:
            LocalBattleBuffShiftHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 7:
            LocalBattleBuffChangeAttrsHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 8:
            LocalBattleBuffSuperArmorHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 9:
            LocalBattleBuffDrainHandler.KillBuff(buffID, casterID, targetID, fromSkillLevel, isCommunicateMix);
            break;

        case 10:
            LocalBattleBuffIgnoreFormulaHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 11:
            LocalBattleBuffCloseRendererHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 12:
            LocalBattleBuffMoveCastHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 13:
            LocalBattleBuffFilterHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 14:
            LocalBattleBuffDizzyHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 15:
            LocalBattleBuffUnconspicuousHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 16:
            LocalBattleBuffAuraHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 17:
            LocalBattleBuffWeakHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 18:
            LocalBattleBuffIncurableHandler.KillBuff(buffDataByID, entityByID, entityByID2, fromSkillLevel, isCommunicateMix);
            break;

        case 19:
            LocalBattleBuffCalculatorTreat2Handler.KillBuff(buffID, casterID, targetID, fromSkillLevel, isCommunicateMix);
            break;
        }
        if (buffDataByID.tempSkill > 0)
        {
            LocalBattleProtocolSimulator.SendRemoveSkill(targetID, buffDataByID.tempSkill);
        }
    }
示例#2
0
    protected void HandleBuff(Buff buffData, EntityParent caster, EntityParent target, int fromSkillID, int fromSkillLevel, XDict <GameData.AttrType, BattleSkillAttrAdd> fromSkillAttrChange, bool isCommunicateMix = false)
    {
        if (buffData.tempSkill > 0)
        {
            this.AddSkill(target.ID, 0, buffData.tempSkill, 1);
        }
        switch (buffData.type)
        {
        case 1:
            if (buffData.immediateEffect == 1)
            {
                LocalBattleBuffCalculatorDamageHandler.HandleBuff(buffData, caster, target, fromSkillID, fromSkillLevel, fromSkillAttrChange, isCommunicateMix);
            }
            break;

        case 2:
            if (buffData.immediateEffect == 1)
            {
                LocalBattleBuffCalculatorTreatHandler.HandleBuff(buffData, caster, target, fromSkillID, fromSkillLevel, fromSkillAttrChange, isCommunicateMix);
            }
            break;

        case 3:
            LocalBattleBuffTauntHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 4:
            LocalBattleBuffFixHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 5:
            LocalBattleBuffStaticHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 6:
            LocalBattleBuffShiftHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 7:
            LocalBattleBuffChangeAttrsHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 8:
            LocalBattleBuffSuperArmorHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 9:
            if (buffData.immediateEffect == 1)
            {
                LocalBattleBuffDrainHandler.HandleBuff(buffData, caster, target, fromSkillID, fromSkillLevel, fromSkillAttrChange, isCommunicateMix);
            }
            break;

        case 10:
            LocalBattleBuffIgnoreFormulaHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 11:
            LocalBattleBuffCloseRendererHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 12:
            LocalBattleBuffMoveCastHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 13:
            LocalBattleBuffFilterHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 14:
            LocalBattleBuffDizzyHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 15:
            LocalBattleBuffUnconspicuousHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 16:
            LocalBattleBuffAuraHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 17:
            LocalBattleBuffWeakHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 18:
            LocalBattleBuffIncurableHandler.HandleBuff(buffData, caster, target, fromSkillLevel);
            break;

        case 19:
            if (buffData.immediateEffect == 1)
            {
                LocalBattleBuffCalculatorTreat2Handler.HandleBuff(buffData, caster, target, fromSkillID, fromSkillLevel, fromSkillAttrChange, isCommunicateMix);
            }
            break;
        }
    }