You are viewing a potentially older version of this package. View all versions.
hiccup-GreedySeagulls-1.3.1 icon

GreedySeagulls

Seagulls steal from your hands, off your rod, and off the ground. A stolen gun fires as they fly. Anger the flock and they swarm. Sometimes they just take the whole boat.

By hiccup
Date uploaded a week ago
Version 1.3.1
Download link hiccup-GreedySeagulls-1.3.1.zip
Downloads 1208
Dependency string hiccup-GreedySeagulls-1.3.1

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

GreedySeagulls

The seagulls in How to Fish will take a fish off the ground and call it a day. This mod makes them a genuine menace.

They will now snatch what you are holding, pull a fish off your line before you can reel it in, make off with your tools, and fire your own gun while they fly. Shoot one and the whole flock may come for you. Leave the boat unattended long enough and it might not be there when you get back.

The host drives everything, but install it on everyone. All the behaviour runs server side and replicates through the game's own networking, so a player without the mod still sees seagulls stealing, swarming and lifting the boat. Three things do need it on their machine: being carried off by a seagull, which the host will not attempt on a player it has not confirmed is running the mod, hearing a stolen gun fire, and seeing the swarm boss bar.

They take the boat

Every so often the flock decides the boat is worth taking. The seagull nearest it starts, two more are called in, and together they space themselves along the hull, lift, and haul it into a slow circuit of the island. Shoot enough of them down and it drops. The more players in the lobby, the sooner it tends to happen.

Seagulls stealing the boat

They take what you are holding

Nothing in your hands is safe. Weapons, tools, radios, fish, whatever you happen to be carrying.

A seagull stealing a gun from a player's hand

A seagull stealing a radio from a player's hand

They hold a grudge

Attack a seagull and there is a small chance the flock decides it has had enough. Reinforcements fly in from the horizon and they take turns diving at whoever is closest. It shows up on the boss bar as the combined health of every bird involved, so the way out is to shoot them down.

A swarm of seagulls attacking the players

What changed

Stealing. Seagulls now consider items held by a player, fish hooked on a rod once they clear the water, tools and weapons, and anything else you can pick up such as radios. All of it is chance based so it stays an occasional disaster rather than a constant one.

Stolen guns. A seagull carrying a firearm will fire it at random intervals in whatever direction the barrel happens to be pointing. It is not aiming at anyone. The bullets are real, they do the weapon's normal damage, and they will hit whoever is unlucky enough to be in front of the bird. Full automatic guns such as the SMG are fired in short bursts.

The swarm. Damaging a seagull has a small chance of enraging the flock, at most once every thirty minutes. Extra birds spawn far out and fly in, then attack in staggered dives from different angles rather than all at once. The flock grows with the number of players connected. They will not hit you through walls or a roof, so cover works, and a swarm will not start during one of the game's own boss fights.

The boat lift. Rare, and needs at least two free seagulls, with up to four joining in when they are available. They gather at grip points around the hull, lift together, and carry the boat in a circle around the island before dropping it. Killing enough of the crew ends it early.

Fair play. A seagull only takes what is actually in your hands, never something stowed in your pockets. If you put the item away before it arrives it takes whatever you are holding instead, or gives up. Duck into a building and it loses sight of you and abandons the dive.

Appearance. Seagulls vary in size, so the flock is not made of identical birds. Sizes are derived from each bird's network id, so everyone running the mod sees the same flock.

Getting your things back

Anything a seagull is carrying comes back when you kill the bird. It drops whatever it was holding on the spot. There is no timer, so a determined gull will keep your shotgun until you deal with it.

Configuration

Everything is adjustable in BepInEx/config/dazed.howtofish.greedyseagulls.cfg, grouped into Population, Appearance, Stealing, Stolen Guns, Swarm Event, and Boat Lift. Chances, cooldowns, damage, speeds, flock sizes, and the boat circuit radius are all exposed.

A few worth knowing about:

