← All proposalsWork blog
Oil painting of a lone angler at the end of a weathered pier at dusk, rod bent hard, a pale giant fish turning under black water

A Line to Everything

A deep dive into Shroud of the Avatar's fishing, what twenty-nine years of fishing games learned about connecting a cast to the world, and forty concrete proposals.

In the last 30 days on the old servers, 100 anglers made 23,631 casts, 0.29 percent of every skill cast in the game. On 1 October fishing gained what players had asked for since 2013: a fight. The bobber dips, you set the hook, and you keep a bar in the zone until the fish tires or the line gives out. What fishing still lacks is everything after the fish lands. This page keeps the fight and gives the catch somewhere to go.

0 · Executive summary 1 · The fishing we have 2 · Lessons: Ultima Online to modern 3 · The forty proposals    Tier 1 · Fix first (S1 to S10)    Tier 2 · Read the water (S11 to S17)    Tier 3 · Connect the catch (S18 to S30)    Tier 4 · Water that remembers (S31 to S36)    Tier 5 · The owner's desk (S37 to S40)    Considered and rejected 4 · The Angler's Log 5 · Sequencing 6 · Appendix
Section 0

Executive summary

Ultima Online shipped fishing in 1997 as one skill check at the water's edge, and in twenty-nine years it never changed the cast. Every fishing update it made tied the cast to something else: messages in bottles that led to sunken wrecks in 1999, the angler's name on a mounted fish around 2001, aquariums in 2005, ships, fishmonger orders and sea bosses in 2010, named wrecks in 2019, and seasonal ocean spots this summer. The rest of the genre spent those years on the fight: Star Wars Galaxies' nibble and bite, Final Fantasy XI's pull left and pull right in 2005, which taught it that a fight alone does not stop bots, and Stardew Valley's bobber bar. In September 2026 Shroud of the Avatar did what Ultima never did and built the fight. The reel meter reached players on 1 October.

What it has not built are the connections. Fish sell for three to six gold. None of the 51 fishing deeds pays anything. The one fishing quest cannot be started. No merchant asks for a fish, and trophy fish cannot take a player's buy order. There is no treasure beyond the rare Odd Container and no record catch the realm ever hears about, and the official contests that began in May 2020 stopped in July 2022. Players kept fishing alive by hand: at least four player-run circuits still run on mailed screenshots and spreadsheets.

The numbers say the same. In the last 30 days on the old servers, five of the 100 anglers made 62% of the casts, and more players ate a fish dish than cast a line. Monthly casts fell from 92,872 in January to 23,959 in September 2026, about three quarters, while all skill casts held steady; the fall began in February, eight months before the meter arrived. On the new server's first day, 383 fish were caught against 100,090 ore mined.

This page argues one thing: keep the fight, and connect it to treasure, home, town, contests and orders, and to fishing at sea when ships arrive. The gaps fall into three clusters:

  1. Truth. The guides, tables and switches say things the water does not do: seventeen baits where twelve work, a Neon Tetra no water holds, hotspots that work backwards, a Fishing Critical stat nothing reads, deeds nobody can earn, a guide book that teaches the old cast, and bait text that promises more bites. S1 to S10, S13.
  2. Readability. You cannot see what water you fish, what your bait does, what is on the line, what you just caught, or how it compares with your best. A new angler at Fishing 0 with average reflexes lands about one common fish in a thousand fights, with a book that describes the old cast. S11 to S17, S37.
  3. Connections. The catch goes nowhere: no orders, no treasure, no contest the game runs, no home water, no record the world hears about. S18 to S36.

Two rules hold across all forty cards. The catch is decided before the fight, and the fight only keeps it or loses it. And what players defend stays: the calm cast, the rare chance on cheap bait, trophies that trade, player contests with their own prizes, and no macros of any kind. S1 has already corrected the Oracle and the written guides alongside this page.

Where the fences are. The nine baits set aside for later are economy S5; S38 only asks whether the five found here join them. Seasons and rotating fishing bonuses are economy S14, which S27 and S35 build on. A spot that tires for every angler is economy S15. Town demand orders are economy S27, which S21 extends to fish, and fished-up junk belongs with economy S23, Clean Up Novia. S18 delivers the fishing rows of the achievements catalogue. Fishing-kit presets are bank S13, the share circle is party S25, the Angler's draught is alchemy S16, and water rights on lots are housing S4. The Water Magic page declined any fishing synergy, and this page keeps to that.

The forty proposals at a glance

#ProposalTierSizeServerIn one line
S1The guides tell the truth Built1SnoneEvery Oracle and guide line that misdescribes fishing, corrected
S2Seventeen baits on paper, twelve in the water Built1SnoneTwelve in the guides, a build check, and unused catch lists sorted
S3The Neon Tetra comes home Built1Sdata bakeThe Neon Tetra bites in fresh water, so Complete Angler can be earned
S4Hotspots that work Built1S-Mdata bake305 ripple spots the right way round, sized right, open to every bait
S5Fishing Critical starts doing something Built1Sdata bakeTwo engravings trade a dead stat for the bait-saving stat that works
S6Fishmonger deeds count real work1S-Mshared codeThree deeds nobody can earn start counting fish butchery
S7A first lesson that teaches the meter Built1S-MnoneThe guide book and the loading tip teach the hook and the fight
S8A meter everyone can read Built1SnoneHigh contrast, two sounds you can tell apart, the key you bound
S9The leaderboards count fish1S-Mnone (board tools)Boots and rings leave the boards; sizes roll up into one kind
S10Mounted trophies keep their size and date Built1SnoneSmall and Large survive mounting; tooltips add a readable date
S11Read the water2MnoneThe aim marker names water, ripples, full-size depth, reach, a tired spot
S12Glare off, cast from a key2SnoneReflections can go to None, and the Fishing Reel key casts where you aim
S13Bait that says what it is for Built2S-MnoneEach bait names its water and its fish, and stops promising more bites
S14Fish on: know what you hooked Built2S-MnoneThe meter names the fish and its fight, warns of a dash, and lets it go
S15The catch, shown Built2MnoneA catch card, a hold-it-up moment for the dock, a results event for add-ons
S16The Angler's Log Built2LnoneOne window: here and now, all 68 kinds, bait, records, contests, orders
S17Practice and patience2MnoneA timely tip, a practice line and a first-fight overlay, no retune
S18Fishing deeds that pay out3Mcatalog bakeTitles and trophies for the fishing deeds, plus a passport of waters
S19Records: your best and the realm's3LDB recordYour longest of each trophy kind, and records the realm hears about
S20The Angler's Cup3LDB recordAn official contest every two weeks that runs itself
S21The fish desk: orders and commissions3LopsDaily wants from fishing merchants; commissions for record fish
S22Fish for the workshop3Mdata bakeFish oil, bone, roe, fish meal, more fillets, and a rod you can make
S23Trophies and tanks that tell the story3M-LDB recordPlaques, a town Record Board, tanks that remember, a town aquarium
S24Home water3LopsFresh, salt, swamp and lava basins; only the kinds you release bite
S25Messages in bottles, wrecks below3XLshared code, data bakeA waterlogged message leads to a wreck, its debris and its chest
S26A dry spell ends3M-Lshared codeEvery fish without a trophy makes the next trophy likelier
S27Fish that keep appointments3Ldata bakeNamed fish that bite by moon, hour and bait, rumoured in town first
S28Something else bites3XLserver codeRarely, deep water away from towns holds a creature that fights
S29Anglers' company3Mnone (chum later needs an item bake)Nearby anglers shorten the wait; chum speeds the whole bank
S30The Expedition sails on the hour3XLserver codeA boat leaves on the hour for three waters, with an attendance rule
S31Contests that score themselves4L-XLDB record, opsA weigh station any host can place; the host keeps the prizes
S32Local legends4XLDB record, opsA fish you release grows, slips lines and becomes the town's story
S33Bottles adrift4LDB record, opsA note corked and cast adrift in salt water, for a stranger to land
S34What the deep keeps4Mdata bakeFossil pieces from lava for a petrified mount; drowned lanterns
S35A town's water4M-Lshared code, opSieges still a town's water and stir it after; towns name a fish
S36Talk of the docks4MopCriers and fisherfolk talk of legends, contests and records
S37New anglers and the meter: the numbers5decisionowner callNumbers for new anglers, and the options, fight styles by kind among them
S38The fourteen unfinished baits5decisionowner callDo the five dead baits join the nine, or does Cut Bait ship now
S39The trophy ladder above Large5decisionowner callOpen the upper tiers, keep them for when ships arrive, or retire them
S40What an hour of fishing pays5decisionowner callExperience and coin per hour against the other gathering trades
Section 1

The fishing we have

Fishing is six skills, four waters and sixty-eight kinds of fish. A cast lasts a fixed thirty seconds and gives the water three to five chances to bite. Since 1 October a bite on the meter becomes a fight: set the hook when the bobber dips, then hold the bar in the yellow zone until the fish tires or the line runs out. Twelve baits can start a cast, and 845 of the 871 scenes share one set of catch lists. The numbered flags point at proposals.

One cast, from aim to result

TODAY · ONE CAST, AIM TO RESULT✕
 ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~       ┌ Fish on! ────────────────┐
 ~  ~  ~  ~  ~ about 14 ft ◄─[2]          │ Line   Tension     Fish  │◄─[4]
 ~  ~  ~  ~  (     o     ) ◄─[1]          │  ░░    ░░░░░░░      ░░   │
 ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~       │  ██    ▒▒▒▒▒▒▒      ██   │
                                          │  ██    ▒▒███▒▒      ██   │
             ┌───────────┐                │  ██    ░░░░░░░      ██   │
             │   Reel!   │◄─[4]           │ Hold Space or the left   │
             └───────────┘                │ mouse button to reel in  │
                                          └──────────────────────────┘
 ┌ Fishing ─────────────────────────── 67% ┐◄─[3]
 │███████████████████████████░░░░░░░░░░░░░░│
 └─────────────────────────────────────────┘
 Your lure splashes down in water about 14 feet deep.
 You gained an item (Large Tiger Shark (Saltwater Fish)) from fishing. ◄─[5]
Elsewhere today
 [6]  Bait     "Fish Using Hopper. Common bait with a bonus to catching fish
               in fresh water." No bait changes how often fish bite.
 [7]  Trophy   Caught By: Ilsabet · Duskwater · a New Britannia date
               Fish Length: 5.412. On the wall, Small and Large both read
               "Tiger Shark Trophy".
 [8]  Boards   Fish, Anglers, Master Anglers. A boot counts as a catch.
 [9]  Deeds    51 fishing deeds, none pays. Complete Angler needs a Neon
               Tetra no water holds; three fishmonger deeds count nothing.
[10]  Guide    Helpful Guide to Fishing: "wait for the progress bar to fill
               … you will reel in any caught fish or other items."
one cast, its moments shown togetherreel meter live since 1 October 2026

Missing entirely today, and the card that adds it: a journal (S16), orders for fish (S21), contests the game runs or scores (S20, S31), treasure (S25), home water (S24), and records the world hears about (S19).

Who fishes

Aggregate counts for the last 30 days on the old servers, to 2 October 2026, with no names attached. The character figures come from an August 2026 snapshot and the first-day count from the launch-week post.

MeasureValue
Casts23,631
Anglers100
Share of all skill casts0.29%
Share of active casters who fished at all8.6%
Casts made by the top 5 anglers62% (top 10: 76.5%)
Anglers by casts made6 made 1,000 or more; 29 made 100 or more; 25 made fewer than 10
Kinds of bait castexactly 12
Players who ate a fish dish104 (1,047 meals), more than cast a line
Characters who ever trained Fishing (August 2026)11,919 of 120,337; median 7,498 experience
Water skills trained (August 2026)Fresh 2,072 · Salt 2,042 · Fetid 1,754 · Lava 1,045
New server, first day383 fish caught against 100,090 ore mined
Top 5 anglers
62%
5 of 100
The next 5
14.5%
5 of 100
The other 90
23.5%
90 of 100

Share of fishing casts by angler, the last 30 days on the old servers.

Twelve kinds of bait were cast, and three cheap ones made almost three casts in four:

BaitShare of casts
Hopper28.9%
Minnow24.2%
Red Worm20.3%
Heavy Gemmed Lure11.7%
Drudge Leech5.3%
Gemmed Lure3.1%
Sardine, Herring, Tiny Squid, Pale Leech1.3 to 1.5% each
Blood Leech0.8%
Earthworm0.3%

Fishing was shrinking before the meter arrived. Casts on the old servers ran 100,000 to 138,000 a month from December 2024 to January 2026, then stepped down in February and June 2026 to 24,000 in September, while all skill casts held at six to eight million a month and anglers per month fell from a range of 155 to 176 to one of 99 to 121. The meter reached players on 1 October, after all of it. A quarter of the hundred anglers cast fewer than ten times, and the median character that ever trained Fishing holds 7,498 experience. S13 says what each bait is for, S7 and S17 meet the new angler, S37 puts the meter's numbers on the owner's desk, and S16 and S19 give the dedicated few somewhere to keep their records.

How a cast happens

A cast passes nine stations from the aim to the Log, and almost every card on this page plugs into one of them:

flowchart LR
  A["Aim at the water\nS11 S12 S13"] --> B["A fish bites\nS4 S29 S30 S35"]
  B --> C["Hook set"]
  C --> D["The catch is decided\nS3 S25 S26 S27 S28 S32 S33 S34"]
  D --> E["The fight\nS8 S14 S17 S37"]
  E -->|kept| F["Landed\nS15 S18 S19 S20 S31"]
  E -->|lost or let go| G["Back in the water\nS14 S32"]
  F --> H["Used: eaten, mounted, sold, delivered, stocked\nS6 S10 S21 S22 S23 S24"]
  F -.-> I["Kept in the Angler's Log\nS16"]
The catch is decided before the fight. The fight only keeps it or loses it. Nothing on this page lets a clean fight improve a fish. Every card that changes what you catch acts at the moment the catch is decided.

Built: credit it, do not re-propose

What the record shows

The record starts in April 2013, when the forum argued over relaxing fishing against a mini-game. Release 22 brought fishing in 2015 with a roadmap of seasons, hot spots, reeling, sizes and leader boards; Phase 2 in 2018 added water types, trophies that record who, when and where, and lava. The question since has been how it works. WeirDave, 2018: "How do we know what kind of water we are fishing in?" kaeshiva, 2022: "I'd really like to understand better how fishing even 'works'." Arkah EMPstrike found that "any bonuses the baits give do not seem to work", and Kron Caledon's hand-entered tests showed that bait changes which fish come up and leaves the bite rate alone.

Then the dry spell. Strider99, at Fishing 131, got "the same results I got when they were at 10"; Galorn caught "1 shark in a year and a half"; Ysold fished ten hours and "didn't manage to catch a single shark"; Hemnu Lightbringer: "6 Hours a Day for a Week… 0 Trophy Sharks". Then contests. The official tourney ran from May 2020 to 28 July 2022 and ended because it took staff time every day. Strider99 had written that "getting a participation trophy each week really rocks!"; jrs99 called the closure "a huge mistake"; Adam Crow explained that volunteers could not take over because picking winners needed data only the developers could see. PvP contests worked, queenbee wrote, because "the average player had the same chance of winning as the veteran PVPer", with "NO LOSS".

In 2025 the broken lava pools moved Janzik to write "People are refusing to fish at all"; the fix landed in 2026. On the new server's first day Duke Olahorand wrote "press space or click… nothing happened". And there is praise: majoria70 found fishing "so much better than I imagined us getting", Hemswal The Descended was "extremely happy with the progress so far", and Weins201 said of the size tags, "The implementation was GREAT".

What players defend

The same threads draw a line around what must not change, and this page holds to it. The calm cast stays for those who want quiet time, with its cost stated plainly. Cheap bait keeps its rare chance; in Kron Caledon's words, "fishers using only Red Worms or Minnows ALWAYS have a chance to catch an amazing rare fish." Trophies stay tradeable, contest trophies included. Player contests keep their own prizes and rules, and Janzik's monthly contest says it plainly: "Botting will not be allowed!" PvP contests keep the "NO LOSS" that made them work, standings can be live or sealed, and there are no macros, attended or unattended, the rule since 2017.

Section 2

Lessons: Ultima Online to modern

Fishing has been part of graphical online worlds since Ultima Online in 1997, and its history runs along two lines. Ultima never changed its cast; every update connected it to something else, and the oldest, the message in a bottle, still feeds its events in 2026. The rest of the genre worked on the cast: a staged bite in Star Wars Galaxies, a pull fight in Final Fantasy XI, tells in Final Fantasy XIV, the bobber bar in Stardew Valley. Black Desert and Stardew Valley have both lines. Shroud of the Avatar built its fight in September 2026, the step Ultima never took; the cards here build the connections Ultima spent twenty-nine years on.

Oil painting cutaway of an angler on a rocky shore casting one long golden line past a corked letter, a sunken merchant wreck with a chest, a scarred old fish, and a lava seam holding fossil bones
One line, and everything it could touch.
1997
UO ships fishing
A skill check at the water's edge. It never gets a reel game.
1999
UO's overhaul
Bottles lead to wrecks; serpents attack the angler. The cast gets a destination.
2005
FFXI's pull fight
Added to beat fish bots. The bots adapt.
2005
WoW's Sunday race
One winner a week, later three, then fifty.
2010
UO High Seas
Ships, fishmonger orders and sea bosses tie the catch to the game.
2015
SotA Release 22
Fishing arrives with a roadmap: seasons, hot spots, reeling, sizes, leader boards.
2018
SotA Phase 2
Water types, trophies that record who, when and where, and lava.
2020
Contests and legends
The official tourney begins. Russian Fishing 4 lets players name and release famous fish.
2022
Official contests end
Cut on 28 July. Player circuits carry on by hand.
2025
Contests and boats
Black Desert's weekly contest and record Fish Guide. OSRS Sailing puts anglers on boats.
2026
The fight arrives
UO's seasonal ocean spots. SotA's 68-kind collection and reel meter, live 1 October.

