*possible* fix for bugs #453 and #373
[supertux.git] / src / badguy / zeekling.cpp
index 0ea43d6..3d6ec90 100644 (file)
 #include "random_generator.hpp"
 
 Zeekling::Zeekling(const lisp::Lisp& reader)
-       : BadGuy(reader, "images/creatures/zeekling/zeekling.sprite"), last_player(0)
+        : BadGuy(reader, "images/creatures/zeekling/zeekling.sprite"), last_player(0)
 {
   state = FLYING;
+  speed = systemRandom.rand(130, 171);
+  physic.enable_gravity(false);
 }
 
 Zeekling::Zeekling(const Vector& pos, Direction d)
-       : BadGuy(pos, d, "images/creatures/zeekling/zeekling.sprite"), last_player(0)
+        : BadGuy(pos, d, "images/creatures/zeekling/zeekling.sprite"), last_player(0)
 {
   state = FLYING;
+  speed = systemRandom.rand(130, 171);
+  physic.enable_gravity(false);
 }
 
 void
@@ -42,18 +46,16 @@ Zeekling::write(lisp::Writer& writer)
 {
   writer.start_list("zeekling");
 
-  writer.write_float("x", start_position.x);
-  writer.write_float("y", start_position.y);
+  writer.write("x", start_position.x);
+  writer.write("y", start_position.y);
 
   writer.end_list("zeekling");
 }
 
 void
-Zeekling::activate()
+Zeekling::initialize()
 {
-  speed = systemRandom.rand(130, 171);
   physic.set_velocity_x(dir == LEFT ? -speed : speed);
-  physic.enable_gravity(false);
   sprite->set_action(dir == LEFT ? "left" : "right");
 }