Allow entering a known pit without taking damage
This commit is contained in:
@@ -968,6 +968,7 @@ if blind hero was challanged by a vault guard, it wasn't possible to see how
|
|||||||
make taming via magic harp be consistent with scroll of taming and charm
|
make taming via magic harp be consistent with scroll of taming and charm
|
||||||
spell: an angry shopkeeper becomes pacified (but never tamed)
|
spell: an angry shopkeeper becomes pacified (but never tamed)
|
||||||
wielding a bec de corbin makes ravens generate peaceful
|
wielding a bec de corbin makes ravens generate peaceful
|
||||||
|
moving with 'm' prefix allows hero to enter a known pit carefully
|
||||||
|
|
||||||
|
|
||||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
+7
-3
@@ -1557,6 +1557,7 @@ trapeffect_pit(
|
|||||||
boolean conj_pit = conjoined_pits(trap, t_at(u.ux0, u.uy0), TRUE);
|
boolean conj_pit = conjoined_pits(trap, t_at(u.ux0, u.uy0), TRUE);
|
||||||
boolean adj_pit = adj_nonconjoined_pit(trap);
|
boolean adj_pit = adj_nonconjoined_pit(trap);
|
||||||
boolean already_known = trap->tseen ? TRUE : FALSE;
|
boolean already_known = trap->tseen ? TRUE : FALSE;
|
||||||
|
boolean deliberate = FALSE;
|
||||||
int steed_article = ARTICLE_THE;
|
int steed_article = ARTICLE_THE;
|
||||||
int oldumort;
|
int oldumort;
|
||||||
|
|
||||||
@@ -1593,6 +1594,9 @@ trapeffect_pit(
|
|||||||
Sprintf(verbbuf, "lead %s",
|
Sprintf(verbbuf, "lead %s",
|
||||||
x_monnam(u.usteed, steed_article, "poor",
|
x_monnam(u.usteed, steed_article, "poor",
|
||||||
SUPPRESS_SADDLE, FALSE));
|
SUPPRESS_SADDLE, FALSE));
|
||||||
|
} else if (iflags.menu_requested && already_known) {
|
||||||
|
You("carefully %s into the pit.", u_locomotion("lower yourself"));
|
||||||
|
deliberate = TRUE;
|
||||||
} else if (conj_pit) {
|
} else if (conj_pit) {
|
||||||
You("move into an adjacent pit.");
|
You("move into an adjacent pit.");
|
||||||
} else if (adj_pit) {
|
} else if (adj_pit) {
|
||||||
@@ -1640,7 +1644,7 @@ trapeffect_pit(
|
|||||||
"killed while stuck in creature form" */
|
"killed while stuck in creature form" */
|
||||||
plunged
|
plunged
|
||||||
? "deliberately plunged into a pit of iron spikes"
|
? "deliberately plunged into a pit of iron spikes"
|
||||||
: conj_pit
|
: (conj_pit || deliberate)
|
||||||
? "stepped into a pit of iron spikes"
|
? "stepped into a pit of iron spikes"
|
||||||
: adj_pit
|
: adj_pit
|
||||||
? "stumbled into a pit of iron spikes"
|
? "stumbled into a pit of iron spikes"
|
||||||
@@ -1648,7 +1652,7 @@ trapeffect_pit(
|
|||||||
NO_KILLER_PREFIX);
|
NO_KILLER_PREFIX);
|
||||||
if (!rn2(6))
|
if (!rn2(6))
|
||||||
poisoned("spikes", A_STR,
|
poisoned("spikes", A_STR,
|
||||||
(conj_pit || adj_pit)
|
(conj_pit || adj_pit || deliberate)
|
||||||
? "stepping on poison spikes"
|
? "stepping on poison spikes"
|
||||||
: "fall onto poison spikes",
|
: "fall onto poison spikes",
|
||||||
/* if damage triggered life-saving,
|
/* if damage triggered life-saving,
|
||||||
@@ -1656,7 +1660,7 @@ trapeffect_pit(
|
|||||||
(u.umortality > oldumort) ? 0 : 8, FALSE);
|
(u.umortality > oldumort) ? 0 : 8, FALSE);
|
||||||
} else {
|
} else {
|
||||||
/* plunging flyers take spike damage but not pit damage */
|
/* plunging flyers take spike damage but not pit damage */
|
||||||
if (!conj_pit
|
if (!conj_pit && !deliberate
|
||||||
&& !(plunged && (Flying || is_clinger(g.youmonst.data))))
|
&& !(plunged && (Flying || is_clinger(g.youmonst.data))))
|
||||||
losehp(Maybe_Half_Phys(rnd(adj_pit ? 3 : 6)),
|
losehp(Maybe_Half_Phys(rnd(adj_pit ? 3 : 6)),
|
||||||
plunged ? "deliberately plunged into a pit"
|
plunged ? "deliberately plunged into a pit"
|
||||||
|
|||||||
Reference in New Issue
Block a user