forked from MagicBane/Server
combat manager error tracking
This commit is contained in:
@@ -1009,23 +1009,17 @@ public enum CombatManager {
|
|||||||
//handle damage shields
|
//handle damage shields
|
||||||
|
|
||||||
if (ac.isAlive() && tarAc != null && tarAc.isAlive())
|
if (ac.isAlive() && tarAc != null && tarAc.isAlive())
|
||||||
|
try {
|
||||||
handleDamageShields(ac, tarAc, damage);
|
handleDamageShields(ac, tarAc, damage);
|
||||||
|
}catch(Exception e){
|
||||||
//handle mob hate values
|
Logger.error(e.getMessage());
|
||||||
if(target.getObjectType().equals(GameObjectType.Mob) && ac.getObjectType().equals(GameObjectType.PlayerCharacter)){
|
|
||||||
Mob mobTarget = (Mob)target;
|
|
||||||
if(mobTarget.hate_values.containsKey((PlayerCharacter) ac)){
|
|
||||||
mobTarget.hate_values.put((PlayerCharacter) ac,mobTarget.hate_values.get((PlayerCharacter) ac) + damage);
|
|
||||||
}else{
|
|
||||||
mobTarget.hate_values.put((PlayerCharacter) ac, damage);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Apply Weapon power effect if any.
|
// Apply Weapon power effect if any.
|
||||||
// don't try to apply twice if dual wielding.
|
// don't try to apply twice if dual wielding.
|
||||||
|
try {
|
||||||
if (ac.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || wb.isTwoHanded())) {
|
if (ac.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || wb.isTwoHanded())) {
|
||||||
dpj = ((PlayerCharacter) ac).getWeaponPower();
|
dpj = ((PlayerCharacter) ac).getWeaponPower();
|
||||||
|
|
||||||
@@ -1037,33 +1031,38 @@ public enum CombatManager {
|
|||||||
PlayerBonuses bonus = ac.getBonuses();
|
PlayerBonuses bonus = ac.getBonuses();
|
||||||
float attackRange = getWeaponRange(wb, bonus);
|
float attackRange = getWeaponRange(wb, bonus);
|
||||||
|
|
||||||
if(ac.isMoving()){
|
if (ac.isMoving()) {
|
||||||
attackRange += (ac.getSpeed() * 0.1f);
|
attackRange += (ac.getSpeed() * 0.1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(AbstractWorldObject.IsAbstractCharacter(target)) {
|
if (AbstractWorldObject.IsAbstractCharacter(target)) {
|
||||||
AbstractCharacter tarAc = (AbstractCharacter) target;
|
AbstractCharacter tarAc = (AbstractCharacter) target;
|
||||||
if(tarAc != null && tarAc.isMoving()){
|
if (tarAc != null && tarAc.isMoving()) {
|
||||||
attackRange += (tarAc.getSpeed() * 0.1f);
|
attackRange += (tarAc.getSpeed() * 0.1f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(specialCaseHitRoll(dpj.getPowerToken())) {
|
if (specialCaseHitRoll(dpj.getPowerToken())) {
|
||||||
if(hitLanded) {
|
if (hitLanded) {
|
||||||
dpj.attack(target, attackRange);
|
dpj.attack(target, attackRange);
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
dpj.attack(target, attackRange);
|
dpj.attack(target, attackRange);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
((PlayerCharacter) ac).setWeaponPower(null);
|
((PlayerCharacter) ac).setWeaponPower(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}catch(Exception e) {
|
||||||
|
Logger.error(e.getMessage());
|
||||||
|
}
|
||||||
|
try {
|
||||||
if (target.getObjectType() == GameObjectType.Mob)
|
if (target.getObjectType() == GameObjectType.Mob)
|
||||||
((Mob) target).handleDirectAggro(ac);
|
((Mob) target).handleDirectAggro(ac);
|
||||||
|
}catch(Exception e){
|
||||||
|
Logger.error(e.getMessage());
|
||||||
|
}
|
||||||
errorTrack = 17;
|
errorTrack = 17;
|
||||||
|
|
||||||
//miss, Send miss message
|
//miss, Send miss message
|
||||||
|
|||||||
Reference in New Issue
Block a user