From 60a85c484a525d850e31a1a78d6f2d2fa6e24d77 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Sun, 26 Sep 2021 20:01:53 +0200 Subject: [PATCH] feat: add more towers stats --- src/game/Towers.cpp | 115 ++++++++++++++++++++++---------------------- 1 file changed, 58 insertions(+), 57 deletions(-) diff --git a/src/game/Towers.cpp b/src/game/Towers.cpp index 20095c7..81888fd 100644 --- a/src/game/Towers.cpp +++ b/src/game/Towers.cpp @@ -1,4 +1,5 @@ #include "game/Towers.h" +#include "game/World.h" #include @@ -7,74 +8,75 @@ namespace game { const std::map, 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, 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) { }