Sea Storm

Sea Storm creates rough ocean conditions by increasing the deep-ocean wave scale. It includes a standalone command with thunder weather and optional emergency alerts, plus Disaster Hub integration for combined disasters and weather-triggered events.

{:links-list}

INSTALLATION

  1. Copy the complete packaged BigDaddy-SeaStorm resource into your server's resources folder. Use the package containing fxmanifest.lua, settings.ini, the DLLs, and the bridge, html, and data folders.
  2. Enter your own product key from your account as key1 under [licensing] in settings.ini.
  3. Start your weather resource first if you use one. Start BigDaddy-EAS if you want optional emergency alerts.
  4. Add ensure BigDaddy-SeaStorm to server.cfg. If you use Disaster Hub, start Sea Storm before BigDaddy-DisasterHub.
  5. Restart the resource after configuration changes and reconnect before testing.

DO NOT RENAME THE FOLDER. Configuration and integration calls use the exact name BigDaddy-SeaStorm.

{:is-danger}

Disaster Hub and EAS are optional. The inspected source has no framework, inventory, database, or ox_lib requirement.

Example start order

If you use Big Daddy Weather, EAS, and Disaster Hub together:

ensure BigDaddy-Weather
ensure BigDaddy-EAS
ensure BigDaddy-SeaStorm
ensure BigDaddy-DisasterHub

Include only the resources you have installed. If you use another weather provider, start that resource before Sea Storm instead.

CONFIGURATION

settings.ini

Section Setting Deployed / fallback Description
[licensing] key1 Your product key Enter your own product key here.
[settings] UseAcePermissions true / false Enables the standalone command's permission gate, subject to the limitation below.
[settings] AcePermission command / command ACE object checked during player initialization.
[settings] UseEAS true / false Enables standalone alerts when BigDaddy-EAS is started.
[settings] EASTitle EMERGENCY ALERT SYSTEM / same Title passed to the standalone alert.
[settings] EASMessage See below Standalone sea-condition warning text.
[settings] debug true / false Enables additional resource diagnostic messages where implemented.
[settings] DesyncKey Included with the package Internal synchronization value. Leave it unchanged.

If `EASMessage` is absent, the source uses `Dangerous sea conditions currently affecting the area. Take shelter immediately`.

### Permissions

To use a dedicated ACE object, set these values under `[settings]`:

```ini
UseAcePermissions=true
AcePermission=bigdaddy.seastorm

An administrator-group grant for that object would be:

add_ace group.admin bigdaddy.seastorm allow

COMMANDS

Command Purpose
/startseastorm Starts a standalone sea storm after successful resource initialization. No supported arguments.

The command selects a random duration from 45,000 to 119,999 milliseconds.

STORM BEHAVIOR

The server selects a random wave scale from approximately 2.0 to 4.0 for each event and broadcasts the same duration and scale to clients.

For standalone events, Sea Storm requests weather suspension through its bridge and transitions clients to THUNDER over ten seconds. The wave scale changes after that transition. The transition counts toward the event duration, leaving approximately ten seconds less time with amplified waves.

At normal completion, the client resets the deep-ocean scale to 1 and requests a ten-second transition to OVERCAST. It does not restore a previously recorded wave scale. The server resumes its weather bridge at the end of its timer, independently of the final client weather transition.

Sea Storm changes deep-ocean wave intensity. It does not raise the map's water level, implement inland flooding, or directly apply player, NPC, or vehicle damage. Boat and swimmer behavior depends on the game's water physics and other installed resources.

DISASTER HUB INTEGRATION

Start BigDaddy-SeaStorm before BigDaddy-DisasterHub, then select Sea Storm in /DisasterHub. The Hub can also request Sea Storm during eligible RAIN and THUNDER weather checks. Configure SeaStormChance and weather monitoring in the Hub's settings.

The Hub calls BigDaddy-SeaStorm:StartSeaStormHub with a duration in seconds. This path changes wave intensity immediately without Sea Storm forcing its own weather, calling its own weather bridge, or sending its standalone EAS alert. Disaster Hub manages its weather and alert handling separately.

In the Hub menu, Sea Storm can combine with Tornado, Hail Storm, Flash Flood, and Blackout. It cannot combine with Ice Age or Earthquake. When combined with Sea Storm, Hail Storm receives half the selected disaster duration.

Both resources register startseastorm. Use the Hub menu for Hub-managed events to avoid depending on the shared command name.

WEATHER BRIDGE

Edit Config.WeatherBridge at the top of bridge/weather.server.lua.

Option Default Description
Enabled true Enables bridge suspend/resume handling. Disabling it does not prevent standalone clients from requesting THUNDER and OVERCAST.
Provider 'auto' Detects the first started provider in the order below, or uses an explicit identifier.
RestorePreviousWeather true Used by the QB resume handler to request saved weather when available.
Debug false Enables [WeatherBridge] diagnostics, including failed export calls.
Detection order / resource Identifier Implemented behavior
BigDaddy-Weather bigdaddy Reads GetWeather; sends weather-sync suspend/resume events.
qb-weathersync qb-weathersync Reads weather/dynamic state; attempts to disable dynamic weather and restore saved state on resume.
cd_easytime cd_easytime Reads GetAllData; suspend/resume hooks are placeholders.
Renewed-Weathersync renewed Reads GlobalState.weather; suspend/resume hooks are placeholders.
vSync vsync Detection only; no working suspend/resume hooks or stock weather getter are supplied.
vMenu vmenu Detection only; no working suspend/resume hooks or stock weather getter are supplied.

This describes the local bridge implementation, not tested compatibility with every provider version. With no detected resource, the provider is none. You can also explicitly select none.

For another integration, select Provider='custom' and fill the Custom fields:

  • SuspendEvent and ResumeEvent: server events called with (enabled, reason).
  • SuspendExportResource and SuspendExportName: optional server export called on suspend with the same arguments.
  • ResumeExportResource and ResumeExportName: optional server export called on resume with the same arguments.
  • CurrentWeatherExportResource and CurrentWeatherExportName: getter called without arguments, returning a weather string or a table with a recognized weather field.

If both an event and export are configured for an action, both run. The getter does not add automatic storms; Sea Storm has no weather watcher.

The bridge exposes server exports Suspend(enabled, reason), Resume(reason), IsSuspended(), GetSuspendedReason(), GetProvider(), and GetCurrentWeather(). Pass true to Suspend to request suspension. Bridge state does not prove that a provider paused: some hooks are placeholders and export failures are caught. The getter returns nil when weather is unavailable.

EMERGENCY ALERTS

Approximately ten seconds after the standalone server trigger, Sea Storm sends EASTitle and EASMessage to BigDaddy-EAS:BuildEAS, with an empty alert-type argument. It only sends the alert when UseEAS=true and BigDaddy-EAS is started.

Hub-triggered events skip this standalone alert. Configure the Hub's UseEAS, SeaStormEASAgency, SeaStormEASType, and SeaStormEASMessage for that path. Combined disasters may use another selected disaster's alert; see Disaster Hub.