What each game contributes

Ultima Online. The cast never changed; what it touched did. A 1999 message in a bottle led to a wreck's debris and then its chest, and deep-water serpents attacked the angler who hooked them. Taxidermy put the angler's name on the wall, High Seas in 2010 added fishmonger orders and sea bosses, and the SOS still feeds events in 2026. Its lessons: orders that needed a tall ship shut out new players, chest gold inflated, and aquariums punished absence. This page takes S25, paid in decor, S23, S21 with no ship required, and S28.

Asheron's Call and Star Wars Galaxies. Asheron's Call trained the skill when you released a fish and gave titles for catch counts. Star Wars Galaxies staged the bite with one tug for a nibble and another for a bite, recorded where and when on each fish, and paid a fish tank for its collections. This page takes S32, S18 and S14.

Final Fantasy XI. Its 2005 pull fight was meant to beat fish bots, and the bots learned it; the caps and bounty hunters that followed hit real players. Its Fish Ranking named one kind per contest, largest or smallest, one entry per angler. This page takes the format for S20 and S31, and the warning against caps for the rejected list.

World of Warcraft. Stranglethorn's Sunday race grew from one winner to fifty, and its tournaments were switched off when cross-realm zones arrived, which is why contests here are asynchronous. Pools that run dry, the Lurker Below, the title Salty, a derby everyone can finish and lunker deeds cut to reachable targets give S20, S4, S28, S18 and S6. Patch 3.1 removed getaways; here the getaway stays, and S32 makes it a story.

RuneScape and Old School RuneScape. Old School teaches fishing in its tutorial and has saved mounted trophies to the account since 2025. Tempoross scores a team of up to 40 by what each member does, and when Sailing's group fishing trips went hands-off, a five-minute interaction rule followed in 2026. This page takes S7, the attendance rule in S30, and, from the old River troll, S28.

Final Fantasy XIV. A bite shows one, two or three marks, big fish keep appointments by hour, weather and bait, and the Fish Guide lists every fish. Ocean Fishing leaves on schedule even with one passenger, and one passenger's catch can lift the whole boat, with a pity rule. Its anti-bot cast counter also locked out legitimate campers, and players warned a second route would split the fishers. This page takes S14, S27, S16, S26 and one route for S30.

Black Desert. Casts catch themselves after three minutes, so unattended fishing became easy money and drew bots, with 574 accounts banned in 2017. Its 2025 weekly contest names three kinds, ranks to three decimals, pays the top 300 and breaks ties by the earlier catch; its Fish Guide names each record holder and greets a personal best. This page takes S20, S19 and S15, and rejects unattended fishing.

Guild Wars 2 and The Elder Scrolls Online. Guild Wars 2 counts dawn and dusk as both day and night, titles its regional collections (Kind of a Big Reel), shares a Fishing Party bonus on a skiff and wants a new fish each day. The Elder Scrolls Online gives each water its own bait, calls the wrong one Used Bait, finds Perfect Roe in common fish and leaves tracking to add-ons. This page takes S18, S29, S21, S13, S22 and the add-on feed in S15.

New World, Palia and Sea of Thieves. New World's tension runs green, orange and red and its hotspots say Landed in Hotspot!, but its house trophies add fishing luck and let the rich snowball. Palia shortens the wait for anglers fishing together. In Sea of Thieves storms, wrecks and forts change what bites, and a splintering sound warns of a wrong pull. This page takes S8, S4, S29 and S35; trophies here carry no fishing power.

Stardew Valley. Each fish fights in its own style: mixed, smooth, sinker, floater or dart. Its creator has said fishing starts out too hard, and the Training Rod exists for new hands. A lost book hints at the legendary fish, ponds make a catch last, and Collections keep each kind's record length. This page takes the fight-styles option in S37, S17, S27, S24 and S16.

Animal Crossing and Dredge. Animal Crossing shows a fish's shadow before the cast, hides an uncaught fish's habits until outside guides fill the gap, rewards friends at its tourney and fills a museum one donation at a time. Dredge lets skill buy speed, keeps a hidden counter that makes a rare catch likelier with every ordinary fish, and has a Relaxed mode where every catch succeeds. This page takes S14, S16, S23, S26 and S17; Dredge's trophy notch stays out, because here the catch is decided before the fight.

Russian Fishing 4 and The Angler. Since 2020 Russian Fishing 4 has let a player name and release a rare trophy fish, to be caught later and larger as a famous inhabitant of that water, and it grades every species by trophy size. The Angler lets players host competitions with no rewards, and offers a hint after five idle minutes that anyone can switch off. This page takes S32, named from word lists, S10, S31 and S17.

The rest of the shelf. Fisch shows uncaught fish as silhouettes with hints and leaves limited fish out of the 100%, though its coin-bought totems change a server's weather. Terraria's Angler wants a fish a day and pays milestone gifts, and a Blood Moon sends enemies up the line. Ocarina of Time keeps its record fish in a tank and labels sinking-lure catches. WebFishing's failed casts make the next bite likelier. This page takes S16, S3, S21, S28, S19, the Pond-raised stamp in S24, and S26; the world here changes only through play.

The capability matrix

Twenty capabilities a fishing game can have, across the eleven games that did them best, with both SotA columns highlighted: where fishing stands today, and where the catalog takes it.

CapabilityUORS/OSRSWoWFFXIVBDOGW2ESOStardewACNHRF4DredgeSotA todaySotA proposed
An active fight with the fish○○◔◔●●◔●◔●◔● the reel meter● built
Tells you what is on the line○○○●◔◔○◔●○●○ an unnamed fight● S14
Shows you the water you fish◔●●◔●●●●●○●◔ depth only● S11
Bait that says what it is for●◔◔◔○◔●●◔○◔○ promises more bites● S13
A fish journal in game◔○●●●●◔●●◔●◔ deed counters● S16
Records you can see in game◔○○○●○○◔○◔○◔ boards only● S19
Trophies that record the catch●◔○◔○○◔◔◔○○● who, where, when● S10, S23
Contests the game runs●◔●○●○○●●●○○ ended 2022● S20
Contests players host and the game scores○○○○○○○○○○○○ by hand● S31
Orders and requests for fish●○●●●●○●◔○◔◔ common-fish buy orders● S21
Fish that feed crafting beyond food◔●○◔○◔●●○◔○◔ mounts and tanks● S22
Treasure from the water●◔○○◔◔○●○○●◔ the Odd Container● S25
Something else bites●◔●○○○○○○○◔○● S28
Home water you can fish○○○○○○○●◔○○◔ lava pools, grottos● S24
Rare fish on a clock○○●●◔●○●●◔◔◔ morning, evening, the comet● S3, S27
Bad-luck protection○○○◔○○○○○○●○● S26
Fishing together pays◔●◔●◔●○○◔○○◔ party experience● S29, S30
Named fish that live on in the water○○○○○○○○○●○○● S32
A gentler way in○◔◔○◔○○●○○●◔ calm cast, old book● S7, S17
Fishing at sea●●○●●●○○○◔●○◔ S30
● strong◔ partial○ absent, or not found in our researchfirst row only: ◔ is a timed press at the bite with no fightSotA columns highlighted; card numbers link into the catalog

The pattern is plain. Shroud of the Avatar already matches the best on the fight and on trophies that record the catch. On every connection the genre built around the catch, it sits at partial or absent. The proposed column closes every row except fishing at sea, which stays partial until sailing ships arrive.

Section 3

The forty proposals

Five tiers. Tier 1 fixes what the guides, the catch tables and a handful of dead switches get wrong; most of its ten cards are words and data. Tier 2 makes the water readable: the aim marker, the bait, the fish on the line, the fish you just landed and a log that keeps all of it. Tier 3 connects the catch to the rest of the game, from deeds that pay and records the realm hears about to orders, the workshop, home water and wrecks. Tier 4 holds ideas of our own, built on what only this world has: player towns and their governors, sieges, lava full of prehistoric fish, and salt water that can carry a letter to a stranger. Tier 5 is the owner's desk, where four questions wait with their evidence attached. Every card carries its size, its server cost and the players who asked for it by name.

Tier 1 · Fix first: the guides, the tables and the dead switches

S1 · The guides tell the truth

BuiltTier 1Size SServer: none

Built 2026-10-02. The Oracle and the written guides were corrected alongside this page.

The Oracle's fishing guide and the written guides described several things the water does not do. They said gemmed lures are used up about 40 percent more often than other bait; they are used up 40 percent less often. They said lava needs the Lava Fishing skill and that the water skills unlock new catches; lava needs a lava-capable rod and a lava bait, and the water skills add bite chance and line strength while unlocking nothing. They said a worn spot recovers in about five minutes; it gets one cast's worth back every five minutes, so a fully worn spot can take up to 100 minutes. They also said every kind of fish earns a deed (44 of the 68 do), that the Neon Tetra is seasonal (no water holds it until S3), that bait behaves differently by day and by night (large fish favour dawn, morning, dusk and evening), that four baits which cannot start a cast work perfectly well and the Tiny Gemmed Starfish is a lava bait (S2), and that every aquarium fish comes from a rod. All of it is corrected, and the Oracle now also covers what it never did: rod masterworks, the daily fishing towns and their Pacu, fish traps, which baits are not in the game yet, and that fish sell to merchants for 3 to 6 gold. kaeshiva wrote in 2022, "I'd really like to understand better how fishing even 'works'", and Arkah EMPstrike reported that "any bonuses the baits give do not seem to work"; wrong guides made both harder to answer.

Seen in: LOTRO, where players' own tests found bait and pole bonuses did nothing and trust went with them; Animal Crossing, where data the game hid built an industry of outside guides. Asked by kaeshiva, Arkah EMPstrike.

Implementation notes

Every correction was checked against the bait runes, the catch lists and the cast code before the edit: bait use multiplies the chance to consume by 0.6 on the two gemmed lures; lava fishing needs the right rod and a lava bait and never the Lava skill; the water skills feed the bite chance and the line budget; a spot wears out after 5 to 20 casts depending on skill and gets one use back every five minutes. The Oracle's fishing and achievements pages and the written fishing guides were corrected together. The in-game guide book and the loading tips belong to S7, because they need translation. The follow-up is a fishing-facts check over the Oracle text, so the count of working baits and the recovery wording cannot drift again. No game build and no server work.

client docs onlyserver noneimpact the guides match the watertests facts check to follow

S2 · Seventeen baits on paper, twelve in the water

BuiltTier 1Size SServer: none

Built 2026-10-05. Two build checks now guard the bait and the catch lists. One fails if a bait the game accepts cannot start a cast, if the count of working baits moves off twelve without the guides moving with it, or if any shop, loot list, recipe or store ever offers one of the fourteen baits that cannot cast. The other accounts for every one of the 158 catch lists: 91 are fished, and the other 67, the PvP salt lists, the set-aside baits' lists, the baseline tiers, ten generic water lists and the tropical Leech Lure slip, are archived by name until the owner decides their fate. Nothing a player can get changed.

Arkah EMPstrike and kaeshiva asked for years what bait does, and the first answer is how many baits there are. The patch notes for build 163 and the roadmap said seventeen baits work, and the Oracle agreed; twelve do. Five more, Cut Bait, Leech Lure, Dough Bait, Bird Liver and Tiny Gemmed Starfish, pass every bait check, but the effect each one carries is not the fishing effect, so none of them can start a cast, and none can be found anywhere in the world; over the last 30 days on the old servers exactly twelve kinds of bait were cast. The guides will say twelve and list the other fourteen, these five and the nine set aside for later (economy S5), as not in the game yet, and a check in the build fails the day a bait is half-wired again. The same pass tidies the catch tables. PvP waters were given twenty salt-water lists of their own that have never fished, because the PvP map points at the ordinary lists; the two differ only in one tank fish. One tropical cell also points at the wrong list, for a bait that cannot cast. Each list is marked as used or archived, and whether PvP salt water should fish a richer list is the owner's call.

Seen in: ESO, which tells you when a bait is wrong for the water with its Used Bait message; LOTRO, where bait nobody could feel cost the guides their players' trust. Asked by Arkah EMPstrike, kaeshiva. What becomes of the fourteen is S38.

Implementation notes

The five runes pass Skill.TryGetFishingBaitType and still have cells in FishingLootMatrix, but their master effect is not EffectType.Fishing, and only the Fishing case in CombatEffect reaches CombatEffect.DoFish. A new EditMode check walks every rune that TryGetFishingBaitType accepts and requires the Fishing effect or a place on an explicit not-yet list of fourteen; it also fails if any shop, loot list, store shelf or recipe ever ships one of the five, and it leaves the effect numbers reserved for bait runes alone. A table census walks every catch list in the fishing folder and requires it to be referenced by a matrix or to sit on an archive list, which is where the twenty PvP salt lists and the tropical slip wait for the owner. Docs and tests only: nothing a player can obtain changes, so the risk is nil.

client S (check, census, guides)server noneimpact the bait count is truetests bait wiring and table census

S3 · The Neon Tetra comes home

BuiltTier 1Size SServer: data bake

Built 2026-10-04. The second way home, with a wider window. The Neon Tetra now bites wherever the Aether Tetra does in fresh and fetid water, with the same baits and just as often, while the New Britannia moon is new or a thin crescent: about 26 minutes of every 70-minute moon cycle. The Aether Tetra is unchanged, and salt and lava water are untouched. The Neon Tetra deed and Complete Angler can now be earned, and a fish found in a trap still does not count. Not on the test shard yet.

The Neon Tetra is one of the 68 kinds the fish collection counts (achievements S13, built), and no fishing water holds it. It turns up only in ten freshwater fish traps, and a trap find never counts as a catch, so the Neon Tetra deed and Complete Angler cannot be earned by anyone. The guides called it seasonal because a development note says the Neon and Aether Tetras trade places twice a year on a schedule kept outside the game data; no such schedule exists. There are two ways home, and the owner picks one. The first restores the twice-a-year swap, which needs a scheduled change to the catch lists, because the game's calendar filters run on New Britannia time, where a year passes in 14 real days. The second gives the tetra a rule of its own: it bites in fresh water, with any bait, while the New Britannia moon is new, which is about nine minutes in every seventy. Either way the collection still counts only a fish you reel in, as it does today.

Seen in: Fisch, whose bestiary keeps 100 percent reachable by leaving its limited-time fish out of the count; World of Warcraft's Nightfin Snapper, which bites only between 6 PM and 6 AM.

Implementation notes

Neon Tetra rows go into the fresh-water catch lists behind the Global, Tropical, Nontropical and Castle Atos fresh cells. The new-moon rule uses the calendar filter that loot rows already carry, NewBritanniaDateTimeFilterOptions with New as the only valid moon phase, the same filter family the cotton tiers and the great pumpkin use; DateTimeNB.GetPhaseOfMoon divides a 28-hour New Britannia cycle into eight phases. The swap instead becomes two scheduled data changes a year. Either way it is data: new rows, the itemization rebake and a server data bake, with no code and no database change. The species registry and the 68-kind goal are untouched, so FishSpeciesRegistryTests and FishingCatchClassifierTests hold as they are. The owner also sets how often it bites inside its window, and the Kinds tab of the Log (S16) states the rule for everyone: "Neon Tetra. Fresh water, any bait. Bites while the New Britannia moon is new."

client noneserver data bakeimpact Complete Angler becomes earnabletests species registry, catch classifier

S4 · Hotspots that work

BuiltTier 1Size S-MServer: data bake

Built 2026-10-05. A cast into the middle of the ripples now adds up to 15 points to the chance of a bite on each bob, falling to nothing at the rim, and the circle that counts covers the 2 metres of ripples you can see. The search ignores height, so every hotspot registers wherever it was placed. Every bait keeps the scene's normal catch in the ripples. While your lure would land in them the aim marker reads "Ripples here. Fish bite faster.", and the guide book says the same in all seven languages. The Ancient Golden Necklace, which only came from the ripples' old list, now turns up about as rarely as the Ancient Golden Ring in every fishing catch list. Not on the test shard yet.

There are 305 fishing hotspots in 91 scenes, the rippling patches players cast at, and every one is the same trout spot. Its bite bonus runs the wrong way: nothing at the centre of the ripples and the most at the edge of a circle one metre in radius. It answers only Red Worm, and with Red Worm it swaps your catch for a trout-and-junk list that holds no trophy fish, while the guide book promises that ripples improve the quality of your catch. We turn the bonus the right way round, size the circle to the ripples you can see, and empty the hotspot's own list, so every bait keeps the scene's normal catch and a hotspot means faster bites, which the aim marker can say: "Ripples here. Fish bite faster." Placement gets an audit too, because a hotspot whose centre sits more than a metre above or below the water never registers at all. The one find that lives only in the ripples' list, an Ancient Gold necklace, moves into the normal lists so it does not vanish with it. Mapper asked for placeable fishing bubbles in player towns; ripples that work come first.

Seen in: World of Warcraft's pools, where the bobber must land inside the circle and a pool never yields junk; New World's Landed in Hotspot! message; Stardew Valley's bubble spots, where fish bite four times faster. Asked by Mapper (placeable bubbles). Pressure that players share at a spot is economy S15.

Implementation notes

FishingHotspot.GetPercentOfAccuracy returns the flat distance over the radius, clamped, so the bonus grows outward; it becomes one minus that. FishingHotspot.GetNeerbyHotspots measures full three-dimensional distance while the bonus uses flat distance, so both move to the flat measure, and the 305 placements are audited for height anyway. The prefab's radius grows from one metre to the footprint of its ripple effect, and the owner signs off the size, because the size sets every hotspot's strength. FishingMatrix_Hotspot_Global is emptied, so the cast falls through to the scene's own matrix for every bait, and the necklace row moves into the ordinary lists. The gradient and the search are a small code change; moving the necklace is a data bake with the itemization rebake. New FishingHotspotTests pin a bonus that falls away from the centre and the fall-through for every bait. Risk: anglers who learned to cast at the edge, and a radius that decides how strong the ripples are.

client S (gradient, search, prefab)server data bakeimpact 305 hotspots start workingtests FishingHotspotTests

