U880 - grammar when eating artifacts

Both the reported tombstone message and the initial message could be
grammatically incorrect for eating identified artifacts.  This begs the
question whether artifacts should be so easy to destroy.
This commit is contained in:
cohrs
2004-01-27 03:37:51 +00:00
parent 6f0fb33e9f
commit a5e7a67130
2 changed files with 39 additions and 32 deletions

View File

@@ -14,6 +14,7 @@ trap messages referring to named steed were ackwardly worded when hallucination
some actions such as eating corpses off the floor didn't check whether hero
could reach the bottom of a pit
usmellmon() instead of "It turns into it" during monster polymorph
grammar of messages regarding eating artifacts
Platform- and/or Interface-Specific Fixes

View File

@@ -197,40 +197,44 @@ choke(food) /* To a full belly all food is bad. (It.) */
exercise(A_CON, FALSE);
if (Breathless || (!Strangled && !rn2(20))) {
/* choking by eating AoS doesn't involve stuffing yourself */
if (food && food->otyp == AMULET_OF_STRANGULATION) {
You("choke, but recover your composure.");
return;
}
You("stuff yourself and then vomit voluminously.");
morehungry(1000); /* you just got *very* sick! */
nomovemsg = 0;
vomit();
/* choking by eating AoS doesn't involve stuffing yourself */
if (food && food->otyp == AMULET_OF_STRANGULATION) {
You("choke, but recover your composure.");
return;
}
You("stuff yourself and then vomit voluminously.");
morehungry(1000); /* you just got *very* sick! */
nomovemsg = 0;
vomit();
} else {
killer.format = KILLED_BY_AN;
/*
* Note all "killer"s below read "Choked on %s" on the
* high score list & tombstone. So plan accordingly.
*/
if(food) {
You("choke over your %s.", foodword(food));
if (food->oclass == COIN_CLASS) {
Strcpy(killer.name, "a very rich meal");
} else {
Strcpy(killer.name, food_xname(food, FALSE));
if (food->otyp == CORPSE &&
(mons[food->corpsenm].geno & G_UNIQ)) {
if (!type_is_pname(&mons[food->corpsenm]))
Strcpy(killer.name, the(killer.name));
killer.format = KILLED_BY;
}
}
killer.format = KILLED_BY_AN;
/*
* Note all "killer"s below read "Choked on %s" on the
* high score list & tombstone. So plan accordingly.
*/
if(food) {
You("choke over your %s.", foodword(food));
if (food->oclass == COIN_CLASS) {
Strcpy(killer.name, "a very rich meal");
} else {
You("choke over it.");
Strcpy(killer.name, "quick snack");
Strcpy(killer.name, food_xname(food, FALSE));
if (food->otyp == CORPSE &&
(mons[food->corpsenm].geno & G_UNIQ)) {
if (!type_is_pname(&mons[food->corpsenm]))
Strcpy(killer.name, the(killer.name));
killer.format = KILLED_BY;
} else if (obj_is_pname(food)) {
killer.format = KILLED_BY;
if (food->oartifact >= ART_ORB_OF_DETECTION)
Strcpy(killer.name, the(killer.name));
}
}
You("die...");
done(CHOKING);
} else {
You("choke over it.");
Strcpy(killer.name, "quick snack");
}
You("die...");
done(CHOKING);
}
}
@@ -2024,7 +2028,9 @@ doeat() /* generic "eat" command funtion (see cmd.c) */
} else
You("seem unaffected by the poison.");
} else if (!otmp->cursed)
pline("This %s is delicious!",
pline("%s%s is delicious!",
(obj_is_pname(otmp) &&
(otmp->oartifact < ART_ORB_OF_DETECTION)) ? "" : "This ",
otmp->oclass == COIN_CLASS ? foodword(otmp) :
singular(otmp, xname));