diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 790cfda446..f0a731d9ea 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/07/31 + * Added possibility to restrict duel usage to same map [Toms] * Merged mpeg's fix on ninja skills [Toms] * Corrected a status_get_race call which should be status_get_race2 in misc attacks. [Skotlex] diff --git a/conf-tmpl/battle/misc.conf b/conf-tmpl/battle/misc.conf index 5ae83e7070..ff448aa611 100644 --- a/conf-tmpl/battle/misc.conf +++ b/conf-tmpl/battle/misc.conf @@ -126,6 +126,9 @@ duel_autoleave_when_die: yes // Delay between using @duel in minutes duel_time_interval: 60 +// Restrict duel usage to same map +duel_only_on_same_map: no + // Determines max number of characters that can stack within a single cell. // NOTE: For this setting to make effect you have to use a server compiled with // Cell Stack Limit support (see src/map/map.h) diff --git a/conf-tmpl/msg_athena.conf b/conf-tmpl/msg_athena.conf index e9f8b7cc5d..7a9e31a032 100644 --- a/conf-tmpl/msg_athena.conf +++ b/conf-tmpl/msg_athena.conf @@ -363,6 +363,7 @@ 361: Duel: The duel invitation has been accepted. 362: Duel: You can't use @reject without a duel invitation. 363: Duel: The duel invitation has been rejected. +364: Duel: You can't invite %s because he isn't on the same map. // @duel (part 2) 370: -- Duels: %d/%d, Members: %d/%d, Max players: %d -- 371: -- Duels: %d/%d, Members: %d/%d -- diff --git a/src/map/atcommand.c b/src/map/atcommand.c index e0c4b5405c..ccdbab7bf0 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -10181,6 +10181,12 @@ int atcommand_invite( clif_displaymessage(fd, msg_txt(353)); return 0; } + + if(battle_config.duel_only_on_same_map && target_sd->bl.m != sd->bl.m) + { + clif_displaymessage(fd, msg_txt(364)); + return 0; + } duel_invite(did, sd, target_sd); // "Duel: Invitation has been sent." diff --git a/src/map/battle.c b/src/map/battle.c index 50c35867a2..27b718bc91 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3731,7 +3731,8 @@ static const struct battle_data_short { { "duel_allow_teleport", &battle_config.duel_allow_teleport}, // [LuzZza] { "duel_autoleave_when_die", &battle_config.duel_autoleave_when_die}, //[LuzZza] { "duel_time_interval", &battle_config.duel_time_interval}, // [LuzZza] - + { "duel_only_on_same_map", &battle_config.duel_only_on_same_map}, // [Toms] + { "skip_teleport_lv1_menu", &battle_config.skip_teleport_lv1_menu}, // [LuzZza] { "allow_skill_without_day", &battle_config.allow_skill_without_day}, // [Komurka] { "allow_es_magic_player", &battle_config.allow_es_magic_pc }, @@ -4156,10 +4157,11 @@ void battle_set_defaults() { battle_config.duel_enable = 1; battle_config.duel_allow_pvp = 0; - battle_config.duel_allow_pvp = 0; + battle_config.duel_allow_gvg = 0; battle_config.duel_allow_teleport = 0; battle_config.duel_autoleave_when_die = 1; battle_config.duel_time_interval = 60; + battle_config.duel_only_on_same_map = 0; battle_config.skip_teleport_lv1_menu = 0; battle_config.allow_skill_without_day = 0; diff --git a/src/map/battle.h b/src/map/battle.h index 12e4b24882..5ff2cfc30e 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -420,6 +420,7 @@ extern struct Battle_Config { unsigned short duel_allow_teleport; // [LuzZza] unsigned short duel_autoleave_when_die; // [LuzZza] unsigned short duel_time_interval; // [LuzZza] + unsigned short duel_only_on_same_map; // [Toms] unsigned short skip_teleport_lv1_menu; // possibility to disable (skip) Teleport Lv1 menu, that have only two lines `Random` and `Cancel` [LuzZza]