summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/map/pet.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index f682296a5..9eac71ffe 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -5,6 +5,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
2006/03/24
+ * Small change that SHOULD fix the pet duplication issue. [Skotlex]
* Fixed Warp Portal. [Skotlex]
* Modified script commands atcommand/charcommand to execute even if there
isn't a player attached. They'll use a dummy player data with the same
diff --git a/src/map/pet.c b/src/map/pet.c
index 67049d271..67d457e55 100644
--- a/src/map/pet.c
+++ b/src/map/pet.c
@@ -379,6 +379,7 @@ int pet_return_egg(struct map_session_data *sd)
if(battle_config.pet_status_support && sd->pet.intimate > 0)
status_calc_pc(sd,0);
memset(&sd->pet, 0, sizeof(struct s_pet));
+ sd->status.pet_id = 0;
sd->pet.incuvate = 1;
sd->petDB = NULL;
}
@@ -512,6 +513,8 @@ int pet_recv_petdata(int account_id,struct s_pet *p,int flag)
if (battle_config.error_log)
ShowError("pet_recv_petdata: Hatching pet (%d:%s) aborted, couldn't find egg in inventory for removal!\n",p->pet_id, p->name);
sd->status.pet_id = 0;
+ memset(&sd->pet,0,sizeof(struct s_pet));
+ sd->pet.incuvate = 1;
return 1;
}
if (!pet_birth_process(sd)) //Pet hatched. Delete egg.