Better handling of filling empty slots.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2019-12-07 12:13:12 +01:00
parent 345af31464
commit 57f16bc420
10 changed files with 80 additions and 31 deletions

View File

@@ -19,7 +19,6 @@ namespace CreatureLib::Battling {
Core::Random _random;
ChoiceQueue* _currentTurnQueue = nullptr;
uint8_t _numberOfRecalledSlots = 0;
ScriptSet _volatile;
public:
@@ -28,7 +27,7 @@ namespace CreatureLib::Battling {
: _library(library), _parties(parties), _numberOfSides(numberOfSides), _creaturesPerSide(creaturesPerSide) {
_sides = std::vector<BattleSide*>(numberOfSides);
for (size_t i = 0; i < numberOfSides; i++) {
_sides[i] = new BattleSide(this, creaturesPerSide);
_sides[i] = new BattleSide(i, this, creaturesPerSide);
}
}
@@ -54,11 +53,10 @@ namespace CreatureLib::Battling {
return _sides[target.GetSideIndex()]->GetCreature(target.GetCreatureIndex());
}
[[nodiscard]] bool HasRecalledSlots() const;
void ForceRecall(uint8_t side, uint8_t index);
void FillRecall(uint8_t side, uint8_t, Creature* c);
void FillEmptySlot(uint8_t side, uint8_t index, Creature* c);
void SwitchCreature(uint8_t side, uint8_t index, Creature* c);
bool CanSlotBeFilled(uint8_t side, uint8_t index) const;
void GetActiveScripts(std::vector<ScriptWrapper>& scripts) override;
};