summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/channels.conf.base9
-rw-r--r--conf/char/char-server.conf5
-rw-r--r--conf/map/battle/client.conf12
-rw-r--r--conf/messages.conf4
-rw-r--r--npc/functions/main.txt4
-rw-r--r--npc/functions/npcmove.txt2
-rw-r--r--npc/functions/npcmovegraph.txt4
-rw-r--r--npc/test/npc1.txt6
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 <delay>
+ // 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 <channel name> <character name>
1457: - bans <character name> from <channel name> channel
1458: -- %s banlist <channel name>
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: