Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2890,96 +2890,6 @@ private static void dumpMapOfAlacrityWidget(Widget listRoot) {
});
}

// TEMP: iterate every MoA seasonal transport, attempt it, log landing vs expected.
// Run from a dedicated worker thread (blocks). Requires Map of Alacrity in inventory;
// locked regions/destinations are reported and skipped via the existing handler's guards.
public static void runMoaAudit() {
try {
while (!Microbot.isLoggedIn()) {
if (Thread.currentThread().isInterrupted()) return;
sleep(1000);
}
if (Rs2Inventory.get(MAP_OF_ALACRITY_ITEM_ID) == null) {
log.warn("[MoA-AUDIT] Map of Alacrity not in inventory — aborting");
return;
}

HashMap<WorldPoint, Set<Transport>> all = Transport.loadAllFromResources();
List<Transport> moa = new ArrayList<>();
for (Set<Transport> set : all.values()) {
for (Transport t : set) {
if (t.getType() == TransportType.SEASONAL_TRANSPORT
&& t.getDisplayInfo() != null
&& t.getDisplayInfo().toLowerCase().contains("map of alacrity")) {
moa.add(t);
}
}
}
moa.sort(Comparator.comparing(Transport::getDisplayInfo));
log.info("[MoA-AUDIT] {} MoA transports queued", moa.size());
blacklistedMoaDestinations.clear();
lockedMoaRegions.clear();

int landed = 0, skipped = 0;
for (int i = 0; i < moa.size(); i++) {
if (Thread.currentThread().isInterrupted()) break;
if (!Microbot.isLoggedIn()) { log.warn("[MoA-AUDIT] logged out — stopping"); break; }

Transport t = moa.get(i);
String disp = t.getDisplayInfo();
WorldPoint expected = t.getDestination();
WorldPoint before = Rs2Player.getWorldLocation();
if (before == null) { sleep(500); continue; }

log.info("[MoA-AUDIT] {}/{}: {} (expected {},{},{})",
i + 1, moa.size(), disp,
expected.getX(), expected.getY(), expected.getPlane());

if (!handleSeasonalTransport(t)) {
log.info("[MoA-AUDIT] handler returned false");
closeMoaWidgetIfOpen();
skipped++;
sleep(600);
continue;
}

boolean moved = sleepUntil(() -> {
WorldPoint now = Rs2Player.getWorldLocation();
return now != null && (now.distanceTo(before) > 5 || now.getPlane() != before.getPlane());
}, 8000);

if (!moved) {
log.info("[MoA-AUDIT] no teleport detected");
closeMoaWidgetIfOpen();
skipped++;
continue;
}

sleep(1500); // settle
WorldPoint after = Rs2Player.getWorldLocation();
int dist = after.getPlane() == expected.getPlane() ? after.distanceTo(expected) : -1;
String marker = dist == 0 ? "EXACT" : (dist > 0 && dist <= 2 ? "close" : (dist > 0 && dist <= 10 ? "NEAR" : "FAR"));
log.info("[MoA-AUDIT] LAND {} | actual={},{},{} expected={},{},{} dist={} | {}",
marker,
after.getX(), after.getY(), after.getPlane(),
expected.getX(), expected.getY(), expected.getPlane(),
dist, disp);
landed++;
sleep(1500);
}
log.info("[MoA-AUDIT] complete: landed={}/{} skipped={}", landed, moa.size(), skipped);
} catch (Exception e) {
log.error("[MoA-AUDIT] crashed", e);
}
}

private static void closeMoaWidgetIfOpen() {
if (Rs2Widget.isWidgetVisible(MAP_OF_ALACRITY_WIDGET_GROUP, MAP_OF_ALACRITY_LIST_CHILD)) {
Rs2Keyboard.keyPress(27); // ESC
sleep(400);
}
}

private static boolean handleSpiritTree(Transport transport) {
// Get Transport Information
String displayInfo = transport.getDisplayInfo();
Expand Down
Loading
Loading