From 5f42927f2739ad4dcf2a4a2fb32c6d4e0127ef11 Mon Sep 17 00:00:00 2001 From: Marek Moeckel Date: Mon, 18 Jul 2005 22:42:51 +0000 Subject: [PATCH] kugelblitz update - the behaviour intended for the most basic version is almost done, only the explosion is missing and a few bugs are still there. Try the test level, but be careful - these guys are dangerous :) SVN-Revision: 2733 --- data/images/creatures/kugelblitz/pop-0.png | Bin 0 -> 5188 bytes data/images/creatures/kugelblitz/pop-1.png | Bin 0 -> 6359 bytes data/images/creatures/kugelblitz/pop-2.png | Bin 0 -> 5472 bytes data/images/creatures/kugelblitz/pop-3.png | Bin 0 -> 4746 bytes data/images/sprites.strf | 10 ++++++ data/levels/test/kugelblitz.stl | 6 ++-- src/badguy/kugelblitz.cpp | 47 ++++++++++++++++++++++------- src/badguy/kugelblitz.hpp | 3 ++ 8 files changed, 53 insertions(+), 13 deletions(-) create mode 100644 data/images/creatures/kugelblitz/pop-0.png create mode 100644 data/images/creatures/kugelblitz/pop-1.png create mode 100644 data/images/creatures/kugelblitz/pop-2.png create mode 100644 data/images/creatures/kugelblitz/pop-3.png diff --git a/data/images/creatures/kugelblitz/pop-0.png b/data/images/creatures/kugelblitz/pop-0.png new file mode 100644 index 0000000000000000000000000000000000000000..bb7629e78e57b1e573be9aa8305a76e36400ab88 GIT binary patch literal 5188 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 Z{~zY=4~4My&3ga<002ovPDHLkV1g5)uMGeI literal 0 HcmV?d00001 diff --git a/data/images/creatures/kugelblitz/pop-2.png b/data/images/creatures/kugelblitz/pop-2.png new file mode 100644 index 0000000000000000000000000000000000000000..2ad0ec26738d461dda99da22b7006c3b9de44681 GIT binary patch literal 5472 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"flying"); physic.set_velocity_y(0); - movement_timer.start(1500); + //Set random initial speed and direction + if ((rand() % 2) == 1) direction = 1; else direction = -1; + int speed = (BASE_SPEED + (rand() % RAND_SPEED)) * direction; + physic.set_velocity_x(speed); + movement_timer.start(MOVETIME); + lifetime.start(LIFETIME); } else if(chit.normal.y < .5) { // bumped on roof physic.set_velocity_y(0); @@ -92,20 +104,33 @@ Kugelblitz::hit(const CollisionHit& chit) void Kugelblitz::active_update(float elapsed_time) { - if (groundhit_pos_set) { - if (movement_timer.check()) { - //std::cout << "IM HERE" << std::endl; - //FIXME: Find out why the program never gets here - if (direction == 1) direction = -1; else direction = 1; - int speed = (300 + (rand() % 300)) * direction; - physic.set_velocity_x(speed); - movement_timer.start(1500); + if (lifetime.check()) { + if (!dying) { + sprite->set_action("pop"); + lifetime.start(0.2); + dying = true; } + else remove_me(); } - if (Sector::current()->solids->get_tile_at(get_pos())->getAttributes() == 16) { - //HIT WATER + else { + if (groundhit_pos_set) { + if (movement_timer.check()) { + if (direction == 1) direction = -1; else direction = 1; + int speed = (BASE_SPEED + (rand() % RAND_SPEED)) * direction; + physic.set_velocity_x(speed); + movement_timer.start(MOVETIME); + } + } + if (Sector::current()->solids->get_tile_at(get_pos())->getAttributes() == 16) { + //HIT WATER + } } BadGuy::active_update(elapsed_time); } +void +Kugelblitz::kill_fall() +{ +} + IMPLEMENT_FACTORY(Kugelblitz, "kugelblitz") diff --git a/src/badguy/kugelblitz.hpp b/src/badguy/kugelblitz.hpp index 30f0b43ae..d63092207 100644 --- a/src/badguy/kugelblitz.hpp +++ b/src/badguy/kugelblitz.hpp @@ -34,12 +34,15 @@ public: void write(lisp::Writer& writer); void active_update(float); + void kill_fall(); private: HitResponse hit(const CollisionHit& hit); Vector pos_groundhit; bool groundhit_pos_set; + bool dying; Timer movement_timer; + Timer lifetime; int direction; }; -- 2.11.0