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"