Fishing (Revised)
Revision draft. Original preserved at Fishing (WIP) for comparison.
- Landing Attempt added — Proximity and Stamina now combine into one DC instead of running as two separate tracks you empty.
- Contests resolve by margin. The old note never said how much a roll reduced a pool.
- Pools rescaled. Proximity is a flat value per cast band; Stamina counts cut by ~6x.
- Fish Behavior decides which maneuver is good that round, so the choice stops being "use your better stat."
- Escape Counter → Line Strain, with capacity set by rod.
- fishStrength scales with size instead of being a flat −1.
1. The Cast
Declare a band before rolling. The band sets your starting Proximity and limits what can bite.
Line Cast:
| Band | Table Limit | Starting Proximity |
|---|---|---|
| Shallows | Treat any result over 63 as 63 | 12 |
| Shelf | Read the table straight | 20 |
| Deep | Any result under 48 is a miss | 30 |
- Shallows is reliable and capped at Trout. Deep is where the money is and where you whiff.
- A natural total above 100 on a Deep cast means you've hooked something that isn't a fish. See 6. Beyond the Table.
- Rod and Strength now push you up the table instead of inflating Proximity, so a better rod is a straight upgrade.
Fish Table
| % Chance | Dice Roll | Size | Rarity | Fish Type | Value |
|---|---|---|---|---|---|
| 15% | 1-15 | N/A | N/A | N/A | N/A |
| 16% | 16-31 | Small | Common | Perch | 2 sp |
| 16% | 32-47 | Small | Common | Walleye | 2 sp |
| 16% | 48-63 | Small | Common | Trout | 2 sp |
| 12% | 64-75 | Medium | Uncommon | Salmon | 8 sp |
| 10% | 76-85 | Medium | Rare | Catfish | 16 sp |
| 8% | 86-93 | Large | Very Rare | Sturgeon | 64 sp |
| 7% | 94-100 | Large | Very Rare | Paddlefish | 64 sp |
2. The Fish
Stamina
Rarity sets the number of dice, size sets the die.
| Stamina Calculator | Tiny | Small | Medium | Large | Huge | Gargantuan |
|---|---|---|---|---|---|---|
| Common | 2d4 | 2d6 | 2d8 | 2d10 | 2d12 | 2d20 |
| Uncommon | 3d4 | 3d6 | 3d8 | 3d10 | 3d12 | 3d20 |
| Rare | 4d4 | 4d6 | 4d8 | 4d10 | 4d12 | 4d20 |
| Very Rare | 5d4 | 5d6 | 5d8 | 5d10 | 5d12 | 5d20 |
| Legendary | 6d4 | 6d6 | 6d8 | 6d10 | 6d12 | 6d20 |
Perch (Small Common) ≈ 7. Catfish (Medium Rare) ≈ 18. Sturgeon (Large Very Rare) ≈ 27.
fishStrength
| Size | Tiny | Small | Medium | Large | Huge | Gargantuan |
|---|---|---|---|---|---|---|
| Mod | −2 | −1 | +2 | +5 | +8 | +11 |
Thrash:
Half Thrash: (Round Up)
Strong Thrash:
3. The Round
Step 1 — Behavior. DM rolls and describes it without naming it. Owen reads the water and decides.
| d6 | Behavior | What he sees | Effect |
|---|---|---|---|
| 1–2 | Running | Line peeling off the reel, rod tip dragged low | Drag-Hold reduction doubled. Speed-Crank fails outright on a tie. |
| 3–4 | Sounding | Dead weight, straight down, no give | Speed-Crank reduction doubled. |
| 5 | Rolling | Breaking the surface, twisting against the line | Either works normally, but any fish win adds +1 extra Strain. |
| 6 | Tiring | Coming up sideways, drifting with the pull | Both doubled. This is the landing window. |
If Stamina is at or below a quarter of its starting value, the fish is Tiring regardless of the roll.
Step 2 — Declare. Speed-Crank, Drag-Hold, or Landing Attempt.
Step 3 — Contest. Caster and fish both roll. Compare totals.
| Outcome | Result |
|---|---|
| Caster wins | Reduce the targeted pool by the margin. |
| Fish wins | No progress. +1 Strain. If Running, Proximity increases by the margin. |
| Tie | Nothing happens. Fish's next Thrash is a Strong Thrash. |
| Caster nat 20 | Reduce both pools by the margin. |
| Fish nat 20 | +2 Strain and the fish's next Thrash is a Strong Thrash. |
| Caster nat 1 | +1 Strain on top of any other result. |
4. Maneuvers
Speed-Crank
Reduces Proximity.
Cost: fish's next roll is a Strong Thrash.
Doubled while Sounding.
Drag-Hold
Reduces Stamina.
Benefit: fish's next roll is a Half Thrash.
Cost: on a fish win, +1 extra Strain.
Doubled while Running.
Landing Attempt
At the start of any round, in place of a maneuver:
DC = current Proximity + current Stamina
Roll
Failure: the fish gets a free Thrash and you take +1 Strain.
- With a net or gaff in hand (or an assisting party member holding one), use Dexterity instead of Strength.
- This is the decision the whole system hangs on: take the DC you have now, or spend another round grinding it down and risk the Strain.
5. Line Strain
Replaces the Escape Counter. The rod fails, rather than the fish choosing to leave.
| Rod | Bonus | Strain Capacity |
|---|---|---|
| Handline | +0 | 2 |
| Bamboo | +1 | 3 |
| Baatorian | +3 | 5 |
Strain accrues from: fish wins a contest (+1) · fish wins while you were Drag-Holding (+1 more) · fish wins while Rolling (+1 more) · caster nat 1 (+1) · fish nat 20 (+2) · failed Landing Attempt (+1).
When Strain fills: the line snaps. The fish is gone, and the rod takes a permanent notch — reduce its capacity by 1 until it's repaired.
Keep the counter face-up on the table. It's the tension meter.
Assists
Other players, usually by magic. One assist per round.
| Assist | Effect |
|---|---|
| Shape Water, Gust, similar | Force a behavior reroll |
| Mage Hand, a steadying grip on the rod | +2 to the caster's roll |
| Minor Illusion, bait dropped downstream | Remove 1 Strain |
| Net or gaff held ready | Landing Attempt uses Dexterity |
6. Beyond the Table
A natural total above 100 on a Deep cast hooks something that has no business being on a line — dragon turtle, giant salamander, whatever Umberlee felt like sending.
- Stamina = normal size/rarity value + (CR × Size Category), where Tiny = 1 through Gargantuan = 6.
- fishStrength = the creature's actual STR modifier.
- Line Strain fills at double rate. Getting it to shore is usually the wrong goal.
7. Value
Base value is 2 sp, multiplied by size and rarity. Every price on the Fish Table already follows this.
| Size | Tiny | Small | Medium | Large | Huge | Gargantuan |
|---|---|---|---|---|---|---|
| Multiplier | 0.5x | 1x | 2x | 4x | 8x | 16x |
| Rarity | Common | Uncommon | Rare | Very Rare | Legendary |
|---|---|---|---|---|---|
| Multiplier | 1x | 2x | 4x | 8x | 16x |
8. Worked Example
Fisher Wizard: STR +1, DEX +2, Baatorian rod (+3, capacity 5). Casts Deep.
Cast: rolls 88 + 1 + 3 = 92 → Sturgeon, Large Very Rare.
Proximity 30 · Stamina rolled 5d10 = 26 · Strain 0/5 · fishStrength +5
| Rd | Behavior | Declared | Caster | Fish | Result |
|---|---|---|---|---|---|
| 1 | Running (peeling) | Drag-Hold | 17 | 12 | Margin 5, doubled → Stamina 26 → 16 |
| 2 | Sounding (weight) | Speed-Crank | 14 | 21 | Fish wins. +1 Strain (1/5) |
| 3 | Sounding | Speed-Crank | 22 | 9 | Margin 13, doubled → Proximity 30 → 4 |
| 4 | Tiring | Land | 18 | — | DC = 4 + 16 = 20. 18 fails. Free Thrash, +1 Strain (2/5) |
| 5 | Tiring | Drag-Hold | 19 | 11 | Margin 8, doubled → Stamina 16 → 0 |
| 6 | Tiring | Land | 11 | — | DC = 4 + 0 = 4. Caught. |
Six rounds, two real decisions that could have gone either way, and a failed grab that cost him. A perch off the Shallows would have run two rounds.
9. Carried Over from the Original
Still worth building, unchanged from your notes:
- Fishing variants — Ice Fishing, Fly Fishing, etc.
- Downtime research on a specific species for a permanent bonus against it.
- Auto-catch threshold — once his cast and reel bonuses clear a species' numbers, assume the catch and skip the minigame. Keeps the loop from going stale at high level.
- Casts per time slot, increased by bait, and by "good fishing spots" found in downtime or stumbled into.
- Bait should shift the d100 (say +10, or let you reroll a miss) and be a consumable. That's what ties the cast economy together.
- Fish rolling at disadvantage to double their Strain contribution — this one may be redundant now that behaviors handle fish aggression. Worth cutting unless you want a desperation move for the big ones.
Dataview
| Handline | 0 |
|---|---|
| Bamboo | 1 |
| Baatorian | 3 |
| HandlineStrain | 2 |
|---|---|
| BambooStrain | 3 |
| BaatorianStrain | 5 |
| Strength | 0 |
|---|---|
| Dexterity | 0 |
| fishStrength | -1 |
|---|---|
| fishSize | 0.5 |
fishSize: 0.5 had a single colon in Fishing (WIP), so it wasn't registering as an inline field. Fixed above.