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); } }
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; } }