mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-28 08:33:36 +00:00
PlayerBonus system & component made (containing timer)
This commit is contained in:
+12
-3
@@ -4,6 +4,7 @@
|
||||
|
||||
#include <Component/Collision/CollisionComponent.hpp>
|
||||
#include <Component/Controllable/ControllableComponent.hpp>
|
||||
#include <Component/Bonus/PlayerBonusComponent.hpp>
|
||||
#include "Component/Movable/MovableComponent.hpp"
|
||||
#include "Bonus.hpp"
|
||||
#include "Component/BombHolder/BombHolderComponent.hpp"
|
||||
@@ -25,7 +26,9 @@ namespace BBM {
|
||||
return;
|
||||
if (player.hasComponent<BombHolderComponent>()) {
|
||||
auto &bombHolder = player.getComponent<BombHolderComponent>();
|
||||
bombHolder.damage++;
|
||||
auto &playerBonus = player.getComponent<PlayerBonusComponent>();
|
||||
bombHolder.damage = 2;
|
||||
playerBonus.nextDamageBonusRate = playerBonus.damageBonusRate;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +38,10 @@ namespace BBM {
|
||||
return;
|
||||
if (player.hasComponent<BombHolderComponent>()) {
|
||||
auto &bombHolder = player.getComponent<BombHolderComponent>();
|
||||
bombHolder.explosionRadius++;
|
||||
auto &playerBonus = player.getComponent<PlayerBonusComponent>();
|
||||
if (bombHolder.explosionRadius <= 6)
|
||||
bombHolder.explosionRadius++;
|
||||
playerBonus.nextRangeBonusRate = playerBonus.rangeBonusRate;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,8 +52,9 @@ namespace BBM {
|
||||
if (!player.hasComponent<MovableComponent>())
|
||||
return;
|
||||
auto &controllable = player.getComponent<ControllableComponent>();
|
||||
auto &playerBonus = player.getComponent<PlayerBonusComponent>();
|
||||
controllable.speed = 0.35f;
|
||||
controllable.nextSpeedBonusRate = controllable.speedBonusRate;
|
||||
playerBonus.nextSpeedBonusRate = playerBonus.speedBonusRate;
|
||||
}
|
||||
|
||||
void Bonus::IgnoreWallsBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis)
|
||||
@@ -55,7 +62,9 @@ namespace BBM {
|
||||
if (bonus.shouldDelete())
|
||||
return;
|
||||
if (player.hasComponent<BombHolderComponent>()) {
|
||||
auto &playerBonus = player.getComponent<PlayerBonusComponent>();
|
||||
auto &bombHolder = player.getComponent<BombHolderComponent>();
|
||||
playerBonus.nextIgnoreWallsBonusRate = playerBonus.ignoreWallsBonusRate;
|
||||
std::cout << "Explosion is supposed to pass through walls here" << std::endl;
|
||||
//bombHolder.ignoreWalls = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user