summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-10-06 02:24:10 +0000
committerInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-10-06 02:24:10 +0000
commit452a0b793b0cdc3b16cfc0738926ade4322bda53 (patch)
tree287e6faff29b4f02b80bf176b43991f43e7b41c0
parent37a78d0554f4a66793aa2f20694b8716a56b3c25 (diff)
downloadhercules-452a0b793b0cdc3b16cfc0738926ade4322bda53.tar.gz
hercules-452a0b793b0cdc3b16cfc0738926ade4322bda53.tar.bz2
hercules-452a0b793b0cdc3b16cfc0738926ade4322bda53.tar.xz
hercules-452a0b793b0cdc3b16cfc0738926ade4322bda53.zip
Fixed rental items can be moved into guild storage from cart.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14083 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/map/clif.c2
-rw-r--r--src/map/mail.c2
-rw-r--r--src/map/pc.c6
-rw-r--r--src/map/storage.c8
5 files changed, 8 insertions, 12 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index adb8a73d7..624bd3b01 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,8 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+09/10/06
+ * Fixed rental items can be moved into guild storage from cart. [Inkfish]
09/10/02
* Fixed a damage underflow.(bugreport:3624) [Inkfish]
* Marionette Control now has an infinite duration.(bugreport:2542) [Inkfish]
diff --git a/src/map/clif.c b/src/map/clif.c
index a9df439c7..ddda47612 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -12308,7 +12308,7 @@ void clif_parse_Auction_setitem(int fd, struct map_session_data *sd)
return;
}
- if( !pc_candrop(sd, &sd->status.inventory[idx]) || !sd->status.inventory[idx].identify || sd->status.inventory[idx].expire_time )
+ if( !pc_candrop(sd, &sd->status.inventory[idx]) || !sd->status.inventory[idx].identify )
{ // Quest Item or something else
clif_Auction_setitem(sd->fd, idx, true);
return;
diff --git a/src/map/mail.c b/src/map/mail.c
index 072368838..2b0dcb3cb 100644
--- a/src/map/mail.c
+++ b/src/map/mail.c
@@ -92,8 +92,6 @@ unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount)
return 1;
if( !pc_candrop(sd, &sd->status.inventory[idx]) )
return 1;
- if( sd->status.inventory[idx].expire_time )
- return 1; // Rental System
sd->mail.index = idx;
sd->mail.nameid = sd->status.inventory[idx].nameid;
diff --git a/src/map/pc.c b/src/map/pc.c
index 27e8576aa..4a1ecafbe 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -3334,7 +3334,7 @@ int pc_dropitem(struct map_session_data *sd,int n,int amount)
return 0; //Can't drop items in nodrop mapflag maps.
}
- if( !pc_candrop(sd,&sd->status.inventory[n]) || sd->status.inventory[n].expire_time )
+ if( !pc_candrop(sd,&sd->status.inventory[n]) )
{
clif_displaymessage (sd->fd, msg_txt(263));
return 0;
@@ -6377,7 +6377,9 @@ int pc_setriding(TBL_PC* sd, int flag)
int pc_candrop(struct map_session_data *sd,struct item *item)
{
int level = pc_isGM(sd);
- if ( !pc_can_give_items(level) ) //check if this GM level can drop items
+ if( item && item->expire_time )
+ return 0;
+ if( !pc_can_give_items(level) ) //check if this GM level can drop items
return 0;
return (itemdb_isdropable(item, level));
}
diff --git a/src/map/storage.c b/src/map/storage.c
index 670069915..305d90d69 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -398,7 +398,7 @@ int guild_storage_additem(struct map_session_data* sd, struct guild_storage* sto
if(item_data->nameid <= 0 || amount <= 0)
return 1;
- if (!itemdb_canguildstore(item_data, pc_isGM(sd)))
+ if( !itemdb_canguildstore(item_data, pc_isGM(sd)) || item_data->expire_time )
{ //Check if item is storable. [Skotlex]
clif_displaymessage (sd->fd, msg_txt(264));
return 1;
@@ -475,9 +475,6 @@ int storage_guild_storageadd(struct map_session_data* sd, int index, int amount)
if( amount < 1 || amount > sd->status.inventory[index].amount )
return 0;
- if( sd->status.inventory[index].expire_time )
- return 0;
-
// log_tostorage(sd, index, 1);
if(guild_storage_additem(sd,stor,&sd->status.inventory[index],amount)==0)
pc_delitem(sd,index,amount,0);
@@ -533,9 +530,6 @@ int storage_guild_storageaddfromcart(struct map_session_data* sd, int index, int
if( amount < 1 || amount > sd->status.cart[index].amount )
return 0;
- if( sd->status.inventory[index].expire_time )
- return 0;
-
if(guild_storage_additem(sd,stor,&sd->status.cart[index],amount)==0)
pc_cart_delitem(sd,index,amount,0);