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