DeckofAdventures / TheGame

Welcome to Deck of Adventures, The Game.
https://deckofadventures.github.io/TheGame/
Other
4 stars 3 forks source link

Reconfigure Powers YAML to support Bestiary + Character Creation #151

Closed LockerM closed 1 year ago

LockerM commented 1 year ago

Current Gap

Current bestiary doesn't have Powers/Actions. Current Powers YAML file supports rich text description but does not have fields for Saves/duration/range/AoE as was included in the v1 of the new Bestiary YAML.

Proposed Solution

We'll want to create a new Powers Template that is useful for all manner of powers, with the ability to tag whether it is role/archetype specific, or only available to GM NPCs so we can keep them in the same list.

Powers should include Passives and Minor/Major Powers.

Additional Note

Adversary Actions and House Actions do not need to be included in the Powers YAML as these will be handled either directly in the Bestiary or in Adventure Guides for specific Bosses.

LockerM commented 1 year ago

Previous Suggested Bestiary Template

Name:                                 # must be unique
  Type: Boss, Dealer, Bystander, etc. # Required field
  HP: X                               # Required field
  AR: X                               # Required field
  FP: X                               # Required field
  Skill Mods:                         # List only those that apply
    AGL: ±X                           # + is implied if not explicit
    CON: ±X
    GUT: ±X
    INT: ±X
    STR: ±X
    VIT: ±X
  Passives:
    Passive: Descrip                  # Any text here
  Vulnys:
    Vulny: Descrip
  Actions:
    Name:                             # Note: for Companions, type is action for Dealer
      Type: Major, Minor, Adversary, Free, House # Required.
      Trigger: Descrip                # Condition of Free Actions
      To hit: ±X
      Damage: X
      Damage type:                    # e.g., if poison, implies bypass AP
      Range: X
      AOE: (aura, cone, line) X       # line would be X by Y, requires new diagram
      Target: X                       # number: 1 for single, 2 for 2 targets
      Effect: Descrip
      Save:
        Trigger: Once, On hit, Start turn, etc
        DR: X
        Type: MOD                     # AGL, CON, etc
        Fail: Descrip                 # effect on fail
        Succeed: Descrip              # effect on success. Assume no access to above
  Threat Level: X                     # Consistent comparable rating fitting formula
  Phases:                             # only for Boss
    One:
      HP: X
      Allies:
  Element: Earth, Fire, etc           # Setting-specific
  Description: Descrip                # Full descriptive text
LockerM commented 1 year ago

Proposed Powers Template - open to thoughts/edits/modifications

Power Name:                        # must be unique
      Category:
      Subcategory: 
      Description: 
      Type: Major, Minor, Passive  
      XP Cost:
      Prereq Skill:                           
      Prereq Power:
      Prereq Role:
      Prereq Level: 
      Trigger: Descrip                
      PP Cost:
      Damage: X
      Damage type:                    # e.g., if poison, implies bypass AP
      Range: X                             # Write 0 for self cast, 1 for melee range
      AOE: (aura, cone, line) X       # line would be X by Y
      Target: X                       # number: 1 for single, 2 for 2 targets
      Effect: Descrip              # Place for description of Power plus additional effects or nuances
      Save:
        Trigger: Once, On hit, Start turn, etc
        DR: X                            # If based on primary skill modifier, indicate [3-(Primary Skill/2)]
        Type: MOD                     # AGL, CON, etc
        Fail: Descrip                 # effect on fail
        Succeed: Descrip              # effect on success. Assume no access to above
      Tags:
LockerM commented 1 year ago

@CBroz1 - I put the YAML for a proposed updated Powers template in the comment above (included the Temp Bestiary stat block you had originally put forward for our reference).

  1. Would there be anything else we'd want to add or modify for Powers in this proposed format? I'm working on some additional powers for Archetypes and want to make sure I have all of these fields considered and mapped out before diving too deep on it.

  2. We had discussed putting Vulnys in the same doc to make it easier for the Bestiary and Character Sheets to pull from, but I'm worried having them interspersed in a larger doc might make it more difficult for us to manage/maintain, plus a Vulny would only need like 1/4 of the total fields a Power needs in the template. I propose keeping them separate docs but having all Passive, Minor, and Major Powers into this single Powers.yaml doc.

CBroz1 commented 1 year ago
  1. I made a couple edits below because we haven't tackled damage types yet and nor line width
  2. They can be separate sure. The code could read 2 docs, merge, and then write them with any dividing feature.
Power Name:                   # Must be unique
    Type:                     # Passive, Vulny, Major, Minor, Adversary, Free, House. 
    # Note: Type is required. For Companion actions, type indicates type req for dealer
    Category:                 # One string. If none, 'None'
    Subcategory:              # One string. If none, 'None'
    XP:
    PP:
    Prereq:                   # For multiple, implies 'OR'. Use [A, B] or `-`
        Skill:                #              
        Power:                # Must match unique power name
        Role:
        Level: X              # Integer               
    To Hit: X                 # If not specified, assumed  as character's primary skill
    Damage: X                 # Integer           
    Range: X                  # Integer of spaces. 0 for self, 1 for melee
    AOE:                      # Aura, cone, or line followed by integer for size
    Target: X                 # Integer, # of targets
    Mechanic: Descrip         # Rule/effect. Save info added after
    Save:                     # Separated here, merged in md
        Trigger:              # Once, On hit, Start turn, etc
        DR: X                 # If based on primary skill modifier, none [3-(Primary Skill/2)]
        Type: MOD             # AGL, CON, etc
        Fail: Descrip         # effect on fail
        Succeed: Descrip      # effect on success. Assume no access to above
    Description:              # Flavor: 1-2 sentences             
    Tags:
LockerM commented 1 year ago

Next steps:

CBroz1 commented 1 year ago

Given that the bestiary will be populated using the power list, I restricted as follows and updated the above

Name:                                 # must be unique
  Type: Boss, Dealer, Bystander, etc. # Required field
  HP: X                               # Required field
  AR: X                               # Required field
  FP: X                               # Required field
  Skill Mods:                         # List only those that are not 0
    AGL: ±X                           # + is implied if not explicit
    CON: ±X
    GUT: ±X
    INT: ±X
    STR: ±X
    VIT: ±X
  Powers:                             # List all [] or `-`. 
  Threat Level: X                     # Consistent comparable rating fitting formula
  Phases:                             # Only for Boss
    One:
      HP: X
      Allies:
  Description: Descrip                # Visually descriptive text