forked from MagicBane/Server
attack delay catching
This commit is contained in:
@@ -2,6 +2,7 @@ package engine.net.client.handlers;
|
||||
|
||||
import engine.gameManager.BuildingManager;
|
||||
import engine.gameManager.CombatManager;
|
||||
import engine.jobs.AttackJob;
|
||||
import engine.mbEnums;
|
||||
import engine.net.client.ClientConnection;
|
||||
import engine.net.client.msg.AttackCmdMsg;
|
||||
@@ -82,7 +83,25 @@ public class AttackCmdMsgHandler extends AbstractClientMsgHandler {
|
||||
if (playerCharacter.isSit())
|
||||
CombatManager.toggleSit(false, origin);
|
||||
|
||||
CombatManager.combatCycle(playerCharacter, target);
|
||||
long addedDelay = 0;
|
||||
//check if we are changing targets, cancel outstanding jobs if so
|
||||
if (playerCharacter.getTimers().containsKey("Attack" + mbEnums.EquipSlotType.RHELD)) {
|
||||
AttackJob ajR = ((AttackJob)playerCharacter.getTimers().get("Attack" + mbEnums.EquipSlotType.RHELD).getJob());
|
||||
if(!ajR.target.equals(target)){
|
||||
playerCharacter.getTimers().get("Attack" + mbEnums.EquipSlotType.RHELD).cancelJob();
|
||||
addedDelay = ajR.getStopTime() - System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
|
||||
if (playerCharacter.getTimers().containsKey("Attack" + mbEnums.EquipSlotType.LHELD)) {
|
||||
AttackJob ajL = ((AttackJob)playerCharacter.getTimers().get("Attack" + mbEnums.EquipSlotType.LHELD).getJob());
|
||||
if(!ajL.target.equals(target)){
|
||||
playerCharacter.getTimers().get("Attack" + mbEnums.EquipSlotType.LHELD).cancelJob();
|
||||
addedDelay = ajL.getStopTime() - System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
|
||||
CombatManager.combatCycle(playerCharacter, target, addedDelay);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user