summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c5
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;
}
}