summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r--crawl-ref/source/fight.cc12
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);