Bomberman Multiplayer
Authoritative multiplayer networking layer for Bomberman.
Loading...
Searching...
No Matches
ServerPowerups.cpp File Reference

Authoritative round powerup placement and reveal logic. More...

#include "ServerPowerups.h"
#include <algorithm>
#include <optional>
#include <random>
#include <vector>
#include "Util/Log.h"

Namespaces

namespace  bomberman::server
 Authoritative dedicated-server state, match flow, and fixed-tick simulation support.
 

Functions

bool bomberman::server::hasInvincibility (const MatchPlayerState &matchPlayer, uint32_t serverTick)
 Returns true if invincibility is active.
 
bool bomberman::server::hasSpeedBoost (const MatchPlayerState &matchPlayer, uint32_t serverTick)
 Returns true if speed boost is active.
 
bool bomberman::server::hasBombRangeBoost (const MatchPlayerState &matchPlayer, uint32_t serverTick)
 Returns true if bomb-range boost is active.
 
bool bomberman::server::hasMaxBombsBoost (const MatchPlayerState &matchPlayer, uint32_t serverTick)
 Returns true if max-bombs boost is active.
 
void bomberman::server::refreshMatchPlayerPowerupLoadout (const ServerState &state, MatchPlayerState &matchPlayer)
 Refreshes one match player's derived bomb loadout.
 
uint8_t bomberman::server::buildReplicatedPlayerFlags (const MatchPlayerState &matchPlayer, uint32_t serverTick)
 Builds the replicated player-flag bitmask.
 
void bomberman::server::clearRoundPowerups (ServerState &state)
 Clears all hidden and revealed round powerup state.
 
void bomberman::server::placeRoundPowerups (ServerState &state)
 Deterministically seeds the current round's hidden powerups under random bricks.
 
void bomberman::server::revealPowerupsUnderDestroyedBricks (ServerState &state, std::span< const BombCell > destroyedBricks)
 Reveals any hidden powerups whose brick cells were just destroyed.
 
void bomberman::server::collectRevealedPowerups (ServerState &state)
 Removes any revealed powerups collected by active match players on the current tick.
 

Detailed Description

Authoritative round powerup placement and reveal logic.