diff options
author | Haru <haru@dotalux.com> | 2019-08-25 17:55:31 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2019-08-26 00:29:04 +0200 |
commit | 0ef788e46f678e546ec28b602dcfeeb359d0417c (patch) | |
tree | 8356f911f50edd9e7a893e82963e4b23c0915548 /src/map/script.c | |
parent | ab2b8254e88ea098b34b9127f1571a14ad0e692a (diff) | |
download | hercules-0ef788e46f678e546ec28b602dcfeeb359d0417c.tar.gz hercules-0ef788e46f678e546ec28b602dcfeeb359d0417c.tar.bz2 hercules-0ef788e46f678e546ec28b602dcfeeb359d0417c.tar.xz hercules-0ef788e46f678e546ec28b602dcfeeb359d0417c.zip |
Remove round-trip to the inter-server for the broadcast messages
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/map/script.c b/src/map/script.c index f515d4403..20fb7ae27 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -11912,12 +11912,12 @@ static BUILDIN(announce) int fontAlign = script_hasdata(st,7) ? script_getnum(st,7) : 0; // default fontAlign int fontY = script_hasdata(st,8) ? script_getnum(st,8) : 0; // default fontY size_t len = strlen(mes); + send_target target = ALL_CLIENT; + struct block_list *bl = NULL; Assert_retr(false, len < INT_MAX); if( flag&(BC_TARGET_MASK|BC_SOURCE_MASK) ) { // Broadcast source or broadcast region defined - send_target target; - struct block_list *bl = NULL; if (flag&BC_NPC) { // If bc_npc flag is set, use NPC as broadcast source bl = map->id2bl(st->oid); @@ -11935,17 +11935,13 @@ static BUILDIN(announce) case BC_SELF: target = SELF; break; default: target = ALL_CLIENT; break; // BC_ALL } - - if (fontColor) - clif->broadcast2(bl, mes, (int)len+1, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY, target); - else - clif->broadcast(bl, mes, (int)len+1, flag&BC_COLOR_MASK, target); - } else { - if (fontColor) - intif->broadcast2(mes, (int)len+1, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY); - else - intif->broadcast(mes, (int)len+1, flag&BC_COLOR_MASK); } + + if (fontColor) + clif->broadcast2(bl, mes, (int)len+1, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY, target); + else + clif->broadcast(bl, mes, (int)len+1, flag&BC_COLOR_MASK, target); + return true; } /*========================================== |