예제 #1
0
 public void RemoveSkill(long targetID, int skillID)
 {
     if (LocalAgent.GetEntityByID(targetID).IsFuse&& this.fuseStateTable.ContainsKey(targetID))
     {
         this.fuseStateTable[targetID].skill.Remove(skillID);
     }
     LocalBattleProtocolSimulator.SendRemoveSkill(targetID, skillID);
 }
예제 #2
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);
        }
    }