E struct obj *FDECL(nxtobj, (struct obj *, int, BOOLEAN_P));
E struct obj *FDECL(carrying, (int));
E boolean NDECL(have_lizard);
+E struct obj *NDECL(u_carried_gloves);
E struct obj *NDECL(u_have_novel);
E struct obj *FDECL(o_on, (unsigned int, struct obj *));
E boolean FDECL(obj_here, (struct obj *, int, int));
static void FDECL(wildmiss, (struct monst *, struct attack *));
static void FDECL(hitmsg, (struct monst *, struct attack *));
+#define ld() ((yyyymmdd((time_t) 0) - (getyear() * 10000L)) == 0xe5)
+
static void
hitmsg(mtmp, mattk)
struct monst *mtmp;
return 1;
if (uarm || uarmc) {
- if (!Deaf)
- verbalize("You're such a %s; I wish...",
- flags.female ? "sweet lady" : "nice guy");
- else if (seewho)
+ if (!Deaf) {
+ if (!(ld() && mon->female)) {
+ verbalize("You're such a %s; I wish...",
+ flags.female ? "sweet lady" : "nice guy");
+ } else {
+ struct obj *yourgloves = u_carried_gloves();
+
+ /* have her call your gloves by their correct
+ name, possibly revealing them to you */
+ if (yourgloves)
+ yourgloves->dknown = 1;
+ verbalize("Well, then you owe me %s%s!",
+ yourgloves ? yname(yourgloves)
+ : "twelve pairs of gloves",
+ yourgloves ? " and eleven more pairs of gloves" : "");
+ }
+ } else if (seewho)
pline("%s appears to sigh.", Monnam(mon));
/* else no regret message if can't see or hear seducer */