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:
12
src/read.c
12
src/read.c
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user