00001 /* SCCS Id: @(#)edog.h 3.4 1997/10/23 */ 00002 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 00003 /* NetHack may be freely redistributed. See license for details. */ 00004 00005 #ifndef EDOG_H 00006 #define EDOG_H 00007 00008 /* various types of food, the lower, the better liked. */ 00009 00010 #define DOGFOOD 0 00011 #define CADAVER 1 00012 #define ACCFOOD 2 00013 #define MANFOOD 3 00014 #define APPORT 4 00015 #define POISON 5 00016 #define UNDEF 6 00017 #define TABU 7 00018 00019 struct edog { 00020 long droptime; /* moment dog dropped object */ 00021 unsigned dropdist; /* dist of drpped obj from @ */ 00022 int apport; /* amount of training */ 00023 long whistletime; /* last time he whistled */ 00024 long hungrytime; /* will get hungry at this time */ 00025 coord ogoal; /* previous goal location */ 00026 int abuse; /* track abuses to this pet */ 00027 int revivals; /* count pet deaths */ 00028 int mhpmax_penalty; /* while starving, points reduced */ 00029 Bitfield(killed_by_u, 1); /* you attempted to kill him */ 00030 }; 00031 #define EDOG(mon) ((struct edog *)&(mon)->mextra[0]) 00032 00033 #endif /* EDOG_H */