forked from MagicBane/Server
combat manager error tracking
This commit is contained in:
@@ -1009,61 +1009,60 @@ public enum CombatManager {
|
|||||||
//handle damage shields
|
//handle damage shields
|
||||||
|
|
||||||
if (ac.isAlive() && tarAc != null && tarAc.isAlive())
|
if (ac.isAlive() && tarAc != null && tarAc.isAlive())
|
||||||
handleDamageShields(ac, tarAc, damage);
|
try {
|
||||||
|
handleDamageShields(ac, tarAc, damage);
|
||||||
//handle mob hate values
|
}catch(Exception e){
|
||||||
if(target.getObjectType().equals(GameObjectType.Mob) && ac.getObjectType().equals(GameObjectType.PlayerCharacter)){
|
Logger.error(e.getMessage());
|
||||||
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())) {
|
||||||
|
dpj = ((PlayerCharacter) ac).getWeaponPower();
|
||||||
|
|
||||||
if (ac.getObjectType().equals(GameObjectType.PlayerCharacter) && (mainHand || wb.isTwoHanded())) {
|
if (dpj != null) {
|
||||||
dpj = ((PlayerCharacter) ac).getWeaponPower();
|
|
||||||
|
|
||||||
if (dpj != null) {
|
PowersBase wp = dpj.getPower();
|
||||||
|
|
||||||
PowersBase wp = dpj.getPower();
|
if (wp.requiresHitRoll() == false) {
|
||||||
|
PlayerBonuses bonus = ac.getBonuses();
|
||||||
|
float attackRange = getWeaponRange(wb, bonus);
|
||||||
|
|
||||||
if (wp.requiresHitRoll() == false) {
|
if (ac.isMoving()) {
|
||||||
PlayerBonuses bonus = ac.getBonuses();
|
attackRange += (ac.getSpeed() * 0.1f);
|
||||||
float attackRange = getWeaponRange(wb, bonus);
|
}
|
||||||
|
|
||||||
if(ac.isMoving()){
|
if (AbstractWorldObject.IsAbstractCharacter(target)) {
|
||||||
attackRange += (ac.getSpeed() * 0.1f);
|
AbstractCharacter tarAc = (AbstractCharacter) target;
|
||||||
}
|
if (tarAc != null && tarAc.isMoving()) {
|
||||||
|
attackRange += (tarAc.getSpeed() * 0.1f);
|
||||||
if(AbstractWorldObject.IsAbstractCharacter(target)) {
|
}
|
||||||
AbstractCharacter tarAc = (AbstractCharacter) target;
|
|
||||||
if(tarAc != null && tarAc.isMoving()){
|
|
||||||
attackRange += (tarAc.getSpeed() * 0.1f);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if(specialCaseHitRoll(dpj.getPowerToken())) {
|
if (specialCaseHitRoll(dpj.getPowerToken())) {
|
||||||
if(hitLanded) {
|
if (hitLanded) {
|
||||||
|
dpj.attack(target, attackRange);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
dpj.attack(target, attackRange);
|
dpj.attack(target, attackRange);
|
||||||
}
|
}
|
||||||
}else{
|
} else
|
||||||
dpj.attack(target, attackRange);
|
((PlayerCharacter) ac).setWeaponPower(null);
|
||||||
}
|
}
|
||||||
} else
|
|
||||||
((PlayerCharacter) ac).setWeaponPower(null);
|
|
||||||
}
|
}
|
||||||
|
}catch(Exception e) {
|
||||||
|
Logger.error(e.getMessage());
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if (target.getObjectType() == GameObjectType.Mob)
|
||||||
|
((Mob) target).handleDirectAggro(ac);
|
||||||
|
}catch(Exception e){
|
||||||
|
Logger.error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target.getObjectType() == GameObjectType.Mob)
|
|
||||||
((Mob) target).handleDirectAggro(ac);
|
|
||||||
|
|
||||||
errorTrack = 17;
|
errorTrack = 17;
|
||||||
|
|
||||||
//miss, Send miss message
|
//miss, Send miss message
|
||||||
|
|||||||
Reference in New Issue
Block a user