From 799bf63466ea72d0fa3debf5db9fd4c06146b8f3 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 15 Mar 2016 16:27:33 +0300 Subject: Hide area packets from hidden players/gms. --- src/map/clif.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/map/clif.c b/src/map/clif.c index 988e821e7..877a723fd 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -419,8 +419,14 @@ bool clif_send(const void* buf, int len, struct block_list* bl, enum send_target sd = BL_CAST(BL_PC, bl); - switch(type) { + if (sd != NULL && pc_isinvisible(sd)) { + if (type == AREA || type == BG || type == BG_AREA) + type = SELF; + else if (type == AREA_WOS || type == BG_WOS || type == BG_AREA_WOS) + return true; + } + switch(type) { case ALL_CLIENT: //All player clients. iter = mapit_getallusers(); while ((tsd = BL_UCAST(BL_PC, mapit->next(iter))) != NULL) { -- cgit v1.2.3-60-g2f50 From 8a95ae140fc41fb008968b305d552002587dfc29 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 4 Feb 2018 00:23:41 +0300 Subject: Send out of sight packet before hiding player. --- src/map/atcommand.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/map/atcommand.c b/src/map/atcommand.c index aa25f11d6..c2c29d51d 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -950,6 +950,7 @@ ACMD(hide) { //bugreport:2266 map->foreachinmovearea(clif->insight, &sd->bl, AREA_SIZE, sd->bl.x, sd->bl.y, BL_ALL, &sd->bl); } else { + clif->clearunit_area(&sd->bl, CLR_OUTSIGHT); sd->sc.option |= OPTION_INVISIBLE; sd->vd.class = INVISIBLE_CLASS; clif->message(fd, msg_fd(fd,11)); // Invisible: On -- cgit v1.2.3-60-g2f50