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

Add Armor, Tool, and Weapon Proficiencies to Class Item #1016

Closed
arbron opened this issue Mar 2, 2021 · 8 comments
Closed

Add Armor, Tool, and Weapon Proficiencies to Class Item #1016

arbron opened this issue Mar 2, 2021 · 8 comments

Comments

@arbron
Copy link
Collaborator

arbron commented Mar 2, 2021

Similar to issue #270 which was just implemented, add proficiency data for armor, weapons, and tools so that information can be programmatically available when adding classes.

{
  "proficiencies": {
    "armor": {
      "grants": [],
      "multiclass": [],
      "value": []
    },
    "weapon": {
      "grants": [],
      "multiclass": [],
      "value": []
    },
    "tool": {
      "grants": [],
      "multiclass": [],
      "value": []
    }
  }
}

Here is an example for the Bard class:

{
  "proficiencies": {
    "armor": {
      "grants": ["lgt"],
      "multiclass": ["lgt"],
      "value": ["lgt"]
    },
    "weapon": {
      "grants": ["sim", "handcrossbow", "longsword", "rapier", "shortsword"],
      "multiclass": [],
      "value": ["sim", "handcrossbow", "longsword", "rapier", "shortsword"]
    },
    "tool": {
      "grants": [{ "choices": ["music"], "count": 3 }],
      "multiclass": [{ "choices": ["music"], "count": 1 }],
      "value": ["drum", "flute", "viol"]
    }
  }
}
@arbron
Copy link
Collaborator Author

arbron commented Mar 2, 2021

Originally in GitLab by @aaclayton

The general idea makes sense, although custom weapon-specific proficiencies are problematic for localization.

@arbron
Copy link
Collaborator Author

arbron commented Mar 2, 2021

Originally in GitLab by @akrigline

I think also it's a good idea to keep the level at which these proficiencies might be gained in mind while thinking about this data model.

Many subclasses offer these proficiencies, and some (notably the Kensei Monk) allow multiple choices as the character levels up.

I would push for a model more closely resembling the "features" data model crossed with the "skills" one which allows for a certain amount of choices at a certain level.

@arbron
Copy link
Collaborator Author

arbron commented Mar 3, 2021

Many classes specify proficiencies to individual weapons, so its either a custom field or greatly expanding the number of built-in weapon options or using custom.

@arbron
Copy link
Collaborator Author

arbron commented Mar 3, 2021

My question is do we want to represent those proficiencies granted at later levels here, or do we want to include them in separate class features that are automatically granted by the level up system?

@arbron
Copy link
Collaborator Author

arbron commented Mar 3, 2021

I've realized several classes give you the option of which tools to choose (e.g. Monk allows one artisan tool or one musical instrument, Bard allows three musical instruments). Not sure if we want to represent this in the data model and if so, how to best go about that.

@arbron
Copy link
Collaborator Author

arbron commented May 5, 2021

mentioned in issue arbron/dnd5e#6

@arbron
Copy link
Collaborator Author

arbron commented Jul 14, 2021

@Fyorl This issue should be retargeted to %"D&D5E 1.6.0 - Continued Work on Level-Up".

@arbron
Copy link
Collaborator Author

arbron commented Jul 28, 2021

Originally in GitLab by @iaguastalli

would it make sense to add a new object inside Items that would mark values mergeable with the actor, overall ? Could be used for features granting proficiencies like the Kensei monk mentioned before, also for things like the damage resistance of tieflings and dragonborn on either (future) Race items or on features linked to the races, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants