Skip to content

Conversation

@NJLively
Copy link

🚢 TrimAlert
An unavoidable reminder to trim your sails, you lazy scallywag!

TrimAlert is a RuneLite plugin that detects when your ship needs sail trimming and blasts you with visual and audio cues so you never miss a gust again. Whether you're daydreaming, chasing loot, or distracted by Discord, TrimAlert has your back — loudly.

⚡ Features
On-screen flashing overlay whenever your sail needs trimming Sound alert (toggleable) using RuneLite’s built-in audio

Configurable settings:
Enable/disable audio Enable/disable visual flashing Seamlessly integrates with OverlayManager and RuneLite’s event bus

🧭 How it Works
TrimAlert watches the in-game varbit value for your sail state and listens for chat messages related to sail trimming. When a gust hits, it: Flashes the overlay Plays an alert sound (optional) Sends a RuneLite desktop notification Keeps reminding you until you actually trim the sails

Lazy sailors be warned.

⚙️ Configuration
Inside RuneLite (wrench icon → Plugin List → TrimAlert): Enable visual alert – toggle the flashing overlay Enable audio alert – toggle the loud ping

@runelite-github-app
Copy link

runelite-github-app bot commented Nov 20, 2025

@NJLively
Copy link
Author

Added license.

@runelite-github-app
Copy link

Internal use only: Reviewer details Maintainer details

@pwatts6060
Copy link
Contributor

You can just do this with Chat Notifications or Watchdog though, does this really need its own plugin?
Watchdog import: {"type":"ChatAlert","message":"You feel a gust of wind.","regexEnabled":false,"gameMessageType":"GAME_MESSAGE","enabled":true,"name":"Trim Sail","debounceTime":0,"randomNotifications":false,"notifications":[{"type":"Overlay","color":"#46FF0000","textColor":"#FFFFFFFF","sticky":false,"timeToLive":5,"imagePath":"","resizeImage":true,"message":"Trim Sails","fireWhenFocused":true,"fireWhenAFK":false,"fireWhenAFKForSeconds":5,"delayMilliseconds":0}]}

@NJLively
Copy link
Author

NJLively commented Nov 20, 2025

You can just do this with Chat Notifications or Watchdog though, does this really need its own plugin? Watchdog import: {"type":"ChatAlert","message":"You feel a gust of wind.","regexEnabled":false,"gameMessageType":"GAME_MESSAGE","enabled":true,"name":"Trim Sail","debounceTime":0,"randomNotifications":false,"notifications":[{"type":"Overlay","color":"#46FF0000","textColor":"#FFFFFFFF","sticky":false,"timeToLive":5,"imagePath":"","resizeImage":true,"message":"Trim Sails","fireWhenFocused":true,"fireWhenAFK":false,"fireWhenAFKForSeconds":5,"delayMilliseconds":0}]}

Heya Pwatts,

Thanks for the suggestion! Watchdog and Chat Notifications are definitely useful tools, but this plugin covers several cases those systems can’t handle, which is why it needs its own implementation.

Key differences:

  • Varbit-based detection (not just chat parsing)
  • Sailing trim state is updated by a game varbit (15100), which changes even when no chat messages fire.
  • Watchdog cannot read varbits, so it can’t detect active trim states reliably.

Real-time state clearing

  • TrimAlert automatically disables the alert when trimming occurs (via varbit or the “you trim the sails” message).
  • Watchdog cannot conditionally "turn off" its alert based on game state; It only triggers on new messages.

Continuous flashing overlay tied to actual tick updates

  • The overlay animates every game tick as long as trimming is needed.
  • Watchdog can only show a static, one-time popup and cannot update on a tick-by-tick basis.

Alignment with the Sailing skills mechanics

  • Sailing crewmate interactions and varbit transitions require immediate, state-aware notifications and chat-only triggers fail during these edge cases.

@LlemonDuck
Copy link
Contributor

your varbit stuff is just flat-out wrong, that varb is DT2_STRANGLEWOOD_SURVIVAL_TIME_REMAINING

do you still need this if Sailing does what you wrote and more?

also we would love to talk to a human not a bunch of chat gpt generated crap that is both incorrect and disingenuous

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants