|
| enum class | CounterTradeRunStatus : std::uint8_t {
InvalidInput = 0
, PreflightStopped
, ReturnedNotInvolved
, BalanceStopped
,
SendStarted
, SendFailed
} |
| |
| enum class | TradeAcceptanceStatus : std::uint8_t {
InvalidInput = 0
, Suppressed
, Busy
, Accept
,
AcceptUninvolved
, RejectFutureOrImmunity
, RejectFedUp
, CounterOrReject
} |
| |
| enum class | SendingTradeState : std::uint8_t {
Nothing = 0
, AskingTradeEdit
, ClearingTrade
, TradeItems
,
TradeSent
} |
| |
| enum class | MonopolyTradeDecision : std::uint8_t { Avoid = 0
, Required = 1
, Maybe = 2
} |
| |
| enum class | MonopolySortOrder : std::uint8_t { Ascending = 0
, Descending
, Random
} |
| |
| enum class | StrategicPropertyImportance : std::uint8_t { NotImportant = 0
, GivesDirectMonopoly = 1
, AllowsTrade = 2
, CashCow = 3
} |
| |
| enum class | PropertyClassification : std::uint8_t {
None = 0
, One = 1
, Two
, Three
,
Four
, Five
, Six
, Worst = 10
,
Best = 11
} |
| |
| enum class | TradeImportanceItem : std::uint8_t {
Monopoly = 0
, Trade
, OneUnowned
, TwoUnowned
,
Railroad
, Utility
, Count
, Junk
} |
| |
| enum class | ProposedTradeSendStatus : std::uint8_t {
InvalidInput = 0
, Busy
, NotTwoPlayers
, RequestEditing
,
Ready
, CapacityExceeded
} |
| |
|
| CounterTradeRunResult | counterProposeTrade (const rules::GameState &state, rules::PlayerNumber player, const TradeProposalList ¤tTrade, const decision::CounterProposalPreflightInputs &inputs, const decision::CounterProposalPreflightConfig &preflightConfig, const decision::CounterProposalBalanceConfig &balanceConfig, decision::CounterProposalSession &session, CounterTradeRuntimeState &runtime, std::span< const FutureImmunityRecord > immunities) noexcept |
| |
| bool | continueCounterProposalTradeSend (const rules::GameState &state, CounterTradeRuntimeState &runtime) noexcept |
| |
| void | processCounterProposalActionCompleted (CounterTradeRuntimeState &runtime, actions::Type action, bool success) noexcept |
| |
| void | resetTradeIngress (TradeIngressState &state) noexcept |
| |
| bool | processTradeRuleMessage (const rules::GameState &gameState, const actions::Message &message, TradeIngressState &state) noexcept |
| |
| bool | sendProactiveTrade (const rules::GameState &gameState, rules::PlayerNumber player, const TradeProposalList &proposal, const profile::Profile &strategy, TradeIngressState &state) noexcept |
| |
| void | advanceTradeTurn (std::uint8_t numberOfPlayers, profile::ProfileSet &profiles, const std::array< bool, rules::MaxPlayers > &localAIPlayers, TradeIngressState &state) noexcept |
| |
| std::array< double, rules::MaxPlayers > | tradeResponseAttitudeChanges (const rules::GameState &gameState, rules::PlayerNumber proposer, rules::PlayerNumber respondingPlayer, bool accepted, const TradeIngressState &state, const profile::ProfileSet &profiles, const profile::ConfigContext &context) noexcept |
| |
| TradeAcceptanceResult | evaluateCurrentTradeAcceptance (const rules::GameState &gameState, rules::PlayerNumber player, const TradeAcceptanceConfig &config, const TradeIngressState &state) noexcept |
| |
| CounterTradeRunResult | counterProposeCurrentTrade (const rules::GameState &gameState, rules::PlayerNumber player, bool tradeAccept, double counterRoll, int pendingActions, bool auctionOn, const decision::CounterProposalPreflightConfig &preflightConfig, const decision::CounterProposalBalanceConfig &balanceConfig, TradeIngressState &state) noexcept |
| |
| bool | sendProposedTrade (const rules::GameState &state, rules::PlayerNumber player, const TradeProposalList &proposals, bool tradeAccept, rules::PlayerNumber proposedPlayer, TradeSendRuntimeState &runtime) noexcept |
| |
| void | processTradeSendActionCompleted (TradeSendRuntimeState &runtime, actions::Type action, bool success) noexcept |
| |
| std::array< rules::board::SquareGroup, 8 > | orderMonopolyImportance (std::int64_t liquidAssets, MonopolySortOrder order, std::span< const std::uint32_t > randomKeys) noexcept |
| |
| MonopolyTradeGroup | findSmallestMonopolyTrade (rules::PlayerNumber player, rules::board::PropertySet monopoly, std::span< const rules::PlayerNumber > candidates, const PropertySets &properties) noexcept |
| |
| std::int64_t | transferTax (const rules::GameState &state, rules::board::PropertySet properties) noexcept |
| |
| int | vetoMonopolies (rules::board::PropertySet properties) noexcept |
| |
| int | possibleMonopoly (const rules::GameState &state, rules::PlayerNumber owner, rules::board::SquareType square) noexcept |
| |
| PropertyImportanceResult | findPlayerPropertyImportance (const rules::GameState &state, rules::PlayerNumber player, rules::PlayerNumber strategyPlayer, const PropertyImportanceConfig &config, std::int64_t moneyOwed) noexcept |
| |
| double | calculateTradePropertyImportance (const rules::GameState &before, const rules::GameState &after, rules::PlayerNumber player, rules::PlayerNumber strategyPlayer, const TradeProposalList &proposals, bool givingMonopolyAway, const PropertyImportanceConfig &config, std::span< const std::int64_t > moneyOwed) noexcept |
| |
| MonopolyTradeDecision | shouldTradeForMonopoly (const rules::GameState &state, rules::PlayerNumber player) noexcept |
| |
| rules::PlayerNumber | findNonmonopolyPlayer (const rules::GameState &state, rules::PlayerNumber player, std::span< const std::int64_t > moneyOwed) noexcept |
| |
| bool | onlyPlayerHasMonopoly (const rules::GameState &state, rules::PlayerNumber player) noexcept |
| |
| bool | hasMonopolyTrade (const rules::GameState &state, rules::PlayerNumber player, rules::PlayerNumber excludedPlayer) noexcept |
| |
| StrategicPropertyImportance | strategicPropertyImportance (const rules::GameState &state, rules::board::SquareType property, rules::PlayerNumber excludedPlayer, rules::PlayerNumber includedPlayer, rules::PlayerNumber purchasingPlayer, rules::board::SquareType purchasingProperty) noexcept |
| |
| int | findFreeTradeSpot (std::span< const std::int64_t > timeLastTrade, std::size_t maxTrades) noexcept |
| |
| bool | shouldTrade (const rules::GameState &state, rules::PlayerNumber player, std::uint8_t importance, std::span< const std::int64_t > timeLastTrade, std::size_t maxTrades, const TradeCadenceInputs &inputs) noexcept |
| |
| bool | addTradeMonopoly (const rules::GameState &state, rules::PlayerNumber toPlayer, rules::board::PropertySet &properties, PropertyClassification type, TradeProposalList &proposals, std::int64_t moneyOwed) noexcept |
| |
| PlayerPropertyAttitudeList | createPlayerPropertyAttitudeList (const rules::GameState &state, rules::PlayerNumber player, const TradeProposalList &proposals, std::span< const double > playerAttitudes) noexcept |
| |
| TradeImportanceList | createItemImportanceList (const rules::GameState &state, rules::PlayerNumber player, rules::PlayerNumber strategyPlayer, const PropertyImportanceConfig &config, double strategyAttitudeTowardPlayer, const CashMultiplierTable &multipliers) noexcept |
| |
| bool | addTypeProperty (const rules::GameState &before, const rules::GameState &after, rules::PlayerNumber player, rules::PlayerNumber strategyPlayer, rules::board::PropertySet &combinedProperties, TradeImportanceItem item, TradeProposalList &proposals, const PropertySets &properties, bool giveDescending, const WhatToTradeTable &whatToTrade, double strategyAttitudeTowardPlayer, std::int64_t playerMoneyOwed) noexcept |
| |
| void | rememberTradedProperties (PropertyTradeMemory &memory, rules::PlayerNumber proposedPlayer, const TradeProposalRecord &proposal) noexcept |
| |
| rules::board::PropertySet | propertiesAlreadyTraded (const PropertyTradeMemory &memory, rules::PlayerNumber proposedPlayer, const TradeProposalRecord &proposal, int dangerLevel) noexcept |
| |
| void | forgetTradedProperties (PropertyTradeMemory &memory) noexcept |
| |
| double | cashMultiplier (double attitude, const CashMultiplierTable &multipliers) noexcept |
| |
| bool | playerInvolvedInTrade (const TradeProposalRecord &proposal) noexcept |
| |
| rules::PlayerNumber | nextPlayerWantingCash (const TradeProposalList &proposals) noexcept |
| |
| bool | tradeIsProper (const rules::GameState &state, const TradeProposalList &proposals, std::span< const FutureImmunityRecord > immunities) noexcept |
| |
| void | makeTradeProper (const rules::GameState &state, TradeProposalList &proposals, std::span< const FutureImmunityRecord > immunities) noexcept |
| |
| void | applyTradeToState (rules::GameState &state, const TradeProposalList &proposals) noexcept |
| |
| bool | isMonopolyTrade (const rules::GameState &state, const TradeProposalList &proposals) noexcept |
| |
| bool | playerHasFutureOrImmunity (rules::PlayerNumber player, std::span< const FutureImmunityRecord > immunities) noexcept |
| |
| ProposedTradeSendPlan | buildProposedTradeSendPlan (const rules::GameState &state, rules::PlayerNumber player, const TradeProposalList &proposals, const ProposedTradeSendInputs &inputs) noexcept |
| |
| bool | addTradeItem (TradeProposalList &proposals, FutureImmunityList &immunities, rules::TradeItemKind kind, std::int64_t amount, rules::PlayerNumber fromPlayer, rules::PlayerNumber toPlayer, rules::board::PropertySet propertySet) noexcept |
| |