feat: add more towers stats
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
#include "game/Towers.h"
|
#include "game/Towers.h"
|
||||||
|
#include "game/World.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
@@ -7,74 +8,75 @@ namespace game {
|
|||||||
|
|
||||||
const std::map<std::pair<TowerType, TowerLevel>, TowerStats> TowerConstants = {
|
const std::map<std::pair<TowerType, TowerLevel>, TowerStats> TowerConstants = {
|
||||||
// // rate damage range
|
// // rate damage range
|
||||||
{{TowerType::Archer, {1, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Archer, {1, TowerPath::Top}}, {2, 5, 10}},
|
||||||
{{TowerType::Archer, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Archer, {2, TowerPath::Top}}, {1, 0, 12}},
|
||||||
{{TowerType::Archer, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Archer, {3, TowerPath::Top}}, {1, 0, 13}},
|
||||||
{{TowerType::Archer, {4, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Archer, {4, TowerPath::Top}}, {0.8, 0, 15}},
|
||||||
|
|
||||||
{{TowerType::Archer, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Archer, {2, TowerPath::Bottom}}, {2, 0, 12}},
|
||||||
{{TowerType::Archer, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
{{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, {1, TowerPath::Top}}, {1, 0, 10}},
|
||||||
{{TowerType::Ice, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Ice, {2, TowerPath::Top}}, {1, 0, 12}},
|
||||||
{{TowerType::Ice, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Ice, {3, TowerPath::Top}}, {1, 0, 13}},
|
||||||
{{TowerType::Ice, {4, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Ice, {4, TowerPath::Top}}, {1, 0, 15}},
|
||||||
|
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
|
||||||
{{TowerType::Sorcerer, {1, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Sorcerer, {1, TowerPath::Top}}, {5, 0, 10}},
|
||||||
{{TowerType::Sorcerer, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Sorcerer, {2, TowerPath::Top}}, {4, 0, 12}},
|
||||||
{{TowerType::Sorcerer, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Sorcerer, {3, TowerPath::Top}}, {4, 0, 14}},
|
||||||
{{TowerType::Sorcerer, {4, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Sorcerer, {4, TowerPath::Top}}, {4, 0, 15}},
|
||||||
|
|
||||||
{{TowerType::Sorcerer, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Sorcerer, {3, TowerPath::Bottom}}, {4, 0, 14}},
|
||||||
{{TowerType::Sorcerer, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Sorcerer, {4, TowerPath::Bottom}}, {4, 0, 15}},
|
||||||
|
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
|
||||||
{{TowerType::Zeus, {1, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Zeus, {1, TowerPath::Top}}, {5, 0, 10}},
|
||||||
{{TowerType::Zeus, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Zeus, {2, TowerPath::Top}}, {4, 0, 12}},
|
||||||
{{TowerType::Zeus, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Zeus, {3, TowerPath::Top}}, {0, 0, 0}},
|
||||||
{{TowerType::Zeus, {4, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Zeus, {4, TowerPath::Top}}, {0, 0, 0}},
|
||||||
|
|
||||||
{{TowerType::Zeus, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Zeus, {3, TowerPath::Bottom}}, {1.2, 0, 14}},
|
||||||
{{TowerType::Zeus, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Zeus, {4, TowerPath::Bottom}}, {0.8, 0, 15}},
|
||||||
|
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
|
||||||
{{TowerType::Mage, {1, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Mage, {1, TowerPath::Top}}, {5, 0, 10}},
|
||||||
{{TowerType::Mage, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Mage, {2, TowerPath::Top}}, {4, 0, 12}},
|
||||||
{{TowerType::Mage, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Mage, {3, TowerPath::Top}}, {3, 0, 13}},
|
||||||
{{TowerType::Mage, {4, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Mage, {4, TowerPath::Top}}, {1, 0, 15}},
|
||||||
|
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
|
||||||
{{TowerType::Artillery, {1, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Artillery, {1, TowerPath::Top}}, {7, 0, 10}},
|
||||||
{{TowerType::Artillery, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Artillery, {2, TowerPath::Top}}, {7, 0, 12}},
|
||||||
{{TowerType::Artillery, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Artillery, {3, TowerPath::Top}}, {7, 0, 13}},
|
||||||
{{TowerType::Artillery, {4, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Artillery, {4, TowerPath::Top}}, {7, 0, 15}},
|
||||||
|
|
||||||
{{TowerType::Artillery, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Artillery, {3, TowerPath::Bottom}}, {5, 0, 13}},
|
||||||
{{TowerType::Artillery, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Artillery, {4, TowerPath::Bottom}}, {4, 0, 15}},
|
||||||
|
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
|
||||||
{{TowerType::Quake, {1, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Quake, {1, TowerPath::Top}}, {5, 5, 10}},
|
||||||
{{TowerType::Quake, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Quake, {2, TowerPath::Top}}, {4, 7, 12}},
|
||||||
{{TowerType::Quake, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Quake, {3, TowerPath::Top}}, {3, 9, 13}},
|
||||||
{{TowerType::Quake, {4, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Quake, {4, TowerPath::Top}}, {2, 11, 15}},
|
||||||
|
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
|
||||||
{{TowerType::Poison, {1, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Poison, {1, TowerPath::Top}}, {5, 0, 10}},
|
||||||
{{TowerType::Poison, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Poison, {2, TowerPath::Top}}, {5, 0, 12}},
|
||||||
{{TowerType::Poison, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Poison, {3, TowerPath::Top}}, {6, 0, 13}},
|
||||||
{{TowerType::Poison, {4, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Poison, {4, TowerPath::Top}}, {5, 0, 15}},
|
||||||
|
|
||||||
{{TowerType::Poison, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Poison, {3, TowerPath::Bottom}}, {5, 0, 13}},
|
||||||
{{TowerType::Poison, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
{{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, {2, TowerPath::Top}}, {0, 0, 0}},
|
||||||
{{TowerType::Turret, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Turret, {3, TowerPath::Top}}, {0, 0, 0}},
|
||||||
{{TowerType::Turret, {4, 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, {3, TowerPath::Bottom}}, {0, 0, 0}},
|
||||||
{{TowerType::Turret, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
{{TowerType::Turret, {4, TowerPath::Bottom}}, {0, 0, 0}},
|
||||||
|
|
||||||
//-----------------------------------------------------------------
|
//-----------------------------------------------------------------
|
||||||
|
|
||||||
{{TowerType::Necromancer, {1, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Necromancer, {1, TowerPath::Top}}, {2, 0, 11}},
|
||||||
{{TowerType::Necromancer, {2, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Necromancer, {2, TowerPath::Top}}, {1, 0, 14}},
|
||||||
{{TowerType::Necromancer, {3, TowerPath::Top}}, {0, 0, 0}},
|
{{TowerType::Necromancer, {3, TowerPath::Top}}, {1, 0, 15}},
|
||||||
{{TowerType::Necromancer, {4, TowerPath::Top}}, {0, 0, 0}},
|
|
||||||
|
|
||||||
{{TowerType::Necromancer, {3, TowerPath::Bottom}}, {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) {
|
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) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user