Skip to content

Unified models for progress tracks and clocks#820

Draft
rsek wants to merge 48 commits into
ben:mainfrom
rsek:progress-model
Draft

Unified models for progress tracks and clocks#820
rsek wants to merge 48 commits into
ben:mainfrom
rsek:progress-model

Conversation

@rsek

@rsek rsek commented Jun 24, 2023

Copy link
Copy Markdown
Collaborator

Changes of note (WIP)

  • data models for progress and truth JEPs
  • JEP subtype-specific methods moved to their respective models
  • ProgressLike data model; abstract class to provide constants and functions common to progress track-like objects (with the exception of classic bonds, which might get rewritten as part of Explore representing classic-style bonds as ActiveEffects #818 , anyways)
  • LegacyTrack (extends ProgressLike); each player character legacy track is now a single object whose source data is {ticks: number, xpSpent: number}
  • ProgressTrack (extends ProgressLike), which replaces every progress track that isn't a legacy track or bond track
    • standardizes several common progress operations and computations
    • marked ticks standardized to ticks
    • subtype changes:
      • subtype bond renamed to connection; uses SF's "Forge a Bond" move when rolling progress
      • new subtype delve, which is only used internally; it identifies delve progress tracks to progress-related methods; uses delve's "Locate Your Objective" move when rolling progress
    • most documents that use a progress track embed it in system.track
      • the exception is progress JEP, which are intentionally more "atomic".
  • everything clock-shaped now uses the Clock data model
  • ChallengeRankField renamed to ChallengeRank; supplies most challenge rank constants and utility functions as statics

@rsek rsek changed the title Unified models for all progress tracks and clocks Unified models for progress tracks and clocks Jun 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant