00001 
#ifndef DEF_MONSTERS_COMMON_H
00002 
#define DEF_MONSTERS_COMMON_H 1
00003 
00004 
#include "characters_common.h"
00005 
00010 class Monster : 
public Character {
00011     
public:
00012         
Monster(Sint16 xpos=0, Sint16 ypos=0, 
const ParameterMap& param=ParameterMap());
00013         
virtual ~
Monster();
00014         
static ParameterMap default_parameters;
00015         
virtual void removedObject(
Object*);
00016         
virtual void updateAnimState();
00017         
virtual void idle(Uint16);
00018         
virtual void fall(Uint16);
00019         
virtual Uint16 
hit(Uint16 direction, 
Weapon& weap);
00020     
protected:
00023         
virtual void addTouch(std::set<Object *>&);
00024         
virtual void addEnter(std::set<Object *>&);
00025         
virtual void removeTouch(std::set<Object *>&);
00026         
virtual void removeEnter(std::set<Object *>&);
00027         
virtual void crash(Uint16 dir=DIR_DOWN);
00028         
virtual void die();
00029         
00031         
virtual void runAI(Uint16) { }
00032         
virtual void ai_left(Uint16) { }
00033         
virtual void ai_right(Uint16) { }
00034         
virtual void ai_attack(
Player*, Uint16) { }
00036         
00037         std::set<Player *> targets;
00038         
virtual Hit move(Uint16 dt, 
bool check=
false);
00039         
00040         Mix_Chunk* au_hit;
00041         Sint16 Dai,Dattack;
00042         EmptyAnimationPtr anim_left;
00043         EmptyAnimationPtr anim_right;
00044 };
00045 
00046 
#endif