X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fangrystone.cpp;h=2f9dc8a8341dd05a6cf54872e9103c1ee023d4ac;hb=07ddaed2a657e4d2a3d038fed223fc5827159caf;hp=ee4d26cbe9fad35376429891a1a6f4777b2fb2ef;hpb=01549e7cabf36e3e0d0a53fd5d318d7a69cbf1b5;p=supertux.git diff --git a/src/badguy/angrystone.cpp b/src/badguy/angrystone.cpp index ee4d26cbe..2f9dc8a83 100644 --- a/src/badguy/angrystone.cpp +++ b/src/badguy/angrystone.cpp @@ -1,7 +1,7 @@ -// $Id: angrystone.cpp 2979 2006-01-10 00:00:04Z matzebraun $ -// -// SuperTux -// Copyright (C) 2005 Matthias Braun +// $Id$ +// +// AngryStone - A spiked block that charges towards the player +// Copyright (C) 2006 Christoph Sommer // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -12,7 +12,7 @@ // 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 @@ -33,7 +33,7 @@ AngryStone::AngryStone(const lisp::Lisp& reader) reader.get("x", start_position.x); reader.get("y", start_position.y); bbox.set_size(87.8, 87.8); // sprite is (88px, 88px) - sprite = sprite_manager->create("angrystone"); + sprite = sprite_manager->create("images/creatures/angrystone/angrystone.sprite"); state = IDLE; } @@ -73,8 +73,14 @@ AngryStone::collision_solid(GameObject& , const CollisionHit& hit) return CONTINUE; } +void +AngryStone::kill_fall() +{ + //prevents AngryStone from getting killed by other enemies or the player +} + HitResponse -AngryStone::collision_badguy(BadGuy& badguy, const CollisionHit& hit) +AngryStone::collision_badguy(BadGuy& badguy, const CollisionHit& ) { if (state == ATTACKING) { badguy.kill_fall(); @@ -89,7 +95,7 @@ AngryStone::active_update(float elapsed_time) { BadGuy::active_update(elapsed_time); if (state == IDLE) { - MovingObject* player = Sector::current()->player; + MovingObject* player = this->get_nearest_player(); MovingObject* badguy = this; const Vector playerPos = player->get_pos(); const Vector badguyPos = badguy->get_pos();