Set 'licence' attribute on sound files
[supertux.git] / src / badguy / willowisp.cpp
index eafe287..db467e7 100644 (file)
 #include <config.h>
 
 #include "willowisp.hpp"
+
 #include "log.hpp"
 #include "game_session.hpp"
 #include "object/lantern.hpp"
 #include "object/player.hpp"
 #include "scripting/squirrel_util.hpp"
+#include "object/path.hpp"
+#include "object/path_walker.hpp"
+#include "audio/sound_source.hpp"
+#include "lisp/writer.hpp"
+#include "object_factory.hpp"
+#include "audio/sound_manager.hpp"
+#include "sector.hpp"
+#include "sprite/sprite.hpp"
 
 static const float FLYSPEED = 64; /**< speed in px per second */
 static const float TRACK_RANGE = 384; /**< at what distance to start tracking the player */
@@ -97,11 +106,14 @@ WillOWisp::active_update(float elapsed_time)
     break;
 
   case STATE_TRACKING:
-    if (dist.norm() <= vanish_range) {
+    if (dist.norm() > vanish_range) {
+      vanish();
+    } else if (dist.norm() >= 1) {
       Vector dir = dist.unit();
       movement = dir * elapsed_time * flyspeed;
     } else {
-      vanish();
+      /* We somehow landed right on top of the player without colliding.
+       * Sit tight and avoid a division by zero. */
     }
     sound_source->set_position(get_pos());
     break;