hgeorgsch / armchar-swish

ArM character server implementation using Haskell and Swish
GNU General Public License v3.0
0 stars 1 forks source link

Review model for repeatable traits #97

Closed hgeorgsch closed 2 years ago

hgeorgsch commented 2 years ago

This is needed to resolve #95 and possibly #96 . Repeatable traits is the exception, but important enough. Common cases

  1. Great/Poor characteristic, up two twice per characteristic, and for different characteristics
  2. Puissant/Affinity for different arts/abilities
  3. Quiet Magic up to twice
  4. Incompatible arts, for different art comboes There might be more, and possessions would be similar.

A similar case may arise if we want to allow free-form abilities and personality traits on the fly. The current implementation requires classes to be defined for every trait before it can be instantiated. For possessions, free-form instances are allowed, distinguishing by label.

For virtues there is less of a problem since they never change. They are only gained or lost. Hence the trait instance lost will be the same as the one previously gained, as opposed to different instances of the same class. Thus it may be satisfactory to keep the current system and reference instances.

hgeorgsch commented 2 years ago

We now use the instanceLabel internal. What remains is debugging.