X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fsnowsnail.cpp;h=67998853982496c6a5e52c2fd1fc4eae0edf0daa;hb=07ddaed2a657e4d2a3d038fed223fc5827159caf;hp=fdb10afd19bbd00364aedaafda2c0bafce818ff6;hpb=b08db3ab7e6d4447f8005dcf5a6c9e61a7f8e937;p=supertux.git diff --git a/src/badguy/snowsnail.cpp b/src/badguy/snowsnail.cpp index fdb10afd1..679988539 100644 --- a/src/badguy/snowsnail.cpp +++ b/src/badguy/snowsnail.cpp @@ -1,7 +1,7 @@ -// $Id: snowsnail.cpp 2738 2005-10-08 08:53:46Z wansti $ -// +// $Id$ +// // SuperTux -// Copyright (C) 2005 Matthias Braun +// Copyright (C) 2006 Matthias Braun // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -12,11 +12,10 @@ // 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. +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include @@ -33,7 +32,7 @@ SnowSnail::SnowSnail(const lisp::Lisp& reader) reader.get("x", start_position.x); reader.get("y", start_position.y); bbox.set_size(31.8, 31.8); - sprite = sprite_manager->create("snowsnail"); + sprite = sprite_manager->create("images/creatures/snowsnail/snowsnail.sprite"); set_direction = false; } @@ -43,7 +42,7 @@ SnowSnail::SnowSnail(float pos_x, float pos_y, Direction d) start_position.x = pos_x; start_position.y = pos_y; bbox.set_size(31.8, 31.8); - sprite = sprite_manager->create("snowsnail"); + sprite = sprite_manager->create("images/creatures/snowsnail/snowsnail.sprite"); set_direction = true; initial_direction = d; } @@ -70,7 +69,7 @@ SnowSnail::activate() void SnowSnail::active_update(float elapsed_time) { - if(flat_timer.started()) { + if((ice_state != ICESTATE_KICKED) && flat_timer.started()) { sprite->set_fps(64 - 15 * flat_timer.get_timegone()); } if(ice_state == ICESTATE_FLAT && flat_timer.check()) { @@ -107,6 +106,7 @@ SnowSnail::collision_solid(GameObject& object, const CollisionHit& hit) dir = dir == LEFT ? RIGHT : LEFT; sprite->set_action(dir == LEFT ? "flat-left" : "flat-right"); + sprite->set_fps(64); physic.set_velocity_x(-physic.get_velocity_x()); sound_manager->play("sounds/iceblock_bump.wav", get_pos()); break; @@ -175,6 +175,7 @@ SnowSnail::collision_squished(Player& player) } physic.set_velocity_x(dir == LEFT ? -KICKSPEED : KICKSPEED); sprite->set_action(dir == LEFT ? "flat-left" : "flat-right"); + sprite->set_fps(64); ice_state = ICESTATE_KICKED; break; }