Setting Default What it does
HandStealChance 0.35 How likely a held item is considered when a seagull picks a target
RequireOpenSkyForHandSteal true Stops them diving for items under a roof. Turn off if they refuse to take something
NeverSteal Clam Things seagulls will never take. Matches a prefab name, display name, or item id
CheckInterval 12 Seconds between target checks
BurstFullAuto true Full automatic guns are fired in bursts rather than single shots
MinScale / MaxScale 1 / 1.5 Size range for individual seagulls
LogTargeting false Log why each item was rejected, for tuning
SwarmChance 0.1 Chance that damaging a seagull enrages the flock
SwarmCooldownMinutes 30 Minimum gap between swarms
RequireLineOfSight true Swarming birds cannot hit you through level geometry
RoamingCap 3 How many ordinary seagulls may be in the air at once, up to 20. The swarm ignores it
SpawnRate 1 How quickly the flock is topped back up, from 1 to 10
ChancePerPlayer 0.05 Chance added per player, per check, that they go for the boat
SpawnedBirds 2 How many extra seagulls are called in for a boat lift
BossBar true Show the swarm on the boss health bar

To turn any of the four features off entirely, set Enabled to false in its section.

How busy the island gets

By default three seagulls roam at a time, close to what the game gives you, and losses are replaced over time rather than thinning the flock out for good. Raise RoamingCap for a busier island and SpawnRate if you want them back faster than you can shoot them. Every extra bird is another one that can steal from you.

Compatibility

Requires BepInEx 5. Built against How to Fish on Unity 6000.4 with FishNet networking.

The mod resolves the game's internals by name at startup and reports what it found in the log. If a game update moves something, the BepInEx log will name the hook that failed instead of failing quietly.

While a swarm is running the boss bar is borrowed to display it, which suppresses boss fish spawns and boss music for the duration. Set BossBar to false if you would rather keep the bar free.

CHANGELOG

Changelog

1.3.1

  • Fixed seagulls this mod spawns appearing in the water or scraping along the ground. Spawn height was being read off whichever seagull happened to be handy and used as a raw world height. When the flock was empty, which is the case for a moment every time a level loads, there was no seagull to read and the height fell back to zero, which is sea level. The first bird to arrive then became the one the next spawn copied, so once it happened the whole flock stayed down there for the rest of the session.
  • Spawn height is now measured from whatever is underneath each seagull, and never from below the water. Out at sea the ground under a seagull is the seabed, so measuring from the ground alone still put them at the surface or under it. The water line is now used wherever it sits higher than the ground, which is what actually keeps them flying over open water.
  • Replacement seagulls no longer appear below the terrain when the player they spawn around is standing somewhere high. Their height was measured from a fixed world height rather than from the ground beneath them.
  • Added SpawnCruiseHeight under Population, 20 metres by default. It is only used when there is no living seagull left to copy an altitude from, so it decides how high the first bird of an empty flock comes back and nothing else.
  • Spawning now writes a line to the log saying how high the birds were placed, so this kind of problem can be spotted from a log rather than by watching the sky.
  • Leech is now in the NeverSteal list by default, and existing configs still on the old default are updated automatically.
  • Fixed the sound of a stolen gun firing only being heard by the host. The game plays no fire sound at all for a gun with no player holding it, so this mod supplied it, but only on the machine that ran the shot. The host now tells everyone when a seagull fires and the shot is heard from where the bird is. This needs the mod on each player's machine, the same as being carried off does.

1.3.0

  • New event: a seagull can dive on a player and carry them off. It dives in at head height first, so it can be shot down before it ever takes hold, and the carried player keeps full control of looking, aiming and firing. Shooting the bird drops them. Gated to once every 30 minutes with a chance that scales per player, and a player needs clear sky above them to be picked at all.
  • Every player needs the mod for the new event. The host confirms each client is running a matching version before it will let a seagull carry them, so anyone without it is simply never chosen.
  • Fixed swarming seagulls diving through the floor. They had no ground check while attacking, so an overshot dive left them under the map, where the level blocked line of sight from below and they never came back up. A new GroundClearance setting keeps them above level geometry.
  • Seagulls on the lava map no longer spend the whole time carrying snails. FootSnail is now in the NeverSteal list by default, and existing configs still on the old default are updated automatically.
  • A seagull carrying a player is no longer picked up by the swarm, boat lift, population or stealing systems, and those events will not start while a carry is in progress.

1.2.0

The boat lift is now an event rather than something the seagulls opt into.

