@@ -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;
}
@@ -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