summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
authorKevin <Kevin@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-27 07:18:21 +0000
committerKevin <Kevin@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-27 07:18:21 +0000
commit677598256feaad3bcef53805ad8c70e744a9b7d3 (patch)
tree3a4b061dc62ac53fbd80c1434990a47dca0d54d9 /src/map/pc.c
parentab60cf06afb586b106991b4b9848dd9c107ddec2 (diff)
downloadhercules-677598256feaad3bcef53805ad8c70e744a9b7d3.tar.gz
hercules-677598256feaad3bcef53805ad8c70e744a9b7d3.tar.bz2
hercules-677598256feaad3bcef53805ad8c70e744a9b7d3.tar.xz
hercules-677598256feaad3bcef53805ad8c70e744a9b7d3.zip
Some major changes to @reloaditemdb to allow unloading of any item while map server is running.
- Delete any item from inventory/cart/open storages that went missing during the reload. - Delete item from any shop that has this item. - Refresh item screen for anyone who has a shop open. - Delete mob db drop table references. - Delete item from storage during load if it isn't in the item db. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12661 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index 29dfd1b30..7d268a0f5 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -2965,11 +2965,12 @@ int pc_delitem(struct map_session_data *sd,int n,int amount,int type)
{
nullpo_retr(1, sd);
- if(sd->status.inventory[n].nameid==0 || amount <= 0 || sd->status.inventory[n].amount<amount || sd->inventory_data[n] == NULL)
+ if(sd->status.inventory[n].nameid==0 || amount <= 0 || sd->status.inventory[n].amount<amount || (sd->inventory_data[n] == NULL && ~type&4))
return 1;
sd->status.inventory[n].amount -= amount;
- sd->weight -= sd->inventory_data[n]->weight*amount ;
+ if(~type&4)
+ sd->weight -= sd->inventory_data[n]->weight*amount ;
if(sd->status.inventory[n].amount<=0){
if(sd->status.inventory[n].equip)
pc_unequipitem(sd,n,3);