mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-29 17:02:11 +00:00
add noClip to bonus.hpp
This commit is contained in:
@@ -24,6 +24,8 @@ namespace BBM
|
||||
std::chrono::nanoseconds rangeBonusRate = 10s;
|
||||
//! @brief The number of nanosecond before the expiration of a range bonus.
|
||||
std::chrono::nanoseconds nextRangeBonusRate = rangeBonusRate;
|
||||
//! @brief Tell if the bonus no clip is on
|
||||
bool isNoClipOn = false;
|
||||
|
||||
//! @inherit
|
||||
WAL::Component *clone(WAL::Entity &entity) const override;
|
||||
|
||||
@@ -45,6 +45,18 @@ namespace BBM {
|
||||
playerBonus->nextSpeedBonusRate = playerBonus->speedBonusRate;
|
||||
}
|
||||
|
||||
void Bonus::NoClipBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis)
|
||||
{
|
||||
if (bonus.shouldDelete() || axis != 7)
|
||||
return;
|
||||
auto *playerBonus = player.tryGetComponent<PlayerBonusComponent>();
|
||||
if (!playerBonus)
|
||||
return;
|
||||
static void SpeedUSpeedUpBonuspBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis);
|
||||
static void SpeedUpBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis);
|
||||
playerBonus->isNoClipOn = true
|
||||
}
|
||||
|
||||
Bonus::BonusType Bonus::getRandomBonusType()
|
||||
{
|
||||
double rnd = static_cast<double>(std::rand()) / RAND_MAX;
|
||||
|
||||
@@ -30,11 +30,17 @@ namespace BBM {
|
||||
//! @brief Apply bonus effect that allows to run faster
|
||||
static void SpeedUpBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis);
|
||||
|
||||
//! @param bonus bonus
|
||||
//! @param player the entity on which the effect will be applied
|
||||
//! @brief Apply bonus effect that allows to pass trough breakbable walls
|
||||
static void NoClipBonus(WAL::Entity &player, const WAL::Entity &bonus, CollisionComponent::CollidedAxis axis);
|
||||
|
||||
enum BonusType {
|
||||
NOTHING,
|
||||
BOMBSTOCK,
|
||||
SPEEDUP,
|
||||
EXPLOSIONINC
|
||||
EXPLOSIONINC,
|
||||
NOCLIP
|
||||
};
|
||||
|
||||
static BonusType getRandomBonusType();
|
||||
|
||||
Reference in New Issue
Block a user