- Implemented a scripted object that can be placed in a level and whose name is
[supertux.git] / src / badguy / yeti.h
index 31fad77..edad747 100644 (file)
@@ -1,3 +1,23 @@
+//  $Id$
+// 
+//  SuperTux
+//  Copyright (C) 2005 Matthias Braun <matze@braunis.de>
+//
+//  This program is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU General Public License
+//  as published by the Free Software Foundation; either version 2
+//  of the License, or (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  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
+//  02111-1307, USA.
+
 #ifndef __YETI_H__
 #define __YETI_H__
 
@@ -13,35 +33,29 @@ public:
   void active_action(float elapsed_time);
   HitResponse collision_solid(GameObject& other, const CollisionHit& hit);
   HitResponse collision_player(Player& player, const CollisionHit& hit);
-  HitResponse collision_badguy(BadGuy& badguy, const CollisionHit&);
   bool collision_squished(Player& player);
+  void kill_fall();
 
 private:
   void go_right();
   void go_left();
   void angry_jumping();
-  void stun();
   void drop_stalactite();
+  void summon_snowball();
   
   enum YetiState {
     INIT,
     ANGRY_JUMPING,
     THROW_SNOWBALL,
     GO_RIGHT,
-    GO_LEFT,
-    STUNNED
-  };
-  enum Side {
-    LEFT,
-    RIGHT
+    GO_LEFT
   };
-  Side side;
+  Direction side;
   YetiState state;
-  Timer2 jump_timer;
-  Timer2 stun_timer;
+  Timer timer;
   int jumpcount;
-  float jump_time_left;
   Mix_Chunk* sound_gna;
+  Mix_Chunk* sound_roar;
 };
 
 #endif