OSDN Git Service

[Fix] 毒の沼のダメージ計算式バグを修正. / Fix calculation of poisonous puddle damage.
authordeskull <deskull@users.sourceforge.jp>
Tue, 16 Mar 2021 23:38:24 +0000 (08:38 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Tue, 16 Mar 2021 23:38:24 +0000 (08:38 +0900)
src/core/hp-mp-processor.cpp

index 17fb98f..ab865f5 100644 (file)
@@ -252,7 +252,7 @@ void process_player_hp_mp(player_type *creature_ptr)
         }
 
         if (damage) {
-            damage = calc_pois_damage_rate(creature_ptr) / 100;
+            damage *= (calc_pois_damage_rate(creature_ptr) / 100);
             if (creature_ptr->levitation)
                 damage = damage / 5;
 
@@ -265,13 +265,13 @@ void process_player_hp_mp(player_type *creature_ptr)
                         f_name + f_info[get_feat_mimic(&creature_ptr->current_floor_ptr->grid_array[creature_ptr->y][creature_ptr->x])].name),
                     -1);
                 if (!has_resist_pois(creature_ptr))
-                    (void)set_poisoned(creature_ptr, creature_ptr->poisoned + 1);
+                    (void)set_poisoned(creature_ptr, creature_ptr->poisoned + damage);
             } else {
                 concptr name = f_name + f_info[get_feat_mimic(&creature_ptr->current_floor_ptr->grid_array[creature_ptr->y][creature_ptr->x])].name;
                 msg_format(_("%sに毒された!", "The %s poisons you!"), name);
                 take_hit(creature_ptr, DAMAGE_NOESCAPE, damage, name, -1);
                 if (!has_resist_pois(creature_ptr))
-                    (void)set_poisoned(creature_ptr, creature_ptr->poisoned + 3);
+                    (void)set_poisoned(creature_ptr, creature_ptr->poisoned + damage);
             }
 
             cave_no_regen = TRUE;