|
|
@ -528,7 +528,7 @@ public enum CombatManager { |
|
|
|
float atr; |
|
|
|
float atr; |
|
|
|
int minDamage, maxDamage; |
|
|
|
int minDamage, maxDamage; |
|
|
|
int errorTrack = 0; |
|
|
|
int errorTrack = 0; |
|
|
|
|
|
|
|
int subTrack = 0; |
|
|
|
try { |
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
if (ac == null) |
|
|
|
if (ac == null) |
|
|
@ -824,31 +824,39 @@ public enum CombatManager { |
|
|
|
if (tarAc.isSit()) |
|
|
|
if (tarAc.isSit()) |
|
|
|
damage *= 2.5f; //increase damage if sitting
|
|
|
|
damage *= 2.5f; //increase damage if sitting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subTrack = 1; |
|
|
|
|
|
|
|
|
|
|
|
if (tarAc.getObjectType() == GameObjectType.Mob) { |
|
|
|
if (tarAc.getObjectType() == GameObjectType.Mob) { |
|
|
|
Mob mobTarget = (Mob) tarAc; |
|
|
|
Mob mobTarget = (Mob) tarAc; |
|
|
|
if (ac.getObjectType().equals(GameObjectType.PlayerCharacter)) { |
|
|
|
if (ac.getObjectType().equals(GameObjectType.PlayerCharacter)) { |
|
|
|
|
|
|
|
subTrack = 2; |
|
|
|
if (mobTarget.playerAgroMap.containsKey(ac.getObjectUUID())) { |
|
|
|
if (mobTarget.playerAgroMap.containsKey(ac.getObjectUUID())) { |
|
|
|
|
|
|
|
subTrack = 3; |
|
|
|
float hateValue = damage + mobTarget.playerAgroMap.get(ac.getObjectUUID()); |
|
|
|
float hateValue = damage + mobTarget.playerAgroMap.get(ac.getObjectUUID()); |
|
|
|
mobTarget.playerAgroMap.put(ac.getObjectUUID(), hateValue); |
|
|
|
mobTarget.playerAgroMap.put(ac.getObjectUUID(), hateValue); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
mobTarget.playerAgroMap.put(ac.getObjectUUID(), damage); |
|
|
|
mobTarget.playerAgroMap.put(ac.getObjectUUID(), damage); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
subTrack = 4; |
|
|
|
} |
|
|
|
} |
|
|
|
mobTarget.handleDirectAggro(ac); |
|
|
|
mobTarget.handleDirectAggro(ac); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (tarAc.getHealth() > 0) |
|
|
|
if (tarAc.getHealth() > 0) |
|
|
|
d = tarAc.modifyHealth(-damage, ac, false); |
|
|
|
d = tarAc.modifyHealth(-damage, ac, false); |
|
|
|
|
|
|
|
subTrack = 5; |
|
|
|
} else if (target.getObjectType().equals(GameObjectType.Building)) { |
|
|
|
} else if (target.getObjectType().equals(GameObjectType.Building)) { |
|
|
|
|
|
|
|
subTrack = 6; |
|
|
|
if (BuildingManager.getBuildingFromCache(target.getObjectUUID()) == null) { |
|
|
|
if (BuildingManager.getBuildingFromCache(target.getObjectUUID()) == null) { |
|
|
|
ac.setCombatTarget(null); |
|
|
|
ac.setCombatTarget(null); |
|
|
|
|
|
|
|
subTrack = 7; |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
subTrack = 8; |
|
|
|
if (target.getHealth() > 0) |
|
|
|
if (target.getHealth() > 0) |
|
|
|
d = ((Building) target).modifyHealth(-damage, ac); |
|
|
|
d = ((Building) target).modifyHealth(-damage, ac); |
|
|
|
|
|
|
|
subTrack = 9; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
errorTrack = 13; |
|
|
|
errorTrack = 13; |
|
|
@ -949,7 +957,7 @@ public enum CombatManager { |
|
|
|
ac.cancelOnAttack(); |
|
|
|
ac.cancelOnAttack(); |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
} catch (Exception e) { |
|
|
|
Logger.error(ac.getName() + ' ' + errorTrack + ' ' + e); |
|
|
|
Logger.error(ac.getName() + ' ' + "ErrorTrack: " + errorTrack + " ErrorSubTrack = " + subTrack + e); |
|
|
|
Logger.error(e.getMessage()); |
|
|
|
Logger.error(e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|