From e06e87aa12ad659db43d069feff5a8225433d885 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 28 Dec 2021 06:50:19 -0300 Subject: [TMW2] Add capability for global chat listeners --- src/map/clif.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/map/clif.c b/src/map/clif.c index d3d3eb230..91f55e323 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -11372,6 +11372,23 @@ static void clif_parse_GlobalMessage(int fd, struct map_session_data *sd) // trigger listening npcs map->foreachinrange(npc_chat->sub, &sd->bl, AREA_SIZE, BL_NPC, full_message, strlen(full_message), &sd->bl); + + // Global listeners + struct linkdb_node **label_linkdb = strdb_get(npc->ev_label_db, "OnGlobalChat"); + if (label_linkdb == NULL) + return; + + struct linkdb_node *node = *label_linkdb; + while (node) + { + struct event_data* ev = node->data; + if (ev) + { + pc->setregstr(sd, script->add_variable("@chat$"), message); + script->run(ev->nd->u.scr.script, ev->pos, sd->bl.id, ev->nd->bl.id); + } + node = node->next; + } } static void clif_parse_MapMove(int fd, struct map_session_data *sd) __attribute__((nonnull (2))); -- cgit v1.2.3-60-g2f50