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

dnd5e: Upgrade Tidy to work with dnd5e 4.0.0 #753

Closed
kgar opened this issue Sep 11, 2024 · 3 comments
Closed

dnd5e: Upgrade Tidy to work with dnd5e 4.0.0 #753

kgar opened this issue Sep 11, 2024 · 3 comments
Assignees
Labels
dnd5e This relates to dnd5e system updates or issues

Comments

@kgar
Copy link
Owner

kgar commented Sep 11, 2024

Establish compatibility with dnd5e 4.0.0. List any issues or to-dos here.

@kgar kgar added the dnd5e This relates to dnd5e system updates or issues label Sep 11, 2024
@kgar kgar self-assigned this Sep 11, 2024
@kgar kgar added this to the 4.0.x Coma milestone Sep 11, 2024
@kgar
Copy link
Owner Author

kgar commented Sep 12, 2024

Establish Baseline Functionality

  • Character Sheet
  • NPC Sheet
  • Vehicle Sheet
  • Group Sheet
  • Background Sheet
  • Class Sheet
  • Consumable Sheet
  • Container Sheet
  • Equipment Sheet
  • Feature Sheet
  • Loot Sheet
  • Species Sheet
  • Spell Sheet
  • Subclass Sheet
  • Tool Sheet
  • Weapon Sheet

@kgar
Copy link
Owner Author

kgar commented Sep 12, 2024

Known Changes to Address

Actors

  • Weapon Mastery icon in weapons trait list
  • Weapon traits edit - open dnd5e.applications.actor.WeaponsConfig instead of TraitSelector
  • Epic Boon Count on sheet after lvl 20 reached
  • System Spell Preparation per-class tracked

