00001 00008 #ifndef _POWEREFFECT_H 00009 #define _POWEREFFECT_H 00010 00011 #include "effects.h" 00012 00019 class PowerEffect : public Effect { 00020 public: 00025 PowerEffect() { } 00026 00031 PowerEffect(Actor *sender, int magnitude) : Effect(sender), _magnitude( magnitude ) { } 00032 00036 int get_magnitude() 00037 { return _magnitude; } 00038 00039 virtual RecList& get_receiver_list() 00040 { return _receiver_list; } 00041 protected: 00042 int _magnitude; 00043 private: 00044 static RecList _receiver_list; 00045 }; 00046 00047 #define TO_POWER_EFFECT(pobj) TO_EFFECT(pobj, PowerEffect) 00048 #define IS_POWER_EFFECT(pobj) TO_POWER_EFFECT(pobj) 00049 00050 #endif // header guard