summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatheus Macabu <mkbu95@gmail.com>2013-05-10 21:13:10 -0300
committerMatheus Macabu <mkbu95@gmail.com>2013-05-10 21:13:10 -0300
commit52a58b5a82cea7210efffc88f14706973bb1dfa3 (patch)
tree093619b18b8288cbd419b8e1258b7b70f0bd4e01
parentfa24fdb97db2aca73d94bb584835e9e864c8d085 (diff)
downloadhercules-52a58b5a82cea7210efffc88f14706973bb1dfa3.tar.gz
hercules-52a58b5a82cea7210efffc88f14706973bb1dfa3.tar.bz2
hercules-52a58b5a82cea7210efffc88f14706973bb1dfa3.tar.xz
hercules-52a58b5a82cea7210efffc88f14706973bb1dfa3.zip
* 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 <mkbu95@gmail.com>
-rw-r--r--.gitattributes9
-rw-r--r--.gitignore7
-rw-r--r--conf/battle/gm.conf7
-rw-r--r--src/map/atcommand.c2
-rw-r--r--src/map/battle.c1
-rw-r--r--src/map/battle.h2
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;