NIFE Updates Shatterloop Game Projects Shatterloop Updates
Other Projects Blog    


II. Fishing Checklist

Posted 6 Months ago by Xhin

Starting this project up next.

There are 3 Replies

Fishing Update 6

Crates Foundation

  • Upgrade the amount of colors/types of crates that spawn -- look through wikipedia for help here.

  • Crate .props{} should specify snareable: [color, type]

  • If you fish in a pool of 10 connected water tiles or less, indicate in your fishing menu that you're doing Crate Fishing.

  • Also use Hooks as .consume_item.

  • On province generation, create 3-5 distinct crate types per water color, including transition color. Maybe stick in roosts{} for safe keeping.

  • When you fish a tile with crate fishing on, check the water color and set a random crate item as the tile's crate.

  • Make sure this hooks into the old crate system's extract thing (which will be upgraded this update, but something needs to work initially).

  • Once caught you can't fish at that tile again ever -- luring also won't work, so indicate this in the message accordingly.


  • Add a recipe for snares to be crafted with rocks/bones/metal -- similar recipe to hooks. The only prop that should be propgenned here is snare_type: X, where type is a color or crate type.

  • Went ahead and added an entirely new "snares" item category, and made it so anglers buy/sell them and will always sell at least one.

  • If you're crate fishing and have the snares menu unlocked, add a Snares: X (change) to the menu where the (change) is a button.

  • This menu should let you pick various snares from your inventory -- they'll get removed and appended to a .fishing{} datapoint.

  • You should be able to remove them from the datapoint and add them back to your inventory.

  • Render out the weights{} stuff in both here and on the other menu.

  • Back in the crate fishing, instead of picking a crate at random, render the snares as a means of weighting them and then do a weight distribution function on them. With all other crates weighted as 1.

  • 6 Months ago
    Sky's the limit

    Fishing Update 7

    Crates improvements

  • Inventory limit should be 5.

  • "Extracting" a crate will instead pop open a crate menu.

  • This lists the items out in a non-map-move-hide way.

  • You can take them, drop them, or atomize them (if you have the atomizer bypass).

  • You can also take/drop/atomize all (assuming you have the bypass).

  • Crates have a 50% chance of being locked with a 3-8 complexity.

  • Make sure all the tumbler hooks here work correctly.

  • The lock screen also lets you exit the crate menu -- other things don't. You'll get a warning that unwanted items will be dropped.

  • When you exit the crate menu, drop all unclaimed items. Remove the crate from your inventory.

    Melange items

  • Based on the crate type, they have a 33% chance of containing a melange item (any itemgen).

  • This should render in the crate item list accordingly.

  • This should also give the crate a mandatory 10 lockpick complexity.


  • When you unlock crate fishing, add a Locksmith base fixture. No, have it as a separate unlock.

  • Indicate this change in the fishing description for crate fishing.

  • This should do a .pmlike setup where the () is a random amount of base fuel and the item list are crates. The amount of fuel should be 10-20, with 1-10 or 20-30 being possible.

  • There should be some kind of multiplier depending on the complexity of the lock puzzle.

  • Once done, add a .prop{} of unlocked: true to the crate. Change the name as well, but make sure the items inside are maintained (a .name_seed prop is the best long-term strategy here)

  • Opening an unlocked crate means you don't have to do the lockpicking puzzle. Everything else works the same though.

    Stats Update

  • Make sure the stats are appropriately represented (cave, spectral, catch bonuses, lure range, etc)

  • Make sure all stats are reflected somewhere in the code (I feel like I've forgotten a few here).

  • Check the crate catch chance and the hook use chance accordingly. Will require some rerouting to use a different .consume_item stat.

  • The amount of snares you can attach should be limited by that stat.

  • Also unlocks assumedly -- may have missed some of those. Best to just go over everything in my notes post.

  • Should also check to make sure various bait/etc menus get removed when switching contexts -- there's kinda a lot here.

  • 6 Months ago
    Sky's the limit

    Fishing Update 8

    Fishing Journal

  • Create fishing_journal{}.

  • The menu entry should call fishing_journal.render_preview{}.

  • Anything that influences its data should also do that.

  • List out any useful data whatsoever for fish or crates (this will definitely require its own checklist).

  • I pulled out the hook for this since I have no idea wtf it'll look like yet, but it still exists in fishing{}.

  • 6 Months ago
    Sky's the limit

    Reply to: II. Fishing Checklist