1 /**
2  * \file mon-desc.h
3  * \brief Monster description
4  *
5  * Copyright (c) 1997-2007 Ben Harrison, James E. Wilson, Robert A. Koeneke
6  *
7  * This work is free software; you can redistribute it and/or modify it
8  * under the terms of either:
9  *
10  * a) the GNU General Public License as published by the Free Software
11  *    Foundation, version 2, or
12  *
13  * b) the "Angband licence":
14  *    This software may be copied and distributed for educational, research,
15  *    and not for profit purposes provided that this copyright and statement
16  *    are included in all such copies.  Other copyrights may also apply.
17  */
18 
19 #ifndef MONSTER_DESC_H
20 #define MONSTER_DESC_H
21 
22 #include "monster.h"
23 
24 /**
25  * Bit flags for the "monster_desc" function
26  */
27 #define MDESC_DEFAULT   0x00    /* "it" or "the kobold" */
28 #define MDESC_OBJE      0x01    /* Objective (or Reflexive) */
29 #define MDESC_POSS      0x02    /* Possessive (or Reflexive) */
30 #define MDESC_IND_HID   0x04    /* Indefinites for hidden monsters */
31 #define MDESC_IND_VIS   0x08    /* Indefinites for visible monsters */
32 #define MDESC_PRO_HID   0x10    /* Pronominalize hidden monsters */
33 #define MDESC_PRO_VIS   0x20    /* Pronominalize visible monsters */
34 #define MDESC_HIDE      0x40    /* Assume the monster is hidden */
35 #define MDESC_SHOW      0x80    /* Assume the monster is visible */
36 #define MDESC_CAPITAL   0x100   /* Capitalise */
37 
38 /* "someone", "something", or "the kobold" at the start of a message */
39 #define MDESC_STANDARD  (MDESC_CAPITAL | MDESC_IND_HID | MDESC_PRO_HID)
40 
41 /* "someone", "something", or "the kobold" as the target of an attack */
42 #define MDESC_TARG  (MDESC_OBJE | MDESC_IND_HID | MDESC_PRO_HID)
43 
44  /* Reveal the full, indefinite name of a monster */
45 #define MDESC_DIED_FROM (MDESC_SHOW | MDESC_IND_VIS)
46 
47 void plural_aux(char *name, size_t max);
48 void get_mon_name(char *buf, size_t buflen,
49 				  const struct monster_race *race, int num);
50 void monster_desc(char *desc, size_t max, const struct monster *mon, int mode);
51 
52 #endif /* MONSTER_DESC_H */
53