S5 · Fishing Critical starts doing something

BuiltTier 1Size SServer: data bake

A Heavy Iron fishing engraving costs a rod 10 points of maximum durability and grants 5 percent Fishing Critical; a Silver one costs 40 and grants 3 percent. Four reward rods carry the same stat. Nothing in the game reads Fishing Critical, so players pay durability for a number that does nothing. The two engravings will grant the bait-saving stat that already works, so the tooltip tells the truth and the durability buys something. The four reward rods get a relabel or lose the line, whichever the owner chooses; they never gain a live fishing stat, because fishing power stays something you earn in play, and they stay outside masterworking as before.

Built 2026-10-05, differently (not on the test shard yet). The reward rods keep their line, so instead of moving the engravings, Fishing Critical itself now works: each cast has that chance to land an ordinary fish as two, decided before the fight. Trophies, junk and chests are never doubled, and a lost fight loses both fish. The engravings and the four rods keep the tooltips they always had.

Seen in: LOTRO, whose fishing gear carried bonuses players could not feel; Stardew Valley's Trap Bobber, whose tooltip states its one effect in a line.

Implementation notes

The Iron and Silver fishing engraving effects grant CharacterStat.FishingCritical. SkillFlagsExtensions.ConvertToHarvestCriticalChanceStat, which puts the other gathering crits into play, has no fishing case, and the stat is otherwise only labelled and reset. The engravings switch to FishingReagentRecovery, the stat bait use already reads. Rods engraved before the change should pick it up through the effect asset; that is confirmed in the Editor before it ships. The reward rods' line is a one-field data edit either way. Items change, so the itemization catalog is rebaked and the server item data baked; no code and no database change. A census test fails if any item grants a fishing stat that nothing reads. The risk is how reward-rod owners take a relabel or a removal, which is why the choice sits with the owner.

client S (data)server data bakeimpact engraving durability buys a working stattests dead-stat census

S6 · Fishmonger deeds count real work

Tier 1Size S-MServer: shared code

Apprentice, Journeyman and Master Fishmonger ask for 10, 100 and 1,000 fishmongering recipes, and no recipe in the game counts as one, so the three deeds cannot be earned. We count the work a fishmonger does: every butchery recipe that turns a fish into fillets or meat credits the deeds. The three also move from the Crafting category to Gathering, where their mining, foraging, forestry and field-dressing siblings sit. Those twelve siblings share the fault, and the census that found them hands each one to its own page. Past butchery does not count backwards; the count starts when the change ships.

Seen in: World of Warcraft, which cut its Lunker deed targets from 2, 10 and 25 to 1, 5 and 10 when players could not reach them.

Implementation notes

The deeds count Craft_Skill_Fishing, which GameImpl.Crafting.CreditCraftDisciplines raises only for recipes whose skill flags carry the fishing resource bit, and no recipe carries it. The new rule: a Butchery recipe whose consumed ingredient is a fish in the item stat map also credits Craft_Skill_Fishing. CreditCraftDisciplines receives only the recipe, so the rule reads the recipe's own ingredient list against that map. GameImpl.Crafting is shared code, so the change lands byte-identical on both sides in one commit, and the achievement catalog is rebuilt for the category move. No database change and no new request. A census test fails if any crafting-discipline deed has no recipe that can feed it. Risk: anglers who butchered hundreds of fish before the change start at zero.

client S (catalog)server shared code, both sidesimpact three deeds become earnabletests deed feeder census

S7 · A first lesson that teaches the meter

BuiltTier 1Size S-MServer: none

Built 2026-10-04. Private Fleta’s To Catch a Fish can be picked up again, and Captain Kinsey points new anglers to her until they start it. Every step of the quest was checked before it reopened. The Helpful Guide to Fishing is rewritten in six chapters: Casting, The Bite, The Fight, Landing, Mini-Game Off and Where to Fish. It calls the cursor pale blue, explains turning the mini-game off and what that costs, no longer says ripples improve quality or that the hour changes how often fish bite, and spells fishing correctly. One loading tip now covers the hook and the fight, and the one about times of the year now says times of day. The book is translated into German, Spanish, French, Italian, Portuguese and Russian, and the tips into every client language. The guide does not read aloud until its narration is recorded again. Not on the test shard yet.

The Helpful Guide to Fishing, the free book the Helpful Automatons hand new players, still teaches the old cast: wait for the progress bar to fill and you reel in whatever you caught. It calls the aim cursor green (it is pale blue), says ripples improve the quality of your catch (after S4 they make fish bite faster), says mornings bite best (the hour changes which fish bite and never how often), and spells fishing as foshing. The loading tips describe fishing with no hook and no fight, and one promises fish that only bite at certain times of the year, though the catch lists have no seasons. On the new server's first day Duke Olahorand pressed space, clicked, and reported that nothing happened; the help that did exist was not yet translated. We rewrite the book and the tips for the hook and the fight, explain the calm cast in Options and what it costs, and translate all of it. Private Fleta's quest, To Catch a Fish, cannot be picked up, and the guard who sends you to her is switched off; the switch that closes it is named as if it was closed on purpose, so the quest reopens only once that is confirmed.

HELPFUL GUIDE TO FISHING✕
 When the bobber dips and Reel! appears,
 click or press your reel key to set the
 hook. Hold it to reel in, and keep the
 blue bar in the yellow zone until the
 fish tires. If your line runs out first,
 the fish gets away.

 Rather fish without the fight? Turn off
 the fishing mini-game in Options, on the
 Interface tab. The biggest trophy fish
 only bite while it is on.
the rewritten opening pagetranslated with the rest

Seen in: Old School RuneScape, whose tutorial teaches fishing in its first steps; Monster Hunter Wilds, where Kanya's quests teach rigs and lures one step at a time. Asked by Duke Olahorand.

Implementation notes

The book text, the loading tips and the quest lines are localized data, so the book and the tips are a text change with translation and no code, which lets them ship first. Fleta's conversation gates the quest four times on a flag nothing in the game sets, and Kinsey's pointer to her is blocked; reopening means clearing those gates, giving her lines the calm cast and its cost, and checking that accepting the quest needs no server change, so Fleta waits until the intent behind the block is confirmed. The reward stays the generic one. Risk: reopening a quest that was closed for a reason, hence the check first.

client S-M (text, translation, quest gates)server noneimpact the first lesson matches the metertests string and quest-gate checks

S8 · A meter everyone can read

BuiltTier 1Size SServer: none

Built 2026-10-04. A Fishing Meter Contrast row now sits under Fishing Meter Size on the Interface tab. High Contrast uses the harvest meter’s palette: a cyan line that turns orange when it runs low, a cyan zone that goes white while you are in it, a magenta bar and a yellow fish on a near-opaque track. Default is unchanged. Landing a fish plays a water splash, the hook keeps its click, and a lost fish stays silent. The hint under the meter names the key you bound to Fishing Reel, or your Jump key when Fishing Reel is unbound. Not on the test shard yet.

The reel meter repeats three faults the harvest meter fixed this summer. Its line bar runs green to red, the one colour pair the harvest meter's High Contrast palette exists to avoid. The hook and the landing play the two short ticks harvest testers could not tell apart. And the hint under the meter always names the Jump key, even when you have bound Fishing Reel, and on the first day Duke Olahorand went looking for a reel item that does not exist. We add a Fishing Meter Contrast row beside Fishing Meter Size on the Interface tab, using the harvest palette of cyan, orange and magenta on a dark track with every state also told apart by lightness, give the hook and the landing two sounds you can tell apart while a lost fish still plays no sound, and name the key you bound. Janzik asked for a bigger, brighter cork, and the double-size bobber that shipped with the meter answered part of that.

REEL METER · LINE RUNNING LOW✕
 Today                        High Contrast, key you bound
 LINE  TENSION  FISH          LINE  TENSION  FISH
  ░░   ░░░░░░    ██            ░░   ░░░░░░    ██
  ░░   ▒▒▒▒▒▒    ██            ░░   ▒▒▒▒▒▒    ██
  ██   ▒▒██▒▒    ██            ██   ▒▒██▒▒    ██
  ██   ░░░░░░    █             ██   ░░░░░░    █
 Hold Space or the left       Hold E or the left
 mouse button to reel in      mouse button to reel in
Sounds: the hook and the landing get two distinct sounds; a lost fish plays none.
today: line green, red when low; blue bar on a yellow zoneHigh Contrast: line white, orange when low; magenta bar on a cyan zone

Seen in: New World's green, orange and red tension colours; Sea of Thieves, where a splintering-wood sound warns of a wrong pull; Dredge, whose cues arrive as visuals and haptics together. Asked by Duke Olahorand, Janzik.

Implementation notes

FishingMeterUI sets its colours from fixed constants and plays the UI bank's ticks for the bite, the hook and the landing. A Fishing Meter Contrast option, Default or High Contrast, sits beside Fishing Meter Size; it reuses the harvest swing meter's High Contrast palette through the same lookup, or a fishing twin of that setting, and the palette reaches the widget with the rest of its fight parameters, so the widget still reads no tunables. The hint keeps its existing string and fills the key name from PlayerInput.GetDisplayNameForInput for Fishing Reel when it is bound, falling back to Jump. The hook and the landing take two distinct UI sounds, and a lost fish still plays nothing, as the conversion fences require. New strings take fresh ids in the fishing block, and no existing string is reworded. FishingMeterConversionTests extend to the palette and the key name. No server work; the risk is small, a second palette to keep in step with the first.

client S (option, palette, sounds)server noneimpact readable without red and greentests meter conversion fences

S9 · The leaderboards count fish

Tier 1Size S-MServer: none (board tools)

The Fish and Anglers leaderboards, which players call the in-game fish log, count every item that comes out of the water. A junk boot or an Ancient Gold ring adds to an angler's catches and to their count of kinds, and each size of a fish has its own row, so a Small, a plain and a Large Tiger Shark are three kinds to the board. The boards will learn what a fish is from the same 68 kinds the collection knows, fold the sizes into one kind, and count kinds the way the collection does. Old rows change shape when the history is recounted, and the patch notes will say so. Rook Strife asked for live boards that contest anglers could watch; boards that count fish come first.

Seen in: Black Desert's Fish Guide, which names the largest of each species and who caught it; Fishing Planet's matrix of more than a thousand leaderboards; Final Fantasy XI's Fish Ranking, held per named species. Asked by Rook Strife.

Implementation notes

The board queries count any landed item with a length of zero or more, and plain fish, boots, rings and bait returns all carry a length of zero, so no length filter can tell a fish from a boot. An Editor bake exports a species map, 432 item kinds onto 68 species, from the species registry and the item stat map; the board tools filter on it, group the sizes under one species, and count distinct species the way the collection does. The Master Anglers board already counts the collection's way and is untouched. This is the board pipeline only, with no game build and no server change. pytest covers the filter and the roll-up. Risk: history changes shape, which the patch note covers.

client Editor bakeserver board tools onlyimpact a boot stops counting as a fishtests pytest

S10 · Mounted trophies keep their size and date

BuiltTier 1Size SServer: none

Built 2026-10-13. A mount now carries the Small or Large of the fish it was tanned from, wall and hanging alike, and a plain fish makes a plain mount. The few kinds whose fish never say a size (Coelacanth, Ichthyosaurus, Plesiosaurus) mount without one. Mounts already placed or in a bag take the word at once. A fish’s tooltip, and its mount’s, adds the real-world catch date in the player’s own long date format under the New Britannia date. Not on the test shard yet.

Every size of a mounted fish shares one name, so a Small Tiger Shark and a Large Tiger Shark both become a Tiger Shark Trophy on the wall. Weins201 praised the Large and Small tags ("The implementation was GREAT") and asked in 2018 for them to survive mounting; Isbel asked again in July 2026. The mount will carry the Small or Large its fish had. Its tooltip also gains the real-world date beside the New Britannia one, because contest hosts check that a fish was caught inside the contest window by converting dates by hand with a community calculator.

TROPHY TOOLTIP✕
 Large Tiger Shark Trophy
 (today: Tiger Shark Trophy, every size)
 Fish Length: 5.298
 Caught By: Pellam
 Duskwater
 June 24, 758 PC
 28 September 2026
size word kept; the real date joins the New Britannia one

Seen in: Ultima Online's taxidermy, where the trophy shows the angler's name and the weight; Russian Fishing 4's trophy and super-trophy grades; Dredge, which marks the top of each size range as a trophy. Asked by Weins201, Isbel.

Implementation notes

Mount archetypes share one name per species across every tier. A display-name decorator in ItemArchetype's name composition, for fish and lava-fish mounts, reads the tier suffix with FishingCatchClassifier.ParseTrophyTier and reuses the carcass size words: tier 0 Small, tier 1 plain, tier 2 and up Large. The tooltip already prints the New Britannia date from the catch's creation time, which is stored in UTC; a second line prints the real date in the player's own date format. Display only, so every existing mount takes its size word at once, with no migration and no server work. Tests cover the decorator across tiers, and the trophy-wall placement fence stays untouched. Risk: none beyond the rename players asked for.

client S (name decorator, date line)server noneimpact a Large mount says Largetests decorator across tiers

Tier 2 · Read the water

S11 · Read the water

Tier 2Size MServer: none

WeirDave asked in 2018, "How do we know what kind of water we are fishing in?" Cora Cuz'avich asked the same; Browncoat Jayson wanted the water named while the timer spins, Belladonna Rose a tint by type, and Remescao a reticle coloured by water. Today the aim marker says only whether you can fish there, plus the depth. It will name the water beside the depth and tint itself by water, always with the word beside the colour and in tints chosen to stay apart for colour-blind players. It will say when you are over ripples that work (S4), mark water deep enough for full-size fish (trophy size grows with depth from 1.5 metres and is full from 5), and draw your cast range, which Fiero Steele asked to see. The cast bar names the water too. And it will say when you have tired a spot, which means fixing how the game remembers one: today a tired spot is a diagonal stripe across the whole scene, so walking along some banks never helps, and it becomes an 8 metre patch instead.

THE AIM MARKER · READING THE WATER✕
  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~
  ~  ~  ~  ~ ( o ) ~  ~  ~   about 18 ft, salt water
  ~  ~  ~  ~  ~  ~  ~  ~  ~  deep enough for full-size fish
  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~
  ·  ·  ·  ·  ·  ·  ·  ·  ·  the ring: your cast range, 16.7 m

  ripples   ( o )  about 9 ft, fresh water
                   Ripples here. Fish bite faster.
  tired     ( o )  about 7 ft, fetid water
                   This spot is tiring. Try further along the bank.
  shallow   ( o )  about 6 ft, fresh water

  ┌ Fishing, salt water ────────────── 67% ┐
  │██████████████████░░░░░░░░░░░░░░░░░░░░░░│
  └────────────────────────────────────────┘
two lines at most; the water is always named in wordsrange shown at Fishing 100

Seen in: ESO, where four water types each want their own bait; Final Fantasy XV, which marks hotspots on the minimap; Ultima Online's "The fish don't seem to be biting here"; World of Warcraft's pools that empty as you fish them. Asked by WeirDave, Cora Cuz'avich, Browncoat Jayson, Belladonna Rose, Remescao, Fiero Steele.

Implementation notes

VisualTargetingSystem.UpdateFishingIndicator already knows the water, from the trigger or a town's water statue, the depth from its downward probe, and whether the cast is valid; VisualTargetingSystem.UpdateFishingDepthLabel grows to two lines at most. The full-size mark reads FishingDepthMath's ramp. The ripple line asks FishingHotspot.GetNeerbyHotspots. The range ring uses the FishingRange stat the bait rune already reads. The tints sit beside the existing valid and invalid indicator colours, each paired with its word. The tired line reads the game's spot memory, whose key today is the sum of the rounded x and z positions bucketed by eight, so one counter covers a whole diagonal band; the key becomes a two-dimensional 8 metre cell. The caption uses the cast bar's existing caption override. All of it reads what the game already has, with no new request to the server. A key test proves two points on one diagonal no longer share a counter. Risk: clutter, held to two lines. Pressure that players share at a spot is economy S15.

client M (marker, caption, spot memory)server noneimpact you can see what you are fishingtests spot-memory key test

S12 · Glare off, cast from a key

Tier 2Size SServer: none

Two small comforts. Bright water hides the bobber, and Janzik wrote, "I have actually given up fishing a few times" over the glare; Reflections in the Video options gains a None setting beside Low, Medium and High. And Ysold asked to cast with a key instead of a click, because the click that releases the bait can nudge the aim into the spot you just tired. With a bait ready, pressing Fishing Reel will cast at the aim marker. No new key is added: the action that reels in the fish also casts the line, and it stays unbound until you bind it in Controls.

Seen in: Throne and Liberty, which casts from the F key; a Cast n Chill review that flagged fish too hard to see, worst for colour-blind players. Asked by Janzik, Ysold.

Implementation notes

GlobalReflectionManager.ReflectionQuality offers Low, Medium and High; None is appended and switches the reflection off on every water surface, which is why it sits in Video with the other reflection settings. The cast: while a bait is targeting in fishing mode and Fishing Reel is bound, a press releases the bait at the reticle through the same path PlayerTargeting.OnMousePress uses, so aim, range and validity are unchanged. Inside the meter the same key still sets the hook and reels. No action is added, so the pinned rule that Fishing Reel ships unbound and listed last holds as it is. FishingMiniGameOptionTests and the keybind-order fence cover it. No server work. Risk: None changes how all water looks, which each player chooses for themselves.

client S (video option, input)server noneimpact glare off, a cast that keeps its aimtests option and keybind fences

S13 · Bait that says what it is for

BuiltTier 2Size S-MServer: none

Built 2026-10-31. Every bait tooltip, in the backpack and on the hotbar, now says what the catch lists say about it: the water it does best in, or that it works in any water; whether it brings up more of the larger fish or mostly smaller ones; any catch it brings up far more often than other baits, such as Tiny Squid on a Minnow in salt water; and that any bait can still bring up a rare one. The lines are worked out from the catch lists when they load, so they follow the local lists and never show a number. The descriptions no longer promise a bonus to catching fish or the same results by day and night. The aim marker says when the water under the lure is not the bait's best. Not on the test shard yet.

