feat: add more towers stats

This commit is contained in:
2021-09-26 20:01:53 +02:00
parent 6cbd967ea3
commit 60a85c484a

View File

@@ -1,4 +1,5 @@
#include "game/Towers.h"
#include "game/World.h"
#include <map>
@@ -7,74 +8,75 @@ 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, {1, TowerPath::Top}}, {2, 5, 10}},
{{TowerType::Archer, {2, TowerPath::Top}}, {1, 0, 12}},
{{TowerType::Archer, {3, TowerPath::Top}}, {1, 0, 13}},
{{TowerType::Archer, {4, TowerPath::Top}}, {0.8, 0, 15}},
{{TowerType::Archer, {3, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Archer, {4, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Archer, {2, TowerPath::Bottom}}, {2, 0, 12}},
{{TowerType::Archer, {3, TowerPath::Bottom}}, {2, 0, 13}},
{{TowerType::Archer, {4, TowerPath::Bottom}}, {2, 0, 15}},
//-----------------------------------------------------------------
{{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::Ice, {1, TowerPath::Top}}, {1, 0, 10}},
{{TowerType::Ice, {2, TowerPath::Top}}, {1, 0, 12}},
{{TowerType::Ice, {3, TowerPath::Top}}, {1, 0, 13}},
{{TowerType::Ice, {4, TowerPath::Top}}, {1, 0, 15}},
//-----------------------------------------------------------------
{{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, {1, TowerPath::Top}}, {5, 0, 10}},
{{TowerType::Sorcerer, {2, TowerPath::Top}}, {4, 0, 12}},
{{TowerType::Sorcerer, {3, TowerPath::Top}}, {4, 0, 14}},
{{TowerType::Sorcerer, {4, TowerPath::Top}}, {4, 0, 15}},
{{TowerType::Sorcerer, {3, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Sorcerer, {4, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Sorcerer, {3, TowerPath::Bottom}}, {4, 0, 14}},
{{TowerType::Sorcerer, {4, TowerPath::Bottom}}, {4, 0, 15}},
//-----------------------------------------------------------------
{{TowerType::Zeus, {1, TowerPath::Top}}, {0, 0, 0}},
{{TowerType::Zeus, {2, TowerPath::Top}}, {0, 0, 0}},
{{TowerType::Zeus, {1, TowerPath::Top}}, {5, 0, 10}},
{{TowerType::Zeus, {2, TowerPath::Top}}, {4, 0, 12}},
{{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::Zeus, {3, TowerPath::Bottom}}, {1.2, 0, 14}},
{{TowerType::Zeus, {4, TowerPath::Bottom}}, {0.8, 0, 15}},
//-----------------------------------------------------------------
{{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::Mage, {1, TowerPath::Top}}, {5, 0, 10}},
{{TowerType::Mage, {2, TowerPath::Top}}, {4, 0, 12}},
{{TowerType::Mage, {3, TowerPath::Top}}, {3, 0, 13}},
{{TowerType::Mage, {4, TowerPath::Top}}, {1, 0, 15}},
//-----------------------------------------------------------------
{{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, {1, TowerPath::Top}}, {7, 0, 10}},
{{TowerType::Artillery, {2, TowerPath::Top}}, {7, 0, 12}},
{{TowerType::Artillery, {3, TowerPath::Top}}, {7, 0, 13}},
{{TowerType::Artillery, {4, TowerPath::Top}}, {7, 0, 15}},
{{TowerType::Artillery, {3, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Artillery, {4, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Artillery, {3, TowerPath::Bottom}}, {5, 0, 13}},
{{TowerType::Artillery, {4, TowerPath::Bottom}}, {4, 0, 15}},
//-----------------------------------------------------------------
{{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::Quake, {1, TowerPath::Top}}, {5, 5, 10}},
{{TowerType::Quake, {2, TowerPath::Top}}, {4, 7, 12}},
{{TowerType::Quake, {3, TowerPath::Top}}, {3, 9, 13}},
{{TowerType::Quake, {4, TowerPath::Top}}, {2, 11, 15}},
//-----------------------------------------------------------------
{{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, {1, TowerPath::Top}}, {5, 0, 10}},
{{TowerType::Poison, {2, TowerPath::Top}}, {5, 0, 12}},
{{TowerType::Poison, {3, TowerPath::Top}}, {6, 0, 13}},
{{TowerType::Poison, {4, TowerPath::Top}}, {5, 0, 15}},
{{TowerType::Poison, {3, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Poison, {4, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Poison, {3, TowerPath::Bottom}}, {5, 0, 13}},
{{TowerType::Poison, {4, TowerPath::Bottom}}, {6, 0, 15}},
//-----------------------------------------------------------------
@@ -84,23 +86,22 @@ const std::map<std::pair<TowerType, TowerLevel>, TowerStats> TowerConstants = {
//-----------------------------------------------------------------
{{TowerType::Turret, {1, TowerPath::Top}}, {0, 0, 0}},
{{TowerType::Turret, {1, TowerPath::Top}}, {0.5, 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, {2, TowerPath::Bottom}}, {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, {1, TowerPath::Top}}, {2, 0, 11}},
{{TowerType::Necromancer, {2, TowerPath::Top}}, {1, 0, 14}},
{{TowerType::Necromancer, {3, TowerPath::Top}}, {1, 0, 15}},
{{TowerType::Necromancer, {3, TowerPath::Bottom}}, {0, 0, 0}},
{{TowerType::Necromancer, {4, TowerPath::Bottom}}, {0, 0, 0}},
};
const TowerStats* getTowerStats(TowerType type, TowerLevel level) {
@@ -161,49 +162,49 @@ TowerPtr createTower(TowerType type, TowerID id, std::int32_t x, std::int32_t y,
void ArcherTower::tick(std::uint64_t delta) {
void ArcherTower::tick(std::uint64_t delta, World* world) {
}
void IceTower::tick(std::uint64_t delta) {
void IceTower::tick(std::uint64_t delta, World* world) {
}
void MageTower::tick(std::uint64_t delta) {
void MageTower::tick(std::uint64_t delta, World* world) {
}
void PoisonTower::tick(std::uint64_t delta) {
void PoisonTower::tick(std::uint64_t delta, World* world) {
}
void QuakeTower::tick(std::uint64_t delta) {
void QuakeTower::tick(std::uint64_t delta, World* world) {
}
void ZeusTower::tick(std::uint64_t delta) {
void ZeusTower::tick(std::uint64_t delta, World* world) {
}
void ArtilleryTower::tick(std::uint64_t delta) {
void ArtilleryTower::tick(std::uint64_t delta, World* world) {
}
void SorcererTower::tick(std::uint64_t delta) {
void SorcererTower::tick(std::uint64_t delta, World* world) {
}
void LeachTower::tick(std::uint64_t delta) {
void LeachTower::tick(std::uint64_t delta, World* world) {
}
void TurretTower::tick(std::uint64_t delta) {
void TurretTower::tick(std::uint64_t delta, World* world) {
}
void NecromancerTower::tick(std::uint64_t delta) {
void NecromancerTower::tick(std::uint64_t delta, World* world) {
}