Browse Source

Bonus code deleted from stuck job.

master
MagicBot 2 years ago
parent
commit
6a41c5391d
  1. 94
      src/engine/jobs/StuckJob.java

94
src/engine/jobs/StuckJob.java

@ -6,7 +6,7 @@
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com // www.magicbane.com
package engine.jobs; package engine.jobs;
import engine.InterestManagement.WorldGrid; import engine.InterestManagement.WorldGrid;
import engine.job.AbstractScheduleJob; import engine.job.AbstractScheduleJob;
@ -22,18 +22,18 @@ import java.util.HashSet;
public class StuckJob extends AbstractScheduleJob { public class StuckJob extends AbstractScheduleJob {
private final PlayerCharacter player; private final PlayerCharacter player;
public StuckJob(PlayerCharacter player) { public StuckJob(PlayerCharacter player) {
super(); super();
this.player = player; this.player = player;
} }
@Override @Override
protected void doJob() { protected void doJob() {
Vector3fImmutable stuckLoc; Vector3fImmutable stuckLoc;
Building stuckBuilding = null; Building building = null;
if (player == null) if (player == null)
return; return;
@ -41,79 +41,41 @@ public class StuckJob extends AbstractScheduleJob {
if (player.getClientConnection() == null) if (player.getClientConnection() == null)
return; return;
HashSet<AbstractWorldObject>awoList = WorldGrid.getObjectsInRangePartial(player, 150, MBServerStatics.MASK_BUILDING); HashSet<AbstractWorldObject> awoList = WorldGrid.getObjectsInRangePartial(player, 150, MBServerStatics.MASK_BUILDING);
for (AbstractWorldObject awo:awoList){ for (AbstractWorldObject awo : awoList) {
Building toStuckOutOf = (Building)awo; Building buildingEntry = (Building) awo;
if (toStuckOutOf.getStuckLocation() == null) if (buildingEntry.getStuckLocation() == null)
continue; continue;
if (Bounds.collide(player.getLoc(), toStuckOutOf)){ if (Bounds.collide(player.getLoc(), buildingEntry)) {
stuckBuilding = toStuckOutOf; building = buildingEntry;
break; break;
} }
} }
//Could not find closest building get stuck location of nearest building. if (building == null) {
if (stuckBuilding == null){
ErrorPopupMsg.sendErrorMsg(player, "Unable to find desired location");
return;
} else
stuckLoc = stuckBuilding.getStuckLocation();
if (stuckLoc == null){
ErrorPopupMsg.sendErrorMsg(player, "Unable to find desired location"); ErrorPopupMsg.sendErrorMsg(player, "Unable to find desired location");
return; return;
} }
stuckLoc = building.getStuckLocation();
player.teleport(stuckLoc); if (stuckLoc == null) {
ErrorPopupMsg.sendErrorMsg(player, "Unable to find desired location");
// Needs to be re-written with stuck locations
// Disabled for now.
/*
// Cannot have a null zone or player
if (this.player == null)
return;
if (ZoneManager.findSmallestZone(player.getLoc()) == null)
return; return;
// If player is on a citygrid make sure the stuck direction
// is facing away from the tree
if ((ZoneManager.findSmallestZone(player.getLoc()).isNPCCity()) ||
(ZoneManager.findSmallestZone(player.getLoc()).isPlayerCity())) {
zoneVector = player.getLoc().subtract(ZoneManager.findSmallestZone(player.getLoc()).getLoc());
zoneVector = zoneVector.normalize();
if (zoneVector.dot(player.getFaceDir()) > 0)
return;
} }
player.teleport(player.getLoc().add(player.getFaceDir().mult(34))); player.teleport(building.getLoc().add(stuckLoc));
*/
}
@Override }
protected void _cancelJob() {
}
private void sendTrackArrow(float rotation) { @Override
} protected void _cancelJob() {
}
} }

Loading…
Cancel
Save