X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fkugelblitz.cpp;h=68fc066d91a8e53bd980f81742ec22d297f57970;hb=a3316d68ca17966517c3f7bb0c0cb2b7e612fd0a;hp=558c5623178a769c531ddeb74f7d106d6a0879d3;hpb=77d6c22146b06e5737b905795c8d7aab3f146527;p=supertux.git diff --git a/src/badguy/kugelblitz.cpp b/src/badguy/kugelblitz.cpp index 558c56231..68fc066d9 100644 --- a/src/badguy/kugelblitz.cpp +++ b/src/badguy/kugelblitz.cpp @@ -34,12 +34,9 @@ static const float X_OFFSCREEN_DISTANCE = 1600; static const float Y_OFFSCREEN_DISTANCE = 1200; Kugelblitz::Kugelblitz(const lisp::Lisp& reader) - : groundhit_pos_set(false) + : BadGuy(Vector(0,0), "images/creatures/kugelblitz/kugelblitz.sprite"), groundhit_pos_set(false) { reader.get("x", start_position.x); - start_position.y = 0; //place above visible area - bbox.set_size(63.8, 63.8); - sprite = sprite_manager->create("images/creatures/kugelblitz/kugelblitz.sprite"); sprite->set_action("falling"); physic.enable_gravity(false); } @@ -57,16 +54,16 @@ Kugelblitz::write(lisp::Writer& writer) void Kugelblitz::activate() { - physic.set_velocity_y(-300); + physic.set_velocity_y(300); physic.set_velocity_x(-20); //fall a little to the left direction = 1; dying = false; } -HitResponse -Kugelblitz::collision_solid(GameObject& , const CollisionHit& chit) +void +Kugelblitz::collision_solid(const CollisionHit& chit) { - return hit(chit); + hit(chit); } HitResponse @@ -100,10 +97,10 @@ Kugelblitz::collision_badguy(BadGuy& other , const CollisionHit& chit) } HitResponse -Kugelblitz::hit(const CollisionHit& chit) +Kugelblitz::hit(const CollisionHit& hit) { // hit floor? - if(chit.normal.y < -.5) { + if(hit.bottom) { if (!groundhit_pos_set) { pos_groundhit = get_pos(); @@ -118,7 +115,7 @@ Kugelblitz::hit(const CollisionHit& chit) movement_timer.start(MOVETIME); lifetime.start(LIFETIME); - } else if(chit.normal.y < .5) { // bumped on roof + } else if(hit.top) { // bumped on roof physic.set_velocity_y(0); }