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

@@ -14,7 +14,37 @@ namespace CreatureLib::Battling {
: _party(party), _responsibleIndices(responsibleIndices) {}
CreatureParty* GetParty() { return _party; }
std::vector<CreatureIndex>& GetResponsibleIndices() { return _responsibleIndices; }
const std::vector<CreatureIndex>& GetResponsibleIndices() const { return _responsibleIndices; }
bool IsResponsibleForIndex(const CreatureIndex& index) const {
for (const auto& i : _responsibleIndices) {
if (i == index)
return true;
}
return false;
}
bool IsResponsibleForIndex(uint8_t side, uint8_t index) const {
for (const auto& i : _responsibleIndices) {
if (i.GetSideIndex() == side && i.GetCreatureIndex() == index)
return true;
}
return false;
}
bool HasCreaturesNotInField() const {
auto p = _party->GetParty();
for (const auto& creature : p) {
if (creature == nullptr)
continue;
if (creature->IsFainted())
continue;
if (creature->IsOnBattleField())
continue;
return true;
}
return false;
}
};
}