feat: add kill reward + effect damages
This commit is contained in:
@@ -243,6 +243,15 @@ void World::cleanDeadMobs() {
|
||||
for (std::size_t i = 0; i < m_Mobs.size(); i++) {
|
||||
MobPtr mob = m_Mobs[i];
|
||||
if (!mob->isAlive()) {
|
||||
mob->OnDeath(this);
|
||||
|
||||
//reward players
|
||||
Player& sender = m_Game->getPlayerById(mob->getSender());
|
||||
sender.addEXP(mob->getStats()->getExpReward());
|
||||
|
||||
Player& killer = m_Game->getPlayerById(mob->getKillTower()->getBuilder());
|
||||
killer.addGold(mob->getStats()->getMoneyCost());
|
||||
|
||||
m_Mobs.erase(m_Mobs.begin() + i);
|
||||
}
|
||||
}
|
||||
@@ -271,6 +280,8 @@ void World::OnArrowShot(MobPtr target, Tower* shooter) {
|
||||
// aoe damage
|
||||
} else {
|
||||
target->damage(shooter->getStats()->getDamage());
|
||||
if(target->isDead())
|
||||
target->setKillTower(shooter);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user