X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fyeti.hpp;h=d7e16ce394513d3a92e9cca6ae36b16e2961abe4;hb=4a486d92343d1824b311c234e9321e08f280fe68;hp=f0c8fe39e4921a52cc27eae27b29895517dd3fac;hpb=2bfc38ef3208dee885452cfa59a7c7df671eb24d;p=supertux.git diff --git a/src/badguy/yeti.hpp b/src/badguy/yeti.hpp index f0c8fe39e..d7e16ce39 100644 --- a/src/badguy/yeti.hpp +++ b/src/badguy/yeti.hpp @@ -33,10 +33,13 @@ public: void write(lisp::Writer& writer); void activate(); void active_update(float elapsed_time); - HitResponse collision_solid(GameObject& object, const CollisionHit& hit); + void collision_solid(const CollisionHit& hit); bool collision_squished(Player& player); + void kill_squished(Player& player); void kill_fall(); + virtual Yeti* clone() const { return new Yeti(*this); } + private: void run(); void jump_up(); @@ -44,16 +47,18 @@ private: void drop_stalactite(); void summon_snowball(); void jump_down(); - void die(Player& player); - + + void take_hit(Player& player); + enum YetiState { JUMP_DOWN, RUN, JUMP_UP, - BE_ANGRY + BE_ANGRY, + SQUISHED }; YetiState state; - Timer stomp_timer; + Timer state_timer; Timer safe_timer; int stomp_count; int hit_points; @@ -61,4 +66,3 @@ private: }; #endif -