Corrected autospell stacking (#4227)

* Resolves an issue with autospell bonuses stacking too generously.
Thanks to @Playtester!
This commit is contained in:
Aleos 2019-07-03 10:15:26 -04:00 committed by GitHub
parent b49bc103fe
commit 32525bad55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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;
}
}