NoSharedMoney
Money is earned and spent per player instead of from one shared pot. Everyone keeps their own wallet, saved between sessions.
By hiccup
| Date uploaded | a month ago |
| Version | 1.2.0 |
| Download link | hiccup-NoSharedMoney-1.2.0.zip |
| Downloads | 4025 |
| Dependency string | hiccup-NoSharedMoney-1.2.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
NoSharedMoney
How to Fish gives the whole crew one shared bank balance. This mod gives every player their own.
Sell a fish, the money goes to you. Buy a rod, it comes out of your wallet. Your balance follows your Steam account and survives rejoins and restarts.
Everyone needs this mod
All players must have NoSharedMoney installed, including the host. Wallet balances are pushed to each client individually, and a client without the mod has no way to receive them.
If someone joins without it, the host gets a warning in the console and in chat. That player is not able to break anything, since the server still refuses any purchase they cannot afford, but their money display will be stuck on a stale number and they will not be able to buy anything until they install the mod.
How it works
- Each player has their own balance, keyed by Steam ID.
- Selling credits whoever fed it to a quest NPC. If you catch a fish and hand it to a friend, they get paid for it, so loot can be passed around deliberately.
- Buying charges the player who interacted with the shop. That includes shared boat upgrades like the motor and the radar: the buyer pays the full price, and the whole crew gets the benefit.
- Every purchase is still checked on the server against the buyer's real balance, so nobody can spend money they do not have.
Existing saves
The first time you load a save that still has a shared balance, that money is split evenly between the players recorded in the save, with any remainder going to the first of them. If the save has no player records yet, the whole amount goes to the first player who joins.
Balances live in %USERPROFILE%\AppData\LocalLow\Dazed Games\How to Fish\NoSharedMoney\<save name>.json, alongside the game's own saves. It is plain JSON keyed by Steam ID, so you can read or hand-edit it. The vanilla save file is left intact, and its single money field is kept up to date with the crew's combined total, so removing the mod leaves you with a sensible shared balance rather than a broken save.
Backups
Your balances live in a file of their own, separate from the game's save. That means the two can drift apart: roll a save back and the wallets stay where they are, so the money recorded in the save no longer matches what people actually hold.
Install SaveBackups and this stops being possible. This mod registers with it automatically, so every snapshot captures the wallets alongside the save and restoring puts both back together. It is optional and everything works without it, but the wallet file is the only record of who owns what, and nothing else can recover it if it is lost.
Config
BepInEx/config/dazed.howtofish.nosharedmoney.cfg
| Key | Default | Meaning |
|---|---|---|
StartingMoney |
0 |
Balance for a player who has never played this save. |
WarnInChat |
true |
Host only: announce in chat when a connected player is missing the mod. |
UnclaimedSalesGoToHost |
true |
If something no player ever held is sold, credit the host instead of discarding the money. |
CHANGELOG
v1.4.0
New:
- Balances now show under each player's name above their head. Local setting,
ShowBalancesOnNameplates. /pay <name or steam id> <amount>in chat to send money to another player.!payworks too. Press Tab to complete a partial name, and again to cycle through matches. You cannot overdraw or send a negative amount, and every payment is announced in chat.- Tab no longer opens the journal while you are typing in chat.
DuplicateBossMoney, off by default, is an alternative to splitting a boss drop. Instead of dividing the sale between everyone, every player is paid the full amount. A 1000 corpse pays 1000 to each of four players rather than 250 each. This creates money rather than dividing it, so bosses get more rewarding as the group grows instead of less.SplitBoatCosts, off by default, splits the cost of the boat motor and radar between everyone instead of one player paying it all.- Both boss money settings and
SplitBoatCostsare read from the host only, so guests do not need matching configs.
Fixed:
- Wallets did nothing in non Steam sessions. The game gives every player the host's Steam id in LAN and direct games, so all wallets collapsed into one shared pot with no warning.
- Rejoining a session left you at $0 and unable to buy anything until your balance next changed.
- The mod could write a zero balance over the vanilla save's money if the wallet file failed to load, destroying the last copy of the shared pot.
- An error while saving could leave the host holding the total of everyone's wallets.
- A purchase whose buyer could not be identified was handed over free instead of being refused.
- A boss share paid to a player who was disconnecting vanished instead of being paid.
- A player who joined on a reused connection id could be mistaken for a modded client and never warned that they were missing the mod.
v1.3.0
- Boss and mini boss drops now split their money evenly between everyone in the session when sold, including the meat chunks a boss scatters on death. Controlled by the new
ShareBossMoneysetting, on by default. - The remainder from an uneven split goes to whoever made the sale, so nothing is lost to rounding.
Changelog
1.2.0
- Fixed sales by anyone other than the host being credited to the host. The seller was identified using the game's
LastHolder, which is not synchronised, so on the host a fish held by another player often looked like it had never been held by anyone. That fell through to the unclaimed sale rule and paid the host instead. The mod now tracks holders itself on the server, and only falls back toLastHolderas a last resort. - Fixed a player who was slow to be recognised as having the mod never receiving their balance afterwards. The server recorded a wallet value as sent before it had actually sent it, so once that happened it would never resend the same value and the player was stuck on an empty wallet.
- Broadcast handlers are now registered before the client announces itself, closing a window where the first reply from the server could arrive with nothing listening for it.
1.1.0
- Wallets are now included in SaveBackups snapshots when that mod is installed, so restoring a save also restores everyone's money. Without it the save and the wallets could be rolled back independently, leaving the recorded total disagreeing with what people actually had.
- A wallet file that exists but cannot be read no longer causes the shared balance to be split evenly again. The mod now refuses to touch the file so it can still be recovered, and says so in the log.
- The wallet file is written through a temporary file and swapped into place, so a crash while saving can no longer leave it half written.
- An unclaimed balance, from migrating a save that had money but no player records, is now stored in the wallet file instead of only living in memory. It could previously be lost if the game saved before anyone joined.
- Money held by a player with no Steam ID is no longer counted into the total written to the save file, since it was never stored in the wallet file and vanished on the next load.
- Updated the BepInEx dependency to 5.4.2305.
1.0.0
- Initial release.
- Per-player wallets replace the shared balance, keyed by Steam ID and persisted per save.
- All eight purchase paths charge the buyer: items, bait, attachments, bullet upgrades, sharpness upgrades, boat motor, boat radar, and inventory pockets.
- Selling credits whoever sold the item.
- Existing shared balances are split evenly across the players recorded in the save on first load.
- The vanilla save's money field is kept at the crew total so uninstalling is non-destructive.
- Host is warned in console and chat when a connected player is missing the mod.