Fixed rental items can be moved into guild storage from cart.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14083 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Inkfish 2009-10-06 02:24:10 +00:00
parent 115d6a3fd0
commit d9c5d83bda
5 changed files with 8 additions and 12 deletions

View File

@ -3,6 +3,8 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. 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. 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 09/10/02
* Fixed a damage underflow.(bugreport:3624) [Inkfish] * Fixed a damage underflow.(bugreport:3624) [Inkfish]
* Marionette Control now has an infinite duration.(bugreport:2542) [Inkfish] * Marionette Control now has an infinite duration.(bugreport:2542) [Inkfish]

View File

@ -12308,7 +12308,7 @@ void clif_parse_Auction_setitem(int fd, struct map_session_data *sd)
return; 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 { // Quest Item or something else
clif_Auction_setitem(sd->fd, idx, true); clif_Auction_setitem(sd->fd, idx, true);
return; return;

View File

@ -92,8 +92,6 @@ unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount)
return 1; return 1;
if( !pc_candrop(sd, &sd->status.inventory[idx]) ) if( !pc_candrop(sd, &sd->status.inventory[idx]) )
return 1; return 1;
if( sd->status.inventory[idx].expire_time )
return 1; // Rental System
sd->mail.index = idx; sd->mail.index = idx;
sd->mail.nameid = sd->status.inventory[idx].nameid; sd->mail.nameid = sd->status.inventory[idx].nameid;

View File

@ -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. 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)); clif_displaymessage (sd->fd, msg_txt(263));
return 0; 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 pc_candrop(struct map_session_data *sd,struct item *item)
{ {
int level = pc_isGM(sd); 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 0;
return (itemdb_isdropable(item, level)); return (itemdb_isdropable(item, level));
} }

View File

@ -398,7 +398,7 @@ int guild_storage_additem(struct map_session_data* sd, struct guild_storage* sto
if(item_data->nameid <= 0 || amount <= 0) if(item_data->nameid <= 0 || amount <= 0)
return 1; 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] { //Check if item is storable. [Skotlex]
clif_displaymessage (sd->fd, msg_txt(264)); clif_displaymessage (sd->fd, msg_txt(264));
return 1; 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 ) if( amount < 1 || amount > sd->status.inventory[index].amount )
return 0; return 0;
if( sd->status.inventory[index].expire_time )
return 0;
// log_tostorage(sd, index, 1); // log_tostorage(sd, index, 1);
if(guild_storage_additem(sd,stor,&sd->status.inventory[index],amount)==0) if(guild_storage_additem(sd,stor,&sd->status.inventory[index],amount)==0)
pc_delitem(sd,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 ) if( amount < 1 || amount > sd->status.cart[index].amount )
return 0; return 0;
if( sd->status.inventory[index].expire_time )
return 0;
if(guild_storage_additem(sd,stor,&sd->status.cart[index],amount)==0) if(guild_storage_additem(sd,stor,&sd->status.cart[index],amount)==0)
pc_cart_delitem(sd,index,amount,0); pc_cart_delitem(sd,index,amount,0);