|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
La fiche d'une créature jouable ou non : héros, PNJ, ennemi. More...
#include <CharacterSheet.h>
Public Member Functions | |
| int | ability (Ability which) const |
| La valeur d'une caractéristique. | |
| int | modifier (Ability which) const |
| Le modificateur d'une caractéristique. | |
| bool | isDown () const |
| Vrai si la fiche est tombée à 0 point de vie. | |
| float | speedInTiles () const |
| La vitesse en cases de la grille tactique (LOT-19, LOT-22). | |
Public Attributes | |
| std::string | name |
| std::string | speciesId |
| Identifiants des trois choix qui ont construit la fiche. | |
| std::string | classId |
| std::string | backgroundId |
| std::array< int, 6 > | abilities {} |
| Les six valeurs finales, augmentations d'espèce comprises, indexées par core::Ability. | |
| int | level = 1 |
| int | experiencePoints = 0 |
| int | maximumHitPoints = 0 |
| int | currentHitPoints = 0 |
| int | armorClass = 0 |
| float | speedMeters = 0.0F |
| Vitesse de base, en mètres — l'unité du corpus. speedInTiles() la convertit. | |
| std::set< std::string > | skillProficiencies |
| Compétences maîtrisées, par identifiant du catalogue. | |
| std::set< Ability > | savingThrowProficiencies |
| Jets de sauvegarde maîtrisés. | |
La fiche d'une créature jouable ou non : héros, PNJ, ennemi.
Un objet autonome, jamais un singleton joueur. La décision de cadrage est « un héros au départ, quatre à terme » : le passage au groupe (LOT-29) ne doit rien changer à ce type. Aucune fonction de ce fichier ne prend « le personnage » implicitement — toutes reçoivent la fiche sur laquelle elles travaillent, et quatre fiches vivent côte à côte sans se connaître.
La fiche porte des valeurs, pas des règles : le bonus de maîtrise ne s'y trouve pas, il se lit dans la table d'expérience au niveau courant. Le stocker le figerait au moment de la construction, et une montée de niveau laisserait un personnage avec le bonus de l'ancien.
Une fiche se construit, elle ne se déclare pas. Tous les champs chiffrés partent de zéro, et aucun ne porte de valeur « raisonnable » par défaut : un armorClass = 10 dans cette structure serait la règle du livre écrite en C++ (EX-VIS-007), et une fiche à demi construite passerait pour une fiche jouable. buildCharacterSheet() est la porte d'entrée, et elle prend les constantes dans la donnée.
|
inlinenodiscard |
La valeur d'une caractéristique.
|
inlinenodiscard |
Vrai si la fiche est tombée à 0 point de vie.
|
inlinenodiscard |
Le modificateur d'une caractéristique.
|
nodiscard |
La vitesse en cases de la grille tactique (LOT-19, LOT-22).
| std::array<int, 6> core::CharacterSheet::abilities {} |
Les six valeurs finales, augmentations d'espèce comprises, indexées par core::Ability.
| int core::CharacterSheet::armorClass = 0 |
| std::string core::CharacterSheet::backgroundId |
| std::string core::CharacterSheet::classId |
| int core::CharacterSheet::currentHitPoints = 0 |
| int core::CharacterSheet::experiencePoints = 0 |
| int core::CharacterSheet::level = 1 |
| int core::CharacterSheet::maximumHitPoints = 0 |
| std::string core::CharacterSheet::name |
| std::set<Ability> core::CharacterSheet::savingThrowProficiencies |
Jets de sauvegarde maîtrisés.
| std::set<std::string> core::CharacterSheet::skillProficiencies |
Compétences maîtrisées, par identifiant du catalogue.
| std::string core::CharacterSheet::speciesId |
Identifiants des trois choix qui ont construit la fiche.
Vides pour une créature du bestiaire, qui n'en a aucun.
| float core::CharacterSheet::speedMeters = 0.0F |
Vitesse de base, en mètres — l'unité du corpus. speedInTiles() la convertit.