diff options
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r-- | crawl-ref/source/fight.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 46901757a6..d6ae6ad37e 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -1652,7 +1652,10 @@ void melee_attack::player_weapon_auto_id() int melee_attack::player_stab_weapon_bonus(int damage) { if (weapon && weapon->base_type == OBJ_WEAPONS - && (weapon->sub_type == WPN_CLUB || weapon->sub_type == WPN_SPEAR)) + && (weapon->sub_type == WPN_CLUB + || weapon->sub_type == WPN_SPEAR + || weapon->sub_type == WPN_TRIDENT + || weapon->sub_type == WPN_DEMON_TRIDENT)) { goto ok_weaps; } @@ -2158,6 +2161,8 @@ static bool is_boolean_resist(beam_type flavour) case BEAM_ELECTRICITY: case BEAM_MIASMA: // rotting case BEAM_NAPALM: + case BEAM_WATER: // water asphyxiation damage, + // bypassed by being water inhabitant. return (true); default: return (false); @@ -2170,6 +2175,11 @@ static inline int get_resistible_fraction(beam_type flavour) { switch (flavour) { + // Drowning damage from water is resistible by being a water thing, or + // otherwise asphyx resistant. + case BEAM_WATER: + return (40); + // Assume ice storm and throw icicle are mostly solid. case BEAM_ICE: return (25); |