#U770 part II - lack of "miss" message when throwing gold at monster
There was no feedback when gold was thrown or kicked at monsters who weren't interested in catching it. Now it'll give the same "<obj> misses <monster>" message as other thrown or kicked items objects which don't hit.
This commit is contained in:
@@ -99,6 +99,7 @@ killing a long worm on a drawbridge could produce a panic
|
||||
prevent "see it drop from your pack" when figurine monster becomes undetected
|
||||
attempting to drop a subset of a stack of multiple cursed loadstones could
|
||||
corrupt inventory or cause a crash
|
||||
"miss" message was missing for thrown or kicked gold not caught by a monster
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
21
src/dokick.c
21
src/dokick.c
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)dokick.c 3.4 2003/03/14 */
|
||||
/* SCCS Id: @(#)dokick.c 3.4 2003/12/04 */
|
||||
/* Copyright (c) Izchak Miller, Mike Stephenson, Steve Linhart, 1989. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -238,13 +238,18 @@ ghitm(mtmp, gold)
|
||||
register struct monst *mtmp;
|
||||
register struct obj *gold;
|
||||
{
|
||||
boolean msg_given = FALSE;
|
||||
|
||||
if(!likes_gold(mtmp->data) && !mtmp->isshk && !mtmp->ispriest
|
||||
&& !is_mercenary(mtmp->data)) {
|
||||
wakeup(mtmp);
|
||||
} else if (!mtmp->mcanmove) {
|
||||
/* too light to do real damage */
|
||||
if (canseemon(mtmp))
|
||||
pline_The("gold hits %s.", mon_nam(mtmp));
|
||||
if (canseemon(mtmp)) {
|
||||
pline_The("%s harmlessly %s %s.", xname(gold),
|
||||
otense(gold, "hit"), mon_nam(mtmp));
|
||||
msg_given = TRUE;
|
||||
}
|
||||
} else {
|
||||
#ifdef GOLDOBJ
|
||||
long value = gold->quan * objects[gold->otyp].oc_cost;
|
||||
@@ -318,16 +323,18 @@ register struct obj *gold;
|
||||
if (mtmp->mpeaceful)
|
||||
verbalize("That should do. Now beat it!");
|
||||
else verbalize("That's not enough, coward!");
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef GOLDOBJ
|
||||
dealloc_obj(gold);
|
||||
#else
|
||||
add_to_minv(mtmp, gold);
|
||||
add_to_minv(mtmp, gold);
|
||||
#endif
|
||||
return(1);
|
||||
return TRUE;
|
||||
}
|
||||
return(0);
|
||||
|
||||
if (!msg_given) miss(xname(gold), mtmp);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* container is kicked, dropped, thrown or otherwise impacted by player.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)dothrow.c 3.4 2003/10/21 */
|
||||
/* SCCS Id: @(#)dothrow.c 3.4 2003/12/04 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -1168,7 +1168,7 @@ struct monst *mon;
|
||||
an arrow just landing short of any target (no message in that case),
|
||||
so will realize that there is a valid target here anyway. */
|
||||
if (!canseemon(mon) || (mon->m_ap_type && mon->m_ap_type != M_AP_MONSTER))
|
||||
pline("%s misses.", The(missile));
|
||||
pline("%s %s.", The(missile), otense(obj, "miss"));
|
||||
else
|
||||
miss(missile, mon);
|
||||
if (!rn2(3)) wakeup(mon);
|
||||
@@ -1697,9 +1697,6 @@ boolean in_view;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Note that the gold object is *not* attached to the fobj chain.
|
||||
*/
|
||||
STATIC_OVL int
|
||||
throw_gold(obj)
|
||||
struct obj *obj;
|
||||
|
||||
Reference in New Issue
Block a user