U1270 - monster evading kick produces a teleport message in Sokoban
This time, it was just the message that was incorrect. Added a !level.flags.noteleport check before displaying "teleports".
This commit is contained in:
@@ -81,6 +81,7 @@ adding more candles than required to total 7 to a candelabrum which
|
|||||||
already had between 1 and 6 gave an ungrammatical message
|
already had between 1 and 6 gave an ungrammatical message
|
||||||
give correct message when a spellcasting monster summons other monsters
|
give correct message when a spellcasting monster summons other monsters
|
||||||
correct experience calculation for monsters that cause nonphysical damage
|
correct experience calculation for monsters that cause nonphysical damage
|
||||||
|
monsters evading a kick on noteleport levels would cause a "teleports" message
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+22
-21
@@ -201,30 +201,31 @@ doit:
|
|||||||
mon->data->mlet != S_EEL && haseyes(mon->data) && mon->mcanmove &&
|
mon->data->mlet != S_EEL && haseyes(mon->data) && mon->mcanmove &&
|
||||||
!mon->mstun && !mon->mconf && !mon->msleeping &&
|
!mon->mstun && !mon->mconf && !mon->msleeping &&
|
||||||
mon->data->mmove >= 12) {
|
mon->data->mmove >= 12) {
|
||||||
if(!nohands(mon->data) && !rn2(martial() ? 5 : 3)) {
|
if(!nohands(mon->data) && !rn2(martial() ? 5 : 3)) {
|
||||||
pline("%s blocks your %skick.", Monnam(mon),
|
pline("%s blocks your %skick.", Monnam(mon),
|
||||||
clumsy ? "clumsy " : "");
|
clumsy ? "clumsy " : "");
|
||||||
|
(void) passive(mon, FALSE, 1, AT_KICK, FALSE);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
mnexto(mon);
|
||||||
|
if(mon->mx != x || mon->my != y) {
|
||||||
|
if(glyph_is_invisible(levl[x][y].glyph)) {
|
||||||
|
unmap_object(x, y);
|
||||||
|
newsym(x, y);
|
||||||
|
}
|
||||||
|
pline("%s %s, %s evading your %skick.", Monnam(mon),
|
||||||
|
(!level.flags.noteleport && can_teleport(mon->data)) ?
|
||||||
|
"teleports" :
|
||||||
|
is_floater(mon->data) ? "floats" :
|
||||||
|
is_flyer(mon->data) ? "swoops" :
|
||||||
|
(nolimbs(mon->data) || slithy(mon->data)) ?
|
||||||
|
"slides" : "jumps",
|
||||||
|
clumsy ? "easily" : "nimbly",
|
||||||
|
clumsy ? "clumsy " : "");
|
||||||
(void) passive(mon, FALSE, 1, AT_KICK, FALSE);
|
(void) passive(mon, FALSE, 1, AT_KICK, FALSE);
|
||||||
return;
|
return;
|
||||||
} else {
|
|
||||||
mnexto(mon);
|
|
||||||
if(mon->mx != x || mon->my != y) {
|
|
||||||
if(glyph_is_invisible(levl[x][y].glyph)) {
|
|
||||||
unmap_object(x, y);
|
|
||||||
newsym(x, y);
|
|
||||||
}
|
|
||||||
pline("%s %s, %s evading your %skick.", Monnam(mon),
|
|
||||||
(can_teleport(mon->data) ? "teleports" :
|
|
||||||
is_floater(mon->data) ? "floats" :
|
|
||||||
is_flyer(mon->data) ? "swoops" :
|
|
||||||
(nolimbs(mon->data) || slithy(mon->data)) ?
|
|
||||||
"slides" : "jumps"),
|
|
||||||
clumsy ? "easily" : "nimbly",
|
|
||||||
clumsy ? "clumsy " : "");
|
|
||||||
(void) passive(mon, FALSE, 1, AT_KICK, FALSE);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
kickdmg(mon, clumsy);
|
kickdmg(mon, clumsy);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user