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

Implement impacts/debilities as ActiveEffects #770

Draft
wants to merge 178 commits into
base: main
Choose a base branch
from

Conversation

rsek
Copy link
Collaborator

@rsek rsek commented May 25, 2023

TODO

  • figure out where i was going with the updateGlobalStatusEffect static method

Features of note

  • numerous side effects standard to ActiveEffects:
    • set impacts/debilities from the token HUD; there are different options for each actor subtype
    • impact icons!!! right now they're just on the token HUD toggles, but they could be used elsewhere
    • adding/removing an impact shows the scrolling text above the token, when appropriate
  • starforged-style impacts or classic-style debilities are now a world-level setting, independent of toolset (though some sheets override it so that they behave the same as main)
  • adjustments to the token HUD:
    • the "Apply Status Effects" button is now relabelled "Mark Impacts"/"Mark Debilities", and uses a more appropriate icon
    • made the HUD status effect toggle icons bigger; we have way fewer to display than FVTT presumes, and it was looking kinda empty otherwise
  • Non-breaking data model change: adds the optional noRecover boolean to condition meter data. when true, condition meters present a "locked" state with an explanatory tooltip.
    • Unprepared, wounded, and shaken ActiveEffects force the value of the relevant meter to 0 (to ensure the appropriate value is provided to rolls), and set noRecover to true
  • data migrations for CharacterData and StarshipData
  • numerous type adjustments to reflect v11 API changes

Further development?

  • provide custom impact toggles from the token HUD
  • allow individual actors to override whether they want impacts or debilities
  • customize the list of impacts/debilities at the global level
  • have assets provide their condition checkboxes as ActiveEffects
  • config window for custom impacts -- set icon, description, etc
  • add impact descriptions to ActiveEffect#description and expose them as tooltips
  • this puts us in a good place to make all PC impacts fully customizable/configurable with a custom sheet
  • find other places to insert the icons. e.g.: tooltip, chatalert

@rsek rsek added the v11 Features dependent on FVTT v11 label May 25, 2023
@@ -158,53 +158,6 @@ const ACTOR_TYPE_HANDLERS: ActorTypeHandlers = {
}
}

const debilities = [
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now managed by IronActiveEffect#_onCreate and friends. FVTT itself uses ActiveEffect#_onCreate for its scrolling token text, which serves a similar purpose.

@rsek rsek linked an issue Aug 21, 2023 that may be closed by this pull request
@rsek rsek marked this pull request as draft September 26, 2023 02:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v11 Features dependent on FVTT v11
Projects
None yet
Development

Successfully merging this pull request may close these issues.

implement impacts/debilities as ActiveEffects
1 participant