Half_physical_damage 06

- [fixed in trunk] Alchemical explosion
- [fixed in trunk] Artifacts' blasting
- [fixed in trunk] Boiling/freezing potions
- [fixed in trunk] Chest/door/tin traps
- [fixed in trunk] Falling rocks/boulders (trap, digging, scroll of earth)
- [fixed in trunk] Mixing water and acid
- [fixed in trunk] Thrown potion (acid)

This is my last patch on this today.
This commit is contained in:
nethack.allison
2003-10-22 03:02:11 +00:00
parent cdf982e478
commit 8467ab1515
14 changed files with 36 additions and 28 deletions

View File

@@ -276,7 +276,7 @@ int curse_bless;
if (is_on) Ring_gone(obj);
s = rnd(3 * abs(obj->spe)); /* amount of damage */
useup(obj);
losehp(s, "exploding ring", KILLED_BY_AN);
losehp(Maybe_Half_Phys(s), "exploding ring", KILLED_BY_AN);
} else {
long mask = is_on ? (obj == uleft ? LEFT_RING :
RIGHT_RING) : 0L;
@@ -1143,7 +1143,8 @@ register struct obj *sobj;
} else {
pline_The("scroll catches fire and you burn your %s.",
makeplural(body_part(HAND)));
losehp(1, "scroll of fire", KILLED_BY_AN);
losehp(Half_physical_damage ? rn2(2) : 1,
"scroll of fire", KILLED_BY_AN);
}
return(1);
}
@@ -1268,7 +1269,8 @@ register struct obj *sobj;
stackobj(otmp2);
newsym(u.ux, u.uy);
}
if (dmg) losehp(dmg, "scroll of earth", KILLED_BY_AN);
if (dmg) losehp(Maybe_Half_Phys(dmg), "scroll of earth",
KILLED_BY_AN);
}
}
break;
@@ -1310,10 +1312,12 @@ STATIC_OVL void
wand_explode(obj)
register struct obj *obj;
{
int vibration_dmg;
obj->in_use = TRUE; /* in case losehp() is fatal */
pline("%s vibrates violently, and explodes!", Yname2(obj));
nhbell();
losehp(rnd(2*(u.uhpmax+1)/3), "exploding wand", KILLED_BY_AN);
vibration_dmg = rnd(2*(u.uhpmax+1)/3);
losehp(Maybe_Half_Phys(vibration_dmg), "exploding wand", KILLED_BY_AN);
useup(obj);
exercise(A_STR, FALSE);
}