diff options
-rw-r--r-- | Changelog-Trunk.txt | 1 | ||||
-rw-r--r-- | conf-tmpl/battle/misc.conf | 3 | ||||
-rw-r--r-- | conf-tmpl/msg_athena.conf | 1 | ||||
-rw-r--r-- | src/map/atcommand.c | 6 | ||||
-rw-r--r-- | src/map/battle.c | 6 | ||||
-rw-r--r-- | src/map/battle.h | 1 |
6 files changed, 16 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 790cfda44..f0a731d9e 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 5ae83e707..ff448aa61 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 e9f8b7cc5..7a9e31a03 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 e0c4b5405..ccdbab7bf 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 50c35867a..27b718bc9 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 12e4b2488..5ff2cfc30 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]
|