Allow dead-script on any badguy
[supertux.git] / src / badguy / skullyhop.cpp
index 63e6435..8bf61d7 100644 (file)
@@ -84,16 +84,21 @@ SkullyHop::set_state(SkullyHopState newState)
 }
 
 bool
-SkullyHop::collision_squished(Player& player)
+SkullyHop::collision_squished(GameObject& object)
 {
   sprite->set_action(dir == LEFT ? "squished-left" : "squished-right");
-  kill_squished(player);
+  kill_squished(object);
   return true;
 }
 
 void
 SkullyHop::collision_solid(const CollisionHit& hit)
 {
+  // just default behaviour (i.e. stop at floor/walls) when squished
+  if (BadGuy::get_state() == STATE_SQUISHED) {
+    BadGuy::collision_solid(hit);
+  }
+
   // ignore collisions while standing still
   if(state != JUMPING)
     return;
@@ -103,7 +108,7 @@ SkullyHop::collision_solid(const CollisionHit& hit)
     set_state(STANDING);
   }
   // check if we hit the roof while climbing
-  if(hit.top) { 
+  if(hit.top) {
     physic.set_velocity_y(0);
   }
 
@@ -139,7 +144,7 @@ SkullyHop::active_update(float elapsed_time)
   if ((state == CHARGING) && (sprite->animation_done())) {
     set_state(JUMPING);
     return;
-  } 
+  }
 }
 
 IMPLEMENT_FACTORY(SkullyHop, "skullyhop")