Item Sheets

  • All items (except where noted below) lose everything in ActionTemplate (ability, action type, attack, chat flavor, critical details, damage, enchantment, formula, save, and summons)
  • All items (except spells) lose everything in ActivatedEffectTemplate except uses (activation, duration, target, range, consumption)
  • Items that formerly had actions now include activities
  • On items with uses they now store spent uses rather than current uses
  • Uses recovery is represented by an array of recovery profiles rather than a single profile
  • Backgrounds now have "Starting Wealth" in addition to classes
  • Classes now have "Primary Ability" mutli-select and "Require All" checkbox
  • Consumables have a single damage part (damage.base) and a checkbox indicating whether the damage replaces or supplements weapon damage
  • Features no longer have recharge data, they keep a few enchantment properties
  • Spells retain activation, duration, range, and target information (target structure has changed to separate area of effect from other targeting information)
  • Weapons retain a single base damage part (damage.base) and a versatile damage part (damage.versatile, which is a complex structure rather than a formula, now list their mastery property, now contain a separate reach value in the range object

@kgar
Copy link
Owner Author

kgar commented Sep 13, 2024

Most likely post-release milestone issues

@kgar kgar added the awaiting-release This is awaiting release label Sep 19, 2024
kgar added a commit that referenced this issue Sep 20, 2024
* Updated module.json to open up the module to 4.0.0

* Bumped minimum Foundry version.

Removed unused hooks and FoundryAdapter functions.

* Captured mono-type for CONFIG in Foundry V12 + dnd5e 4.0.0.

* Removed `async: true` from HTML enrichment calls, now that the option has been removed and the function is always async.

* Accounted for:
System setting `disableExperienceTracking` replaced with `levelingMode: 'noxp' | 'xp' | 'xpBoons'`

* Resolved:
`ctx.needsSubclass` added

* Resolved CONFIG changes:
  - [x] removed `DND5E.spellComponents`
  - [x] removed `DND5E.spellTags`

  Resolved other breakages while in the area.

* Resolved remaining svelte-check errors.

* Resolved some deprecation warnings in character filter tab.

* Removed reference to system.activation.type.

* Eliminated activation dep warning on adding item uses via ItemAddUses component.

Eliminated activation dep warning on character features.

Added Uses column to Passive section.

* Converted default item filters to use activities instead of deprecated item system activation.

* Replaced more usages of system activation with activities size check. Fixed the ItemUtils function to correctly check for activities.

Replaced direct size checks with ItemUtils function calls.

* Resolved remaining activation calls that are resolvable.

* Swapped out traits selector for weapons config for weapon traits.

* Updated SourceConfig calls to new format.

* Added Character epic boons UI.

* Retired Ammo Selector. Farewell friend 😌

* Cleaned up onAddUses in ItemAddUses. It no longer attempts to set nonexistent fields.

Fixed delta changes to system.uses.value. It now calculates and sames system.uses.spent, based on the value.

* Resolved issues with system.recharge being moved to system.uses.recovery.

Skipping item sheets for now, since they'll be massively cut down.

* Resolved:
Context menu now checks `!item.compendium?.locked` on `condition` for mutating options

* Removed Foundry V12 check and inlined all V12-compliant code. Removed pre-V12 code.

* Resolved:
`item.use()` has a legacy setting now. Set legacy to false and use like character sheet 2: `item.use({ legacy: false, event })

* Resolved:
Item Cards are showing `undefined` item descriptions. Ditto item summaries in the sheet item lists.

* Resolved:
- [x] NPC
  - [x] source moved from `system.details.source` to `system.source`
- [x] Vehicle
  - [x] source moved from `system.details.source` to `system.source`

* Fixed limited sheet header issue where the profile width/height were not being set.

* Resolved:
Background Sheet compatibility

* Added support for label-top styles.

Expanded Checkbox component to take a string value.

Added spell preparation formula to item spellcasting component.

Update class details tab with the latest 4.0 content.

* Resolved:
- [x] Weapon Mastery
	- [x] show badge on mastered weapon traits
	- [x] when all Simple weapons are proficient, but clubs are mastered, "Clubs" should show next to Simple, with a mastery badge

* Implemented some of Consumable Details to match the new sheets.

* Began planning out Field Damage UI.

* Added support for `rule: true` in selection option data.

* Added utility class for invisible content that preserves page structure.

* Adjusted item styles to match form field height from the core foundry variables.

* Added inherited getSheetData during item context preparation to include the new data fields that are relevant to item context.

* Implemented most of Field Damage.

* Added mapSystemBaseDamageTypesToSave to manage saving damage types.

* Implemented some of FieldUses.

Added Item Sheet actions section.

* Added optional grouping for SelectOptions.

* Implementation for grouping select options.

* Added field uses context types to item sheet context prep and to the context typings.

Added handling for deleting and updating a recovery.

* Widened select options typing to reflect the additional typing that it was implicitly accepting.

* Again, more accurately: Widened select options typing to reflect the additional typing that it was implicitly accepting.

* Added itemStatus subtitle to ammo when a subtype is chosen.

* Implemented remainder of FieldUses.

* Implemented Activities Tab and plugged into Consumables.

* Added new style properties to item sheet context. Updated affected callers.

Added stub DetailsMountable component.

Gutted Equipment Details and added scaffolding for rebuilding it.

* Fixed text input attributes spread logic.

* Adjusted death saves sheet part application.

* Added equipment types to context and context typings.

* Fixed some layout with field uses, to ensure proper form field width.

* Fixed some layout with consumable details, to ensure proper form field width and to provide IDs for inputs. Adjusted some classe for accuracy.

* Implemented equipment details.

* Began details mountable component implementation.

* Interpolated / scaffolded commented handlebars form fields in preparation for implementing them.

* Finished implementing DetailsMountable.

* Tested and fixed any layout or logic with DetailsMountable. Added missing item sheet style for full-width.

* Added Activities tab to equipment and feat.

* Refined item form group styles.

* Rebuilt Feat details.

* Made additional visual review and fixed mislabeling.

* Reviewed and confirmed loot sheet.

* Scaffolded up spell details in preparation to implement new layout.

Added stubbed components.

* Completed initial draft of main spell details content, outside of shared field components.

* Fixed how select option grouping deals with the group prop being present but undefined.

* Added new labels and activationTypes to the item sheet context.

Added spell classes to spell sheet header.

Commented out most of the green checkbox styles. It's time for them to go.

* Implemented FieldActivation.

Added some boilerplate to the other new field components.

Minor corrections to spell details tab.

* Implemented FieldRange.

* Began work on FieldDuration.

* Small progress tonight.

* Added missing CONFIG DND5E type.

* Refined inline form-group checkbox types.

* Added more item context and types.

* Implemented remainder of field duration.

Replaced system references with source for most inputs in item parts. I just followed what the system is doing.

Implemented field targets part.

Added ts-ignore where needed because of type issues related to config dnd5e not having the same shape for like elements.

* Converted race to species under the hood.

* Reconstructed tool sheet.

* Reconstructed weapon details tab.

Tested and fixed issues.

Made FieldDamage more generalized to allow for consumable, weapon base, and weapon versatile to use it.

* Resolved all known localization key issues.

Removed unused item parts.

Renamed some components to better match the new system templates.

* Purged the ItemFormGroup component. It is a pale imitation of the real thing. Better to use rote HTML for now and figure out something more comprehensive later.

* Added missing blank value for equip prof.

* Set up IDs, label for attribute, disabled attribute, etc., where needed in item sheets.

* Processed 4.0.1 changes.

* Removed unused code.

* Fixed a few deprecations.

Corrected some errors on actions tab.

Resolved some loc keys.

Adjusted item styles for stacked form groups.

Added missing properties to container sheet.

Generalized the path to `appId` for all item sheets.

* More dep warning fixes.

* Implemented context menu for activities on item sheet.

* Implemented activity drag and drop.

* Removed unused content.

* Removed option for action list cantrip scaling, as the system has changed too much to accommodate the previous way. Putting actual roll config into Action List will be the subject of new development.

Resolved remaining character dep warnings.

* Accounted max prepared spells now being provided by each class. Leveraged the spellbook class filter to swap between totals in the footer for now.

* Resolved NPC dep warnings.

* Added a debug button to quickly write any document and its sheet to console.

* Fixed vehicle encumbrance

* Made activities references null-safe, since not all items will have activities as a system schema field.

Resolved remaining vehicle dep warnings.

* Corrected logic error with first activities' activaton types.

* Upgraded the spellbook tab to change DC and Atk when changing the spellbook filter.

* Resolved:
Simplify CR input for NPCs
Switched to input when unlocked and a formatted span on locked.

* Implemented "Create Scroll" context menu option for actor-owned spells.

* Implemented inline activities.

Replaced HTML escaped mdashes with the actual character.

* Generalized the inline toggle control and shared between inline activity and inline container toggling.

Added inline activities after the item summary.

* Added actor-based context menu for activities.

* Added middle-click to edit actor activities.

Swapped in ItemImage so that img-based activities are styled correctly.

* Purged manual getPreparedSpells function in favor of system's corrected version.

* Added custom equipment types back in.

Sorted item properties.

* Updated environment to hide when empty.

Corrected styles for creature size on PC and NPC sheet headers.

* Extracted spell component labels map to sheet context and required it when referencing the spellcomponents component.

Minor cleanups.
@kgar kgar removed the awaiting-release This is awaiting release label Sep 20, 2024
@kgar kgar closed this as completed Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dnd5e This relates to dnd5e system updates or issues
Projects
None yet
Development

No branches or pull requests

1 participant