From 52a58b5a82cea7210efffc88f14706973bb1dfa3 Mon Sep 17 00:00:00 2001 From: Matheus Macabu Date: Fri, 10 May 2013 21:13:10 -0300 Subject: * Implemented suggestion in topic:528, related to GMs being able to warp to non-walkable cells; also added configuration. * Few changes to gitignore and gitattributes. Signed-off-by: Matheus Macabu --- .gitattributes | 9 ++------- .gitignore | 7 +++++++ conf/battle/gm.conf | 7 ++++++- src/map/atcommand.c | 2 +- src/map/battle.c | 1 + src/map/battle.h | 2 ++ 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/.gitattributes b/.gitattributes index 3820cfc1d..a839a28c9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,10 +1,5 @@ -# Auto detect text files and perform LF normalization * text=auto *.c diff=cpp -# Custom for Visual Studio -*.cs diff=csharp *.sln merge=union -*.csproj merge=union -*.vbproj merge=union -*.fsproj merge=union -*.dbproj merge=union \ No newline at end of file +*.vcproj merge=union +*.vcxproj merge=union \ No newline at end of file diff --git a/.gitignore b/.gitignore index 480ac1fa3..c8a1e416e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,9 @@ /*.sdf /*.stackdump /*.suo +/*.exp +/*.lib +/start-log.txt /char-server /config.log /config.status @@ -78,6 +81,10 @@ /tools/*.ilk /tools/*.pdb +# /plugins/ +/plugins/*.dll +/plugins/*.pdb + # /vcproj-12/ /vcproj-12/map-server /vcproj-12/char-server diff --git a/conf/battle/gm.conf b/conf/battle/gm.conf index 0120476be..7370da6c5 100644 --- a/conf/battle/gm.conf +++ b/conf/battle/gm.conf @@ -29,4 +29,9 @@ ban_hack_trade: 5 // requires RENEWAL_DROP to be enabled (src/map/config/renewal.h) // modifies @mobinfo to display the users' real drop rate as per renewal_drop formula // modifies @iteminfo to not display the minimum item drop rate (since it can't tell the mob level) -atcommand_mobinfo_type: 0 \ No newline at end of file +atcommand_mobinfo_type: 0 + +// Ignore warpable area configuration. +// Set the minimum group id to ignore invalid cells when warping. +// Default group is 2. Use 100 to disable this setting. +gm_ignore_warpable_area: 2 diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 9fda83546..6ffceac8e 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -410,7 +410,7 @@ ACMD(mapmove) return false; } - if ((x || y) && map_getcell(m, x, y, CELL_CHKNOPASS)) + if ((x || y) && map_getcell(m, x, y, CELL_CHKNOPASS) && pc_get_group_level(sd) < battle_config.gm_ignore_warpable_area) { //This is to prevent the pc_setpos call from printing an error. clif->message(fd, msg_txt(2)); if (!map_search_freecell(NULL, m, &x, &y, 10, 10, 1)) diff --git a/src/map/battle.c b/src/map/battle.c index 02b88eff6..e16f2ece2 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -5934,6 +5934,7 @@ static const struct _battle_data { { "item_restricted_consumption_type", &battle_config.item_restricted_consumption_type,1, 0, 1, }, { "max_walk_path", &battle_config.max_walk_path, 17, 1, MAX_WALKPATH, }, { "item_enabled_npc", &battle_config.item_enabled_npc, 1, 0, 1, }, + { "gm_ignore_warpable_area", &battle_config.gm_ignore_warpable_area, 0, 2, 100, }, }; #ifndef STATS_OPT_OUT /** diff --git a/src/map/battle.h b/src/map/battle.h index 62e301f4c..0975d978d 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -449,6 +449,8 @@ struct Battle_Config { int max_walk_path; int item_enabled_npc; + int gm_ignore_warpable_area; + } battle_config; -- cgit v1.2.3-70-g09d2