- Fixed pets/homunc trying to be deleted twice when they had 0 intimacy and their master logs out.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9290 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
1c5fbb2231
commit
52d0596d42
@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
|||||||
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.
|
||||||
|
|
||||||
2006/11/21
|
2006/11/21
|
||||||
|
* Fixed pets/homunc trying to be deleted twice when they had 0 intimacy and
|
||||||
|
their master logs out. [Skotlex]
|
||||||
* Added support for specifying ammo type = 99 in the skill_require_db file,
|
* Added support for specifying ammo type = 99 in the skill_require_db file,
|
||||||
it can be used to specify that any kind of ammo can be used with the skill,
|
it can be used to specify that any kind of ammo can be used with the skill,
|
||||||
but you NEED to have ammo equipped. [Skotlex]
|
but you NEED to have ammo equipped. [Skotlex]
|
||||||
|
@ -1643,7 +1643,9 @@ int unit_remove_map(struct block_list *bl, int clrtype) {
|
|||||||
md->state.skillstate= MSS_IDLE;
|
md->state.skillstate= MSS_IDLE;
|
||||||
} else if (bl->type == BL_PET) {
|
} else if (bl->type == BL_PET) {
|
||||||
struct pet_data *pd = (struct pet_data*)bl;
|
struct pet_data *pd = (struct pet_data*)bl;
|
||||||
if(pd->pet.intimate <= 0) {
|
if(pd->pet.intimate <= 0 &&
|
||||||
|
!(pd->msd && pd->msd->state.waitingdisconnect)
|
||||||
|
) { //If logging out, this is deleted on unit_free
|
||||||
clif_clearchar_area(bl,clrtype);
|
clif_clearchar_area(bl,clrtype);
|
||||||
map_delblock(bl);
|
map_delblock(bl);
|
||||||
unit_free(bl,0);
|
unit_free(bl,0);
|
||||||
@ -1652,9 +1654,9 @@ int unit_remove_map(struct block_list *bl, int clrtype) {
|
|||||||
}
|
}
|
||||||
} else if (bl->type == BL_HOM) {
|
} else if (bl->type == BL_HOM) {
|
||||||
struct homun_data *hd = (struct homun_data *) bl;
|
struct homun_data *hd = (struct homun_data *) bl;
|
||||||
struct map_session_data *sd = hd->master;
|
if(!hd->homunculus.intimacy &&
|
||||||
if(!sd || !hd->homunculus.intimacy)
|
!(hd->master && hd->master->state.waitingdisconnect)
|
||||||
{ //He's going to be deleted.
|
) { //If logging out, this is deleted on unit_free
|
||||||
clif_emotion(bl, 28) ; //sob
|
clif_emotion(bl, 28) ; //sob
|
||||||
clif_clearchar_area(bl,clrtype);
|
clif_clearchar_area(bl,clrtype);
|
||||||
map_delblock(bl);
|
map_delblock(bl);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user