From ab576fe0fc7a7f7de3880e9abd6b5cc068a1c0d1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 5 Aug 2015 17:59:35 +0300 Subject: Add workaround for allow always npc script execution after warping. In hercules it not enabled because Gravity client have issue if warp to other map. --- src/emap/clif.c | 6 ++++++ src/emap/clif.h | 2 ++ src/emap/init.c | 1 + 3 files changed, 9 insertions(+) (limited to 'src') diff --git a/src/emap/clif.c b/src/emap/clif.c index 7651f09..c1aa1d4 100644 --- a/src/emap/clif.c +++ b/src/emap/clif.c @@ -375,3 +375,9 @@ void eclif_move(struct unit_data *ud) if (!sd || !pc_isinvisible(sd)) send_advmoving(ud, ud->bl, AREA_WOS); } + +void eclif_parse_LoadEndAck_pre(int *fdPtr __attribute__ ((unused)), + struct map_session_data *sd) +{ + sd->state.warp_clean = 0; +} diff --git a/src/emap/clif.h b/src/emap/clif.h index 5fd155b..4c706cf 100644 --- a/src/emap/clif.h +++ b/src/emap/clif.h @@ -22,5 +22,7 @@ void eclif_set_unit_idle_post(struct block_list* bl, TBL_PC *tsd, void eclif_set_unit_walking(struct block_list* bl, TBL_PC *tsd, struct unit_data* ud, enum send_target *target); void eclif_move(struct unit_data *ud); +void eclif_parse_LoadEndAck_pre(int *fdPtr, + struct map_session_data *sd); #endif // EVOL_MAP_CLIF diff --git a/src/emap/init.c b/src/emap/init.c index c74c441..31a7cfc 100644 --- a/src/emap/init.c +++ b/src/emap/init.c @@ -149,6 +149,7 @@ HPExport void plugin_init (void) addHookPre("clif->send", eclif_send); addHookPre("clif->set_unit_idle", eclif_set_unit_idle); addHookPre("clif->send_actual", eclif_send_actual); + addHookPre("clif->pLoadEndAck", eclif_parse_LoadEndAck_pre); addHookPre("itemdb->is_item_usable", eitemdb_is_item_usable); addHookPre("itemdb->readdb_additional_fields", eitemdb_readdb_additional_fields); addHookPre("unit->can_move", eunit_can_move); -- cgit v1.2.3-60-g2f50