diff options
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 9e548b038..7a0fc67fa 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -29,6 +29,7 @@ #include "homunculus.h" #include "instance.h" #include "mercenary.h" +#include "elemental.h" #include "npc.h" // fake_nd #include "pet.h" // pet_unlocktarget() #include "party.h" // party_search() @@ -1213,7 +1214,9 @@ int pc_reg_received(struct map_session_data *sd) intif_homunculus_requestload(sd->status.account_id, sd->status.hom_id); if( sd->status.mer_id > 0 ) intif_mercenary_request(sd->status.mer_id, sd->status.char_id); - + if( sd->status.ele_id > 0 ) + intif_elemental_request(sd->status.ele_id, sd->status.char_id); + map_addiddb(&sd->bl); map_delnickdb(sd->status.char_id, sd->status.name); if (!chrif_auth_finished(sd)) @@ -6155,6 +6158,9 @@ void pc_damage(struct map_session_data *sd,struct block_list *src,unsigned int h if( sd->status.pet_id > 0 && sd->pd && battle_config.pet_damage_support ) pet_target_check(sd,src,1); + if( sd->status.ele_id > 0 ) + elemental_set_target(sd,src); + sd->canlog_tick = gettick(); } @@ -6189,6 +6195,9 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) if( sd->md ) merc_delete(sd->md, 3); // Your mercenary soldier has ran away. + if( sd->ed ) + elemental_delete(sd->ed, 0); + // Leave duel if you die [LuzZza] if(battle_config.duel_autoleave_when_die) { if(sd->duel_group > 0) |