Browse Source

Fix missing pet egg checks (#5029)

Fixes #5024
SeravySensei 5 years ago
parent
commit
cd0937c468
3 changed files with 7 additions and 1 deletions
  1. 1 1
      src/map/clif.cpp
  2. 3 0
      src/map/skill.cpp
  3. 3 0
      src/map/storage.cpp

+ 1 - 1
src/map/clif.cpp

@@ -6813,7 +6813,7 @@ void clif_item_repair_list(struct map_session_data *sd,struct map_session_data *
 	WFIFOW(fd,0)=0x1fc;
 	for(i=c=0;i<MAX_INVENTORY;i++){
 		unsigned short nameid;
-		if((nameid=dstsd->inventory.u.items_inventory[i].nameid) > 0 && dstsd->inventory.u.items_inventory[i].attribute!=0){// && skill_can_repair(sd,nameid)){
+		if((nameid=dstsd->inventory.u.items_inventory[i].nameid) > 0 && dstsd->inventory.u.items_inventory[i].attribute!=0 && (!itemdb_ishatched_egg(&dstsd->inventory.u.items_inventory[i]))) 	{// && skill_can_repair(sd,nameid)){
 			WFIFOW(fd,c*13+4) = i;
 			WFIFOW(fd,c*13+6) = nameid;
 			WFIFOB(fd,c*13+8) = dstsd->inventory.u.items_inventory[i].refine;

+ 3 - 0
src/map/skill.cpp

@@ -17500,6 +17500,9 @@ void skill_repairweapon(struct map_session_data *sd, int idx) {
 	if( !item->nameid || !item->attribute )
 		return; //Again invalid item....
 
+	if (itemdb_ishatched_egg(item))
+		return;
+
 	if (sd != target_sd && !battle_check_range(&sd->bl, &target_sd->bl, skill_get_range2(&sd->bl, sd->menuskill_id, sd->menuskill_val2, true))) {
 		clif_item_repaireffect(sd, idx, 1);
 		return;

+ 3 - 0
src/map/storage.cpp

@@ -920,6 +920,9 @@ void storage_guild_storageadd(struct map_session_data* sd, int index, int amount
 	if( amount < 1 || amount > sd->inventory.u.items_inventory[index].amount )
 		return;
 
+	if (itemdb_ishatched_egg(&sd->inventory.u.items_inventory[index]))
+		return;
+
 	if( stor->lock ) {
 		storage_guild_storageclose(sd);
 		return;