JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
core::CharacterSheet Struct Reference

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< AbilitysavingThrowProficiencies
 Jets de sauvegarde maîtrisés.

Detailed Description

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.

Member Function Documentation

◆ ability()

int core::CharacterSheet::ability ( Ability which) const
inlinenodiscard

La valeur d'une caractéristique.

◆ isDown()

bool core::CharacterSheet::isDown ( ) const
inlinenodiscard

Vrai si la fiche est tombée à 0 point de vie.

◆ modifier()

int core::CharacterSheet::modifier ( Ability which) const
inlinenodiscard

Le modificateur d'une caractéristique.

◆ speedInTiles()

float core::CharacterSheet::speedInTiles ( ) const
nodiscard

La vitesse en cases de la grille tactique (LOT-19, LOT-22).

Member Data Documentation

◆ abilities

std::array<int, 6> core::CharacterSheet::abilities {}

Les six valeurs finales, augmentations d'espèce comprises, indexées par core::Ability.

◆ armorClass

int core::CharacterSheet::armorClass = 0

◆ backgroundId

std::string core::CharacterSheet::backgroundId

◆ classId

std::string core::CharacterSheet::classId

◆ currentHitPoints

int core::CharacterSheet::currentHitPoints = 0

◆ experiencePoints

int core::CharacterSheet::experiencePoints = 0

◆ level

int core::CharacterSheet::level = 1

◆ maximumHitPoints

int core::CharacterSheet::maximumHitPoints = 0

◆ name

std::string core::CharacterSheet::name

◆ savingThrowProficiencies

std::set<Ability> core::CharacterSheet::savingThrowProficiencies

Jets de sauvegarde maîtrisés.

◆ skillProficiencies

std::set<std::string> core::CharacterSheet::skillProficiencies

Compétences maîtrisées, par identifiant du catalogue.

◆ speciesId

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.

◆ speedMeters

float core::CharacterSheet::speedMeters = 0.0F

Vitesse de base, en mètres — l'unité du corpus. speedInTiles() la convertit.


The documentation for this struct was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Rpg/CharacterSheet.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Rpg/CharacterSheet.cpp