Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
TokenVoiceCatalog.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "DataBanks.hpp"
4
5#include <cstdint>
6#include <optional>
7
8namespace monopoly::udsound
9{
10 inline constexpr std::uint8_t TokenVoiceTokenCount = 11;
11
20
21 enum class TokenVoiceLine : std::uint8_t
22 {
23 FirstTurn = 0,
24 Build = 1,
25 Sell = 2,
26 Trade = 3,
27 Mortgage = 4,
28 UnMortgage = 5,
29 Intro = 6,
32 PositiveRolls = 9,
33 NegativeRolls = 10,
35 ThirdDoubles = 12,
36 NobodyAround = 13,
37 PassedByA = 14,
38 PassedByB = 15,
39 PassedByC = 16,
40 PassedByD = 17,
41 PassedByE = 18,
42 PassedByF = 19,
43 PassedByG = 20,
44 PassedByH = 21,
45 PassedByI = 22,
46 PassedByJ = 23,
47 PassedByK = 24,
48 PassedByGeneric = 25,
49 AboutToBankrupt = 26,
52 LandOnBiggerHit = 29,
53 LandOn4Houses = 30,
57 LandOnBigHit = 34,
58 LandOn0Houses = 35,
63 LandOnLowHit = 40,
68 LandOnLuxuryTax = 45,
70 LandOnLowerHit = 47,
73 LandOnLowLowHit = 50,
77 LandOnLowestHit = 54,
80 BuySide4 = 57,
81 BuySide3 = 58,
82 BuySide2 = 59,
83 BuySide1 = 60,
84 ChoseAuction = 61,
87 ProposingTrade = 64,
90 GiveUp = 67,
91 Bankrupt = 68,
92 DoneTurn = 69,
93 WonGame = 70,
94 GenericGood = 71,
95 GenericBad = 72,
96 Count
97 };
98
99 static_assert(static_cast<std::uint8_t>(TokenVoiceLine::Count) == 73);
100
102 {
104 std::uint8_t alternateCount{};
105 };
106
107 [[nodiscard]] const TokenVoiceChoice* tokenVoiceChoice(
109 std::uint8_t token) noexcept;
110
111 [[nodiscard]] std::optional<data::DataId> chooseTokenVoice(
113 std::uint8_t token, std::uint32_t randomValue) noexcept;
114}
unsigned index
int token
std::uint16_t DataTag
Definition DataBanks.hpp:11
const TokenVoiceChoice * tokenVoiceChoice(data::BoardEdition edition, TokenVoiceLine line, std::uint8_t token) noexcept
std::optional< data::DataId > chooseTokenVoice(data::BoardEdition edition, TokenVoiceLine line, std::uint8_t token, std::uint32_t randomValue) noexcept
constexpr std::uint8_t TokenVoiceTokenCount