X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fbadguy.hpp;h=6c18166127fd3bc1a64cd5e5b84ebc565a5e8c2a;hb=c655b296af60a436a8ce2bf0e6ede4f72eae0580;hp=5824610d0cdb9ea5094ae365de4a98b359a36bdf;hpb=41942dc7816efe29e98a4ef51553c883eab20e85;p=supertux.git diff --git a/src/badguy/badguy.hpp b/src/badguy/badguy.hpp index 5824610d0..6c1816612 100644 --- a/src/badguy/badguy.hpp +++ b/src/badguy/badguy.hpp @@ -38,7 +38,7 @@ #include "audio/sound_manager.hpp" #include "audio/sound_source.hpp" -class BadGuy : public MovingSprite, public Serializable +class BadGuy : public MovingSprite, protected UsesPhysic, public Serializable { public: BadGuy(const Vector& pos, const std::string& sprite_name, int layer = LAYER_OBJECTS); @@ -66,11 +66,14 @@ public: * screen (his sprite is turned upside-down) */ virtual void kill_fall(); + + /** Call this, if you use custom kill_fall() or kill_squashed(GameObject& object) */ + virtual void run_dead_script(); /** Writes out the badguy into the included lisp::Writer. Useful e.g. when * converting an old-format level to the new format. */ - virtual void save(lisp::Writer& writer); + virtual void write(lisp::Writer& writer); /** * True if this badguy can break bricks or open bonusblocks in his current form. @@ -107,7 +110,7 @@ public: * Returns whether to call ignite() when a badguy gets hit by a fire bullet */ virtual bool is_flammable() const; - + /** * Returns whether this badguys is currently on fire */ @@ -175,8 +178,6 @@ protected: */ Player* get_nearest_player(); - Physic physic; - /// is the enemy activated bool activated; /** @@ -226,9 +227,8 @@ protected: bool frozen; bool ignited; /**< true if this badguy is currently on fire */ - + std::string dead_script; /**< script to execute when badguy is killed */ - bool draw_dead_script_hint; /**< whether to draw a visual indication that this Badguy triggers a script */ private: void try_activate();