verb agreement

add and use new APIs, Tobjnam, otense and vtense, is_plural
to determine tense/form of verbs and a few pronouns as well
This commit is contained in:
cohrs
2002-02-09 00:16:35 +00:00
parent 5a8cf1c4c1
commit cf37a7bac0
9 changed files with 121 additions and 138 deletions

View File

@@ -1309,13 +1309,16 @@ E char *FDECL(xname, (struct obj *));
E char *FDECL(mshot_xname, (struct obj *));
E char *FDECL(doname, (struct obj *));
E boolean FDECL(not_fully_identified, (struct obj *));
E const char *FDECL(corpse_xname, (struct obj *,BOOLEAN_P));
E char *FDECL(corpse_xname, (struct obj *,BOOLEAN_P));
E const char *FDECL(singular, (struct obj *,char *(*)(OBJ_P)));
E char *FDECL(an, (const char *));
E char *FDECL(An, (const char *));
E char *FDECL(The, (const char *));
E char *FDECL(the, (const char *));
E char *FDECL(aobjnam, (struct obj *,const char *));
E char *FDECL(Tobjnam, (struct obj *,const char *));
E char *FDECL(otense, (struct obj *,const char *));
E char *FDECL(vtense, (const char *,const char *));
E char *FDECL(Doname2, (struct obj *));
E char *FDECL(yname, (struct obj *));
E char *FDECL(Yname2, (struct obj *));
@@ -1927,7 +1930,7 @@ E coord *FDECL(gettrack, (int,int));
E boolean FDECL(burnarmor,(struct monst *));
E boolean FDECL(rust_dmg, (struct obj *,const char *,int,BOOLEAN_P,struct monst *));
E void FDECL(grease_protect, (struct obj *,const char *,BOOLEAN_P,struct monst *));
E void FDECL(grease_protect, (struct obj *,const char *,struct monst *));
E struct trap *FDECL(maketrap, (int,int,int));
E void FDECL(fall_through, (BOOLEAN_P));
E struct monst *FDECL(animate_statue, (struct obj *,XCHAR_P,XCHAR_P,int,int *));

View File

@@ -222,6 +222,10 @@ struct obj {
(obj)->otyp == FLINT || \
(obj)->otyp == TOUCHSTONE)
/* helpers, simple enough to be macros */
#define is_plural(o) ((o)->quan > 1 || \
(o)->oartifact == ART_EYES_OF_THE_OVERWORLD)
/* Flags for get_obj_location(). */
#define CONTAINED_TOO 0x1
#define BURIED_TOO 0x2