Skip to content
Permalink
Browse files
Corrected autospell stacking (#4227)
* Resolves an issue with autospell bonuses stacking too generously.
Thanks to @Playtester!
  • Loading branch information
aleos89 committed Jul 3, 2019
1 parent b49bc10 commit 32525bad55cc5b715f2ad259b6310560089028ed
Showing with 5 additions and 7 deletions.
  1. +5 −7 src/map/pc.cpp
@@ -2301,14 +2301,12 @@ static void pc_bonus_autospell(std::vector<s_autospell> &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;
}
}

0 comments on commit 32525ba

Please sign in to comment.