changed yeti behaviour back to Matze's version (sorry, paroneayea)
[supertux.git] / src / badguy / yeti.h
1 #ifndef __YETI_H__
2 #define __YETI_H__
3
4 #include "badguy.h"
5
6 class Yeti : public BadGuy
7 {
8 public:
9   Yeti(const lisp::Lisp& lisp);
10   ~Yeti();
11
12   void write(lisp::Writer& writer);
13   void active_action(float elapsed_time);
14   HitResponse collision_solid(GameObject& other, const CollisionHit& hit);
15   HitResponse collision_player(Player& player, const CollisionHit& hit);
16   bool collision_squished(Player& player);
17   void kill_fall();
18
19 private:
20   void go_right();
21   void go_left();
22   void angry_jumping();
23   void drop_stalactite();
24   
25   enum YetiState {
26     INIT,
27     ANGRY_JUMPING,
28     THROW_SNOWBALL,
29     GO_RIGHT,
30     GO_LEFT
31   };
32   enum Side {
33     LEFT,
34     RIGHT
35   };
36   Side side;
37   YetiState state;
38   Timer2 timer;
39   int jumpcount;
40   Mix_Chunk* sound_gna;
41   Mix_Chunk* sound_roar;
42 };
43
44 #endif
45