summaryrefslogtreecommitdiff
path: root/src/map/script.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/script.c')
-rw-r--r--src/map/script.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/map/script.c b/src/map/script.c
index 135b200b0..70b049fd1 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -6436,7 +6436,7 @@ BUILDIN_FUNC(successrefitem)
log_pick_pc(sd, "N", sd->status.inventory[i].nameid, -1, &sd->status.inventory[i]);
sd->status.inventory[i].refine++;
- pc_unequipitem(sd,i,2); // status calc will happen in pc_equipitem() below
+ pc_unequipitem(sd,i,2|4); // status calc will happen in pc_equipitem() below
clif_refine(sd->fd,0,i,sd->status.inventory[i].refine);
clif_delitem(sd,i,1);
@@ -6638,6 +6638,8 @@ BUILDIN_FUNC(autobonus)
return 0;
if( sd->state.autobonus&sd->status.inventory[current_equip_item_index].equip )
return 0;
+ if( sd->state.script_parsed&sd->status.inventory[current_equip_item_index].equip )
+ return 0;
bonus_script = parse_script(script_getstr(st,2), "autobonus bonus", 0, 0);
rate = script_getnum(st,3);
@@ -6678,6 +6680,8 @@ BUILDIN_FUNC(autobonus2)
return 0;
if( sd->state.autobonus&sd->status.inventory[current_equip_item_index].equip )
return 0;
+ if( sd->state.script_parsed&sd->status.inventory[current_equip_item_index].equip )
+ return 0;
bonus_script = parse_script(script_getstr(st,2), "autobonus bonus", 0, 0);
rate = script_getnum(st,3);
@@ -6717,6 +6721,8 @@ BUILDIN_FUNC(autobonus3)
return 0;
if( sd->state.autobonus&sd->status.inventory[current_equip_item_index].equip )
return 0;
+ if( sd->state.script_parsed&sd->status.inventory[current_equip_item_index].equip )
+ return 0;
bonus_script = parse_script(script_getstr(st,2), "autobonus bonus", 0, 0);
rate = script_getnum(st,3);