*possible* fix for bugs #453 and #373
[supertux.git] / src / badguy / zeekling.cpp
index 64a4566..3d6ec90 100644 (file)
@@ -2,7 +2,7 @@
 //
 //  Zeekling - flyer that swoops down when she spots the player
 //  Copyright (C) 2005 Matthias Braun <matze@braunis.de>
-//  Copyright (C) 2006 Christoph Sommer <supertux@2006.expires.deltadevelopment.de>
+//  Copyright (C) 2006 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
 //
 //  This program is free software; you can redistribute it and/or
 //  modify it under the terms of the GNU General Public License
 #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");
 }