diff options
Diffstat (limited to 'src/map/mercenary.c')
-rw-r--r-- | src/map/mercenary.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/map/mercenary.c b/src/map/mercenary.c index e324ec7ab..dc49f5e21 100644 --- a/src/map/mercenary.c +++ b/src/map/mercenary.c @@ -129,8 +129,7 @@ int merc_delete(struct mercenary_data *md, int reply) struct map_session_data *sd = md->master; md->mercenary.remain_life_time = 0; - if( md->contract_timer != INVALID_TIMER ) - delete_timer(md->contract_timer, merc_contract_end); + merc_contract_stop(md); if( !sd ) return unit_free(&md->bl, 1); @@ -197,6 +196,7 @@ int merc_data_received(struct s_mercenary *merc, bool flag) map_addiddb(&md->bl); status_calc_mercenary(md,1); md->contract_timer = INVALID_TIMER; + merc_contract_init(md); } else memcpy(&sd->md->mercenary, merc, sizeof(struct s_mercenary)); @@ -208,7 +208,6 @@ int merc_data_received(struct s_mercenary *merc, bool flag) clif_spawn(&md->bl); clif_mercenary_info(sd); clif_mercenary_skillblock(sd); - merc_contract_init(md); } return 1; |