Kron Caledon logged bait tests by hand and Arkah EMPstrike fished in batches of a hundred to learn what bait does, while kaeshiva wrote that bait choice "currently seems to make no difference whatsoever". Their tests were right. Bait does not change how often fish bite. It changes which fish come up. Yet the working baits' descriptions promise "a bonus to catching fish", some say day or night where the catch lists favour morning and evening, and the Starfish rune and its item carry two different names. Each bait will say which water it suits and which fish favour it, in words drawn from the catch lists and never in numbers, and the aim marker will say when a bait is outside its best water. Over the last 30 days on the old servers Hopper made up 28.9 percent of casts and Blood Leech 0.8 percent, and anglers should choose knowing what each one is for. Cheap bait keeps the rare chance players defend, in Kron Caledon's words: "fishers using only Red Worms or Minnows ALWAYS have a chance to catch an amazing rare fish."

HOPPER✕
 Today
 Fishing Bait
 Fish Using Hopper.
 Common bait with a bonus to catching
 fish in fresh water.

 Proposed
 Fishing Bait
 Best in fresh water.
 Brings up more of the larger
 fresh-water fish.
 Any bait can still bring up a rare one.

 On the aim marker, over salt water
 about 12 ft, salt water
 Hopper is best in fresh water.
words only, never numbersthe most-cast bait

Seen in: ESO, where each water type wants its own bait and the wrong one shows Used Bait; New World, whose baits favour either size or rarity; WebFishing, whose lures each pick size, quality or rarity; Stardew Valley's targeted bait. Asked by kaeshiva, Arkah EMPstrike, with credit to Kron Caledon's tests. Fishing kits that swap bait with the rest of your gear are the presets of bank S13, which cover stile's tackle box and Warius's fishing deck.

Implementation notes

The bait tooltip is built in the rune tooltip code from the skill text, which is where the bonus promise lives. The new lines are derived when the catch lists load, through the walk FishingCatchClassifier already does: for each working bait and water, rank kinds by their share of the larger catches against the other baits, keep those above a threshold, and print names only. The aim marker's mismatch note uses CellCoordinate.IsValid and the same ranking. The bonus promise, the day-or-night wording and the Starfish name are fixed in the localized skill text, with translation. Tests assert that the generated text holds no digits or percent signs and that every working bait gets a line. No server work. Risk: implying that cheap bait cannot land a rare fish, which the last line of every bait tooltip rules out.

client S-M (tooltip, text, translation)server noneimpact twelve baits explain themselvestests no-digit and coverage checks

S14 · Fish on: know what you hooked

BuiltTier 2Size S-MServer: none

Built 2026-10-16, the header. When the hook is set, a header above the meter shows the catch's picture, its name with its size word, and Gentle, Fights or Fights hard. A kind never landed shows as an outline over "Something you have never caught", and a new Fishing Meter Catch option set to Shape Only keeps every name back. Let it go and the warning before a dash are not built yet. Not on the test shard yet.

When the meter opens you fight something you cannot see. The catch is decided before the fight, so the game already knows its kind and its size; you do not. The meter's header will name it, or say "Something you have never caught" until you land your first, give its size word, and say how hard it fights: Gentle, Fights or Fights hard. A Let it go button ends a fight you do not want, and the fish goes back in the water. For anglers who like the surprise, an option shows the shape only. The fight also gains a tell: the yellow zone, which is the fish, flashes a beat before the fish dashes or jumps, so a fast fish can be read before it moves.

REEL METER · FISH ON!
 Large Tiger Shark          Fights hard
 LINE    TENSION    FISH
  ██     ░░░░░░      ██
  ██     ▒▒▒▒▒▒      ██   ◄ the zone flashes a beat
  ██     ▒▒██▒▒      ██     before the fish dashes
  ██     ░░░░░░      █
 Hold E or the left mouse button
 to reel in                [Let it go]

 first time:  Something you have never caught    Fights
 shape only:  A large fish                       Gentle
name, size word and fight, with a way outOptions: Show the Fish on the Line, Name or Shape Only

Seen in: Final Fantasy XIV's bite tells (!, !! and !!!); Guild Wars 2's hook icon, coloured by difficulty; Stardew Valley's crown on a legendary and its Sonar Bobber; Terraria's Sonar Potion; ArcheAge's sport fishing, where an icon warns of the fish's next move.

Implementation notes

FishingMeterUI stays pure: the header arrives in FishingFightParams with the rest of the fight, filled from FishingCatchClassifier.Classify, which already returns the tier and the difficulty, and from the species registry's names. The header reads "Something you have never caught" while that kind's collection counter, read through Achievements.GetEffectiveStringStatValue, is zero. The three fight words are bands of the difficulty the fight already uses. Let it go is a released resolution in FishingMeterUI.Resolve that the cast treats exactly as a lost fight, with an appended end reason for the cast log; the shape fence that counts the two abandon calls stays as it is. No key is added: the button is clicked, and a key can join the Angler's Log key later in one re-pin of the keybind order. The tell is a lead time in FishingReelMath: when the fish picks a dash or a long jump, the move starts a beat later and the widget flashes the zone in the gap, reading one flag from the fight state. A tell makes fights easier, so the simulator fences rerun and the new landing rates go to the owner beside S37. No server work.

client S-M (header, button, tell)server noneimpact you know what you are fightingtests meter, cast shape, simulator

S15 · The catch, shown

BuiltTier 2Size MServer: none

Built 2026-10-16, the card. For a few seconds after a catch lands, a card under the callout shows its picture, its name, its Fish Length for a sized fish, and tags for a Clean Catch, the first of its kind and a Critical catch. Fishing finds get one too. It shows on casts that used the reel meter. The hold-it-up moment for players nearby and the results event for add-ons are not built yet. Not on the test shard yet.

Landing a trophy ends today with one chat line, "You gained an item (Large Tiger Shark (Saltwater Fish)) from fishing.", and a line in the cast bar. A catch card will appear where the meter sat, for every trophy and for the first catch of any kind, casts with the mini-game off included: the kind, its length to three decimals, the size word, the water, and "First of its kind", or "Your best yet" once S19 keeps your bests. A Hold it up button raises the fish so anglers nearby see it, with a chat line for them; you choose to press it, it is for trophies only, and a cooldown keeps a busy dock from filling with chat. Add-on authors get a results event that reports each finished cast after it ends and never during the fight, so a catch log or a contest tracker can be built on it with nothing that helps time the meter. Rook Strife asked for standings players can watch as they happen, and Phamyns kept team contest scores in a spreadsheet by hand.

