diff --git a/src/map/pc.cpp b/src/map/pc.cpp index ad37542351..608e7d3e66 100755 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -2301,14 +2301,12 @@ static void pc_bonus_autospell(std::vector &spell, short id, short flag |= BF_NORMAL; //By default autospells should only trigger on normal weapon attacks. } - if (!battle_config.autospell_stacking && rate > 0) // Stacking disabled, make a new entry - ; - else { - for (auto &it : spell) { - if ((it.card_id == card_id || it.rate < 0 || rate < 0) && it.id == id && it.lv == lv && it.flag == flag) { - it.rate = cap_value(it.rate + rate, -10000, 10000); + for (auto &it : spell) { + if ((it.card_id == card_id || it.rate < 0 || rate < 0) && it.id == id && it.lv == lv && it.flag == flag) { + if (!battle_config.autospell_stacking && it.rate > 0 && rate > 0) // Stacking disabled return; - } + it.rate = cap_value(it.rate + rate, -10000, 10000); + return; } }