From b814fa3298890c477fcf338cc85810c571185c61 Mon Sep 17 00:00:00 2001 From: Nimac0 Date: Tue, 30 Jan 2024 15:29:02 +0100 Subject: [PATCH] powerups work + sprites for each powerup added --- assets/characterSelection.png | Bin 0 -> 18659 bytes include/Constants.h | 4 ++-- include/TextureDict.h | 6 +++--- src/KeyboardController.cpp | 3 +-- src/PowerupComponent.cpp | 4 ++-- src/StatEffectsComponent.cpp | 14 +------------- src/TransformComponent.cpp | 2 +- 7 files changed, 10 insertions(+), 23 deletions(-) create mode 100644 assets/characterSelection.png diff --git a/assets/characterSelection.png b/assets/characterSelection.png new file mode 100644 index 0000000000000000000000000000000000000000..68e958a07b15ca51c6cbcb235d7684905d231cbb GIT binary patch literal 18659 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 F6978@D^&mh literal 0 HcmV?d00001 diff --git a/include/Constants.h b/include/Constants.h index e4acb6c..fababc7 100644 --- a/include/Constants.h +++ b/include/Constants.h @@ -8,7 +8,7 @@ using Team = std::size_t; constexpr std::size_t MAX_COMPONENTS = 32; constexpr std::size_t MAX_GROUPS = 32; constexpr std::size_t MAX_STATS = 32; -constexpr std::size_t MAX_TEAMS = 8; // +constexpr std::size_t MAX_TEAMS = 8; constexpr int SCREEN_SIZE_HEIGHT = 640; constexpr int SCREEN_SIZE_WIDTH = 800; @@ -22,7 +22,7 @@ constexpr int MAP_SIZE_Y = 20; constexpr int SPAWN_ATTEMPTS = 30; -constexpr int BUFF_DURATION = 5000; +constexpr int BUFF_DURATION = 6000; constexpr int BUFF_VALUE = 1; diff --git a/include/TextureDict.h b/include/TextureDict.h index e0dabf6..0a4b6ed 100644 --- a/include/TextureDict.h +++ b/include/TextureDict.h @@ -17,8 +17,8 @@ public: std::map powerupDictionary = { - {PowerupType::HEART, "assets/heart.png"}, - {PowerupType::WALKINGSPEED, "assets/heart.png"}, - {PowerupType::SHOOTINGSPEED, "assets/heart.png"} + {PowerupType::HEART, "assets/heart_powerup.png"}, + {PowerupType::WALKINGSPEED, "assets/movement_speed_powerup.png"}, + {PowerupType::SHOOTINGSPEED, "assets/atk_speed_powerup.png"} }; }; diff --git a/src/KeyboardController.cpp b/src/KeyboardController.cpp index 66462c2..f3466a6 100644 --- a/src/KeyboardController.cpp +++ b/src/KeyboardController.cpp @@ -75,6 +75,5 @@ void KeyboardController::update() void KeyboardController::modifyAtkSpeed(int8_t modifier) { - this->fireCooldown -= modifier * 500; - std::cout << "curr fire cooldown: " << this->fireCooldown << std::endl; + this->fireCooldown -= modifier * 400; } \ No newline at end of file diff --git a/src/PowerupComponent.cpp b/src/PowerupComponent.cpp index 6a36051..0479e60 100644 --- a/src/PowerupComponent.cpp +++ b/src/PowerupComponent.cpp @@ -34,7 +34,6 @@ void PowerupComponent::update() {}, true)) != nullptr) { - std::cout << "collided with powerup" << std::endl; (this->*pickupFunc)(player); this->entity->destroy(); } @@ -42,7 +41,8 @@ void PowerupComponent::update() void PowerupComponent::heartEffect(Entity* player) { - player->getComponent().modifyHealth(1); + if(player->getComponent().getHealth() < 5) + player->getComponent().modifyHealth(1); } void PowerupComponent::movementSpeedEffect(Entity* player) diff --git a/src/StatEffectsComponent.cpp b/src/StatEffectsComponent.cpp index b6ba763..3d48989 100644 --- a/src/StatEffectsComponent.cpp +++ b/src/StatEffectsComponent.cpp @@ -10,18 +10,6 @@ void StatEffectsComponent::init() void StatEffectsComponent::update() { - /*int i = 0; - std::transform(this->buffs.begin(), this->buffs.end(), this->buffs.begin(), - [this, &i](uint8_t statDuration) { - i++; - uint8_t newDur = statDuration - 1; - if (statDuration > 0 && newDur == 0) { - if (statDuration > 1) - std::cout << (int) statDuration << (int) newDur << std::endl; - this->modifyStatValue((Stats)i, BUFF_VALUE * -1); - } - return newDur; - });*/ for (int i = 0; i < MAX_STATS; i++) { if (this->buffs.at(i) == 0) continue; @@ -39,7 +27,7 @@ void StatEffectsComponent::modifyStatDur(Stats stat, uint8_t duration) this->buffs.at((uint8_t)stat) += duration; } -void StatEffectsComponent::modifyStatValue(Stats stat, int modifier) +void StatEffectsComponent::modifyStatValue(Stats stat, int modifier) //modifier is basically there so the modifyfuncs in the components know if stats should be increased or decreased { switch (stat) { diff --git a/src/TransformComponent.cpp b/src/TransformComponent.cpp index 6b2dba4..1b388ef 100644 --- a/src/TransformComponent.cpp +++ b/src/TransformComponent.cpp @@ -81,5 +81,5 @@ void TransformComponent::update() void TransformComponent::modifySpeed(int8_t modifier) { - this->speed += modifier * 2; + this->speed += modifier; } \ No newline at end of file