Russian translation update from Constantin Baranov... from December.
[supertux.git] / src / badguy / angrystone.cpp
index 3315291..34ea9c1 100644 (file)
@@ -1,7 +1,7 @@
 //  $Id$
 //
 //  AngryStone - A spiked block that charges towards the player
-//  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
@@ -29,8 +29,12 @@ static const float ATTACK_TIME = 1;
 static const float RECOVER_TIME = .5;
 
 AngryStone::AngryStone(const lisp::Lisp& reader)
-       : BadGuy(reader, "images/creatures/angrystone/angrystone.sprite"), state(IDLE)
+        : BadGuy(reader, "images/creatures/angrystone/angrystone.sprite"), state(IDLE)
 {
+  physic.set_velocity_x(0);
+  physic.set_velocity_y(0);
+  physic.enable_gravity(true);
+  sprite->set_action("idle");
 }
 
 void
@@ -45,15 +49,6 @@ AngryStone::write(lisp::Writer& writer)
 }
 
 void
-AngryStone::activate()
-{
-  physic.vx = 0;
-  physic.vy = 0;
-  physic.gravity_enabled = true;
-  sprite->set_action("idle");
-}
-
-void
 AngryStone::collision_solid(const CollisionHit& hit)
 {
   // TODO
@@ -63,9 +58,9 @@ AngryStone::collision_solid(const CollisionHit& hit)
       (hit.normal.x == -attackDirection.x) && (hit.normal.y == attackDirection.y)) {
     state = IDLE;
     sprite->set_action("idle");
-    physic.vx = 0;
-    physic.vy = 0;
-    physic.gravity_enabled = true;
+    physic.set_velocity_x(0);
+    physic.set_velocity_y(0);
+    physic.enable_gravity(true);
     oldWallDirection.x = attackDirection.x;
     oldWallDirection.y = attackDirection.y;
   }
@@ -143,9 +138,9 @@ AngryStone::active_update(float elapsed_time) {
       sprite->set_action("attacking");
       timer.start(ATTACK_TIME);
       state = ATTACKING;
-      physic.gravity_enabled = false;
-      physic.vx = SPEED * attackDirection.x;
-      physic.vy = SPEED * attackDirection.y;
+      physic.enable_gravity(false);
+      physic.set_velocity_x(SPEED * attackDirection.x);
+      physic.set_velocity_y(SPEED * attackDirection.y);
       oldWallDirection.x = 0;
       oldWallDirection.y = 0;
     }
@@ -156,9 +151,9 @@ AngryStone::active_update(float elapsed_time) {
       timer.start(RECOVER_TIME);
       state = RECOVERING;
       sprite->set_action("idle");
-      physic.gravity_enabled = true;
-      physic.vx = 0;
-      physic.vy = 0;
+      physic.enable_gravity(true);
+      physic.set_velocity_x(0);
+      physic.set_velocity_y(0);
     }
   }
 
@@ -166,9 +161,9 @@ AngryStone::active_update(float elapsed_time) {
     if (timer.check()) {
       state = IDLE;
       sprite->set_action("idle");
-      physic.gravity_enabled = true;
-      physic.vx = 0;
-      physic.vy = 0;
+      physic.enable_gravity(true);
+      physic.set_velocity_x(0);
+      physic.set_velocity_y(0);
     }
   }