162 lines
5.0 KiB
C++
162 lines
5.0 KiB
C++
#include "game/Towers.h"
|
|
|
|
#include <map>
|
|
|
|
namespace td {
|
|
namespace game {
|
|
|
|
const std::map<std::pair<TowerType, TowerLevel>, TowerStats> TowerConstants = {
|
|
// // rate damage range
|
|
{{TowerType::Archer, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Archer, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Archer, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Archer, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
{{TowerType::Archer, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
|
{{TowerType::Archer, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Ice, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Ice, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Ice, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Ice, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Sorcerer, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Sorcerer, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Sorcerer, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Sorcerer, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
{{TowerType::Sorcerer, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
|
{{TowerType::Sorcerer, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Zeus, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Zeus, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Zeus, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Zeus, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
{{TowerType::Zeus, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
|
{{TowerType::Zeus, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Mage, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Mage, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Mage, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Mage, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Artillery, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Artillery, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Artillery, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Artillery, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
{{TowerType::Artillery, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
|
{{TowerType::Artillery, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Quake, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Quake, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Quake, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Quake, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Poison, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Poison, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Poison, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Poison, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
{{TowerType::Poison, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
|
{{TowerType::Poison, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Leach, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Leach, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Leach, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Turret, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Turret, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Turret, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Turret, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
{{TowerType::Turret, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
|
{{TowerType::Turret, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
|
|
|
//-----------------------------------------------------------------
|
|
|
|
{{TowerType::Necromancer, {1, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Necromancer, {2, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Necromancer, {3, TowerPath::Top}}, {0, 0, 0}},
|
|
{{TowerType::Necromancer, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
|
|
{{TowerType::Necromancer, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
|
{{TowerType::Necromancer, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
|
};
|
|
|
|
const TowerStats* getTowerStats(TowerType type, TowerLevel level) {
|
|
return &TowerConstants.at({ type, level });
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void ArcherTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void IceTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void MageTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void PoisonTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void QuakeTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void ZeusTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void ArtilleryTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void SorcererTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void LeachTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void TurretTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
void NecromancerTower::tick(std::uint64_t delta) {
|
|
|
|
}
|
|
|
|
} // namespace game
|
|
} // namespace td
|