From d95b7707c57c8697dd523370dcab163947a60c84 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 14 Dec 2018 00:48:59 -0200 Subject: Hercules Update (needed for pipelines) --- conf/channels.conf.base | 9 +++++++++ conf/char/char-server.conf | 5 +++++ conf/map/battle/client.conf | 12 ++++++++++++ conf/messages.conf | 4 ++-- npc/functions/main.txt | 4 ++-- npc/functions/npcmove.txt | 2 +- npc/functions/npcmovegraph.txt | 4 ++-- npc/test/npc1.txt | 6 +++--- 8 files changed, 36 insertions(+), 10 deletions(-) diff --git a/conf/channels.conf.base b/conf/channels.conf.base index c7e372c14..dee7575b6 100644 --- a/conf/channels.conf.base +++ b/conf/channels.conf.base @@ -63,5 +63,14 @@ chsys: ( irc_channel_nick_pw: "" /* password to this nick (if any) to identify to nick server on the irc network */ irc_channel_use_ghost: false /* whether to send a GHOST command to the nick server (requires irc_channel_nick_pw to be defined) */ irc_channel_autojoin: true + irc_flood_protection_enabled: true /* Whether to enable anti-flood protection for outgoing messages */ + irc_flood_protection_rate: 1000 /* The delay between messages during anti-flood protection (milliseconds) */ + irc_flood_protection_burst: 3 /* The maximum number of messages that are sent at once burst size before triggering the anti-flood protection */ + + // @channel setopt MessageDelay + // Sets the maximum amount of message delay (in seconds) allowed for a channel. + // Default: 10 + // Max: 255 + channel_opt_msg_delay: 10 } ) diff --git a/conf/char/char-server.conf b/conf/char/char-server.conf index 59ea57e34..d1e54ebd4 100644 --- a/conf/char/char-server.conf +++ b/conf/char/char-server.conf @@ -152,6 +152,11 @@ char_configuration: { // Set the letters/symbols that you want use with the 'char_name_option' option. // Note: Don't add spaces unless you mean to add 'space' to the list. name_letters: "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_" + + // Block renaming if character is in a guild or a party? (BOOL) + // Athena: false Aegis: true + // This check is imposed by Aegis to avoid dead entries in databases and is not needed on Hercules, as we clear data properly + use_aegis_rename: false } deletion: { diff --git a/conf/map/battle/client.conf b/conf/map/battle/client.conf index 8bab044a7..e9baa869e 100644 --- a/conf/map/battle/client.conf +++ b/conf/map/battle/client.conf @@ -177,3 +177,15 @@ client_emblem_max_blank_percent: 100 // kRO removed the packet and this re-enables the message. // Official: false. mvp_exp_reward_message: false + +// Displays the same HP value as official servers do when a character is dead. +// (Note 1) +// On official servers, HP are never displayed as 0, but when dead, they +// display the value that will be shown after resurrection (50% HP for novice +// classes, 1 HP for other classes). Athena servers, instead, show the real +// value (0 when dead), to avoid confusion. +// Note: this is only a visual setting, and the server will internally handle +// it as 0 regardless of this. This means that scripts will know that the +// character has 0 HP when dead. +// Default: true (Official behavior) +display_fake_hp_when_dead: false diff --git a/conf/messages.conf b/conf/messages.conf index 3803ba13f..ccdcbe057 100644 --- a/conf/messages.conf +++ b/conf/messages.conf @@ -1487,11 +1487,11 @@ 1448: -- Available options 1449: option '%s' is already enabled, if you'd like to disable it type '@channel opt %s 0' 1450: option '%s' is now enabled for channel '%s' -1451: value '%d' for option '%s' is out of range (limit is 0-10) +1451: value '%d' for option '%s' is out of range (limit is 0-%d) 1452: option '%s' is now enabled for channel '%s' with %d seconds 1453: option '%s' is now disabled for channel '%s' 1454: option '%s' is not enabled on channel '%s' -1455: You're talking too fast! +1455: You cannot send a message to this channel for another %d seconds. 1456: -- %s ban 1457: - bans from channel 1458: -- %s banlist diff --git a/npc/functions/main.txt b/npc/functions/main.txt index b1777cb3d..38034980e 100644 --- a/npc/functions/main.txt +++ b/npc/functions/main.txt @@ -221,9 +221,9 @@ function script npctalkonce { set(getvariableofnpc(.talk_lock, strnpcinfo(NPC_NAME_UNIQUE)), gettimetick(2) + getarg(1, 1)); break; default: - if (gettimetick(2) <= @NPC_TALK_LOCK[getnpcid(0)]) + if (gettimetick(2) <= @NPC_TALK_LOCK[getnpcid()]) return false; - @NPC_TALK_LOCK[getnpcid(0)] = gettimetick(2) + getarg(1, 1); + @NPC_TALK_LOCK[getnpcid()] = gettimetick(2) + getarg(1, 1); } // talk mechanism diff --git a/npc/functions/npcmove.txt b/npc/functions/npcmove.txt index eb6acded0..612ab0361 100644 --- a/npc/functions/npcmove.txt +++ b/npc/functions/npcmove.txt @@ -47,7 +47,7 @@ function script domoveaction { } else if (.@cmd$ == "emote") { - unitemote getnpcid(0), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)); + unitemote getnpcid(), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)); return 2; } else if (.@cmd$ == "class") diff --git a/npc/functions/npcmovegraph.txt b/npc/functions/npcmovegraph.txt index b26f9a162..d03f15c53 100644 --- a/npc/functions/npcmovegraph.txt +++ b/npc/functions/npcmovegraph.txt @@ -115,7 +115,7 @@ function script execmovecmd { } else if (.@cmd$[0] == "emote") { - unitemote getnpcid(0), atoi(.@cmd$[1]); + unitemote getnpcid(), atoi(.@cmd$[1]); } else if (.@cmd$[0] == "class") { @@ -137,7 +137,7 @@ function script execmovecmd { .@x = getvariableofnpc(.movepos_x1[.@pos], strnpcinfo(3)); .@y = getvariableofnpc(.movepos_y1[.@pos], strnpcinfo(3)); if (getstrlen(.@map$) > 0) - unitwarp getnpcid(0), .@map$, .@x, .@y; + unitwarp getnpcid(), .@map$, .@x, .@y; else movenpc strnpcinfo(3), .@x, .@y; set getvariableofnpc(.movepos, strnpcinfo(3)), .@pos; diff --git a/npc/test/npc1.txt b/npc/test/npc1.txt index e19ffb66e..2969a09c4 100644 --- a/npc/test/npc1.txt +++ b/npc/test/npc1.txt @@ -629,15 +629,15 @@ L_Start: setunitdata(.@npcId, UDT_HAIRCOLOR, 17); break; case 2: - .@npcId = getnpcid(0, "npc4"); + .@npcId = getnpcid("npc4"); setunitdata(.@npcId, UDT_HAIRSTYLE, 0); break; case 3: - .@npcId = getnpcid(0, "npc4"); + .@npcId = getnpcid("npc4"); setunitdata(.@npcId, UDT_HEADTOP, 1301); break; case 4: - .@npcId = getnpcid(0, "npc4"); + .@npcId = getnpcid("npc4"); setunitdata(.@npcId, UDT_HEADTOP, 0); break; case 5: -- cgit v1.2.3-60-g2f50