diff options
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 8 |
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); |