summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c11
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)