feat: improved tower place + tower upgrade

This commit is contained in:
2021-11-05 17:35:39 +01:00
parent 524af9ad5f
commit f863fb4942
6 changed files with 87 additions and 32 deletions

View File

@@ -160,6 +160,35 @@ TowerPtr createTower(TowerType type, TowerID id, std::int32_t x, std::int32_t y,
return towerFactory.at(type)(id, x, y, builder);
}
std::string getTowerName(TowerType type) {
switch (type) {
case TowerType::Archer:
return "Archer";
case TowerType::Artillery:
return "Artillery";
case TowerType::Ice:
return "Ice";
case TowerType::Mage:
return "Mage";
case TowerType::Poison:
return "Poison";
case TowerType::Quake:
return "Quake";
case TowerType::Sorcerer:
return "Sorcerer";
case TowerType::Zeus:
return "Zeus";
case TowerType::Leach:
return "Leach";
case TowerType::Necromancer:
return "Necromancer";
case TowerType::Turret:
return "Turret";
}
}
} // namespace TowerFactory
@@ -207,7 +236,7 @@ void MageTower::tick(std::uint64_t delta, World* world) {
bool wasTowerActive = false;
for (MobPtr mob : world->getMobList()) {
if (isMobInRange(mob)) {
mob->addEffect(EffectType::Fire, getLevel().getLevel() * 5, this);
mob->addEffect(EffectType::Fire, getLevel().getLevel() * 5, this);
wasTowerActive = true;
}
}