Implements experience gain on opponent faint.
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
13
src/Battling/Library/ExperienceLibrary.cpp
Normal file
13
src/Battling/Library/ExperienceLibrary.cpp
Normal file
@@ -0,0 +1,13 @@
|
||||
#include "ExperienceLibrary.hpp"
|
||||
#include "../Models/Creature.hpp"
|
||||
|
||||
void CreatureLib::Battling::ExperienceLibrary::HandleExperienceGain(
|
||||
CreatureLib::Battling::Creature* faintedMon, const std::unordered_set<Creature*>& opponents) const {
|
||||
for (auto opponent : opponents) {
|
||||
auto levelDiff = faintedMon->GetLevel() - opponent->GetLevel() + 10;
|
||||
if (levelDiff <= 0)
|
||||
continue;
|
||||
auto experienceGain = levelDiff * 10;
|
||||
opponent->AddExperience(static_cast<uint32_t>(experienceGain));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user