1 // SuperTux 2 // Copyright (C) 2006 Matthias Braun <matze@braunis.de> 3 // Copyright (C) 2010 Florian Forster <supertux at octo.it> 4 // 5 // This program is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 #ifndef HEADER_SUPERTUX_BADGUY_SHORT_FUSE_HPP 19 #define HEADER_SUPERTUX_BADGUY_SHORT_FUSE_HPP 20 21 #include "badguy/walking_badguy.hpp" 22 23 class ShortFuse final : public WalkingBadguy 24 { 25 public: 26 ShortFuse(const ReaderMapping& reader); 27 get_class() const28 virtual std::string get_class() const override { return "short_fuse"; } get_display_name() const29 virtual std::string get_display_name() const override { return _("Short Fuse"); } 30 31 protected: 32 virtual HitResponse collision_player (Player& player, const CollisionHit& hit) override; 33 virtual HitResponse collision_bullet (Bullet& bullet, const CollisionHit& ) override; 34 virtual bool collision_squished (GameObject& object) override; 35 virtual void kill_fall() override; 36 virtual void ignite() override; 37 38 void explode(); 39 40 private: 41 ShortFuse(const ShortFuse&) = delete; 42 ShortFuse& operator=(const ShortFuse&) = delete; 43 }; 44 45 #endif 46 47 /* EOF */ 48