Fishmen Invasion Mod
Adds optimized Fishmen invasion controls, aggressive variants, terrain recovery, oversized bosses with vanilla death explosions, music, and lightning.
By PonyFisher
| Date uploaded | a month ago |
| Version | 0.3.0 |
| Download link | PonyFisher-Fishmen_Invasion_Mod-0.3.0.zip |
| Downloads | 2640 |
| Dependency string | PonyFisher-Fishmen_Invasion_Mod-0.3.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
Fishmen Invasion Mod
Fishmen Invasion Mod turns fishing anywhere into escalating combat-fishing events, including custom islands and the open ocean. Defeat ordinary fish to draw the attention of the Fishmen, survive increasingly dangerous rounds, and face a named boss every tenth wave. Fallen Fishmen remain physical catches: pick them up, let gulls steal them, cook them from raw to brown and then burned black, eat them, or sell them.
Flashing-lights warning: Invasions and boss fights use lightning flashes. Players with photosensitivity or anyone who prefers a calmer effect should disable Lightning flashes in Fishmen Invasion Options before starting an event.
Quick guide
| Feature | How it works |
|---|---|
| Where events work | Events can start wherever living players are fishing, including modded islands and open water. Fishmen rise from clear water roughly 18–65 m from a living player. If no safe water is nearby, spawning waits and retries. |
| Trigger an invasion | After loading a world, the host receives a fresh random goal of 5–20 defeated fish. Reaching it starts the next wave. |
| Force a wave | Pause the game, open Fishmen Invasion Options, and choose Force Start Wave as the host. |
| Force a boss | The host can choose Force Random Boss Event beneath the wave trigger to immediately start a randomly selected boss encounter. |
| End an event | During an active invasion, the host can choose End Event / Kill All Living Fishmen to stop it and despawn living enemies and the boss. Defeated bodies remain available. |
| Test later waves | The host can raise or lower the next wave and starting round, or reset wave progress, from the options panel when no event is active. |
| Survive rounds | Waves 1–2 have one round. Wave 3 introduces multiple rounds, with later waves reaching up to four rounds. Each round begins with thunder and lightning. |
| Enemy variants | Normal Fishmen appear first. Brutes and Leapers begin mixing into waves from wave 3 onward. |
| Random sizes | Ordinary enemies spawn from 0.5x to 1.5x size. Large Fishmen move more slowly; small Fishmen gain up to 20% speed. Bosses retain their larger boss scale. |
| Living enemy limit | Normal rounds keep at most 10 living Fishmen active. Enemies enter every 0.5 seconds and queued replacements spawn as active enemies are defeated. |
| Boss waves | Every tenth wave spawns one named boss at 2.5x–3x scale and keeps up to ten Fishmen minions active until the boss falls. Even the smallest boss is larger than the largest possible minion. |
| Difficulty | Regular Fishmen start at 105 HP (3x the prior base); bosses start at 10,000 HP before host health settings. Health, damage, damage reduction, and pursuit aggression increase gradually with wave number. |
| Boss defeat | Defeated bosses use the game's own bloody BossDeath explosion, death and explosion audio, screen shake, and blood decals before the body disappears. |
| Boss numbering | Boss encounters are numbered persistently per world. The left side of the boss bar displays BOSS 1, BOSS 2, and later event numbers. |
| Revenge bosses | A defeated boss has a small chance to return once as Revenge of [name], with a bright red health bar and stronger stats. |
| Descendants | Previously encountered bosses can rarely inspire a comedic SPAWN OF encounter. |
| Event display | The top meter shows wave, round, completed waves, and active enemies. Boss fights add a second boss name and health bar. |
| Accurate contact damage | Every model uses a compound hitbox fitted across its visible body and limbs. Contact damage reaches the model edges without extending beyond its maximum dimensions. |
| Cooking and selling | Defeated enemies work as creature items and retain their individual model while held, cooked, sold, eaten, or targeted by gulls. |
Enemy roster
| Enemy | Behavior |
|---|---|
| Fishman | Uses the Tuna boss attack base, jumping, spinning, and throwing itself toward players. |
| Fishman Brute | More health and damage, with a slower but persistent rolling chase. |
| Fishman Leaper | Less health, the highest and most frequent jumps, faster pursuit, and strong mid-air steering. |
| Deepjaw | Heavy boss variant using the vanilla Goblin Shark attack base. |
| Barnacle Colossus | Armored-looking boss variant using the vanilla Goblin Shark attack base. |
| Tidecaller | Fast boss variant using the vanilla Goblin Shark attack base. |
| Puffer Titan | Large boss variant using the vanilla Goblin Shark attack base with heavier movement. |
All standard Fishmen models are 15% larger than the original version before their 0.5x–1.5x random size multiplier is applied. A server-side recovery check watches movement, progress toward the nearest player, terrain overlap, and under-map position. A blocked Fishman is moved to clear water near a living player and immediately relaunched toward the fight.
Boss encounters
Every tenth wave chooses one of the four supplied boss models and a funny pirate-style name. Bosses use a separate 2.5x–3x size range, which keeps the shortest boss model larger than the tallest 1.5x minion. Boss music replaces the normal event track, a separate health bar appears, and lightning can strike throughout the fight with at least four seconds between strikes. Up to ten minions remain active while the boss lives. On defeat, the boss model disappears inside the same bloody BossDeath explosion, sound, screen shake, and decal sequence used by vanilla bosses.
Boss history is saved per world. A previously defeated boss can return once in a stronger Revenge of encounter. Once that revenge is defeated, that boss cannot return again. Rare SPAWN OF names can appear only after their parent has already been encountered.
If every player dies during an invasion, the event ends and all bodies created by that event are removed. Ordinary defeated bodies also have a three-minute unattended cleanup window to prevent long sessions with many abandoned physics objects from slowing down.
Fishmen Invasion Options
Press Esc, then select the teal Fishmen Invasion Options button with yellow text near the top center. The panel is modal, so clicks do not activate the vanilla pause menu behind it, and you can drag it using its title bar.
- Enable Fishmen invasions — host control for the shared event system.
- Lightning flashes — host-controlled visual setting synchronized to the lobby.
- Event music — host-controlled music setting synchronized to the lobby.
- Event music volume — host-controlled 0–100% slider that changes the playing music immediately and saves for future sessions. The default is 70%, which is 30% quieter than earlier releases.
- Fishmen amount per round — 0.50x to 3.00x host multiplier.
- Fishmen health — 0.50x to 3.00x host multiplier.
- Fishmen attack — 0.25x to 2.00x host multiplier. Base attack grows gradually with wave number.
- Invasion frequency — 0.50x to 3.00x. Higher values reduce the fish-defeat goal.
- Force Start Wave — immediately starts the next scaled event wherever you are fishing.
- Force Random Boss Event — immediately starts the next numbered boss encounter with a random boss model and eligible boss-name behavior.
- Invasion Progress — shows the current or next wave and round, fish remaining before the next wave, and waves and rounds until the next boss.
- Wave − / + and Round − / + — host-only testing controls for the next encounter; available between events and saved per world.
- Reset Waves and Rounds to Zero — clears completed-wave progress and resets the fish goal. Boss history remains intact.
- End Event / Kill All Living Fishmen — lights up only while an event is active. The host can stop the event and remove all living Fishmen and bosses immediately.
Only the host can change event enablement, balance, lightning, music, or event music volume. Those values are synchronized to every player. Every player should install the same mod version so all seven network prefabs and event state messages match.
Installation
Install and enable the package with Thunderstore Mod Manager or r2modman, then launch How to Fish through the manager. This version uses item IDs 238–244 and FishNet prefab collections 42426–42432.
CHANGELOG
Changelog
0.3.0
- Added a host-only End Event / Kill All button, enabled only during an invasion; it removes all living Fishmen and the boss without counting the event as a win.
- Added synchronized progress details and host controls to reset or adjust the next wave and round for testing.
- Tripled ordinary Fishmen's starting health and set bosses to 10,000 base HP; health, attack, damage reduction, and pursuit aggression now increase with wave number.
- All four bosses now clone the vanilla Goblin Shark boss attack AI.
0.2.9
- Fish defeats can start invasions on any map, including custom islands and the open ocean.
- Fishmen and bosses now spawn in clear water 18–65 m around living players and launch toward the nearest player instead of a fixed island center.
- Stuck Fishmen recover to player-relative water positions. Rounds and bosses wait and retry when no safe water spawn is available.
0.2.8
- The host's event-music volume slider now updates the playing music immediately and synchronizes its setting to clients.
- Defeated fish on internal islands 2-5 count even when the saved maximum-unlocked value is stale; reached triggers retry after enemy assets register.
0.2.7
- Restored Unity IMGUI processing so the Fishmen pause button and options window can receive mouse input again.
- Restricted Fishmen boss behavior sources to shark, whale, and tuna attack prefabs; excluded piranha and crab sources.
- Uses the tuna attack base with Puffer Titan's own heavy movement because vanilla Pufferfish does not derive from AttackingFish.
0.2.5
- Disabled Unity's unused automatic GUILayout pass because the Fishmen interface uses fixed rectangles exclusively.
- Stopped rendering the invasion atmosphere overlay and event meter behind the open options window.
- Added throttled GUI repaint timing diagnostics to the BepInEx log for any Fishmen options repaint taking 8 ms or longer.
- Reviewed the latest BepInEx log; it contained no Fishmen GUI exceptions or repeated Fishmen errors.
0.2.4
- Established separate size ranges: ordinary Fishmen remain 0.5x–1.5x while bosses spawn at 2.5x–3x.
- Verified the supplied mesh bounds so the smallest possible boss remains larger than the largest possible minion.
- Added the vanilla
BossManager.BossExplosiondefeat sequence to every Fishman boss, including the BossDeath blood effect, audio, screen shake, and blood decals. - Made defeated boss bodies disappear after the explosion sequence like vanilla bosses.
0.2.3
- Added clearance-tested waterline spawn selection and stronger recovery for Fishmen trapped under the map, inside terrain, against walls, or unable to make progress toward a player.
- Reduced ordinary Fishman size variation to 0.5x–1.5x; boss sizing remains unchanged.
- Made every standard variant use the aggressive Tuna boss base with distinct motion: Leapers jump highest and most often, Brutes roll while chasing, and regular Fishmen jump and spin into players.
- Limited normal rounds to ten living Fishmen at once.
- Added a paced 0.5-second spawn queue with replacements as active enemies are defeated.
0.2.2
- Added a host-only Force Random Boss Event button beneath Force Start Wave.
- Added a persistent per-world boss-event counter.
- Added BOSS 1, BOSS 2, and later encounter numbers to the left side of the boss health bar.
0.2.1
- Restyled the Fishmen Invasion Options pause button in teal with yellow text.
- Reduced default invasion and boss music volume by 30%.
- Added a persistent host-controlled event music volume slider.
- Made event enablement, lightning, music, volume, and balance controls host-only in multiplayer.
- Added model-scaled compound hitboxes across every Fishman and boss model so visible limbs and body edges cause contact damage without oversized invisible bounds.
0.2.0
- Added supplied Fishman, Brute, Leaper, Deepjaw, Barnacle Colossus, Tidecaller, and Puffer Titan models as distinct multiplayer-safe creature prefabs.
- Reworked enemies around aggressive Tuna/boss attacking-fish behavior with more frequent pursuit, jumps, and Leaper mid-air steering.
- Increased model scale by 15% and added randomized 0.5x–3x sizes with size-based movement speed.
- Changed invasion progress to a fresh random 5–20 defeated-fish goal on every world load.
- Added multi-round waves from wave 3 onward, with thunder and lightning at every round start.
- Added boss waves every ten waves, boss music, a separate named health bar, ten replenishing minions, and recurring fight lightning.
- Added persistent boss histories, one-time Revenge encounters, and rare SPAWN OF descendants.
- Added stuck and under-map recovery, wipe cleanup, and unattended body cleanup to reduce long-session physics load.
- Made the invasion settings window draggable and modal so it cannot click through to the vanilla pause menu.
- Confirmed eligible game island indices are 2–5.
0.1.3
- Added a host-only Force Start Wave button to Fishmen Invasion Options.
- Force-started events retain normal island eligibility, wave scaling, introduction effects, music, and rewards.
0.1.2
- Corrected the Dev Island compatibility patch signature so Harmony installs it successfully.
- Blocks the main-menu boat and direct player colliders from forcing Dev Island during profile loading.
- Keeps real gameplay boat travel to Dev Island enabled.
0.1.1
- Added compatibility protection that prevents the Dev Island travel trigger from overriding a player's saved island during loading.
- Boat travel to Dev Island remains available.
- Rebuilt the Fishman material from a clean game shader to remove incompatible local shader-keyword errors.
0.1.0
- Added host-authoritative Fishmen invasion events after Island 3 is unlocked.
- Added randomized 5–20 catch triggers on Islands 3 through 6.
- Added scalable Fishman waves using vanilla attacking-fish movement and damage behavior.
- Added the supplied Fishman GLB model and texture at slightly below player height.
- Added cookable, burnable, pickupable, and sellable Fishman bodies.
- Added a segmented invasion meter with wave and completion counts.
- Added thunder, lightning, darkening, delayed spawning, and fading event music.
- Added persistent host balance settings and per-player music/lightning preferences.
- Added a Fishmen Invasion Options window accessible from the pause screen.