Half_physical_damage 05
- [fixed in trunk] Jumping/Newton's-Thirding into something solid - [fixed in trunk] Being hit by Mjollnir on the return - [fixed in trunk] Contaminated or boiling water from a sink - [fixed in trunk] Falling on a sink while levitating - [fixed in trunk, fire only] Any passive attack - [fixed in trunk] Zapping yourself with a wand, horn or spell - [fixed in trunk] Burning (un)holy water - [fixed in trunk] Thrown potion (bottle) - [fixed in trunk] Bumping head on ceiling by cursed levitation - [fixed in trunk] Exploding rings and wands (under all circumstances) - [fixed in trunk] Stinking cloud damage - [fixed in trunk] Sitting in a spiked pit, in lava - [fixed in trunk] Exploding spellbooks - [fixed in trunk] Falling off or failing to mount a steed - [fixed in trunk] Falling into a (spiked) pit - [fixed in trunk] Land mine explosion - [fixed in trunk] Fire traps
This commit is contained in:
@@ -453,6 +453,7 @@ hurtle_step(arg, x, y)
|
||||
struct monst *mon;
|
||||
boolean may_pass = TRUE;
|
||||
struct trap *ttmp;
|
||||
int dmg = 0;
|
||||
|
||||
if (!isok(x,y)) {
|
||||
You_feel("the spirits holding you back.");
|
||||
@@ -474,23 +475,28 @@ hurtle_step(arg, x, y)
|
||||
s = "bumping into a wall";
|
||||
else
|
||||
s = "bumping into a door";
|
||||
losehp(rnd(2+*range), s, KILLED_BY);
|
||||
dmg = rnd(2+*range);
|
||||
losehp(Maybe_Half_Phys(dmg), s, KILLED_BY);
|
||||
return FALSE;
|
||||
}
|
||||
if (levl[x][y].typ == IRONBARS) {
|
||||
You("crash into some iron bars. Ouch!");
|
||||
losehp(rnd(2+*range), "crashing into iron bars", KILLED_BY);
|
||||
dmg = rnd(2+*range);
|
||||
losehp(Maybe_Half_Phys(dmg), "crashing into iron bars", KILLED_BY);
|
||||
return FALSE;
|
||||
}
|
||||
if ((obj = sobj_at(BOULDER,x,y)) != 0) {
|
||||
You("bump into a %s. Ouch!", xname(obj));
|
||||
losehp(rnd(2+*range), "bumping into a boulder", KILLED_BY);
|
||||
dmg = rnd(2+*range);
|
||||
losehp(Maybe_Half_Phys(dmg), "bumping into a boulder", KILLED_BY);
|
||||
return FALSE;
|
||||
}
|
||||
if (!may_pass) {
|
||||
/* did we hit a no-dig non-wall position? */
|
||||
You("smack into something!");
|
||||
losehp(rnd(2+*range), "touching the edge of the universe", KILLED_BY);
|
||||
dmg = rnd(2+*range);
|
||||
losehp(Maybe_Half_Phys(dmg), "touching the edge of the universe",
|
||||
KILLED_BY);
|
||||
return FALSE;
|
||||
}
|
||||
if ((u.ux - x) && (u.uy - y) &&
|
||||
@@ -500,7 +506,9 @@ hurtle_step(arg, x, y)
|
||||
if (bigmonst(youmonst.data) || too_much) {
|
||||
You("%sget forcefully wedged into a crevice.",
|
||||
too_much ? "and all your belongings " : "");
|
||||
losehp(rnd(2+*range), "wedging into a narrow crevice", KILLED_BY);
|
||||
dmg = rnd(2+*range);
|
||||
losehp(Maybe_Half_Phys(dmg), "wedging into a narrow crevice",
|
||||
KILLED_BY);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
@@ -1048,7 +1056,7 @@ boolean twoweap; /* used to restore twoweapon mode if wielded weapon returns */
|
||||
body_part(ARM));
|
||||
(void) artifact_hit((struct monst *)0,
|
||||
&youmonst, obj, &dmg, 0);
|
||||
losehp(dmg, xname(obj),
|
||||
losehp(Maybe_Half_Phys(dmg), xname(obj),
|
||||
obj_is_pname(obj) ? KILLED_BY : KILLED_BY_AN);
|
||||
}
|
||||
if (ship_object(obj, u.ux, u.uy, FALSE)) {
|
||||
|
||||
Reference in New Issue
Block a user