mbkarle / mind-the-fog

Roguelike JavaScript game--mind the fog!
2 stars 1 forks source link

Doge Inventory #129

Closed akarle closed 6 years ago

akarle commented 6 years ago

Fixes #94

Introducing the Dog Inventory Module

A while ago we decided itd be pretty cool to make the Dog character doge a more crucial part of the game. I put a lot of effort into creating this lil guy that runs around after you, and it seemed silly not to make that a bigger part of the game.

Turns out the Dog is a great way of carrying over some progress between runs. Namely:

  1. cached items
  2. cached gold

The first is manual--you need to approach the dog and give it whatever items you want. The second is automatic. On death the dog (a faithful friend) grabs your purse and brings it back to the great hall.

This, combined with a DogTrainer NPC (future work) that buffs the dogs stats such as percent of gold carried over and amount of items carried, allows the player to have a rogue-like experience of not making it far at first but over time they will be able to go further as they cache better weapons & gear & start with some gold to buy potions, etc!

How it was Done

It was created as its own Module class (see #120 for motivation). The idea is that we offer standard functions to interact with the module. The module has avail and open properties which determine if keys and clicks work (for the former) and if the info should be refreshed (for the latter).

As far as the inventory display, this was made easy thanks to the new Inventory class (#128)!

Future Work

Work on the DogTrainer NPC is the next step! Shouldn't be too hard, but different enough to warrant a different branch / PR for documentation.