Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
UDPennyVoice.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "DataBanks.hpp"
4#include "RuleTypes.hpp"
7
8#include <cstdint>
9#include <optional>
10
11namespace monopoly::penny
12{
20
28
30 {
32 std::optional<TokenReaction> token;
33 };
34
35 [[nodiscard]] std::optional<TurnStartReactions> nextPlayerReactions(
37 std::uint32_t random100,
38 std::optional<std::uint32_t> random8 = std::nullopt) noexcept;
39 [[nodiscard]] std::optional<PennybagsReaction> diceRollPennybagsReaction(
40 std::uint8_t total, bool tokenAnimationsOn) noexcept;
41 [[nodiscard]] std::optional<PennybagsReaction> offBoardPennybagsReaction(
42 bool victory, bool localHuman) noexcept;
43
45 {
46 std::int64_t totalWorth{};
47 std::int64_t rent{};
48 bool valid{};
49 };
50
54 std::uint8_t property,
55 bool assumePropertyOwned = false) noexcept;
56 [[nodiscard]] std::optional<TokenReaction> boughtPropertyReaction(
57 const rules::GameState& state,
58 rules::PlayerNumber player,
59 std::uint8_t property) noexcept;
60
61 [[nodiscard]] std::optional<TokenReaction> choseAuctionReaction(
62 const rules::GameState& state,
63 rules::PlayerNumber player) noexcept;
64 [[nodiscard]] std::optional<PennybagsReaction> buyOrAuctionPennybagsReaction(
65 const rules::GameState& state, rules::PlayerNumber player) noexcept;
66 [[nodiscard]] std::optional<PennybagsReaction> boughtPropertyPennybagsReaction(
67 const rules::GameState& state, rules::PlayerNumber player,
68 std::uint8_t property) noexcept;
69
70 [[nodiscard]] std::optional<TokenReaction> goToJailReaction(
71 const rules::GameState& state,
72 rules::PlayerNumber player,
73 bool localHuman) noexcept;
74
75 [[nodiscard]] std::optional<PennybagsReaction> goToJailPennybagsReaction(
76 const rules::GameState& state, rules::PlayerNumber player,
77 bool localHuman) noexcept;
78 [[nodiscard]] std::optional<PennybagsReaction> landedOnSquarePennybagsReaction(
79 const rules::GameState& state, rules::PlayerNumber player,
80 std::uint8_t square, std::uint32_t random100) noexcept;
81
82 // European custom city -1 uses the install language, as UDPenny.cpp does.
83 [[nodiscard]] std::optional<data::DataId> squareAnnouncementWave(
84 data::BoardEdition edition, data::LanguageId language,
85 int city, std::uint8_t square) noexcept;
86 [[nodiscard]] std::optional<data::DataId> cardReadWave(
87 data::BoardEdition edition, std::uint8_t cardIndex) noexcept;
88 [[nodiscard]] std::optional<data::DataId> cardReadWave(
89 data::BoardEdition edition, data::LanguageId language, int city,
90 int monetarySystem, std::uint8_t cardIndex) noexcept;
91
92 [[nodiscard]] std::optional<TokenReaction> landedOnSquareReaction(
93 const rules::GameState& state,
94 rules::PlayerNumber player,
95 std::uint8_t square,
97 LandingEconomics economics = {},
98 bool justReadCard = false) noexcept;
99}
unsigned state
unsigned index
std::optional< PennybagsReaction > goToJailPennybagsReaction(const rules::GameState &state, rules::PlayerNumber player, bool localHuman) noexcept
std::optional< PennybagsReaction > diceRollPennybagsReaction(std::uint8_t total, bool tokenAnimationsOn) noexcept
std::optional< PennybagsReaction > landedOnSquarePennybagsReaction(const rules::GameState &state, rules::PlayerNumber player, std::uint8_t square, std::uint32_t random100) noexcept
std::optional< PennybagsReaction > boughtPropertyPennybagsReaction(const rules::GameState &state, rules::PlayerNumber player, std::uint8_t property) noexcept
std::optional< data::DataId > cardReadWave(data::BoardEdition edition, std::uint8_t cardIndex) noexcept
std::optional< data::DataId > squareAnnouncementWave(data::BoardEdition edition, data::LanguageId language, int city, std::uint8_t square) noexcept
std::optional< TokenReaction > landedOnSquareReaction(const rules::GameState &state, rules::PlayerNumber player, std::uint8_t square, std::uint32_t random100, LandingEconomics economics, bool justReadCard) noexcept
std::optional< PennybagsReaction > offBoardPennybagsReaction(bool victory, bool localHuman) noexcept
std::optional< TokenReaction > goToJailReaction(const rules::GameState &state, rules::PlayerNumber player, bool localHuman) noexcept
bool propertyFormsMonopoly(const rules::GameState &state, rules::PlayerNumber player, std::uint8_t property, bool assumePropertyOwned) noexcept
std::optional< PennybagsReaction > buyOrAuctionPennybagsReaction(const rules::GameState &state, rules::PlayerNumber player) noexcept
std::optional< TurnStartReactions > nextPlayerReactions(const rules::GameState &state, rules::PlayerNumber player, std::uint32_t random100, std::optional< std::uint32_t > random8) noexcept
std::optional< TokenReaction > boughtPropertyReaction(const rules::GameState &state, rules::PlayerNumber player, std::uint8_t property) noexcept
std::optional< TokenReaction > choseAuctionReaction(const rules::GameState &state, rules::PlayerNumber player) noexcept
std::uint8_t PlayerNumber
Definition RuleTypes.hpp:12
udsound::PennybagsVoice voice
udsound::TokenVoiceClipPolicy policy
udsound::TokenVoiceClipPolicy policy
udsound::TokenVoiceLine line
std::optional< TokenReaction > token