1 #ifndef CORE_BATTLES_BATTLERSUBSTATE_HPP
2 #define CORE_BATTLES_BATTLERSUBSTATE_HPP
PassiveAilment
Represents a passive ailment a Peoplemon can have.
Core classes and functionality for both the editor and game.
TurnAction
Represents an action that a battler may take on their turn.
Struct containing state specific to each battler. These states facilitate logic that takes place over...
std::int8_t turnsConfused
std::int16_t substituteHp
bool hasAilment(pplmn::PassiveAilment ail) const
Returns true if the peoplemon has the specific ailment.
void notifyTurnBegin()
Resets and updates part of the state that depend on turns elapsing.
void notifyTurnEnd(TurnAction action, pplmn::BattlePeoplemon &outNow)
Resets and updates part of the state that depend on turns elapsing.
std::int8_t copyStatsFrom
void notifySwitch()
Updates state that is unique to the currently out Peoplemon.
std::uint8_t turnsGuarded
std::uint16_t lastDamageTaken
std::int8_t lastMoveIndex
pplmn::MoveId lastMoveUsed
void giveAilment(pplmn::PassiveAilment ail)
Gives the peoplemon a passive ailment.
std::int8_t totalMomIndex
component::Trainer * trainer
std::uint8_t encoreTurnsLeft
pplmn::PassiveAilment ailments
pplmn::MoveId lastMoveHitWith
pplmn::MoveId lastMoveSuperEffective
BattlerSubstate()
Construct a new Battler State object with proper defaults.
void clearAilment(pplmn::PassiveAilment ail)
Clear the given passive ailment.
Adding this to an entity will make it a trainer that can battle.
Represents a Peoplemon in battle. Stores some extra state that only exists in battle....