summaryrefslogtreecommitdiff
path: root/src/map/channel.c
diff options
context:
space:
mode:
authorgumi <mekolat@users.noreply.github.com>2017-04-25 23:48:59 -0400
committergumi <mekolat@users.noreply.github.com>2017-05-12 09:43:38 -0400
commit8669002016bc60019a317124ae088a8053a0238b (patch)
tree96d582f96ccb3cadda920072f71ed07d93530e9b /src/map/channel.c
parentadc7a02c7896fe8984c64d2a74f804cfaae34fc7 (diff)
downloadhercules-8669002016bc60019a317124ae088a8053a0238b.tar.gz
hercules-8669002016bc60019a317124ae088a8053a0238b.tar.bz2
hercules-8669002016bc60019a317124ae088a8053a0238b.tar.xz
hercules-8669002016bc60019a317124ae088a8053a0238b.zip
add channel handler events
Diffstat (limited to 'src/map/channel.c')
-rw-r--r--src/map/channel.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/map/channel.c b/src/map/channel.c
index ee8242b23..9ec415883 100644
--- a/src/map/channel.c
+++ b/src/map/channel.c
@@ -26,6 +26,7 @@
#include "map/instance.h"
#include "map/irc-bot.h"
#include "map/map.h"
+#include "map/npc.h"
#include "map/pc.h"
#include "common/cbasetypes.h"
#include "common/conf.h"
@@ -278,12 +279,21 @@ void channel_send(struct channel_data *chan, struct map_session_data *sd, const
clif->messagecolor_self(sd->fd, COLOR_RED, msg_sd(sd,1455));
return;
} else if (sd) {
+ int i;
+
safesnprintf(message, 150, "[ #%s ] %s : %s", chan->name, sd->status.name, msg);
clif->channel_msg(chan,sd,message);
if (chan->type == HCS_TYPE_IRC)
ircbot->relay(sd->status.name,msg);
if (chan->msg_delay != 0)
sd->hchsysch_tick = timer->gettick();
+
+ for (i = 0; i < MAX_EVENTQUEUE; i++) {
+ if (chan->handlers[i][0] != '\0') {
+ pc->setregstr(sd, script->add_str("@channelmes$"), msg);
+ npc->event(sd, chan->handlers[i], 0);
+ }
+ }
} else {
safesnprintf(message, 150, "[ #%s ] %s", chan->name, msg);
clif->channel_msg2(chan, message);