MouseyPounds / stardew-checkup

Checks progress in a Stardew Valley save file
MIT License
198 stars 36 forks source link

Hats #19

Open Zamiell opened 3 years ago

Zamiell commented 3 years ago

As an additional goal after "perfection", some players like to collect every hat. e.g. see Haboo's All Hats Speedrun: https://www.twitch.tv/videos/391054941?filter=highlights&sort=time

It would be fantastic if Stardew Checkup would track this, e.g. by looking in all of the chests in the save file and seeing if a hat is stored there.

Additionally, perhaps you could gate the feature behind an optional "show hat completion" button or something, so that "normal" players are not tricked into thinking that they need every hat.

clementnader commented 3 years ago

If you truly want to find hats on save, there are some advice:

Information of the hat

They have a which tag which gives the identifier of the hat corresponding to the one in Data > hats.xnb.


The whole process for a solo save

For a solo save, they are stored:

in the player's inventory

> player > items and then we follow the instructions at the end

the player's hat

> player > hat and we can find directly the which tag

in chests (either Chest, Stone Chest or Mini-Fridge)

> locations > various GameLocation > objects or > locations > various GameLocation > buildings > various Building > indoors > objects and then we follow the instructions at the end

on the Rarecrow n°3 (alien)

> locations > various GameLocation > objects

The information for the hat is then stored in the quality tag as identifier+1: if it's 0 there is no hat, else the hat has the ID: quality-1. For example, if it has the quality value 65 it means as it is different from 0 that first it has a hat, and its ID is 64 so it's the Elegant Turban.

in the furniture (either Fish Tank or Dressers)

They correspond to the fish tank where we can put hats on the Sea Urchin, and to the dressers where we can store clothing items.

> locations > various GameLocation > furniture or > locations > various GameLocation > buildings > various Building > indoors > furniture which list the different placed furniture and where we can find the fish tanks and the dressers

in the fridge

> locations > various GameLocation > fridge > items and then we follow the instructions at the end

on NPC (either Horse or Child)

> locations > various GameLocation > NPC of xsi:type="Horse" or xsi:type="Child" > hat and we can find directly the which tag

in the Junimo Chest

> junimoChest > various Item of xsi:type="Hat" where we can find the which tag


Looking for items in chests inside objects

> various item > value > Object of xsi:type="Chest" > items and then we follow the next instructions

Looking for hats inside items

> various Item of xsi:type="Hat" where we can find the which tag


If you want me to be clearer, or you need any help, don't hesitate!

Actually, I've made a application using Python to parse the save file to find any clothes (shirts, pants and hats) and to tell the missing ones using the game files, and if they are tailorable, the corresponding tailoring recipe.