#include "ExperienceLibrary.hpp" #include "../Models/Creature.hpp" void CreatureLib::Battling::ExperienceLibrary::HandleExperienceGain( CreatureLib::Battling::Creature* faintedMon, const std::unordered_set>& opponents) const { for (auto opponent : opponents) { if (opponent->IsFainted()) continue; if (!opponent->AllowedExperienceGain()) continue; auto levelDiff = faintedMon->GetLevel() - opponent->GetLevel() + 10; if (levelDiff <= 0) continue; auto experienceGain = levelDiff * 10; opponent->AddExperience(static_cast(experienceGain)); } }