diff options
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 6d59c1897..d524a5766 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1279,7 +1279,7 @@ static int pc_bonus_autospell_del(struct s_autospell *spell, int max, short id, spell[j].id = id; spell[j].lv = lv; spell[j].rate = -rate; - spell[j].card_id = 0; + spell[j].card_id = card_id; } return rate; } @@ -1291,13 +1291,12 @@ static int pc_bonus_autospell(struct s_autospell *spell, int max, short id, shor pc_bonus_autospell_del(spell, max, id, lv, -rate, card_id); for (i = 0; i < max && spell[i].id; i++) { - if ((spell[i].card_id == card_id || !spell[i].card_id) && + if ((spell[i].card_id == card_id || spell[i].rate < 0) && spell[i].id == id && spell[i].lv == lv) { if (!battle_config.autospell_stacking && spell[i].rate > 0) return 0; rate += spell[i].rate; - if (rate < 0) card_id = 0; //Reduced from debted autospell. break; } } |