Rolled back bomb to old behaviour, some bomb gfx tuning
[supertux.git] / src / badguy / skullyhop.hpp
index 3f4dd52..970ed93 100644 (file)
@@ -1,7 +1,7 @@
-//  $Id: skullyhop.hpp 2642 2005-06-26 13:38:53Z matzebraun $
-// 
+//  $Id$
+//
 //  SkullyHop - A Hopping Skull
-//  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
@@ -12,7 +12,7 @@
 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 //  GNU General Public License for more details.
-// 
+//
 //  You should have received a copy of the GNU General Public License
 //  along with this program; if not, write to the Free Software
 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
@@ -30,15 +30,17 @@ class SkullyHop : public BadGuy
 {
 public:
   SkullyHop(const lisp::Lisp& reader);
-  SkullyHop(float pos_x, float pos_y, Direction d);
+  SkullyHop(const Vector& pos, Direction d);
 
-  void activate();
+  void initialize();
   void write(lisp::Writer& writer);
-  HitResponse collision_solid(GameObject& other, const CollisionHit& hit);
+  void collision_solid(const CollisionHit& hit);
   HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit);
-  bool collision_squished(Player& player);
+  bool collision_squished(GameObject& object);
   void active_update(float elapsed_time);
 
+  virtual SkullyHop* clone() const { return new SkullyHop(*this); }
+
 protected:
   enum SkullyHopState {
     STANDING,
@@ -46,9 +48,6 @@ protected:
     JUMPING
   };
 
-  bool has_initial_direction;
-  Direction initial_direction;  
-
   Timer recover_timer;
   SkullyHopState state;
 
@@ -56,4 +55,3 @@ protected:
 };
 
 #endif
-