Tarmslitaren / FrosthavenAssistant

flutter app
GNU Affero General Public License v3.0
182 stars 45 forks source link

Handling updated characters #221

Closed nicholaskillin closed 1 month ago

nicholaskillin commented 3 months ago

Hey, love the app. I'm interested in potentially contributing if you're open to PRs.

My group just started playing with the Artificer, but we are playing with newly updated cards from the custom guild. In the updated version, the Artificer has updated HP for each level.

I know that all of the Gloomhaven characters are being reworked by Cephalofair games as well.

Have you put any thought into how you want to handle character versions with reworked stats?

Tarmslitaren commented 3 months ago

Hi! My plan for Gloomhaven 2nd edition is to add those as new classes. This does mean I need to rethink how the character id's are handled, to avoid collision (name+edition might be ok), and some rework for the add character and solo scenario menus.

I didn't know Artificer had that kind of update. It's the first class to have an update that would affect the app, and I have no good solution for that, other than just use the updated health and confuse the users who are not aware.

And contributions are welcome. Apologies beforehand: Some of the code is a bit messy, due to fast development, using data from an earlier project - resulting in needing more parsing than maybe would have been wise, and blatant disregard for conventions =P

nicholaskillin commented 3 months ago

Haha, no worries at all! I'm a professional web developer used to Ruby and Javascript (React), but Dart (and Flutter) are new to me. However, I can easily add/update classes via updating the data files. 🤣

I'm just starting to get familiar with how this app works. I know that there are probably a lot of people that will continue to use the V1 of all of the CS classes for a long time to come, so I don't want to make this app unusable for them, but I also know that quite a few of those classes are getting a crossover version to make them move compatible with the Frosthaven system, since it seems like that is the future of all of their games.

I'll put some thought into it as well to see if there is perhaps a way to make both versions available in a clear, UX friendly way.

Tarmslitaren commented 1 month ago

I've added a new field "id" to character data. if it is missing, the id will default to the existing "name". That should be enough to handle new classes with identical names, unless I've missed to apply id everywhere it's needed.