CATCH✕
 Large Tiger Shark                          5.412
 salt water · trophy fish
 First of its kind
 [Hold it up]                      [Angler's Log]
Anglers nearby read:Ilsabet holds up a Large Tiger Shark, 5.412 long.
Add-ons receive, after the cast ends:ShroudOnFishingResults: landed, Tiger Shark, Large, 5.412, salt water, Tiny Squid, 18 ft, Clean Catch
shown where the meter sat; no new window"Your best yet" arrives with S19

Seen in: Black Desert's New Max Size pop-up; Stardew Valley's record length for each species; Fisch's Largest Caught; Animal Crossing, where every catch is held up for the camera; ESO's Votan's Fisherman, an add-on players built because the game kept no log. Asked by Rook Strife, Phamyns.

Implementation notes

The card is hosted on the meter's own HUD rung after FishingMeterUI.Resolve, and for casts with the mini-game off after HarvestingResourceUI.HideForFishing, so it adds no new layer; it is the one new HUD element on this page, and there is no floating label over the angler. Length prints with three decimals as the trophy tooltip does, the water comes from the name's suffix, and "First of its kind" from the kind's counter before the catch is credited. Hold it up is one new broadcast modelled on the line-cast broadcast and sent after the cast has finished; it must be added to the generated RPC table, and the animation is the main cost. ShroudOnFishingResults is modelled on ShroudOnGatherResults and fires once from the cast's tail, after the result, with outcome, kind, length, size, water, bait, depth and Clean Catch. Tests pin that the broadcast is sent outside the cast span and that the event fires exactly once and never before the result. No server work. Risk: chat noise, held down by a button you choose to press, trophies only and a cooldown.

client M (card, animation, Lua event)server noneimpact a big catch gets seentests broadcast and event-order fences

S16 · The Angler's Log

BuiltTier 2Size LServer: none

Built 2026-10-31, the Here, Kinds and Bait tabs. The Log opens from the Open a Window menu, from /anglerslog and from a new Angler's Log key (unbound, listed last). Here names the water in front of you, starts on the bait you last cast, and lists every kind that water and bait can bring up with your count and whether it bites at this hour and under this moon, the tired spot near your last cast, and today's fishing towns. Kinds holds all 81 kinds the game has now: a kind not yet caught is a shape on a pale tile, and its waters, baits and hours are shown all the same, with a lore line that opens as your skill in its water grows and an Ask the Oracle button. Bait lists the twelve baits that work, their waters, how many kinds each brings up and where to get it, and names the fourteen not in the game yet. Records, Contests and Orders stay greyed until their cards land. Not built yet: first-catch dates, which the game does not send to the client today, and opening the Log from the cast bar, the catch card and the guide book. Not on the test shard yet.

Everything anglers kept in spreadsheets goes into one window. Strider99's fishing spreadsheet of kinds and size ranges was a community reference until its link died, and kaeshiva, majoria70 and WeirDave asked for the same answers in game. Two built pieces already carry part of it: the achievements journal's Fishing category, which counts every kind you have landed, and the leaderboards players call the in-game fish log. The Angler's Log joins them in six tabs: Here (this water, your bait, what bites with it, the hour, the state of your spot), Kinds (all 68), Bait (the twelve that work, what each suits and where to get it, and the fourteen not in the game yet), then Records, Contests and Orders, which light up as their cards land. It never hides where and when: an uncaught kind shows a shape in place of a picture and still shows its water, its baits and its hours, because hiding them is what sent Animal Crossing players to outside guides. Each kind has an Ask the Oracle button, and once S19 keeps your bests, a map pin marks where you landed each one.

ANGLER'S LOG✕
 [Here]   Kinds 41/68   Bait   Records   Contests   Orders
 ──────────────────────────────────────────────────────────────
 Lilyport. Fresh water, about 18 ft. Deep enough for full-size fish.
 Your bait: Hopper, best in fresh water.

 Bites here with this bait                 caught
   Pike                                         7
   King Salmon                                  3
   Brook Trout                     not yet caught

 Now: evening, a good hour for large fish.
 This spot is tiring. Try further along the bank.
 [Practice]   [Ask the Oracle]

 Kinds, an entry you have not caught
   Brook Trout, trophy fish   (shape only)   not yet caught
   Fresh water. Every fresh-water bait can bring one up.
   With most baits, large ones favour dawn, morning, dusk and evening.
Records, Contests and Orders light up with S19, S20, S21 and S31the full window: section 4

Seen in: Final Fantasy XIV's Fish Guide; Fisch's bestiary, with shapes and hints for fish you have not caught; Black Desert's Fish Guide; World of Warcraft's Fishing Journal; Stardew Valley's Collections tab; and Animal Crossing's Critterpedia as the warning, since hiding where and when fish appear sent its players to outside guides. Asked by Strider99, kaeshiva, majoria70, WeirDave. The collection it builds on is achievements S13.

Implementation notes

A new UI Toolkit window on the pattern of the Animal Lore window, whose skill-tiered reveals also give each kind a lore line that deepens with your water skills (flavour only), and of the achievements journal model. FishSpeciesRegistry.SpeciesEntry gains habitat, bait and lore fields. Counts come from Achievements.GetEffectiveStringStatValue and first-catch dates from the deed unlock records for the 44 kinds that have deeds. What bites here comes from the catch lists through the classifier's walk, the hour and the moon from DateTimeNB, today's fishing towns from the existing town-bonus query, and realm records, once S19 lands, from the leaderboard data the in-game board already fetches. The Log makes no new request to the server: Here, Kinds and Bait read data the game already loads, and the Records, Contests and Orders lines arrive through their own cards. It opens from a new Angler's Log key (unbound, listed last, with the keybind-order fence re-pinned once), from the cast bar, from the catch card and from a link in the guide book. Ship Here, Kinds and Bait first. Model tests and a never-hide test, which requires water and bait on every kind whether caught or not, guard it. Risk: scope, which the staged tabs answer.

client L (window, registry fields)server noneimpact one place for what anglers tracktests model and never-hide tests

S17 · Practice and patience

Tier 2Size MServer: none

On the shipped numbers an angler of average reflexes lands about 1 common fish in 1,000 at Fishing 0, 47 in 100 at Fishing 50 and 82 in 100 at Fishing 100, and below about Fishing 100 the calm cast catches more. Those numbers are the owner's to change (S37). Without touching them, three things help. A one-time tip after a run of lost fights explains the calm cast in Options and what it costs. A practice line, started from the Log or from Private Fleta, uses no bait, catches nothing and pays nothing, so the fight can be learned without spending anything. And a short overlay on your first fight names the meter's three columns. Duke Olahorand's first-day post and Belladonna Rose's point that the calm cast gives up the biggest trophies are the two halves of the problem this answers.

YOUR FIRST FIGHT, SHOWN ONCE✕
 Line: how long your line will hold.
 Tension: keep the blue bar in the
 yellow zone.
 Fish: how much fight it has left.
After a run of lost fights, once:
 Fights too hard for now? You can turn
 off the fishing mini-game in Options,
 on the Interface tab. The biggest
 trophy fish only bite while it is on.
[Practice] in the Log: no bait, no catch, no experience

Seen in: Stardew Valley's Training Rod, and its creator's regret that the fishing game "starts out too hard"; Call of the Wild: The Angler, whose hint after five idle minutes can be switched off; Dredge's Relaxed mode; Ultimate Fishing Simulator 2's named difficulty modes. Asked by Duke Olahorand, Belladonna Rose.

Implementation notes

The tip counts lost fights in the cast's tail, beside the line it already writes, and queues a single QueuedMessageUI tip per character, dismissible and switchable with a Fishing Tips option; it points at the existing opt-out and its shipped caption, and its strings take fresh ids. The practice line drives FishingMeterUI with FishingReelMath.BuildFightParams and StepFight against a common fish, with no bait, no bag, no experience and no cast log line. FishingFrame.Cleanup is the only place the meter is dismissed, so practice runs inside a fishing frame of its own, or that cleanup fence is re-pinned in the same change. The overlay reuses the meter's three column labels. No numbers change, which leaves the tuning to S37, and there is no server work. Risk: nagging, held to once per character.

client M (tip, practice, overlay)server noneimpact a way in that teaches firsttests cleanup and cast-shape fences

Tier 3 · Connect the catch

S18 · Fishing deeds that pay out

Tier 3Size MServer: catalog bake

All 51 fishing deeds pay nothing: none grants a title and none carries an item, while deeds elsewhere in the game now hand over titles and trophies the moment they unlock. The achievements page already drew up the fishing rows, and this card delivers them through the reward hooks that page built: titles on the four catch-count deeds, a collector trophy for landing every trophy kind in fresh, salt, fetid or lava water, Grand Angler as a title and a trophy for landing every trophy kind there is, and Trophy Catch for the first trophy-size fish. It also ends a name clash. Master Angler is both the 10,000-catch deed and the title the game keeps for contest winners, so the deed takes a new name and the title stays with the winners of the Angler's Cup (S20); the achievements page's own Master Angler row, for reaching Grandmaster, is renamed as well. Beside the deeds sits a passport of town waters: a stamp for each town whose water you have landed a fish in, with deeds at 10, 25 and 50 waters. Belladonna Rose counted over 200 towns still unvisited, and with Fiero Steele placed homes in at least 21 ghost towns to keep them in the daily fishing-town rotation; the passport gives every angler a reason to make the trip.

Seen in: World of Warcraft's Accomplished Angler and its title, Salty; Asheron's Call's catch-count titles, from Pond Scum to Pro Fisherman; Guild Wars 2's pun titles every five collections, starting with Kind of a Big Reel; LOTRO's deeds that pay out a trophy plaque; ESO's Master Angler title and its furnishing. Asked by majoria70, Belladonna Rose and Fiero Steele.

Implementation notes

Every one of the 51 fishing rows in the AchievementCatalog carries no granted title and an empty reward bundle. The catalog generator gains the reward columns the achievements page specified; titles ride the built milestone grants (achievements S12) and items the reward-on-unlock hooks (achievements S20). New titles append to CharacterTitle on both sides of the shared mirror, the contest-winner title keeps its slot, and the 10,000-catch deed takes a new localization id, because an existing id is never reworded. The per-water collector deeds read the species groups the item stat map already keys. The passport is a family of account stat keys, one per town water, stamped when a fish is landed there and baked into the string-stat rules, with a migrations-ledger entry that records no data migration; the keys stay clear of the fenced Fish_Species_ prefix and run to about 200. Its ladder sits beside town discovery (achievements S4) without repeating it: that one counts towns you reach, this one counts town waters you fish. Main risk: the hand-mirrored title list keeps growing.

client S (catalog rows + strings)server catalog, rules and reward bakesimpact 51 deeds start payingtests reward census per deed

S19 · Records: your best and the realm's

Tier 3Size LServer: DB record

Every trophy already knows its own length, yet nothing in the game keeps your best, and the longest fish anyone lands goes unheard unless someone posts a screenshot. Players keep the records by hand: Sonja offered 500 crowns for record-size fish of every size and type, and Hemnu Lightbringer's circuit pays a bonus to whoever beats its all-time record, a 5.61 Large Tiger Shark. Step one keeps your longest of each of the 30 trophy kinds on your account, lists it in the Angler's Log (S16) and lets the catch card (S15) say "Your best yet" when you beat it. Step two keeps a record for every kind and size in the realm. A new record goes out on World Events with the angler's name, the Log shows each standing record and its holder, and anglers who hide from the leaderboards appear as "an angler". Step two ships with server-side checks on the catch.

WORLD EVENTS✕
 18:42  Ilsabet landed a Large Tiger Shark 5.588 long in Duskwater.
        It is the longest yet.
 21:07  An angler landed a Large Sailfish 3.702 long in Kingsport.
        It is the longest yet.
a new realm record, as the channel shows ithidden anglers stay "an angler"
ANGLER'S LOG · RECORDS✕
  Here   Kinds 41/68   Bait   [Records]   Contests   Orders

  TROPHY KIND       YOUR BEST          REALM RECORD
  Tiger Shark       5.298 Large        5.588 Large   Ilsabet
  Bluefin Tuna      3.104 Large        3.251 Large   Pellam
  Marlin            4.012 Large        4.344 Large   Tamsin
  Alligator Gar     2.611 Large        2.903 Large   Corwen
  Sailfish          not yet caught     3.702 Large   an angler

  Your bests count every character on this account.
  Town waters fished: 23  (next passport deed at 25)
  Fish since your last trophy: 37
step 1 needs no new request; realm records are kept per kind and sizepassport line from S18, dry spell line from S26

Seen in: Black Desert's Fish Guide, which names the angler who caught the largest of each species, measured to three decimals, and shows New Max Size when you beat your own; Russian Fishing 4's record tables; Ultima Online's taxidermy, where a 225-stone record holder started a records culture of its own. Asked by Sonja, Hemnu Lightbringer and majoria70.

Implementation notes

Step one is a high-water stat key per trophy kind on the StoreHighestValue rule, the path Animal Lore progress already uses, so it needs a rules bake and no new request. Every key is registered in the stat catalog and stays off the fenced Fish_Species_ prefix, and because account stats span every character, the Log says so under the column. Step two appends a fishing-record kind to WorldEventKind and publishes it from Game.CreditParkedFishingItems through the Request_PublishWorldEvent pattern into WorldEventManager, whose AllowEvent throttle keeps a run of records from flooding the channel. The new kinds for records, weigh-station results (S31) and landed legends (S32) are allocated in one change set, because the enum is append-only and mirrored. A new per-kind record document joins the database with EnsureIndexes, a migrations-ledger row and registration in both server projects. Records are kept per kind and size class and rank by the quality stamped on the catch, so within a size class the record is always the longer fish. Realm records count from the day step two ships. Anonymity follows the leaderboard privacy option, and S9's species map keeps the records and the leaderboards agreeing on what a kind is. Main risk: announcing a record before the checks on the catch exist, which is why step two waits for them.

client M (Log tab + card line)server DB record + World Events kindimpact records the realm hears abouttests high-water key + record round trip

S20 · The Angler's Cup

Tier 3Size LServer: DB record

The official contests ran from May 2020 until 28 July 2022 and stopped because of the daily manual work they took. jrs99 called ending them "a huge mistake" and asked on 31 July 2026 for the monthly contest to return; Adam Crow pointed out that volunteers could not take it over because judging needed data only the team could pull, and with Rook Strife sketched a minimal format of one town and three trophies. The Cup runs itself. Every two weeks it names two trophy kinds, each measured by longest or smallest within one size class, plus a race for the most kinds landed, and the rotation never repeats a race until every option has had its turn. Anglers enter at any weigh station (S31) or at official stations on a few town docks, one entry per race, and ties go to the earlier catch. The top ten of each race win the contest trophies already in the game, which no system in the game awards today: the Grand Champion Fishing Contest Trophy in gold, silver and bronze, or the Lava Fishing Contest Trophy in a lava round, with the tabletop versions for places four to ten, all engraved "The Angler's Cup". Each race winner also earns Master Angler, the title the game keeps for contest winners, and like every contest trophy in the game, Cup trophies can be traded.

THE ANGLER'S CUP · ROUND 21 · 9 DAYS LEFT✕
 LONGEST LARGE MARLIN     SMALLEST LARGE STURGEON   MOST KINDS LANDED
  1  Tamsin     4.351      1  Linnet     2.758       1  Wenna     34
  2  Pellam     4.298      2  Corwen     2.766       2  Ilsabet   31
  3  an angler  4.240      3  Tamsin     2.781       3  Pellam    29
  ...                      ...                       ...
 11  You        4.106      -  You        no entry    8  You       22

 One entry per race. A better fish replaces your entry.
 Ties go to the earlier catch.
 Places 1 to 3: Cup trophies. Places 4 to 10: tabletop Cup trophies.
 Each race winner also earns the title Master Angler.
 Enter at any weigh station, or at the Cup stations in Kingsport and Solania.
Angler's Log · Contests taba new round every two weeks

Seen in: Black Desert's weekly contest, three species drawn from a pool of 59, ranked by the largest single catch to three decimals, with ties to the first catch and the top 300 rewarded; Final Fantasy XI's Fish Ranking, twelve contests a year, largest or smallest, one entry that replaces the last; Ultima Online's monthly Event Moderator tournaments ("this month we are after the Blue Marlin"); World of Warcraft's Hallowfall Derby, built so everyone can finish. Asked by jrs99, Adam Crow, Rook Strife and Janzik.

Implementation notes

The schedule reuses the round pattern SceneBonusManager runs for the daily fishing towns: an option already picked is excluded until the pool runs dry, then the round restarts. Its state lives in a schedule record in the database with a migrations-ledger row, and round dates are set clear of the closing days the player circuits use. Entries arrive through S31's weigh stations and their size-class and catch-time rules, plus official stations placed on a few NPC docks, and a better fish replaces an angler's earlier entry. Places are recorded as stats the round sets, each with a reward row, so prizes ride the built reward-on-unlock hooks (achievements S20) with no new grant code, and the trophies take S31's engraving key. Results post to World Events under the kind S31 allocates, and Zach Corey in Aerie, who already talks of Novian fishing leagues that take tournaments very seriously, gains a line naming the current round. The title stays free for contest winners because S18 renames the 10,000-catch deed. Main risk: crowding the player circuits, which the calendar is set to avoid.

client M (Contests tab)server DB record + scheduleimpact an official contest with no staff hourstests rotation no-repeat + tie order

S21 · The fish desk: orders and commissions

Tier 3Size LServer: ops

Fish sell to merchants for 3 to 6 gold, the fishmongers sell only market-stall prop fish, and no merchant or quest giver asks for a fish. Ceal Astra wrote that tank fish "can't sell or give 'em away fast enough" and asked for a daily collector, Weins201 wanted a use for lava fish to free up four trunks, and vulcanjedi asked in 2023 for trophy fish on buy orders. Step one opens the buy-order list to trophy-size fish, mounts and tank fish, none of which can take an order today, and lets an order name a minimum length and a "caught after" date, so a museum keeper such as Sonja can commission a record fish and pay for it. Step two gives the 15 fishing-supply merchants and the fishmongers daily wants by water (a common fish, a trophy-size fish and a tank fish), paid in coin and fishing goods such as bait, decor and the rod parts that have no source today, with a gift at 5, 10, 15, 20 and 30 deliveries. Castle Atos, which has fishing water and no bait seller, gets one, as Echondas asked in 2022. The boots and gloves that come up with the fish already have a home in economy S23, Clean Up Novia.

KINGSPORT · FISHING SUPPLIES · ORDERS✕
 WANTED BY PLAYERS
 Large Tiger Shark, at least 5.200 long, caught after 1 Oct 2026
   pays 25,000 gold · posted by Corwen · 6 days left     [Fill from bags]
 Clownfish, for the aquarium in Lilyport
   pays 800 gold · posted by Wenna · 2 days left          [Fill from bags]

 TODAY'S WANTS · salt water · new wants each day
 3 Mackerel           90 gold and 10 Tiny Squid
 1 Bluefin Tuna       400 gold and a Catgut Fishing Line
 1 Clownfish          a fish rack for your dock
 Delivered here: 7 · next gift at 10 deliveries
prices are placeholders until economy S33 sets thema length floor is shown rounded down

Seen in: Ultima Online's Professional Fisher Quests (2010), taken from fishmongers at eight docks; Guild Wars 2's daily catch, one wanted fish a day per account; Final Fantasy XIV's Custom Deliveries; Terraria's Angler, whose gifts step up from the 5th quest to the 30th; WebFishing's quest board, which pays in cosmetics. Asked by Ceal Astra, Weins201, kaeshiva, vulcanjedi, Echondas, Sonja and majoria70.

Implementation notes

Step one: Game.CreateVendorPurchaseOrder and Game.CreatePlayerVendorPurchaseOrder take new op versions with updated op-policy rows, and Game.ExecuteVendorTransaction adds a quality test to its archetype match. The order's minimum length converts to the quality that length needs within the fish's size class and is shown rounded down, so a fish that looks long enough always qualifies. PurchaseOrder carries the minimum and the date, with a schema note in the migrations ledger, and the VendorPurchaseOrders list and its server copy gain the trophy carcasses, the mounts and the 14 tank fish. Economy S3's search and S11's partial fills make commissions easy to find and fill. Step two builds on economy S27's town orders: wants rotate on the same round pattern as the daily fishing towns, a turn-in request with its op-policy row and dispatch pays out, a stat key counts deliveries for the gifts, and the reward bundles go through the itemization rebake. The buyers are the existing Shop_General_Fishing vendors and the fishmongers, and the rod parts come from S22's new recipes. Main risks: prices, which economy S33's audit should set, and a small population, so a want never asks for the rarest kinds every day.

client M (order fields + Orders tab)server new op versions + turn-in opimpact fish have buyerstests length floor boundary + turn-in

S22 · Fish for the workshop

Tier 3Size MServer: data bake

Butchering a land animal gives meat, sinew, fat, bone and wax; butchering a fish gives fillets and nothing else, across all 27 fish butchery recipes. kaeshiva wrote in 2019 that none of the basic fish recipes were "even worth bothering with", Weins201 that lava fish had no use, and Lained asked in 2020 for more fillets from the large rare fish. The fish recipes gain byproducts: fish oil, which can stand in for wax when mounting a trophy and feeds the Angler's draught from alchemy S16; fish bone, which works in recipes that take bone; rare perfect roe for the finest fish dishes; and fish scraps, which make fish meal and the chum of S29. Fish meal is a fertilizer, which planting already accepts, and Basic Fertilizer has no recipe today. The Large sizes and the lava giants get the biggest fillet yields. The Fishing Rod Shaft and Catgut Fishing Line exist as components that nothing makes and nothing uses; they get recipes, so a rod can be made as well as masterworked, as Stealch asked. Sharkfin Soup, whose recipe today calls for two Corpion Tails and no shark, takes shark fillet.

Seen in: ESO's filleting, where common fish can give up Perfect Roe for an experience drink; EverQuest's fish bones for fletching; Old School RuneScape's roe and caviar for Herblore; Albion's fish sauces and the dishes that need a region's rare fish; Monster Hunter Wilds' Whetfish, which sharpens a weapon. Asked by kaeshiva, Weins201, Lained and Stealch.

Implementation notes

Each Process fish recipe gains byproduct outputs, and the per-size yield rows are rebalanced so the large fish give the most. The trophy rows at the Tanning bench accept Fish Oil in the wax slot. Fish Meal is an item of the fertilizer type, which the sowing transaction's fertilizer query already accepts, so planting needs no code change; whether fertilizer raises yield is economy S13's question. New Carpentry and Tanning recipes make the shaft, the line and the rod; rods already masterwork at Carpentry, which MasterworkFishingRodConversionTests pins. Every new item and recipe rebakes the itemization catalog in the same change, joins the recipe hash list and goes out in a server item bake: no database record and no new request. Main risk: every new item needs a real use, and the value of what comes out of a fish belongs to economy S33's audit.

client S (data)server data bakeimpact a fish feeds more than the cooktests recipe hash + byproduct census

S23 · Trophies and tanks that tell the story

Tier 3Size M-LServer: DB record

A mounted trophy already records who caught it, where, when and how long it was, but only a tooltip says so, and tank fish record nothing at all. Players keep the story on their own walls: Isbel's directory lists more than 11 fish displays and museums, Sonja keeps a record aquarium, and Strider99's Pacu contest mounted its catches in a town museum. Hovering a mount shows a plaque with the catcher, the place, the real-world and New Britannia dates, the length and the size word S10 restores. A placeable Record Board ranks every fish trophy on display in your town by kind, and tank fish remember who brought them in. A town aquarium takes donated tank fish and engraves each with the giver's name; when all 14 kinds are in, the Log and the town criers name it an aquarium town, which gives Ceal Astra's surplus of tank fish somewhere to go. Fiero Steele asked for standing and hanging mounts for every fish and Hemnu Lightbringer for trophies that sit on blocks and platforms; both need new art and go to the owner's list.

RECORD BOARD · LILYPORT✕
 Fish trophies on display in this town, longest of each kind

 Tiger Shark      5.402 Large   caught by Tamsin    at Tamsin's dock house
 Marlin           4.112 Large   caught by Corwen    at the town museum
 Sturgeon         2.990 Large   caught by Pellam    at the town museum
 Alligator Gar    2.844 Large   caught by Linnet    at Linnet's cottage

 Aquarium: 11 of 14 kinds donated. Missing: Neon Tetra, Cardinal, Yellow Tang.
a placeable deco; it reads the trophies placed in the townaquarium line from the town aquarium

Seen in: Ultima Online's taxidermy, which shows the angler's name and the weight, with the catch date added in 2010; Old School RuneScape's 2025 trophy displays, saved per account; New World's Mount-A-Catch; Animal Crossing's museum; Final Fantasy XIV's community aquarium houses, which players run as public exhibits. Asked by Sonja, Isbel, Hemnu Lightbringer, Strider99, Fiero Steele and Ceal Astra.

Implementation notes

The plaque extends ItemArchetype's tooltip provenance block, which prints the catcher, the scene and the New Britannia date today, with S10's real date and size word, so it follows S10. The Record Board is a deco that reads the ItemQuality of every placed fish trophy in the loaded scene and sorts by kind and length, so it ranks what the town holds at that moment. Tank fish gain the UsesItemQualityProperty flag, so the loot stamp records them as it records trophies, and Fishtank shows it; fish traps also hand out tank fish, so the label reads "Brought in by", and tanks stocked before the change stay as they are. The town aquarium is a new database record on the GameTipJar and TipJarStorage pattern, with a migrations-ledger row, plus a donation request with its op-policy row and the tip jar's scene-access check. A highlight in the teleport list would compete with the Pacu and tournament colours, so the Log and the criers carry the aquarium towns. The new decos rebake the itemization catalog. Tank provenance also makes the Aquarist row on the achievements page (stock a home tank with a fish you caught) checkable, and the trophy work sits beside that page's trophy quartermaster, achievements S11.

client M (plaque + board)server DB record + donation opimpact walls that tell the storytests label wording + board sort

S24 · Home water

Tier 3Size LServer: ops

Apart from a few fishing grottos for player dungeons, the only fishing water a player can place is lava, and that is gone too: the stone lava pools came off sale in 2025 and the fumarole pools have no source at all. The dungeon Koi Pond and Underground Pool rooms cannot be fished, and the water statues change the type of water a town already has without adding any. Mapper asked in 2023 for fishing bubbles players could place and in 2026 for pools and lakes on town lots, Sonja found swamp-town water too shallow to fish, Ozzy Questor asked for catch and release, and simon1974 asked in 2020 for a lava statue. Step one makes basins of fresh, salt and fetid water placeable on house and town lots, built like the lava pools, opens the Koi Pond and Underground Pool to fishing, and brings lava basins back. Home water stays small: a basin holds small fish only. Step two lets you stock it: release a fish you caught into your own basin and only the kinds you stocked bite there, plus the odd boot; each released trophy-kind fish is one bite, and each fish landed there uses one up. A basin holds 3, 5 or 8 kinds by size, its fish are stamped Pond-raised and kept out of records and contests, and its owner chooses who may fish it: just the owner, friends, or anyone.

WENNA'S GARDEN BASIN✕
 Fresh water · small basin
 Stocked kinds: 3 of 3

   Spotted Bass      2 bites left
   Brook Trout       1 bite left
   Goldfish          1 bite left

 Only the fish released here bite here,
 along with the odd boot.
 Fish from this basin are stamped Pond-raised.

 Who can fish here:
   ( ) Only me   (•) Friends   ( ) Anyone
                       [Release a fish]
opened from the basinone bite per trophy-kind fish

Seen in: Stardew Valley's fish ponds, one species per pond, whose harvested fish always come out at normal quality so a pond never copies a prize catch; Cast n Chill's pond stocking. Asked by Mapper, Sonja, Ozzy Questor and simon1974.

Implementation notes

Basins are deco prefabs modelled on the Stone Lava Pools, each carrying a FishingTrigger set to its water and a size ceiling of its own; the two dungeon rooms switch their allowFishing flag on. The fumarole pools gain a source and the stone pools return, with recipe or store and the price set by the owner against the grottos and statues already on sale; the fix for picking the right water at deco and lava pools shipped in August. Stocking adds a request with its op-policy row. A stocked-kinds row filter joins a small composite filter, because LootTable holds a single row filter today and the passive trophy gate already uses it, on both sides of the shared mirror. A Pond-raised item key follows the frozen-scene-name pattern, and the stock lives on the placed deco's own data, as the tip jar keeps its settings, with a schema note in the migrations ledger. The leaderboard pipeline and the weigh stations (S31) skip Pond-raised fish, local legends (S32) never live in a basin, and the one-statue-per-town rule is untouched. Main risks: placement on uneven lots, and drawing anglers away from town water. It sits beside water rights and the water lot in housing S4 and S28.

client M (basins + release action)server stock op + shared row filterimpact water you owntests stocked-only filter + one bite per trophy fish

S25 · Messages in bottles, wrecks below

Tier 3Size XLServer: shared code, data bake

The only treasure the water gives today is the Odd Container: a handful of bait, sometimes a fishing ring or cloak, and a little gold. Anglers have asked for more since 2017: Hemswal The Descended for messages in bottles, SOS bottles and locked chests, Arya Stoneheart for SOS bottles and treasure maps, Astirian for a bottle that leads to a player's dungeon, majoria70 for messages in bottles, Sonja for treasure maps and love letters in bottles, and Hemnu Lightbringer in 2025 for fishable bottles that lead to sunken treasure. In the 2021 player priorities poll, "Treasure Maps / Message in bottle" came third of about 50 options, with 47 of 131 voters. A cast in salt water can, rarely, bring up a waterlogged message that names a wreck and where it lies. Fish near that point with the message in your pack and the wreck gives up its debris first, decor named after the wreck, and its chest last. The rewards are decor and fishing goods, the lesson of Ultima Online's gold-heavy chests, and the map marks the spot with the fish-hook icon the game already has and never uses. A deeper tier can wait until ships arrive.

WATERLOGGED MESSAGE✕
 The ink has run, but you can read it.

   "The Merry Gull went down off the north point of
    Port Graff. What she carried lies there still."

 Fish near the marked point with this message in your pack.
 Recovered so far: 2 pieces of the Merry Gull

 chat, as the wreck gives up its pieces:
 You pull up a piece of the Merry Gull: a cracked nameboard.
 The Merry Gull's sea chest comes up on your line!
the message, read from the bagdebris first, the chest last

Seen in: Ultima Online's message in a bottle and SOS, from 1999 to today, with debris that has carried the wreck's name since 2019; Stardew Valley's fishing treasure and lost books; Terraria's crates; Sea of Thieves' Wreckers, which bite only at shipwrecks. Asked by Hemswal The Descended, Arya Stoneheart, Astirian, majoria70, Sonja and Hemnu Lightbringer.

Implementation notes

New items (the message, ship-named debris decor and the chest) rebake the itemization catalog, with rare message rows in the salt-water bundles. When a message comes up it takes a destination from a baked list of salt-water points, stored on the item as a new ItemQuality key on the frozen-scene-name pattern, so no migration. A cast near that point with the message in the pack draws from the wreck's own table, counts the debris recovered on the message and uses the message up with the chest; that is new code in the fishing branch plus a small addition to the shared cast gate, on both sides of the mirror. The map marker uses the fish-hook map icon that exists unused. No database record and no new request, and it ships with server-side checks on the catch. Something else bites (S28) can carry a message, and S33's notes from players share the drift under a different name, so the two kinds of bottle are told apart at a glance. A follow-on from Astirian's thread: a dungeon owner sets a bottle adrift that leads to their dungeon.

client M (items + reader + marker)server fishing branch + data bakeimpact treasure with a storytests destination round trip + chest ends the message

S26 · A dry spell ends

Tier 3Size M-LServer: shared code

The most repeated complaint about fishing here is the dry spell. Ysold fished more than ten hours in 2025 without a single shark, Hemnu Lightbringer fished "6 Hours a Day for a Week" for "0 Trophy Sharks", Galorn caught one shark in a year and a half, Strider99 at skill 131 saw "the same results I got when they were at 10", and Weins201 landed 135 lava fish without one rare. Each fish you land without a trophy makes the next trophy a little likelier, until one bites and the count starts again. The count grows only with fish you land, so it rewards fishing and nothing else; it acts at the moment the catch is decided and never during the fight, and the kind still comes from your water and your bait. It lives on your account, so it survives a change of scene or a night's sleep, and the Angler's Log can show it: "Fish since your last trophy: 37". The owner sets how fast it climbs.

Seen in: Dredge's hidden counter, which raises the odds of a rare variant with every ordinary catch and resets when one comes up; WebFishing's pity for failed casts; Terraria's Angler, whose reward odds improve with every quest; Final Fantasy XIV's Spectral Current, which comes easier and runs longer after a stop without one. Asked by Ysold, Hemnu Lightbringer, Dabs, Strider99, Galorn, Ozzy Questor, simon1974, Weins201, Mapper and Sorgin Txakal.

Implementation notes

The streak is an account stat key, updated when a fish is landed and reset by a trophy, with a migrations-ledger entry that records no data migration. When the catch is decided, with a chance that grows with the streak, a new TrophyOnlyRowFilter beside PassiveTrophyRowFilter in FishingCastGate keeps only trophy rows, on both sides of the shared mirror. LootTable has a single row-filter slot, so a small composite filter lets the two compose: a calm cast still never brings the trophy sizes the meter keeps, and an empty result falls back to the full table. The climb and its ceiling are live tunables the owner sets. FishingPassiveTierGateServerTests and FishingCreditAtClaimServerTests stay green, with a new suite for the composition. It ships with server-side checks on the catch. Main risk: the numbers, which are the owner's.

client S (Log line)server shared filter + stat keyimpact the drought has an endtests filter composition + streak reset

S27 · Fish that keep appointments

Tier 3Size LServer: data bake

No fishing table in the game reads the moon, the month or the season, although the filters exist and 20 other tables use them; the only clock fishing keeps is that Large fish favour the dawn, morning, dusk and evening hours. A few named fish per water keep appointments: a phase of the New Britannia moon, an hour of the day, a bait. The moon turns every 70 real minutes through eight phases of about nine minutes each, and a New Britannia day lasts one real hour, so every window comes round many times a day. You hear of them first in tavern rumours and in an almanac, where a line reads: "The Lantern Pike of the Upper Tears rises under the new moon and takes only a Hopper." Each has its own deed and its own mount, and each is a named member of a kind you already know, so the collection stays at 68 kinds and Complete Angler stays whole. Moon alignments can follow once the sky's alignment math joins the shared code.

Seen in: Final Fantasy XIV's big fish, each with a time window, weather and a bait chain; Stardew Valley's legendary fish and the lost book that hints where they live; World of Warcraft's Nightfin Snapper, which bites from 6 PM to 6 AM, and its Winter Squid; Red Dead Redemption 2's legendary fish map; Moonglow Bay's tavern rumours of monster fish; Terraria's moon phases, which shift fishing power.

Implementation notes

Each named fish is a new carcass and mount archetype mapped to its existing species key in the item stat map, so the roster fence in FishSpeciesRegistryTests holds the count at 68. Its rows sit in the chosen bait's cell with moon-phase and period filters from NewBritanniaDateTimeFilterOptions, read through DateTimeNB.GetPhaseOfMoon, which the loot table already honours when a catch is decided. Hints go into the town rumour lines, beside the one that names the daily fishing towns, and into a new almanac book; the deeds come through a catalog bake. Data and bakes only: no database record and no new request. Alignments later need Astrology.GetAlignedMoons ported to the shared code. Which size a named fish can reach waits on the trophy ladder decision (S39), and the Log (S16) shows each window once you have heard the rumour. Seasonal and hourly bonuses across gathering belong to economy S14. Main risk: windows so rare that players turn to outside trackers, which the 70-minute moon and the hour-long day keep in check.

client S (Log entries)server data bakeimpact rare fish become eventstests roster stays 68 + window filters

S28 · Something else bites

Tier 3Size XLServer: server code

Ultima Online put sea serpents in its deep water in 1999 that "immediately attack the fisherman that brought them", and players here have asked since 2017 for a catch that fights back: Hemswal The Descended, Arya Stoneheart, majoria70 ("fish… that attacks, poisons") and Hemnu Lightbringer, who wanted something to slay "like on UO". Very rarely, deep water holds a creature: a drowned sailor in salt water, a bog lurker in fetid water, a river troll in fresh water, a fire elemental in lava. It is decided like any catch, before any fight: the line goes slack, the creature surfaces beside you, and it carries an angler's prize such as tackle, a trophy scale or now and then a waterlogged message (S25). It never happens in towns or player towns, and the creature scales to the angler who hooked it, so a new angler meets something of their own level. The lines read "Something pulls back. Hard." and "A drowned sailor rises from the water!"

Seen in: Ultima Online's 1999 sea serpents; Final Fantasy XI's monsters on the line, with the choice to cut it; Terraria's Blood Moon, when an enemy can bite instead of a fish; World of Warcraft's Lurker Below, a raid boss fished out of a pool; Old School RuneScape's River troll, which once attacked players as they fished. Asked by Hemnu Lightbringer, majoria70, Hemswal The Descended and Arya Stoneheart.

Implementation notes

Rare creature rows sit behind a row filter in the shared code that admits them only in deep water and never in town or player-town scenes. Like every non-fish catch, the creature lands with no reel fight; the catch classifier already treats non-fish that way. The creature then spawns beside the angler when the catch is landed, and that spawn is new server work, which is what makes the card XL. Its level follows the angler who hooked it, and its loot is an angler's prize bundle that can include S25's message, so the items rebake the itemization catalog. Main risks: balance against new anglers and the new spawn path, which is why it scales to the angler and stays out of towns.

client M (strings + prize items)server creature spawn at the catchimpact a catch that fights backtests town exclusion + level scaling

S29 · Anglers' company

Tier 3Size MServer: none (chum later needs an item bake)

Today another angler on the same dock changes nothing about your fishing. Phamyns's 2019 thread "Bring back Chaos fishing" and kaeshiva's memory of friends calling each other "Pacu thief!" describe the same thing: fishing was more fun in a crowd. Step one: each angler with a line in the water within about 15 m shortens your wait for a bite, up to three companions, and the cast bar says so: "Fishing, 2 anglers nearby". No party is needed, and strangers on a dock count. Step two adds a bucket of chum made from S22's fish scraps: "You tip the chum into the water. Fish will bite faster here for a few minutes." It speeds the bite for everyone on that bank, one slick per player, and it never changes what bites. Company, chum and the stir from S32 share one ceiling, so they never stack past it.

Seen in: Palia, where catching a fish shortens the hook time of other players within 10 m, stacking five times; Guild Wars 2's Fishing Party stacks aboard a shared skiff; Destiny 2's communal Focused Fishing bar, and the frustration when an unrelated event wiped it; Animal Crossing's co-op tourney bonus; ArcheAge's chum, which starts a frenzy; RuneScape 3's Barrel of Bait. Asked by Phamyns and kaeshiva.

Implementation notes

Step one adds a bite-wait term beside the existing per-bob chance, counting nearby players whose line is in the water from the cast and reel-in broadcasts the game already sends for the line animation, so it makes no new request. The caption comes through HarvestingResourceUI's existing caption override. The radius, the step per angler and the cap are live tunables in the usual places. Step two adds a chum item and its recipe, which rebake the itemization catalog, and announces the slick to nearby anglers with a fire-and-forget broadcast like the one S15 adds for holding up a catch; its effect type stays outside the block reserved for bait runes, which IndignoFallFromGraceTests enforces. Nothing here touches what is caught, and party experience sharing stays with party S25. Main risk: tuning the step so a crowd helps without making fishing alone feel slow.

client M (bite term + caption)server none; chum is an item bakeimpact fishing together paystests shared cap + chum never changes the table

S30 · The Expedition sails on the hour

Tier 3Size XLServer: server code

The Fishing Expedition, a tropical atoll added in 2018 with Captain Ron, a wreck offshore and a boat at the pier, sits mostly empty and is left out of the daily fishing-town rotation. A boat leaves the pier at the top of every hour whether one angler is aboard or twenty, stops at three waters for a few minutes each, and comes back: "The Expedition boat leaves at the top of the hour. Board at the pier." Any passenger's rare catch stirs the water for the whole boat with the stir from S32, voyage points pay out at the pier, and there is one route, because Final Fantasy XIV's players warned that a second route would split the fishers. The voyage needs an attendance rule like Old School RuneScape's July 2026 rule that players fishing from a boat interact every five minutes: a boat that carried anglers around a lake in Highvale Outskirts was taken out because, as the team explained in 2022, riding it gave the best fishing returns with no effort. Before any of it, the card checks how players reach the atoll on the new server; in 2018 ferries ran there from Aerie, Ardoris, Kingsport, Mud and Port Graff. Galorn asked in 2024 for a bonus for fishing from a boat, and Belladonna Rose for boats players can ride.

Seen in: Final Fantasy XIV's Ocean Fishing, whose boat always departs on schedule, even with one player, stops three times, and lets any passenger's spectral fish start a current for everyone aboard; Old School RuneScape's Tempoross, scored by contribution for one player or forty, and its five-minute interaction rule; RuneScape 3's Deep Sea Fishing hub events. Asked by Galorn and Belladonna Rose.

Implementation notes

The atoll is the existing Fishing_Expedition scene with Captain Ron's shop, the boat platform (MovingPlatform_Fishing_Boat) and the tropical table, and SceneBonusManager already keeps it out of the daily fishing towns. A master schedule starts a voyage instance on the hour, stops run on server time, the stir is the scene bonus S32 appends, and voyage points are counted from landed catches. The pier reward is a grant request with its op-policy row, or mail. Points count only for passengers who have cast or reeled within the last five minutes, which is the attendance rule. The first task is to confirm whether the 2018 ferries still reach the atoll on the new server. Main risk: in the last 30 days on the old servers, 100 anglers fished at all, so many voyages carry only a few anglers; the boat leaves anyway, which is the point of the schedule.

client M (boarding + points)server voyage instance + scheduleimpact a reason to fish together on the hourtests attendance + departure schedule
Oil painting of a golden-hour fishing contest on a timber dock, anglers in a line holding fish while a dock master reads a hanging iron scale
Players have run their own contests for six years. The game can keep the score.

Tier 4 · Water that remembers: ideas of our own

The cards above adopt what other fishing games proved. These six use what only this game has: trophies that already record who caught them, where and when; player towns with governors; town sieges; lava full of prehistoric fish; books that players write themselves; and fisherfolk who already pass on the day's fishing towns.

S31 · Contests that score themselves

Tier 4Size L-XLServer: DB record, ops

At least four player-run circuits hold a fishing contest every month, all on mailed screenshots, spreadsheets and a date calculator. Adam Crow explained in 2022 that volunteers could not take over the official contest because judging needed data players never see. The weigh station is a Carpentry deco that a lot owner places on a dock, or a governor places on town land. The host sets the window, the venue (this town, a list of towns, or anywhere, no-ransom PvP towns included), the water, the category (longest or smallest of one size class, most kinds, or a basket counted by fish) and whether standings show live, as Rook Strife asked, or stay sealed. An angler weighs a fish they caught inside the window and keeps it; each angler holds one entry per category, a new entry replaces the old one, and ties go to the earlier catch, as Sonja asked. At the close the station engraves a plaque line into the top three fish (the contest, the place and how many anglers entered), shown on its plaque once mounted (S23), and posts the result to World Events and the Log. Prizes stay the host's; official contest trophies come only from the Cup (S20).

WEIGH STATION · DUSKWATER MONTHLY✕
 Longest Large Tiger Shark     closes in 3 days      23 anglers
  1  Ilsabet     5.412    caught in Duskwater
  2  Pellam      5.398    caught in Lilyport
  3  You         5.301    caught in Duskwater

 [Weigh a fish]   Rules: caught by you, after the start,
                  in Duskwater or Lilyport. Standings: live.

 A fish someone else caught:
   This fish was caught by someone else. Only the angler who
   caught it can enter it.
 Engraved on the winning fish at the close:
   Duskwater Monthly. Longest Large Tiger Shark. First of 23 anglers.
a Carpentry decothe fish goes back in your bag

Seen in: The Angler's player-hosted competitions, which carry no rewards; FFXI's Fish Ranking, where a new entry replaces the last and the measure can be the smallest; Black Desert's weekly contest, which settles ties by the earlier catch; Ultima Online governors' mailbox contests; Ocarina of Time's record tank. Asked by Janzik, jrs99, Rook Strife, Adam Crow, Strider99, Phamyns, simon1974, queenbee, Hemnu Lightbringer, Ysold and Sonja.

Implementation notes

A WeighStation object on the fish tank's container pattern, without custody, with a window on the tip jar's owner, visitor and ledger pattern. GameTipJar is the model: a storage record of its own (a new database record with its migrations-ledger entry), four new requests (set the rules, enter a catch, read the standings, close) and the scene authorization the tip jar already uses. Within one archetype a fish's length rises with the quality stamped on it when it was caught, so a single-size category ranks entries by that stamp and needs nothing new; a longest-of-any-kind category waits for S19's realm records. The engraving is a new ItemQuality key in both code copies, the deco and its recipe go through the itemization rebake, and WorldEventKind gains an appended value. It ships with server-side checks on the catch. Main risk: contest spam; one contest per station at a time, and World Events carries only contests with enough anglers.

client M (deco, window)server DB record, four requestsimpact player contests without spreadsheetstests rules, ties, one entry per category

S32 · Local legends

Tier 4Size XLServer: DB record, ops

Ozzy Questor asked in 2020 for catch and release, so anglers would stop hoarding fish; here, from the catch card, an angler can release a trophy fish they caught into a town's water. It takes a name from a word list, such as Old Brindle, and grows a little each week it stays free, up to the top of its own size class; it grows past Large only if the owner opens those sizes in S39. Any angler fishing that water with the reel meter on may hook it, once a day and never from the releaser's account, and each lost fight adds a slipped line, counted and never named. Whoever lands it gets a trophy that carries the story (its name, who released it, days free, lines slipped), World Events carries the news, and the town's water stirs: faster bites for everyone there for a quarter hour. Each town water holds one legend, each account keeps one release at a time, governors can switch releases off, and a deleted town's legend swims off. Releasing a plain fish counts toward a catch-and-release deed. Seeded legends back the world's own rumors, such as the sea monster that Andrew the Fishmonger in Solania calls probably just a rumor.

LOCAL LEGEND · DUSKWATER, SALT WATER✕
 Old Brindle, a Tiger Shark
 Released by Ilsabet, 23 days ago
 Slipped 14 lines. Still out there.
 Grows a little each week it stays free.

 The release prompt, from the catch card:
   Release this Large Tiger Shark into Duskwater's water? It will
   live here until someone lands it. You can never catch it yourself.
 World Events, the day it is landed:
   Pellam landed Old Brindle, the Tiger Shark of Duskwater. It slipped
   14 lines in 23 days.
   The fish are running in Duskwater. Bites come faster for a quarter hour.
one legend per town waterone hook a day per angler, never its releaser

Seen in: Russian Fishing 4's famous inhabitants (2020), named, released and later caught larger; Asheron's Call, where releasing a fish trained the skill; Ocarina of Time's Hylian Loach, released as an endangered fish; Ultima Online's trophies that carry the angler's name. Asked by Ozzy Questor, Sonja and Hemnu Lightbringer.

Implementation notes

Release is a context action on the catch card (ItemInstanceUIHelper.GetContextActions) and a new request that consumes the fish and writes a legend record (a new database record with its ledger entry, cached per scene). When a catch is decided in that water, Game.GenerateBagContentsForLoot may offer the legend in place of the rolled fish, as map drops already do; Game.CreditParkedFishingItems closes the record on a landing and Game.DestroyGameBag adds a slipped line on a loss. The story rides new ItemQuality keys in both code copies, and WorldEventKind and SceneBonusType each gain an appended value for the landing line and the stir. A second small request lets the Log and the docks (S36) read a town's legend. Main risk: a town camping its own legend; the once-a-day hook, the releaser exclusion and one legend per water keep it shared.

client M (release, Log entry, plaque)server DB record, two requestsimpact a fish the whole town talks abouttests releaser excluded, once a day, growth cap

S33 · Bottles adrift

Tier 4Size LServer: DB record, ops

Sonja asked in 2021 for "love letters in bottles, automated", and anglers have asked for messages in bottles since 2017. Every bottle in other fishing games carries words an NPC wrote. Here an angler writes a short note, corks it and casts it adrift in salt water; days later a stranger fishing somewhere else lands it and reads who wrote it, where it was set adrift and who found it first. The finder keeps it, or adds one line and throws it back, up to five lines and ten finders. A bottle nobody finds washes ashore and comes home by mail, and seeded bottles from the world's own people, such as Trevain the Fisherman of Solania, who would like to fish the Great Sea some day, keep the drift from ever being empty. Notes pass a text filter as they are written, any reader can report one and hide it at once, each account sets one bottle adrift a day, and new accounts wait a while before they can write one.

A CORKED BOTTLE✕
 "If you find this, the sunsets at Port Graff are worth the walk.
  Fair winds."

 Set adrift by Ilsabet at Kingsport, 9 days ago.
 Found before you by Pellam and Tamsin.

 [Keep it]   [Add a line and throw it back]   [Report]

 Writing prompt:
   Write a note to a stranger. Anyone who fishes the sea may find it.
 By mail, if nobody finds it:
   Your bottle washed ashore near Kingsport.
one bottle a day per accounta report hides a bottle at once

Seen in: Ultima Online's messages in bottles (1999); Animal Crossing's beach bottles; RuneScape's message in a bottle at its Deep Sea Fishing hub. Asked by Sonja, Hemnu Lightbringer, Astirian, majoria70, Hemswal The Descended and Arya Stoneheart.

Implementation notes

The note is a blank-book item, so writing reuses the custom-book path (PersistenceServiceNetworkStorage.WriteBook) with a text filter applied as it is written. Cast adrift is a context action and a new request that moves the bottle into a drifting-bottle record (a new database record that stores the item, as purchase orders do). A salt-water catch can pick up a bottle, never one from the finder's own account; if that catch is lost, Game.DestroyGameBag returns the bottle to the drift, so no writing disappears. An expiry sweep mails unfound bottles home, and a report hides a bottle at once and queues it on the custom-book moderation path. S25's waterlogged messages share the drift, so the two bottles carry different names and looks. Main risk: abusive text, covered by the filter, the report action, the per-account daily cap, the account-age gate and the writer's name on every note.

client M (writer, reader, actions)server DB record, requests, sweepimpact strangers write to each othertests never your own, report hides, caps

S34 · What the deep keeps

Tier 4Size MServer: data bake

Weins201 wrote "135 Lava Fish… not one Rare" in 2018, and the next year asked for a use for lava fish so he could free up four trunks. Mapper asked for rare lanterns in 30 hues. The lava already holds living fossils (Dunkleosteus, Mosasaurus, Ammonite, Coelacanth, Ichthyosaurus and Plesiosaurus), and here it gives up their bones too: any lava cast can bring up a fossil fragment of a kind that lives in that lava, and twelve fragments make a Petrified mount of that kind at the tanning bench, a trophy no one can catch whole and no merchant sells. Swamp water gives up drowned lanterns in many hues, the bog lights of the fetid places. Both are finds: they land with no fight, never count as catches, and take their share from the junk the water already gives up; the fish are untouched. Petrifying all six kinds earns a deed.

ANGLER'S LOG · KINDS, FINDS✕
 LAVA FOSSILS                             twelve pieces make a mount
 Dunkleosteus     [█████████░░░]   9 of 12
 Mosasaurus       [████████████]   Petrified Mosasaurus, mounted
 Ammonite         [████░░░░░░░░]   4 of 12
 Coelacanth       [█░░░░░░░░░░░]   1 of 12
 Ichthyosaurus    [░░░░░░░░░░░░]   none yet
 Plesiosaurus     [███░░░░░░░░░]   3 of 12

 DROWNED LANTERNS, SWAMP WATER            7 hues found

 A piece of something very old, pulled out of the lava.
finds land with no fightnever counted as catches

Seen in: Ultima Online's lava hook, which pulls up lava rocks and stone footwear; Old School RuneScape's infernal eels, fished from lava; Animal Crossing's fossils; Terraria's crates; Ultima Online's shipwreck debris, kept as decor; Wizard101's buoy chests full of housing items. Asked by Weins201 and Mapper.

Implementation notes

Six stackable fragment items and the lantern hues join the lava and swamp catch lists as non-fish rows that take their share from the junk rows already there, and FishingCatchClassifier lands non-fish with no fight. They never enter FishSpeciesRegistry or the item stat map, so they never count as catches, and S9's species map keeps them off the boards. Each petrified mount reuses its lava trophy's mesh with one new stone material variant, so the card is data plus a small art pass; the fragment recipe sits beside the fish trophy rows at Tanning, and the deed joins the lava row of achievements A1. New items, lists and recipes go through the itemization rebake and the server item bake; no new record, no new request. Main risk: drop value and clutter; fragments stack, and economy S33's audit prices them.

client S (data, stone finish)server data bakeimpact lava junk becomes a collectiontests finds stay off counts and boards

S35 · A town's water

Tier 4Size M-LServer: shared code, op

Today a town siege leaves the town's water untouched. xisle asked in January for the high-tier fish to hold back during a siege. While a siege holds a town, its water goes still and the largest trophies stop biting; once the siege is lifted, the water favors trophies for a while, a reward for the whole town and a reason for its anglers to help defend it. The second half gives each player town a fish of its own: a governor names one plain or tank kind that bites more often in that town's water, locked for 28 days and shown in the Log and by the criers. Belladonna Rose keeps a list of more than 200 towns she has yet to visit, Strider99 ran a Pacu Town of the Day contest, and Hemnu Lightbringer's circuit shows that towns already pay to bring anglers in. Whether a town may tilt its own water at all is an owner call, and the siege half ships without it.

The lines: "The water is still. The fish have gone deep while the siege holds." "The siege is lifted. The fish are rising in Duskwater." "Duskwater is known for its Mackerel."

Seen in: Sea of Thieves, where forts, storms and wrecks change what bites; Terraria's Blood Moon catches; New World's and Albion's regional fish. Asked by xisle, Belladonna Rose, Strider99 and Hemnu Lightbringer.

Implementation notes

Two row filters act at the moment a catch is decided: one removes the largest trophies while GameApplication.GetActiveTownSiege reports a siege, and one favors trophies for a window after GetRecentlyClearedTownSiege; both read cached siege state, with no database read and no lock. LootTable.RowFilter is a single slot, so a small composite filter in both code copies lets them sit beside the trophy gate for the calm cast. The signature fish needs a new row-weight hook in LootTable, a field on the town record (a ledger entry) and a governor request modeled on the town's message-of-the-day request; the town lines ride the crier tokens that already name the fishing towns. Main risk: towns tilting their tables; the signature is limited to plain and tank kinds, locked for 28 days, and the owner decides whether it ships. It builds on economy S14's seasons and rotating bonuses and follows the shard-wide model of achievements S19.

client S (lines, Log)server shared code, one requestimpact a siege reaches the watertests filters compose with the trophy gate

S36 · Talk of the docks

Tier 4Size MServer: op

The world says one thing about fishing today: town criers and rumor folk name the day's fishing towns. Nothing in it mentions an angler, a legend or a contest. majoria70 asked in 2022 for notices when fishing contests run, and Rook Strife wanted standings that people could follow as they changed. This card teaches the fisherfolk to talk about players: Phillip the Fisherman in Kingsport, Trevain, Holly and Andrew the Fishmonger in Solania, and Zach Corey of Aerie, who already says the Novian Fishing Leagues "take it all very seriously". Their lines draw on the week's legends (S32), contest results (S31 and S20) and records (S19). A player is named only when their leaderboard privacy setting allows it; otherwise the line says "an angler". Every line has a fallback, so a slow week still has something to say.

PHILLIP THE FISHERMAN · KINGSPORT✕
 Have you heard? Pellam landed Old Brindle over in Duskwater. That
 shark slipped fourteen lines before anyone held it.

 An angler took the Duskwater Monthly this week. Twenty-three
 entered, and the longest shark won it.

 The fish are said to be biting in Lilyport today.

 legend   contest   record   fishing towns   bye
names only where privacy allows"an angler" otherwise

Seen in: Moonglow Bay's tavern rumors that lead to its monster fish; Red Dead Redemption 2's Jeremy Gill, who maps the legendary fish for you; The Angler's catch feed and in-game news feed; and this game's own criers, who already name the daily fishing towns. Asked by majoria70 and Rook Strife.

Implementation notes

New conversation tokens resolve the way the token that names the fishing towns does today (Conversation.CheckForSpecialKeys and Conversation.GetSceneBonusResult). A news service on the master server, modeled on SceneBonusManager, keeps the latest legends, contest results and records and answers one new query request. Names come through only where Options.PrivacyOptions.LeaderboardParticipation allows. The new lines go into the shared rumor include and the five fisherfolk conversations and are translated with the rest. Main risk: stale or empty lines; seeded legends and fallback lines cover a slow week.

client S (tokens, lines)server one query requestimpact the world notices anglerstests privacy honored, fallback lines

Tier 5 · The owner's desk

Four questions need a ruling before anything is built; each arrives with its numbers and its options.

S37 · New anglers and the meter: the numbers

Tier 5DecisionServer: owner call

The meter's numbers decide what a new angler meets; the table shows what average reflexes and perfect play land. The meter beats the calm cast only once an angler lands about 68% of fights, a line an average angler crosses somewhere between Fishing 50 and 100. On the new server's first day Duke Olahorand wrote "press space or click… nothing happened", and Belladonna Rose pointed out that the calm cast gives up the biggest trophies. S7 and S17 help without touching a number. The options: keep the numbers; a floor for the commonest fish at low skill; a yellow zone that widens sooner with skill; fight styles by kind, so a Bass and a Tiger Shark move differently on the track, with S14's warning flash as the first step; and, as a question only, because the one-way line is an owner ruling, line recovery for the commonest fish.

Fishing skillYellow zoneAverage reflexes, common fishPerfect play: common, middling, rarest
08% of the track0.1%78%, 39%, 11%
5012.5%47%not measured
10017%82%100%, 85%, 14%
20020.5%98%100%, 96%, 25%

Seen in: Stardew Valley, whose creator said in 2025 that its fishing "starts out too hard"; Dredge, where a fish lands itself and skill buys speed; WoW's patch 3.1, which removed getaways; Stardew's five fish behavior types and Dredge's one minigame per fish family. Asked by Duke Olahorand and Belladonna Rose.

Implementation notes

The numbers live in FishingReelMath.BuildFightParams and the shipped live tunables: the zone curve, a line budget of 8 seconds at water skill 0 rising to 16 at 200, fish stamina, and a line that does not recover in the zone. Perfect-play figures were measured with water skill 0. FishingReelMathTests, 36 tests including the break-even case, rerun the simulator on any change. Fight styles by kind would add a style field to the species registry entries that FishingReelMath reads when it moves the fish, so the meter widget stays pure. No build until ruled.

client none yetserver owner callimpact the first hour at the water decided on purposetests simulator fences rerun

S38 · The fourteen unfinished baits

Tier 5DecisionServer: owner call

Fourteen baits exist as items and do not fish. Nine sit on the owner's list from August as content to finish in the future, and not soon (economy S5). Five more pass the bait checks, cannot start a cast and have no source anywhere in the world: Cut Bait, Leech Lure, Dough Bait, Bird Liver and Tiny Gemmed Starfish (S2). In the last 30 days on the old servers, exactly twelve kinds of bait were cast. The question: do the five join the nine, or does Cut Bait ship now as butchery's first fishing product? Stealch asked for craftable bait in 2021; Sandra Sosaria asked for earthworms from clay and a trade of three red worms for one earthworm, and kaeshiva counted 5 earthworms in over a million apples harvested. The worm supply is a second, smaller call.

Seen in: Valheim's bait made from monster trophies; Stardew's Bait Maker; EverQuest's Anizok's Bait Dispenser, which turns a fish into bait. Asked by Stealch and Sandra Sosaria.

Implementation notes

Wiring Cut Bait means its rune's effect becomes Fishing, a butchery recipe makes it, and the catch-list cells it already has come into use; S2's build check then moves it off the not-in-the-game-yet list. The nine have no catch-list cells, so each needs its lists written before it can cast at all. Any new item or recipe goes through the itemization rebake. No build until ruled.

client none yetserver owner callimpact bait from the butcher's tabletests n/a until ruled

S39 · The trophy ladder above Large

Tier 5DecisionServer: owner call

The trophy ladder is taller than the water. Of 204 mounted-trophy designs, 122 sit in sizes above the Large fish that water gives up today, and lava reaches one size higher for its six trophy kinds. The upper water sizes live only in six catch lists no water uses, a Pike one size above Large exists only in recipes, and the tallest Ammonites hang on a bait that is not in the game yet. Ysold fished more than ten hours without a shark and Hemnu Lightbringer a week of six-hour days without a trophy shark, while the biggest block of fishing content sits out of reach. The choices: open some sizes (deep water past a set depth, S27's named fish, S32's legends), keep them for when ships arrive, or retire them from the recipe lists. Opening any of them also needs a size word above Large on the mount (S10).

Seen in: Russian Fishing 4's trophy and super-trophy grades for every species; Black Desert's prize tier, which opens with mastery; Ultima Online's rarer catches at skill 60, 90 and 120. Asked by Ysold and Hemnu Lightbringer.

Implementation notes

Opening a size means pointing a catch-list cell at a list that holds it, a data bake, plus the size word for S10's decorator. The trophy gate for the calm cast already keeps the bigger sizes for the meter. Keeping them for ships changes nothing today; retiring them removes recipe rows and mounts nobody can make. This ruling sets how far S32's legends may grow, which sizes S27's named fish may take, and what S25's wreck chests can hold. No build until ruled.

client none yetserver owner callimpact 122 mounts get a future or a retirementtests n/a until ruled

S40 · What an hour of fishing pays

Tier 5DecisionServer: owner call

Every landed item pays the same base experience: 400, plus 60 for each unit of its length, doubled by a long-standing multiplier, and half again for a Clean Catch. A boot pays 800, the same as a Bass; a trophy of length 5 pays 1,400, or 2,100 as a Clean Catch. The zone value is the same in 870 of 871 scenes, so deep or remote water pays no more than a town pond, and fish sell to merchants for 3 to 6 gold. An estimate from those numbers puts an hour of fishing at roughly 40,000 to 80,000 producer experience, against a few million an hour for a busy harvester; it gets measured before anything moves. Strider99, Galorn, Isbel and Hemnu Lightbringer asked for fishing to pay more, and Adam Crow warned that if it does, "players could just bot and macro fishing at will". Sandra Sosaria's ask for experience by length is built. The options: per-scene zone values that pay deep and remote water more, a bigger length term, experience for releases (S32), or leave it as it is.

Seen in: Stardew's experience by quality (2.4 times for a perfect catch, 5 times for a legendary); WoW's patch 3.1, where every cast can teach; Ultima Online's 1999 rule of no skill gain while the fish are not biting. Asked by Strider99, Galorn, Isbel and Hemnu Lightbringer.

Implementation notes

Experience per catch comes from CharacterMath, with a zone value read from each scene's information row; 870 of 871 rows hold the same value. Per-scene values are data; a bigger length term or experience for releases is a formula change. Whatever is ruled gets measured from the per-cast telemetry line before and after. It ties to economy S1's separate ledger labels and economy S33's drop-value audit. No build until ruled.

client none yetserver owner callimpact fishing pays like a tradetests n/a until ruled

Considered and rejected

Seventeen ideas were weighed and set down, each with its reason, so the next reader does not reopen them.

Section 4

The Angler's Log

Forty cards could mean forty new windows. They land on one window, one new HUD element and one group of options. The Angler's Log is the window: one row of six tabs that fill as their cards ship. The catch card is the HUD element: it takes the meter's place once a fish lands. The options are the fishing rows already on the Interface tab. Below is the Here tab with every card landed; each number points at the cards behind it.

ANGLER'S LOG · HERE, EVERY CARD LANDED✕
 [Here]   Kinds 41/68   Bait   Records   Contests   Orders                   (1)
────────────────────────────────────────────────────────────────────────────────
 Duskwater. Salt water, about 14 ft. Deep enough for full-size fish.         (2)
 Your bait: Tiny Squid. Best in salt water, for the larger salt fish.        (3)

 Bites here with this bait      caught   your best   realm record            (4)
   Tiger Shark                       2       5.298          5.588
   Bluefin Tuna                     12       3.104          3.251
   Sailfish                     not yet caught

 Now: evening, a good hour for large fish.                                   (5)
 This spot is tiring. Try further along the bank.                            (6)
 Local legend: Old Brindle, a Tiger Shark. It has slipped 14 lines.          (7)
 Duskwater is known for its Mackerel. Lilyport is a fishing town today.      (8)
 Weigh station: Duskwater Monthly. Longest Large Tiger Shark. 3 days left.   (9)
 The fishing merchant wants 3 Mackerel and 1 Large Tiger Shark today.       (10)
────────────────────────────────────────────────────────────────────────────────
 [Practice]   [Ask the Oracle]                   Opens with the Log key     (11)

 KINDS TAB, ONE ENTRY                                                       (12)
 Neon Tetra, tank fish                                    not yet caught
   Fresh water, any bait. Bites while the New Britannia moon is new.
one window, six tabsopens from the Log key, the cast bar, the catch card or the guide book
AT THE WATER · THE CATCH CARD, THE METER AND THE OPTIONS✕
 THE CATCH CARD, AFTER A LANDING     (13)   THE METER, DURING THE FIGHT           (15)
┌ Catch ────────────────────────────────┐   ┌ Fish on! ──────────────────────────────┐
│ Large Tiger Shark               5.412 │   │ Large Tiger Shark          Fights hard │
│ Your best yet                         │   │ Line       Tension        Fish         │
│ [Hold it up] [Release here] [Log]     │   │  ██       ░▒▒██▒░         ██           │
└───────────────────────────────────────┘   │  ██       ░░▒▒▒░░         █            │
                                            │ Hold E or the left mouse button to     │
  People nearby read:                       │ reel in                  [Let it go]   │
  Ilsabet holds up a Large Tiger Shark,     └────────────────────────────────────────┘
  5.412 long.
 FISHING OPTIONS, OPTIONS > INTERFACE                                             (14)
   Disable Fishing Mini-Game        [ ]     Fishing Meter Size          [Normal]
   Fishing Meter Contrast [High Contrast]    Show the Fish on the Line   [Name]
   Show My Big Catches Nearby       [x]     Fishing Tips                [x]
   Controls: Fishing Reel also casts at the aim marker. The Angler's Log key
   is new, unbound and listed last. Video: Reflections gains None.
the catch card takes the meter's place after a landingthe only new HUD element

The six tabs

TabWhat it showsFed by
Hereplace, water, depth and the full-size mark; your bait and what it suits; what bites here with it (caught, your best, realm record); the hour; the spot; a local legend; the town line; a weigh station; ordersS11, S13, S16, S19, S21, S27, S31, S32, S35, S36
Kinds 41/68filters for Fish, Tank, Named and Finds. Each entry: name, a picture that stays a shape until caught, waters and baits (shown for uncaught kinds too), hours or moon, caught count, first-catch date, your best, the realm record, a map pin at your best, a lore line that deepens with your water skills, and Ask the Oracle. Named holds S27's and S32's fish; Finds holds S34's fossils and lanterns, S33's letters and S25's debrisS3, S16, S19, S25, S27, S32, S33, S34
Baitthe twelve working baits, each with what it suits, what it brings, and when and where to get it; "Not in the game yet: 14"S13, S2, S38
Recordsyour best of each trophy kind; realm records from the leaderboard data players already call the fish log; the passport of town waters; fish since your last trophyS19, S9, S18, S26
Contestsweigh stations near you and in your towns; the Cup's kinds and your place; past resultsS31, S20
Ordersmerchant wants by town; commissions you posted or can fillS21

Zone anatomy

Zone A is the tab row; tabs light up as their cards land, and Here, Kinds and Bait ship first. Zone B is here and now: the water, the bait and what bites, read from data the game already has. Zone C is the world's line: the hour, the spot, the legend, the town, the weigh station and the merchant, each arriving through its own card. Zone D is the footer: practice and the Oracle. The Log opens from its own key (new, unbound and listed last), the cast bar, the catch card and the guide book, and the Log itself adds no new request.

Beyond the catch card, every moment uses a surface that exists: the aim marker gains a second line (S11), the cast-bar caption names the water and the anglers with you (S11, S29), the meter gains a header and a contrast setting (S14, S8), chat carries the hold-up, the legend and the town lines (S15, S32, S35), World Events carries records, contests and the Cup (S19, S31, S20), and the one-time tip that already exists carries S17's advice.

Section 5

Sequencing

Five phases, truth first. S1 is built, and S2, S7's book and tip, S8 and S9 can go first because none of them needs the server. Phase 1 fixes the tables and switches through data bakes; phase 2 makes the catch readable and remembered and puts the four owner calls on the desk; phase 3 connects the catch once the server-side checks on the catch are in place; phase 4 is water that remembers.

PhaseCardsGateWhat players notice
0 · NowS1 built; ready to go first: S2, S7 (book and tip), S8, S9noneguides that tell the truth, a meter everyone can read, boards that count fish
1 · Truth in the tablesS3, S4, S5, S6, S7 (Fleta), S10, S11, S12, S13data bakes; Fleta's quest reopens only if its block was not deliberatethe Neon Tetra comes home, hotspots work, mounted trophies keep their size, the aim marker reads the water, bait says what it is for
2 · Read and rememberS14, S15, S16, S17, S18, S19 (your best), S22, S23 (plaques, board, tanks), S34; owner calls S37 to S40S10 before S23; S3, S11 and S13 before S16; S9 before S34the meter names the fish, the catch card, the Angler's Log, deeds that pay, your best of each kind
3 · Connect the catchafter server-side checks on the catch: S19 (realm records), S20, S21, S23 (town aquarium), S24, S25, S26, S29, S31, S35the checks; economy S27 for merchant wantsweigh stations and the Cup, records the realm hears about, orders, home water, wrecks, an end to dry spells
4 · Water that remembersS27, S28, S30, S32, S33, S36the S39 ruling; S32's stir for the Expeditionlegends, bottles adrift, fish that keep appointments, something else biting, the Expedition, the docks talking
flowchart LR
  CHK(["Server-side checks on the catch"])
  E27(["economy S27"])
  S39{"S39 owner call"}
  S2["S2 baits on paper"]
  S3["S3 Neon Tetra"]
  S4["S4 hotspots"]
  S9["S9 boards"]
  S10["S10 mount sizes"]
  S11["S11 read the water"]
  S13["S13 bait says"]
  S14["S14 fish on"]
  S15["S15 the catch, shown"]
  S16["S16 Angler's Log"]
  S17["S17 practice"]
  S18["S18 deeds that pay"]
  S19["S19 records"]
  S20["S20 Angler's Cup"]
  S21["S21 fish desk"]
  S22["S22 workshop"]
  S23["S23 trophies and tanks"]
  S25["S25 wrecks"]
  S26["S26 dry spell"]
  S27["S27 appointments"]
  S28["S28 creatures"]
  S29["S29 anglers' company"]
  S30["S30 the Expedition"]
  S31["S31 weigh station"]
  S32["S32 local legends"]
  S33["S33 bottles adrift"]
  S34["S34 fossils and lanterns"]
  S36["S36 the docks"]
  S37["S37 the numbers"]
  S38["S38 unfinished baits"]
  S2 --> S13
  S4 --> S11
  S4 --> S29
  S3 --> S16
  S11 --> S16
  S13 --> S16
  S14 --> S15
  S15 --> S19
  S9 --> S19
  S9 --> S34
  S10 --> S23
  S19 --> S31
  S31 --> S20
  S18 --> S20
  CHK --> S19
  CHK --> S31
  CHK --> S25
  CHK --> S32
  CHK --> S26
  E27 --> S21
  S22 --> S21
  S22 --> S29
  S15 --> S32
  S39 --> S32
  S39 --> S27
  S32 --> S27
  S32 --> S30
  S19 --> S36
  S31 --> S36
  S32 --> S36
  S33 -. shares the drift .- S25
  S28 -. may carry a message .-> S25
  S37 -. wording .-> S17
  S38 -. not in the game yet .-> S2
Section 6

Appendix

A1 · Data sources and method

The live numbers on this page are aggregate counts only, read-only and owner-approved, covering the last 30 days on the old servers up to 2 October 2026, with no names. Other sources: a census of characters taken in August 2026; the first-day counts from the public launch-week post; the meter's simulated landing rates, published in the build 192 patch notes; and the code and data, read on 2 October 2026, against which every defect and number on this page was checked. Forum threads from 2013 to October 2026 supplied the asks; every requester is credited by exact forum handle, and staff and posters on other sites are never credited. Other games were read through their official sites, primary wikis, reviews and design interviews, listed in A6. Every card here is a proposal; nothing on this page is a commitment until its card ships, and S1 is the one that already has.

A2 · What the cards with no server work read

CardExisting systems it reads
S8the harvest meter's High Contrast palette and the key bindings
S9a species map baked from the species registry
S10the size suffix every trophy item already carries, and its creation time
S11the water trigger and a town's water override, the depth probe, the hotspot registry, the range stat and spot memory
S12the reflection setting and the reticle aim
S13the catch lists, walked the way the catch classifier walks them
S14the hooked catch's kind and size, and that kind's catch counter
S15the landing results and the kind counter
S16the catch lists, the species registry, achievement counters and unlock dates, New Britannia time and moon, the daily fishing-towns query, and the leaderboard web data
S17the meter's own math, run with no bait and no catch
S29other anglers' cast state, from the line broadcast that already exists

A3 · Constraints honored

A4 · Fishing tests to keep green

AreaTest classes
The fight and the meterFishingReelMathTests, FishingRodBonusTests, FishingMeterLayoutTests, FishingMeterConversionTests, FishingMeterGatesTests, FishingReelCalloutTests, FishingMiniGameOptionTests, FishingStringsTests
The castFishingDoFishingShapeTests, FishingCastGateTests, FishingCastBarTests, HarvestingBarConversionTests, FishingCastCleanupTests, FishingCastReleasesPlayerTests, FishingSurfaceChoiceTests, FishingDepthMathTests, FishingLineBobberCueTests, FishingLineBobberLookTests, FishingBobberThemeTests, FishingLineReelInTests, FishSchoolCeilingTests
The catch and its creditFishingCatchClassifierTests, FishingPassiveTierGateServerTests, FishingCreditAtClaimServerTests, FishSpeciesRegistryTests, ItemStatMappingBakeTests, FishingTelemetryTests
TuningFishingLiveTunablesTests, FishingTweaksCatalogTests
RodsFishingRodMasterworkStatTests, FishingRodMasterworkDataTests, MasterworkFishingRodConversionTests
PlacesSmallOldKeepFishTrophyWallTests, FishingExpeditionExitMarkerTests
New with the cardsa bait-wiring check and a catch-list census (S2), FishingHotspotTests (S4), a census that no item grants a fishing stat nothing reads (S5), a census that every crafting deed has a recipe that feeds it (S6), a species-filter test for the boards (S9), a spot-memory key test (S11), and a results event that fires once and never before the result (S15)

A5 · Player asks answered

HandleWhat they askedCards
Adam Crowan official contest volunteers could run, with judging they could see (2022); a caution that more fishing experience invites bots (2024)S31, S20, S40
Arkah EMPstrike"Any bonuses the baits give do not seem to work" (2018); click cues that make fishing harder to bot (2019)S1, S2, S13; the meter is built
Arya Stoneheartmessages in bottles, treasure maps, sea serpents (2018)S25, S28, S33
Astiriana message in a bottle that leads to a player dungeon (2018)S25, S33
Belladonna Rosewater tinted by type (2018); more than 200 towns still to visit (2023); boats; the calm cast gives up the big trophies (2026)S11, S17, S18, S30, S35, S37
Browncoat Jaysonsay the water type while the cast runs (2018)S11
Ceal Astraa daily collector for surplus tank fish (2025)S21, S23
Cora Cuz'avich"How would we know?" which water it is (2018)S11
Dabsnoted the trophy dry spell had been raised for at least six months (2025)S26
Duke Olahorandhelp with the meter on the first day: "press space or click… nothing happened" (2026)S7, S8, S17, S37
Echondasa bait seller in Castle Atos (2022); Tanglemire fishing spots (built)S21
Fiero Steelerange and bait recovery on the character sheet, and a fishing chat tab (2023); standing and hanging trophies for every fish, and visitors for ghost towns (2026)S11, S18, S23; S36 carries contest news, and a chat tab is not on this page
Galorn"I have caught 1 shark in a year and a half" (2020); a bonus for fishing from a boat (2024); fishing that paysS26, S30, S40
Hemnu Lightbringersea serpents and krakens to slay (2022); trophies on platforms (2023); "6 Hours a Day for a Week… 0 Trophy Sharks" and bottles that lead to sunken treasure (2025); runs a contest circuit; the troll room (built)S19, S23, S25, S26, S28, S31, S32, S33, S35, S39, S40
Hemswal The Descendedkrakens, SOS bottles, treasure maps and locked chests (2017)S25, S28, S33
Isbelsize words kept when a fish is mounted, and a directory of fish displays (2026); fishing that paysS10, S23, S40
Janzikglare off: "I have actually given up fishing a few times"; a bigger cork (built); runs a monthly contest (2026)S8, S12, S20, S31
jrs99bring back the monthly official contest (2022, 2026)S20, S31
kaeshivabait that makes a difference (2019); "understand better how fishing even 'works'" (2022); earthworms; fishing together ("Pacu thief!")S1, S2, S13, S16, S21, S22, S29, S38
Kron Caledonhand-run bait tests; cheap bait keeps a rare chanceS13 credits the tests and keeps the rare chance
Lainedmore fillets from the big rare fish (2020); Douse, fetid recipes and the catch place on trophies (built)S22
majoria70why fish up every fish (2019); bottles and krakens (2020); notices for contests (2022)S16, S18, S19, S21, S25, S28, S33, S36
Mapperplaceable fishing bubbles (2023); rare lanterns in 30 hues (2025); pools and lakes for towns (2026)S4, S24, S26, S34
Ozzy Questorcatch and release, to stop hoarding fish (2020)S24, S26, S32
Phamyns"Bring back Chaos fishing" (2019); team contests scored in a spreadsheetS15, S29, S31
queenbeePvP contests with "NO LOSS" (2021); the catch place kept when a town is deleted (built)S31
Remescaocolor the aim marker by water type (2018)S11
Rook Strifelive contest boards and a minimal monthly format (2022)S9, S15, S20, S31, S36
Sandra Sosariaexperience by length and the Lava Angler ring saving bait (both built); earthworms from clay (2025)S22, S38
simon1974a lava water statue (2020); fewer rares at high skill (2022); lava contest trophies for player events (built)S24, S26, S31
Smegatronlava pools that fish the right water (built)built
Sonja"love letters in bottles, automated" (2021); a record museum; swamp-town water deep enough to fish; ties settled; tropical fish (tanks built)S19, S21, S23, S24, S25, S31, S32, S33
Sorgin Txakaleffort to land the catch (built, the meter); years without a shark; the Arapaima (built)S26
stilea tackle box with a bait hotbar (2018)bank S13 presets
Stealchcraftable bait and rods (2021, 2022)S22, S38
Strider99"My Fishing is 131… I get the same results I got when they were at 10" (2020); his fishing spreadsheet; participation trophies; a Pacu Town of the Day; fishing that paysS16, S23, S26, S31, S35, S40
vulcanjeditrophy fish on buy orders (2023); the catch place kept (built)S21
Wariusa fishing deck (2021); young-fish mounts (built)bank S13 presets
Weins201Large and Small kept when mounted (2018); "135 Lava Fish… not one Rare"; a use for lava fishS10, S21, S22, S26, S34
WeirDave"How do we know what kind of water we are fishing in?" (2018)S11, S16
xislehigh-tier fish held back during a siege (2026)S35
Ysold"after 10+ hours of fishing, I didn't manage to catch a single shark", and casting with the E key (2025)S12, S26, S31, S39

A6 · Sources

GameWhat was read
Ultima Onlinethe 1999 overhaul, SOS, High Seas, Moonveil
EverQuestfishing
Asheron's Callfishing
Star Wars Galaxiesfishing
RuneScape and Old School RuneScapeTempoross, Sailing, infernal eels, Deep Sea Fishing
Lord of the Rings OnlineThe Angler's Guide
World of WarcraftStranglethorn, pools, Hallowfall Derby
Final Fantasy XIFish Ranking, 2005 history
Final Fantasy XIVOcean Fishing, Fish Guide
Black Desertweekly contest, Fish Guide notice
Guild Wars 2fishing, collections
The Elder Scrolls Onlinefishing
New Worldfishing guide
Albion Onlinefishing guide
Lost Arkfishing
ArcheAgefishing guide
Sea of Thievesfish, treasured fish
Paliafishing
Destiny 2Fishing Pond
Monster Hunter Wildsfish
Wizard101buoy chests
Stardew Valleyfishing, creator interview
Dredgeaberrations, accessibility review
Animal Crossing: New HorizonsCritterpedia, Fishing Tourney
Call of the Wild: The Anglerpatch 1.8.1
Russian Fishing 4trophy weights (a third-party tracker); the 9 July 2020 patch notes on famous inhabitants, from the developer's news feed
Fishing Planet; Ultimate Fishing Simulator 2their official store listings
WEBFISHINGfishing, quests
Cast n Chillreview
Dave the Diverreview
Moonglow Bayreview
Red Dead Redemption 2legendary fish
Final Fantasy XVfishing guide
Ocarina of Timethe fishing pond
Terrariafishing, the Angler
Minecraftfishing
Valheimbait
Fischbestiary, totems

Shroud of the Avatar forum threads cited: lava fishing feedback; bait test results; a bottle to a player dungeon; bring back Chaos fishing; a little love, please; 2021 player priorities poll; why PvP fishing contests worked; Hemnu Lightbringer's contest circuit; the official contests end; the contest thread locked; fishing XP gains (2024); bottles to sunken treasure; trophy fish too rare; fish during a siege; return of the monthly contest; the monthly release contest; how does fishing work now.

Feedback

General comments

No account needed. Every proposal above also has its own Discussion box for talking about that one alone; this thread is for the plan as a whole. Comments are plain text, held to basic decency, and may be trimmed.

← All proposalsWork blog