JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
Encounter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
11
12#include <filesystem>
13#include <string>
14#include <string_view>
15#include <vector>
16
18
19namespace core {
20
31 std::string creatureId;
33 int columnOffset = 0;
34 int rowOffset = 0;
35};
36
43struct Encounter {
44 std::string id;
45 std::string name;
46 std::string source;
47 std::vector<EncounterCombatant> combatants;
56 bool escapable = true;
57};
58
61 std::vector<Encounter> encounters;
62 std::vector<std::string> errors;
63
64 [[nodiscard]] const Encounter* find(std::string_view id) const;
65};
66
68[[nodiscard]] EncounterCatalog loadEncounters(const std::filesystem::path& encountersDir);
69
75
83[[nodiscard]] std::vector<CombatantPlacement> placeCombatants(const Encounter& encounter,
84 GridPosition trigger);
85
86} // namespace core
Position entière dans la grille d'un niveau (colonne, ligne).
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
std::vector< CombatantPlacement > placeCombatants(const Encounter &encounter, GridPosition trigger)
Place les combattants d'une rencontre autour de trigger.
Definition Encounter.cpp:105
EncounterCatalog loadEncounters(const std::filesystem::path &encountersDir)
Charge les rencontres depuis leur dossier (Rpg/encounters/).
Definition Encounter.cpp:37
Un combattant placé : sa créature, et sa case sur la carte.
Definition Encounter.h:71
GridPosition position
Definition Encounter.h:73
std::string creatureId
Definition Encounter.h:72
Le catalogue des rencontres, et ce qui n'a pas pu être lu.
Definition Encounter.h:60
std::vector< std::string > errors
Definition Encounter.h:62
std::vector< Encounter > encounters
Definition Encounter.h:61
const Encounter * find(std::string_view id) const
Definition Encounter.cpp:32
Un combattant d'une rencontre : une créature du bestiaire, et sa case de départ.
Definition Encounter.h:29
std::string creatureId
Identifiant de créature du bestiaire (LOT-33).
Definition Encounter.h:31
int columnOffset
Décalage en cases depuis la case du déclencheur.
Definition Encounter.h:33
int rowOffset
Definition Encounter.h:34
Une rencontre, telle que la donnée la décrit.
Definition Encounter.h:43
bool escapable
Vrai si le joueur peut fuir cette rencontre.
Definition Encounter.h:56
std::string name
Definition Encounter.h:45
std::string source
Definition Encounter.h:46
std::vector< EncounterCombatant > combatants
Definition Encounter.h:47
std::string id
Definition Encounter.h:44
Position d'une case dans la grille d'un niveau, en coordonnées entières.
Definition GridPosition.h:20