invalid range check for ranged characters attacking a building

This commit is contained in:
2024-05-22 19:40:25 -05:00
parent aa0621bb02
commit cc7188b404
@@ -12,6 +12,7 @@ import engine.job.JobContainer;
import engine.job.JobScheduler; import engine.job.JobScheduler;
import engine.jobs.AttackJob; import engine.jobs.AttackJob;
import engine.jobs.DeferredPowerJob; import engine.jobs.DeferredPowerJob;
import engine.math.Vector3f;
import engine.mbEnums; import engine.mbEnums;
import engine.net.client.ClientConnection; import engine.net.client.ClientConnection;
import engine.net.client.msg.TargetedActionMsg; import engine.net.client.msg.TargetedActionMsg;
@@ -163,6 +164,10 @@ public enum CombatManager {
inRange = true; inRange = true;
break; break;
case Building: case Building:
if(attackRange > 15){
if(attacker.loc.distanceSquared(target.loc) < (attackRange * attackRange))
inRange = true;
}else {
float locX = target.loc.x - target.getBounds().getHalfExtents().x; float locX = target.loc.x - target.getBounds().getHalfExtents().x;
float locZ = target.loc.z - target.getBounds().getHalfExtents().y; float locZ = target.loc.z - target.getBounds().getHalfExtents().y;
float sizeX = (target.getBounds().getHalfExtents().x + attackRange) * 2; float sizeX = (target.getBounds().getHalfExtents().x + attackRange) * 2;
@@ -172,6 +177,7 @@ public enum CombatManager {
inRange = true; inRange = true;
break; break;
} }
}
//get delay for the auto attack job //get delay for the auto attack job
long delay = 5000; long delay = 5000;