Since 1.1.0 gave the flock a steady supply of targets, the birds were nearly always busy carrying or chasing something, and the lift needed several idle seagulls at the same instant to even roll. In practice that almost never happened, so most players never saw it.

  • A lift now rolls on its own, and the crew is assembled to order. The seagull nearest the boat starts it and two more are called in, so it no longer waits for the flock to be idle.
  • The chance scales with the lobby: 5 percent per connected player on each check, so a full lobby sees it sooner rather than more often.
  • The cooldown between lifts is now 30 minutes.
  • The called in seagulls leave when the lift ends, so repeated events do not slowly grow the flock.
  • Removed the MaxBirds setting, which no longer did anything now that the crew size is fixed.

A flock that replenishes itself

  • Added a roaming seagull cap, 3 by default and up to 20, so you can decide how busy the island is. Killed seagulls are now replaced over time instead of thinning out for good.
  • Added a spawn rate multiplier from 1 to 10 controlling how quickly the flock is topped back up.
  • The swarm event ignores the cap completely, so its reinforcements still arrive in full.
  • Both are in the new Population section, and setting ManagePopulation to false restores the old behaviour of leaving the seagull count entirely to the game.

1.1.0

Stealing actually happens now. The base game only considers one seagull for a dive roughly every half a minute, which meant the new behaviour almost never fired on its own. Target checks now run on their own timer, and tools and holdable items are weighted so a gun can win against a closer fish.

  • Removed the option to honour the game's own seagull exclusion flag. That flag is set on nearly everything, so respecting it stopped the mod doing anything beyond vanilla.
  • Seagulls no longer target items sitting in a player's pockets, which previously caused a long dive that was abandoned on arrival.
  • If the item a seagull was diving for gets stowed before it arrives, it takes whatever is in the player's hands instead. If their hands are empty it gives up rather than reaching into their bag.
  • Breaking line of sight, by stepping into a building for example, now cancels the dive. A short grace period stops a wave or a passing prop aborting it, and a gull that has been given the slip waits before trying again.
  • Added a NeverSteal list so specific items can be protected. Clams are excluded by default.
  • Added a targeting log that reports why each item was rejected, for anyone tuning the settings.

Guns

  • Full automatic guns such as the SMG are now fired in bursts of three to five rather than single shots. This reads the game's own full auto flag, so it needs no weapon names and works in any language.

Swarm

  • Swarm size now scales with the number of players connected, with a ceiling so a large lobby cannot spawn a flock big enough to hurt performance.
  • A swarm can no longer start during one of the game's own boss fights, and an active swarm stands down if a boss appears.

Boat lift

  • Now needs only two seagulls to start, and takes up to four when they are available. A crew can also lose a bird mid flight and keep going.
  • Fixed the odds check running before the availability check, which silently threw away successful rolls whenever the flock was busy.
  • The boat lift is also blocked during the game's own boss fights.

Appearance

  • Seagulls now vary in size. Each bird's size is derived from its network id, so every player running the mod sees the same flock without any extra network traffic.

1.0.0

Initial release.

Stealing

  • Seagulls can snatch items out of a player's hands, including tools, weapons, radios, and fish.
  • Seagulls can pull a hooked fish off a fishing rod once it is clear of the water.
  • Tools, weapons, and other holdable items on the ground are now valid targets alongside fish and downed players.
  • Every category is chance based and individually configurable.

Stolen guns

  • A seagull carrying a firearm fires it at random intervals in whatever direction the barrel is pointing.
  • Bullets deal the weapon's normal damage and can hit players. The bird is not aiming.
  • Muzzle flash and gunfire replicate to every player.

Swarm event

  • Damaging a seagull has a configurable chance to enrage the flock, limited to once every thirty minutes by default.
  • Reinforcements spawn far out and fly in rather than appearing on top of the players.
  • Birds attack in staggered dives from randomised approach angles instead of moving as one mass.
  • Swarming birds respect line of sight and will not attack through walls or roofs.
  • The swarm appears on the boss health bar as the combined health of every participating bird.
  • The event ends early if every player is down, so respawning is never blocked.

Boat lift

  • Three or more free seagulls can gather at grip points around the hull and carry the boat away.
  • The boat is held level while airborne and flown in a slow circuit around the island.
  • Killing enough of the crew drops the boat and ends the event.

General

  • Runs on the host only. Other players need nothing installed except to see the swarm boss bar.