X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy%2Fyeti.cpp;h=9f6924540d4001c762dd85555f04e1d0bd9d1462;hb=36afad72b6c66d4619372892f589a4131afed638;hp=12dcd95984303a3514af2e03abc16b538d4add22;hpb=77d6c22146b06e5737b905795c8d7aab3f146527;p=supertux.git diff --git a/src/badguy/yeti.cpp b/src/badguy/yeti.cpp index 12dcd9598..9f6924540 100644 --- a/src/badguy/yeti.cpp +++ b/src/badguy/yeti.cpp @@ -32,14 +32,14 @@ namespace { const float JUMP_DOWN_VX = 250; /**< horizontal speed while jumping off the dais */ - const float JUMP_DOWN_VY = 250; /**< vertical speed while jumping off the dais */ + const float JUMP_DOWN_VY = -250; /**< vertical speed while jumping off the dais */ const float RUN_VX = 350; /**< horizontal speed while running */ const float JUMP_UP_VX = 350; /**< horizontal speed while jumping on the dais */ - const float JUMP_UP_VY = 800; /**< vertical speed while jumping on the dais */ + const float JUMP_UP_VY = -800; /**< vertical speed while jumping on the dais */ - const float STOMP_VY = 250; /** vertical speed while stomping on the dais */ + const float STOMP_VY = -250; /** vertical speed while stomping on the dais */ const float LEFT_STAND_X = 16; /**< x-coordinate of left dais' end position */ const float RIGHT_STAND_X = 800-60-16; /**< x-coordinate of right dais' end position */ @@ -49,15 +49,12 @@ namespace { const float SAFE_TIME = .5; /**< the time we are safe when tux just hit us */ const int INITIAL_HITPOINTS = 3; /**< number of hits we can take */ - const float SQUISH_TIME = 3; + const float SQUISH_TIME = 5; } Yeti::Yeti(const lisp::Lisp& reader) + : BadGuy(reader, "images/creatures/yeti/yeti.sprite") { - reader.get("x", start_position.x); - reader.get("y", start_position.y); - bbox.set_size(60, 90); - sprite = sprite_manager->create("images/creatures/yeti/yeti.sprite"); hit_points = INITIAL_HITPOINTS; reader.get("dead-script", dead_script); countMe = false; @@ -161,7 +158,7 @@ Yeti::be_angry() void Yeti::summon_snowball() { - Sector::current()->add_object(new BouncingSnowball(get_pos().x+(dir == RIGHT ? 64 : -64), get_pos().y, dir)); + Sector::current()->add_object(new BouncingSnowball(Vector(get_pos().x+(dir == RIGHT ? 64 : -64), get_pos().y), dir)); } bool @@ -179,10 +176,8 @@ Yeti::kill_squished(Player& player) take_hit(player); } -void Yeti::take_hit(Player& player) +void Yeti::take_hit(Player& ) { - player.bounce(*this); - if(safe_timer.started()) return;