Skip to content

Representation of character powers

kellis edited this page Jun 15, 2012 · 4 revisions

Summary

Powers are extracted on load for player character and monster files. Unfortunately, only a partial representation of the power is typically provided in the file. Nonetheless, it serves as a good starting point for flushing out the remaining details. For player character (dnd4e) files, Details for toHit and damage are often included, presumably as the values depend on character stats. Attack type, range, number of targets and effects are typically omitted. Fortunately, the missing information is typically stat independent, which should make it quick for players to build up a power repository.

Design Objectives

  • Provide a means to easily identify powers that are incompletely specified.
  • Provide a means to add powers/actions that are not found on the character sheet but available to the player.
  • Provide dialog based entry forms for flushing out details for player and monster powers.
  • Provide a means to automatically save modifications to local storage.
  • Provide a means to export the power repository for use on another game server / campaign.

The logical place for flagging incomplete powers is on the character details page, which contains a tab for showing powers. Some sort of icon on the collapsed power should be sufficient. When the power button is expanded, it should contain an edit icon for modifying the power regardless of whether it is marked as complete. A quick method of checking whether a power is fully specified is to check against a standardized checklist. This checklist would include properties such as 'targets', 'area', 'range', 'description', 'keywords', 'effects', etc.

The power modification dialog should be as simple as possible, capturing the basics and being extendable, while having enough flexibility to handle weird one offs. Here is a good place to use the 90% rule, whereby the bulk of the powers can be expressed using a fairly restricted set of rules. There will almost certainly need to be a mechanism for DM overrides to deal with unusual cases, even long term; however, it should be possible to deal with the vast majority of powers with a simple rule editing system.

It is worth investigating if the power should be converted to Javascript. Using this strategy, unusual powers could be coded in raw Javascript when the auto-conversion fails. Naturally, we would want to minimize the number of times raw Javascript is required, as it limited the utility of the tool for non-developers.

When editing a power for a character, it is likely that many attributes of a power could be given a default value. For example, if editing powers for a fighter, we can fill in 'Martial', 'Weapon', 'Melee', 'Target One Creature', ... Whether we build a dialog for setting defaults, a means of checking off a setting as default, or simply remember the last value used are all viable alternatives to consider.

Now really cool would be to parse a cut-n-pasted text description of the power to populate the dialog. A worthy long term goal.

Clone this wiki locally