X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fflyingsnowball.cpp;h=66a2db504ddf94fbf0601e8ce8088414b51a9e17;hb=c8303cceed3279a3580829a28bbb2d7b8d89843b;hp=4c3acdbe4bee7f031b5b28b1d03d35d243722b0b;hpb=e19e93b038e0feb50d7895371827b24e58de3edd;p=supertux.git diff --git a/src/badguy/flyingsnowball.cpp b/src/badguy/flyingsnowball.cpp index 4c3acdbe4..66a2db504 100644 --- a/src/badguy/flyingsnowball.cpp +++ b/src/badguy/flyingsnowball.cpp @@ -26,7 +26,7 @@ #include "object/sprite_particle.hpp" static const float FLYTIME = 1.0; -static const float FLYSPEED = 100.0; +static const float FLYSPEED = -100.0; namespace { const float PUFF_PROBABILITY = 0.1; /**< chanche of puffs being spawned in the current cycle */ @@ -75,14 +75,12 @@ FlyingSnowBall::collision_squished(Player& player) return true; } -HitResponse -FlyingSnowBall::collision_solid(GameObject& , const CollisionHit& hit) +void +FlyingSnowBall::collision_solid(const CollisionHit& hit) { - if(fabsf(hit.normal.y) > .5) { // hit floor or roof? + if(hit.top || hit.bottom) { physic.set_velocity_y(0); } - - return CONTINUE; } void @@ -121,7 +119,7 @@ FlyingSnowBall::active_update(float elapsed_time) Vector ppos = bbox.get_middle(); Vector pspeed = Vector(systemRandom.randf(-10, 10), 150); Vector paccel = Vector(0,0); - Sector::current()->add_object(new SpriteParticle("images/objects/particles/smoke.sprite", ppos, ANCHOR_MIDDLE, pspeed, paccel, LAYER_OBJECTS-1)); + Sector::current()->add_object(new SpriteParticle("images/objects/particles/smoke.sprite", "default", ppos, ANCHOR_MIDDLE, pspeed, paccel, LAYER_OBJECTS-1)); puff_timer.start(systemRandom.randf(PUFF_INTERVAL_MIN, PUFF_INTERVAL_MAX)); } }