X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fyeti.hpp;h=a3c996f25c7ea9c0c68a2a2e8eac842fd2f67481;hb=7a6f00e27bdc0aac2107506c3b00cbf0bf1cccc5;hp=b9d4f4547b3163d2b1dc944c3bc4cc2aaa2ac242;hpb=ed077046995dbbb535ed2452152f994e1e119bb5;p=supertux.git diff --git a/src/badguy/yeti.hpp b/src/badguy/yeti.hpp index b9d4f4547..a3c996f25 100644 --- a/src/badguy/yeti.hpp +++ b/src/badguy/yeti.hpp @@ -21,6 +21,8 @@ #ifndef __YETI_H__ #define __YETI_H__ +#include + #include "badguy.hpp" class Yeti : public BadGuy @@ -31,13 +33,15 @@ public: void draw(DrawingContext& context); void write(lisp::Writer& writer); - void activate(); + void initialize(); void active_update(float elapsed_time); - HitResponse collision_solid(GameObject& object, const CollisionHit& hit); - bool collision_squished(Player& player); - void kill_squished(Player& player); + void collision_solid(const CollisionHit& hit); + bool collision_squished(GameObject& object); + void kill_squished(GameObject& object); void kill_fall(); + virtual Yeti* clone() const { return new Yeti((Yeti&)*this); } + private: void run(); void jump_up(); @@ -46,8 +50,10 @@ private: void summon_snowball(); void jump_down(); + void draw_hit_points(DrawingContext& context); + void take_hit(Player& player); - + enum YetiState { JUMP_DOWN, RUN, @@ -60,8 +66,7 @@ private: Timer safe_timer; int stomp_count; int hit_points; - std::string dead_script; + std::auto_ptr hud_head; }; #endif -