#ifndef ___MONSTER_H
#define ___MONSTER_H
#include"object.h"

#define W_HEAD	0
#define W_NECK	1
#define W_BODY	2
#define W_LEFT	3
#define W_RIGHT	4
#define	W_MISS	5
#define	W_BOOTS	6
#define	W_LRING	7
#define	W_RRING	8
#define	W_TOOL	9
#define	W_S	10

typedef struct {
  int x,y,l; // pos, how big visibility
  unsigned long d; // id
  int m,iw,il; // money, inventory weight, invetory length
  tobj **i; // inventory
  tobj *w[W_S]; // wearing
} tmonster;

typedef struct {
  char name[32];
  char names[33];
  int l;
  unsigned int r;
  int m;
  int an;
  char tr;
  unsigned int cl;
  char *descr;
} tmonstertmp;

// predefined objects
extern tmonstertmp pre_mon[];
extern int pre_mons;
//extern char *mon_race[];
//extern int mon_races;

#include"level.h"
extern void monster_clone(unsigned long, int, int, tlevel *);
extern void monster_paint(tmonster *);
extern int monster_move(tmonster *, signed short, signed short, tlevel *);
extern void monster_teleport(tmonster *, int, int, tlevel *);
extern void monster_iget(tmonster *, tobj *);
extern void monster_idrop(tmonster *, tobj *);

#endif
