From c15f0c1f8c2b2552d3e697446a5b1e7b57ac642c Mon Sep 17 00:00:00 2001 From: Lance Date: Sun, 7 May 2006 01:27:29 +0000 Subject: * Optimized clif.c clif_scriptmenu/input/inputstr to check for sd->state.using_fake_npc before sending one (as it's not required to send twice). * Reinitialize sd->state.using_fake_npc in clif_parse_LoadEndAck (for scripts that warps players and still continues execution to work). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6509 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/map/clif.c b/src/map/clif.c index f95c9aec0..0d0f0d017 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1821,9 +1821,9 @@ int clif_scriptmenu(struct map_session_data *sd, int npcid, char *mes) { nullpo_retr(0, sd); - if (bl->type == BL_PC || bl->m!=sd->bl.m || + if (!sd->state.using_fake_npc && (bl->type == BL_PC || bl->m!=sd->bl.m || bl->xbl.x-AREA_SIZE-1 || bl->x>sd->bl.x+AREA_SIZE+1 || - bl->ybl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1) + bl->ybl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1)) clif_sendfakenpc(sd, npcid); fd=sd->fd; @@ -1846,9 +1846,9 @@ int clif_scriptinput(struct map_session_data *sd, int npcid) { nullpo_retr(0, sd); - if (bl->type == BL_PC || bl->m!=sd->bl.m || + if (!sd->state.using_fake_npc && (bl->type == BL_PC || bl->m!=sd->bl.m || bl->xbl.x-AREA_SIZE-1 || bl->x>sd->bl.x+AREA_SIZE+1 || - bl->ybl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1) + bl->ybl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1)) clif_sendfakenpc(sd, npcid); fd=sd->fd; @@ -1870,9 +1870,9 @@ int clif_scriptinputstr(struct map_session_data *sd, int npcid) { nullpo_retr(0, sd); - if (bl->type == BL_PC || bl->m!=sd->bl.m || + if (!sd->state.using_fake_npc && (bl->type == BL_PC || bl->m!=sd->bl.m || bl->xbl.x-AREA_SIZE-1 || bl->x>sd->bl.x+AREA_SIZE+1 || - bl->ybl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1) + bl->ybl.y-AREA_SIZE-1 || bl->y>sd->bl.y+AREA_SIZE+1)) clif_sendfakenpc(sd, npcid); fd=sd->fd; @@ -8133,6 +8133,8 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd) if(sd->status.party_id) clif_party_hp(sd); + sd->state.using_fake_npc = 0; + // pvp //if(sd->pvp_timer!=-1 && !battle_config.pk_mode) /PVP Client crash fix* Removed timer deletion // delete_timer(sd->pvp_timer,pc_calc_pvprank_timer); -- cgit v1.2.3-70-g09d2