From 7cdb11d39853378de56ae80479eb3c1dd0698d9f Mon Sep 17 00:00:00 2001 From: MadCamel Date: Thu, 11 Feb 2010 05:52:53 -0500 Subject: Re-calculate player stats when an equipped item is removed. This fixes the issue where a player could drop/trade/store an equipped item and still retain it's attack/def/etc buffs. --- src/map/pc.c | 2 +- src/map/storage.c | 2 +- src/map/trade.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/map/pc.c b/src/map/pc.c index 9741852..20db3fe 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3516,7 +3516,7 @@ int pc_dropitem (struct map_session_data *sd, int n, int amount) if (amount <= 0) return 0; - pc_unequipinvyitem (sd, n, 1); + pc_unequipinvyitem (sd, n, 0); if (sd->status.inventory[n].nameid <= 0 || sd->status.inventory[n].amount < amount || diff --git a/src/map/storage.c b/src/map/storage.c index e717ba2..9a3f366 100644 --- a/src/map/storage.c +++ b/src/map/storage.c @@ -270,7 +270,7 @@ int storage_storageadd (struct map_session_data *sd, int index, int amount) if (storage_additem (sd, stor, &sd->status.inventory[index], amount) == 0) { // remove item from inventory - pc_unequipinvyitem (sd, index, 1); + pc_unequipinvyitem (sd, index, 0); pc_delitem (sd, index, amount, 0); } diff --git a/src/map/trade.c b/src/map/trade.c index a62677d..0f21648 100644 --- a/src/map/trade.c +++ b/src/map/trade.c @@ -181,7 +181,7 @@ void trade_tradeadditem (struct map_session_data *sd, int index, int amount) return; } } - pc_unequipinvyitem (sd, index - 2, 1); + pc_unequipinvyitem (sd, index - 2, 0); sd->deal_item_index[trade_i] = index; sd->deal_item_amount[trade_i] += amount; clif_tradeitemok (sd, index, amount, 0); //success to add item -- cgit v1.2.3-60-g2f50