Browse Source

Bonus code deleted from stuck job.

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

112
src/engine/jobs/StuckJob.java

@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.jobs;
package engine.jobs;
import engine.InterestManagement.WorldGrid;
import engine.job.AbstractScheduleJob;
@ -22,98 +22,60 @@ import java.util.HashSet; @@ -22,98 +22,60 @@ import java.util.HashSet;
public class StuckJob extends AbstractScheduleJob {
private final PlayerCharacter player;
private final PlayerCharacter player;
public StuckJob(PlayerCharacter player) {
super();
this.player = player;
}
public StuckJob(PlayerCharacter player) {
super();
this.player = player;
}
@Override
protected void doJob() {
@Override
protected void doJob() {
Vector3fImmutable stuckLoc;
Building stuckBuilding = null;
Building building = null;
if (player == null)
return;
if (player.getClientConnection() == null)
return;
HashSet<AbstractWorldObject>awoList = WorldGrid.getObjectsInRangePartial(player, 150, MBServerStatics.MASK_BUILDING);
for (AbstractWorldObject awo:awoList){
Building toStuckOutOf = (Building)awo;
HashSet<AbstractWorldObject> awoList = WorldGrid.getObjectsInRangePartial(player, 150, MBServerStatics.MASK_BUILDING);
for (AbstractWorldObject awo : awoList) {
if (toStuckOutOf.getStuckLocation() == null)
continue;
Building buildingEntry = (Building) awo;
if (Bounds.collide(player.getLoc(), toStuckOutOf)){
stuckBuilding = toStuckOutOf;
break;
}
if (buildingEntry.getStuckLocation() == null)
continue;
if (Bounds.collide(player.getLoc(), buildingEntry)) {
building = buildingEntry;
break;
}
}
//Could not find closest building get stuck location of nearest building.
if (stuckBuilding == null){
ErrorPopupMsg.sendErrorMsg(player, "Unable to find desired location");
return;
} else
stuckLoc = stuckBuilding.getStuckLocation();
if (stuckLoc == null){
if (building == null) {
ErrorPopupMsg.sendErrorMsg(player, "Unable to find desired location");
return;
}
player.teleport(stuckLoc);
// 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)
}
stuckLoc = building.getStuckLocation();
if (stuckLoc == null) {
ErrorPopupMsg.sendErrorMsg(player, "Unable to find desired location");
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)));
*/
}
@Override
protected void _cancelJob() {
}
player.teleport(building.getLoc().add(stuckLoc));
}
private void sendTrackArrow(float rotation) {
}
@Override
protected void _cancelJob() {
}
}

Loading…
Cancel
Save