Player Class ~ Multiclassing: Design - uchicago-cs/chiventure GitHub Wiki

Multiclassing

What is multiclassing

Multiclassing is a rpg mechanic where a player can enter multiple classes. For example, a player could multiclass between a fighter and a wizard to become a character who combines physical and magical attacks.

Key Feature

  • provide framework for game designers to combine two classes.
  • provide framework for players or npcs to utilize these classes.

Implementation

  • multiclassing works by combining two classes to create one new multiclass.
  • The base stats of the original class will be kept.
  • The attributes, effects, and skill inventories of both classes will be combined.
    • The class will keep the larger max inventory sizes of the two classes.
    • The attributes are combined by simply adding both objects of the old class to a new object. This may need to be changed based on implementation of attributes in the future.
    • None of these create deepcopies.
  • The new class will have access to both classes skilltrees.
    • The trees are not deepcopied, but the skills are.
  • only two classes can be combined with one function call, but, with repeated function calls, any number of classes can be combined.

Multiclass Skills

  • multiclass skills work by checking the player's classes to unlock a skill
  • class prerequisites are now a part of skill nodes
  • these class prerequisites are checked using "check component class"