DizzyPrice NetHack Price ID beta

So like 7+ years ago when NetHack 3.6 came out, they changed how prices were calculated in shops compared to 3.4.3. I wrote a command line tool in Python called DizzyPrice that served as a way to do price identification for the new 3.6, since all of the old tools no longer worked. I put it up on my server at this address but it was never fully finished, and the PHP front-end was kind of garbage.

Now that NetHack 3.7 is in development, I decided to take a whack at making a more fully featured version that looks better and would work on mobile. I haven’t fixed up the CSS to make it nice on mobile yet, but I’ve made enough progress to post this update.

As you can see, you can now select which version you are using. The tool has calculation methods for both 3.4 and 3.6+, as well as item sets for three versions of NetHack. I’ve also added the ability to determine the sale offers if the shopkeeper only can offer you credit, something I never implemented in the original DizzyPrice. It is written in pure Javascript.

There’s still plenty of things I’d like to fix up, namely

  • A note explaining that probability calculations are determined based on standard item generation, and monster drops (like potions of object detection from nymphs) will make this unreliable.
  • Probability calculations are currently based on the 3.6 object lists rather than each individual version.
  • As previously stated, mobile CSS stylings
  • A more robust interpretation of the Description field, so you could enter “buckled boots” and it would search for any of the terms being in the description field. Spaces currently make the search not work.
  • Form validation at the point of clicking, with sexy pure CSS red border flashes on the improperly formatted or empty field.

You can find me as Aubses in the Libera IRC #nethack channel or the Roguelike discord server #nethack channel if you want to give me feedback or feature requests. The current unfinished (but still functional) version is available to use here.