/* $Id: shieldcorona.hpp,v 1.4 2005/06/28 13:55:23 chfreund Exp $ */ #ifndef _SHIELDCORONA_HPP_ #define _SHIELDCORONA_HPP_ /**********************************************************/ #include "noncollidableobject.hpp" /**********************************************************/ #define SHIELD_CORONA_LAST_IDLE_SEQUENCE 4 /**********************************************************/ //! the corona effect surrounding an avatar, that picked up a shield bonus class ShieldCorona : public NonCollidableObject { public: ShieldCorona(); ~ShieldCorona(); //! return object ID Sint32 getID() const { return SHIELD_CORONA; } //! updates the object void update(); //! returns true, if the absorbing flash is shown at the moment bool isAbsorbing() const { return m_Sequence > SHIELD_CORONA_LAST_IDLE_SEQUENCE && m_Frame > 0; } //! absorb damage void absorbDamage( const Vector& direction ); //! \name (de)serialization //@{ Uint32 getSerializeBufferSize() const; void serialize( Uint8*& bufferPointer ) const; void deserialize( Uint8*& bufferPointer ); //@} protected: Sint32 m_delay; }; /**********************************************************/ #endif // _SHIELDCORONA_HPP_