Ver Fonte

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
Inkfish há 15 anos atrás
pai
commit
d9c5d83bda
5 ficheiros alterados com 8 adições e 12 exclusões
  1. 2 0
      Changelog-Trunk.txt
  2. 1 1
      src/map/clif.c
  3. 0 2
      src/map/mail.c
  4. 4 2
      src/map/pc.c
  5. 1 7
      src/map/storage.c

+ 2 - 0
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]

+ 1 - 1
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;

+ 0 - 2
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;

+ 4 - 2
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));
 }

+ 1 - 7
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);