Repository navigation
fix(MoonsOfPeril): fish the river fishing spot during resupply (1.0.5) - #647
Merged
chsami merged 1 commit intoOct 16, 2026
Merged
Conversation
The rev239 cache update removed PMOON_FISHING_SPOT_MULTI (51367) and moved the Moons of Peril bream spot to ObjectID.RIVER_FISHING_SPOT; the old id now belongs to a sailing gangplank, so the Fish interaction matched nothing and the resupply loop idled beside the stream forever. Target RIVER_FISHING_SPOT (the id the quest helper uses at the same stream) and stop fishing with a log line when no bream is caught for 60 seconds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LjtEMzQHGuq4M1Mpqk9pPV
3 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
A Discord support report (message) says Moons of Peril never finishes resupplying. The bot walks to the bream fishing spot, stands still in front of it, and never fishes. The inventory never fills, so the resupply phase never ends.
Root cause
ResupplyHandler.fishBream()loops until the inventory is full and callsinteract(51367, "Fish")on the tile-object cache. The 2026-06-30 cache update (client commit 5af7e1ae0c, "Update GameVals to 2026-06-30-c1-rev239") removed the old Perilous Moons fishing ids:PMOON_FISHING_SPOT_MULTI51367PMOON_FISHING_SPOT51368PMOON_FISHING_SPOT_EXIT51369PMOON_FISHING_CLICKZONE_ACTIVE51370PMOON_FISHING_CLICKZONE52997In the current client, 51367 is
SAILING_GANGPLANK_PROXY_WIDE_VIKING. The query finds nothing,interactreturns false without logging anything, and the loop spins forever at (1520, 9689, 0).The new river-fishing set is CLICKZONE 62191, CLICKZONE_ACTIVE 62192, RIVER_FISHING_SPOT 62193 (an unnamed multiloc, the counterpart of the old
_MULTI), SPOT_ENTER 62194 and SPOT_EXIT 62195. The client's quest helper (PerilousMoon.java:513) now targetsObjectID.RIVER_FISHING_SPOTat (1521, 9689, 0), the tile next to our walk tile.Change
ResupplyHandler: addedBREAM_FISHING_SPOT_ID = ObjectID.RIVER_FISHING_SPOT, and the fishing call now uses it instead of the hard-coded 51367. This was the only call site. A grep for the old ids andPMOON_FISHINGfound no other users in the Hub.No bream caught in 60s; giving up on fishing this resupply.and returns, so a future id change shows up in the log instead of a silent idle. The check is a small pure helper,isFishingStalled(lastProgressAt, now).ResupplyHandlerTest. It checks that the spot id is the river fishing spot and not the retired id, and it tests the stall helper.Validation
./gradlew test -PpluginList=MoonsOfPerilPlugin --tests '*ResupplyHandlerTest' --tests '*PluginManifestVersionTest': BUILD SUCCESSFUL. ResupplyHandlerTest passed 2/2 and PluginManifestVersionTest passed 1/1../gradlew build -PpluginList=MoonsOfPerilPlugin -x test: BUILD SUCCESSFUL.Known gaps
Rs2TileObjectModel.clickfalls back to the first action instead of failing.execute()still cooks and goes back to IDLE, so a broken spot repeats the resupply cycle instead of idling silently. The log line makes that visible, but the bail-out is a safety guard, not a stop condition.🤖 Generated with Claude Code
https://claude.ai/code/session_01LjtEMzQHGuq4M1Mpqk9pPV