summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMadCamel <madcamel@gmail.com>2010-02-11 05:52:53 -0500
committerMadCamel <madcamel@gmail.com>2010-02-11 05:52:53 -0500
commit7cdb11d39853378de56ae80479eb3c1dd0698d9f (patch)
tree8694ee68b819dedd55e997f28356c0e52d96429b
parent6de929250ffa57f0dee45b90c53c1a5eae4de5c3 (diff)
downloadtmwa-7cdb11d39853378de56ae80479eb3c1dd0698d9f.tar.gz
tmwa-7cdb11d39853378de56ae80479eb3c1dd0698d9f.tar.bz2
tmwa-7cdb11d39853378de56ae80479eb3c1dd0698d9f.tar.xz
tmwa-7cdb11d39853378de56ae80479eb3c1dd0698d9f.zip
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.
-rw-r--r--src/map/pc.c2
-rw-r--r--src/map/storage.c2
-rw-r--r--src/map/trade.c2
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