Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review the setting with hitlocation names #380

Closed
Tracked by #379
wake42 opened this issue Sep 23, 2022 · 4 comments
Closed
Tracked by #379

Review the setting with hitlocation names #380

wake42 opened this issue Sep 23, 2022 · 4 comments
Assignees
Labels
type: enhancement Improvement to existing feature. Use "feat: " commit message
Milestone

Comments

@wake42
Copy link
Collaborator

wake42 commented Sep 23, 2022

Currently there is a setting with a list of available hit location names. This is a bit awkward - evaluate other solutions.

One possibility could be to gather all hitlocation items using rqid and generate the name list from them. The downside would be that at least one hitlocation of each name would have to be part of a compendium, and the current idea is to have hitlocations for different species embedded in template actors.

@wake42 wake42 added this to the 1.21.0 milestone Sep 23, 2022
@wake42 wake42 added type: enhancement Improvement to existing feature. Use "feat: " commit message state: discussing More discussion / investigation is needed labels Sep 23, 2022
@Moonpile
Copy link
Contributor

Moonpile commented Jan 9, 2023

An argument in favor of having a "Hit Locations Compendium" is for creating your own creatures as a GM. It allows you to drag them from the compendium to the Actor sheet. Of course if there's a "+" button in the hit locations then you can just click that and it can add one by Rqid (via a drop down or something) or let you create an entirely new one. And adding it by Rqid requires the compendium anyway.

Of course having a "Hit Locations Compendium" increases our compendium bloat.

@wake42
Copy link
Collaborator Author

wake42 commented Jan 10, 2023

Problems with current solution

  • Unintuitive and cumbersome to have to add available hitLocation names in a setting
  • Translations of hitlocation names are not possible. Also translation of items can't be part of the runtime Foundry translations (game.i18n.localise).

Limitations / constraints

  • Armor items needs to reference HitLocation items. Currently done by hitLocation name, but that is problematic (see above)
  • HitLocations of creatures of the same body type are not the same. They (might) have different natural AP.

Suggested path forward

  • Change the armor -> hitLocation link to use rqid instead of name. This will make it possible to translate the name since it's no longer used as an ID.
  • Include compendiums with sets of hitLocations per body type, but with natural AP set to 0. These compendiums would be translated compile time and a separate compendium per language will be generated (that build system is already in place). Later modules could provide additional body types.
  • Include a macro for the GM to set the natural AP of all hitLocations in an actor. Prompt for what value they should get. (*** TODO Check how common different AP / hit locaton is ***)
  • At system start (GM), scan the world for available hitLocations (rqid + name) and store a list of those. Similar to how available runes are detected now.

Downsides / questions

  • Is a compendium with body types needed? What is the benefit compared to having a template actor complete with appropriate hitLocations, runes, skills etc. There currently exists compendiums for human-hitlocations & pc-runes but skills are not broken into PC-skills and others. How should new actors (PC & NPC) be created? Is the character creator only for PCs, while NPCs (including creatures) should be assembled by dragging items to an empty actor?
  • If we use rqid to link armor to hitLocation then any new hitLocation a GM creates needs a rqid, and those are not created by default. Since it's very important that hitLocations have a rqid, there should probably be some kind of notification / check in the hitLocation Sheet to make sure a rqid exists. The autocreate rqid function really only works when using the system in english, since the rqid names are supposed to be in english. This is a general limitation/problem of rqid.

Example user flow after change

Adding a hitLocation to an armor item

No visual change compare to current flow

Creating a new hitLocation item

now
First add the name of the new hitLocation in the hitLocation settings. This makes it available both in armor coverage and hitLocation name.
Then select that name in the hitLocation sheet.

after change
The hitLocation sheet name input field could have a datalist dropdown populated with suggestions from already existing hitLocations, but it should also be possible to enter any name.
A very visible warning should be shown if the item does not have a rqid, since if there is none, then the hitLocation will not be possible to add to an armor item as "protecting". Note you could possibly create a hitLocation with a rqid that claims it's a head, but name the hitLocation "left leg". Maybe the rqid should be made more visible for this item type? Or should that be a general change that all item sheets displays the rqid & language a little more upfront?

Tangentially related

When adding hitLocations to an actor it might be good to display a warning if not all die-ranges (d20) are covered or if multiple hitLocation cover the same die roll. See #499

@wake42
Copy link
Collaborator Author

wake42 commented Jan 13, 2023

As for compendium bloat I think that will be solved in Foundry 11 where you can have folders in the compendium. So maybe it's a good idea with hit location compendiums for each body type.

@TheChaosium
Copy link
Contributor

I think that by the time the bestiary is released we will have most body types and the number of new ones will be small.

@wake42 wake42 removed the state: discussing More discussion / investigation is needed label Jan 16, 2023
@wake42 wake42 modified the milestones: 3.2.0, 3.3.0 Oct 4, 2023
@wake42 wake42 self-assigned this Nov 11, 2023
@wake42 wake42 closed this as completed in 4f55ef1 Nov 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement Improvement to existing feature. Use "feat: " commit message
Projects
None yet
Development

No branches or pull requests

3 participants