#include "random_generator.hpp"
#include "object/sprite_particle.hpp"
-static const float FLYTIME = 1.0;
-static const float FLYSPEED = -100.0;
+static const float FLYTIME = 1.0f;
+static const float FLYSPEED = -100.0f;
namespace {
- const float PUFF_PROBABILITY = 0.1; /**< chanche of puffs being spawned in the current cycle */
- const float PUFF_INTERVAL_MIN = 0.1; /**< spawn new puff of smoke at most that often */
- const float PUFF_INTERVAL_MAX = 1.1; /**< spawn new puff of smoke at least that often */
+ const float PUFF_PROBABILITY = 0.1f; /**< chanche of puffs being spawned in the current cycle */
+ const float PUFF_INTERVAL_MIN = 0.1f; /**< spawn new puff of smoke at most that often */
+ const float PUFF_INTERVAL_MAX = 1.1f; /**< spawn new puff of smoke at least that often */
}
FlyingSnowBall::FlyingSnowBall(const lisp::Lisp& reader)
: BadGuy(reader, "images/creatures/flying_snowball/flying_snowball.sprite")
{
- physic.gravity_enabled = false;
+ physic.enable_gravity(false);
}
FlyingSnowBall::FlyingSnowBall(const Vector& pos)
: BadGuy(pos, "images/creatures/flying_snowball/flying_snowball.sprite")
{
- physic.gravity_enabled = false;
+ physic.enable_gravity(false);
}
void
{
sprite->set_action(dir == LEFT ? "left" : "right");
mode = FLY_UP;
- physic.vy = FLYSPEED;
+ physic.set_velocity_y(FLYSPEED);
timer.start(FLYTIME/2);
puff_timer.start(systemRandom.randf(PUFF_INTERVAL_MIN, PUFF_INTERVAL_MAX));
}
FlyingSnowBall::collision_solid(const CollisionHit& hit)
{
if(hit.top || hit.bottom) {
- physic.vy = 0;
+ physic.set_velocity_y(0);
}
}
if(timer.check()) {
if(mode == FLY_UP) {
mode = FLY_DOWN;
- physic.vy = -FLYSPEED;
+ physic.set_velocity_y(-FLYSPEED);
// stop puffing
puff_timer.stop();
} else if(mode == FLY_DOWN) {
mode = FLY_UP;
- physic.vy = FLYSPEED;
+ physic.set_velocity_y(FLYSPEED);
// roll a dice whether to start puffing
if (systemRandom.randf(0, 1) < PUFF_PROBABILITY) {