diff --git a/src/map/status.c b/src/map/status.c index bec04d6682..f59375c692 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1702,6 +1702,8 @@ int status_calc_pc(struct map_session_data* sd,int first) sd->state.lr_flag = 2; run_script(sd->inventory_data[index]->script,0,sd->bl.id,0); sd->state.lr_flag = 0; + if (!calculating) //Abort, run_script retriggered status_calc_pc. [Skotlex] + return 1; sd->arrow_atk += sd->inventory_data[index]->atk; } } diff --git a/src/map/trade.c b/src/map/trade.c index 1e0486356e..b9c142332c 100644 --- a/src/map/trade.c +++ b/src/map/trade.c @@ -324,9 +324,6 @@ void trade_tradeadditem(struct map_session_data *sd, int index, int amount) { if (amount < 0 || amount > sd->status.inventory[index].amount) return; - if (sd->status.inventory[index].equip) - return; //must not be able to trade equipped items. - nameid = sd->inventory_data[index]->nameid; if (!itemdb_cantrade(nameid, pc_isGM(sd), pc_isGM(target_sd)) && //Can't trade