X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fhurting_platform.cpp;h=95601fd2a129d4a27ae72763e58ea05890a5813c;hb=78ac7aef674f518549f96160c6354b589553f952;hp=c730e182f7b67ab3c7316da52385b7b1d69e0850;hpb=4f1cfc3e5fbbc8afd68f0161d4dae5cebe532fac;p=supertux.git diff --git a/src/object/hurting_platform.cpp b/src/object/hurting_platform.cpp index c730e182f..95601fd2a 100644 --- a/src/object/hurting_platform.cpp +++ b/src/object/hurting_platform.cpp @@ -1,12 +1,10 @@ -// $Id: hurtingplatform.cpp 3506 2006-05-12 01:41:09Z sommer $ -// // SuperTux - Hurting Platform // 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 -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -14,36 +12,38 @@ // 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. - -#include -#include +// along with this program. If not, see . -#include "hurting_platform.hpp" +#include "object/hurting_platform.hpp" -#include "log.hpp" -#include "player.hpp" #include "badguy/badguy.hpp" -#include "object_factory.hpp" +#include "object/player.hpp" +#include "supertux/object_factory.hpp" -HurtingPlatform::HurtingPlatform(const lisp::Lisp& reader) - : Platform(reader) +HurtingPlatform::HurtingPlatform(const Reader& reader) + : Platform(reader) { + set_group(COLGROUP_TOUCHABLE); } HitResponse -HurtingPlatform::collision(GameObject& other, const CollisionHit& hit) +HurtingPlatform::collision(GameObject& other, const CollisionHit& ) { Player* player = dynamic_cast(&other); if (player) { + if(player->is_invincible()) { + return ABORT_MOVE; + } player->kill(false); } BadGuy* badguy = dynamic_cast(&other); if (badguy) { badguy->kill_fall(); } - return Platform::collision(other, hit); + + return FORCE_MOVE; } IMPLEMENT_FACTORY(HurtingPlatform, "hurting_platform"); + +/* EOF */