summaryrefslogtreecommitdiff
path: root/src/map/map.h
AgeCommit message (Collapse)AuthorFilesLines
2017-04-25expose bank vault to the script enginegumi1-0/+1
2017-01-27remove hardcoded chat area size from clif.c, add chat_area_size to battleconfgumi1-0/+1
2016-12-03Clarify the meaning of the MAPID_* constantsHaru1-97/+228
The enum values are now written in a more explicit way, showing how they're composed (upper mask + base job). A future-proof static assertion is added, to make sure the base jobs won't overlap the upper masks. Signed-off-by: Haru <haru@dotalux.com>
2016-10-22Added Summoner Class.Dastgir Pojee1-0/+1
(Only Placeholder, other things related to summoner will follow-up soon) Added SQL-Upgrade: Added `class` column in charlog
2016-08-19Ported npc config to libconfigHaru1-1/+1
Ported to modern Hercules and cleaned up from Panikon's commits: ca009582cb22340951aa3e86c044ec1dca05df36, 6d6adf9bab2ba6f4274395018b8def566b880197 Signed-off-by: Haru <haru@dotalux.com>
2016-08-19Improved map list loadingHaru1-2/+1
There's no need to parse the map list twice anymore Signed-off-by: Haru <haru@dotalux.com>
2016-08-19Ported map-server.conf to libconfigHaru1-4/+3
Ported to modern Hercules and cleaned up from Panikon's commits: ee48838b12d15902fc14738cfa46d58b39080d11, 55498ebb7ac5d28444d0b01506c88ef6874f6055, 6d1f8f50b0e7349bdab2c53bb172d0b036e47c04, 25dde7e46524ace330b83cb4bf0255cc4d796792 Signed-off-by: Haru <haru@dotalux.com>
2016-08-19Ported inter-server.conf to libconfigHaru1-2/+5
Ported to modern Hercules and cleaned up from Panikon's commits: 40f9ec33868e2240cab013308897898ed252b3e0, a9d646da19e25ab6fcf44dbd1ae7d90c30f6686c, 1aa8581a0aecbfd53e877686c399ffb731dcd75e, 72c645b015ae6130ca7d4309d0fb1413340e7f23, f8c906a0496b9acdae1d8244b1544fa03592061e, 51d88a58983c9552dfd1a0f059e5a031742aed61, 443684b3c77f4c32fe7877a7f8d62debf73b1e93, cf93eafef1f322cd1583226272b7d4008f562da4 Signed-off-by: Haru <haru@dotalux.com>
2016-03-20Dropped typedef from DBMapHaru1-10/+10
Signed-off-by: Haru <haru@dotalux.com>
2016-03-20Dropped typedefs from union DBKey and struct DBDataHaru1-6/+6
Signed-off-by: Haru <haru@dotalux.com>
2016-03-20Removed unnecessary typedefs from sql.hHaru1-2/+3
- Sql -> struct Sql - SqlStmt -> struct SqlStmt - SqlDataType -> enum SqlDataType This is expected to improve compile time, by removing #include cycles (and forward declaring instead) Signed-off-by: Haru <haru@dotalux.com>
2016-03-11Hardcore Parameters from constant database to avoid synchronize issues with ↵hemagx1-1/+1
source now defining new parameters in the constants.conf database is deprecated and should be defined in source instead
2016-01-12Replaced 22-bit mask entry with a regular uint32 in the noviewid mapflag ↵Haru1-1/+1
implementation As per ultramage's suggestion in #926 Signed-off-by: Haru <haru@dotalux.com>
2016-01-09Added the unused attribute to BL_UCAST / BL_UCCASTHaru1-0/+2
- Fixes a warning when including map.h and not using those functions, depending on the compiler verbosity Signed-off-by: Haru <haru@dotalux.com>
2016-01-06Replaced some map->id2sd calls with the proper map->id2XX functionHaru1-7/+11
- Also added new map->id2XX convenience functions for the other bl types. Signed-off-by: Haru <haru@dotalux.com>
2016-01-06Added const variants of BL_CAST/BL_UCAST: BL_CCAST/BL_UCCASTHaru1-0/+42
Signed-off-by: Haru <haru@dotalux.com>
2016-01-06Introduced the BL_UCAST() macro as an alternative to explicit castsHaru1-1/+40
- The benefit of using BL_UCAST() instead of an explicit cast is that it produces a compiler error if the argument is not a block_list. - The benefit of using BL_UCAST() instead of BL_CAST() is that the block_list argument is guaranteed to be evaluated only once. As such it can be used in places where the argument is a function. - No block_list type checking is done. As such, if a different block_list type is passed, behavior is undefined. The user should do the checking beforehand. Signed-off-by: Haru <haru@dotalux.com>
2016-01-05Added Support for BodyStyleDastgir1-0/+1
Closes #974 as merged
2015-12-28Standardized (source) mob_id enumHaru1-19/+0
- MOBID_ constant names now follow the Mob DB spritenames. - The following names were changed: * MOBID_EMPERIUM => MOBID_EMPELIUM * MOBID_TREAS01 => MOBID_TREASURE_BOX1 * MOBID_TREAS40 => MOBID_TREASURE_BOX40 * MOBID_BARRICADE1 => MOBID_BARRICADE * MOBID_BARRICADE2 => MOBID_BARRICADE_ * MOBID_GUARIDAN_STONE1 => MOBID_S_EMPEL_1 * MOBID_GUARIDAN_STONE2 => MOBID_S_EMPEL_2 * MOBID_FOOD_STOR => MOBID_OBJ_A * MOBID_BLUE_CRYST => MOBID_OBJ_A2 * MOBID_PINK_CRYST => MOBID_OBJ_B2 * MOBID_TREAS41 => MOBID_TREASURE_BOX41 * MOBID_TREAS49 => MOBID_TREASURE_BOX49 - Added several missing items Signed-off-by: Haru <haru@dotalux.com>
2015-12-25Merge pull request #1009 from Jedzkie/ItemDB_UpdatesDastgir1-10/+10
ItemDB Updates
2015-12-25Implemented NoViewIDDastgir1-0/+3
(http://herc.ws/board/topic/10020-official-mapflag-to-disable-viewid/) Closes #926 as merged Signed-off-by: Haru <haru@dotalux.com>
2015-12-24Item Update:Jedzkie1-1/+1
- Fix items that uses SPVanishRate bonus are not working properly. - Fix Velum Katzbalger item effect. - Added HPVanishRate bonus.
2015-12-23Update:Jedzkie1-7/+7
- Rename BLUE_CRYST and PINK_CRYST to BLUE_CRYSTAL and PINK_CRYSTAL - Rename FOOD_STOR to FOOD_STORAGE - Rename TREAS01, TREAS40, TREAS41, TREAS49 to TREASURE_01, TREASURE_40, TREASURE_41, TREASURE_49
2015-12-23Item Update:Jedzkie1-2/+2
- Fix typo MOBID_GUARIDAN to MOBID_GUARDIAN - Added official item effect for Magic Candy.
2015-12-17Add bAddMaxWeight bonus for increasing player's max weightAnnieRuru1-1/+1
2015-12-15Added GPL-compliant header to all sources and build scriptsHaru1-4/+20
Signed-off-by: Haru <haru@dotalux.com>
2015-12-06Refactored/fixed race handling for bonuses that store it as a bitmaskHaru1-20/+59
- The following bonuses now work correctly with RC_DemiPlayer, RC_NonDemiPlayer, RC_NonDemiHuman, RC_Nonplayer: * bIgnoreDefRace * bIgnoreMdefRace * bDefRatioAtkRace * bAddMonsterDropChainItem (bonus3) * bAddMonsterDropItem (bonus3) - A new function (map->race_id2mask) is provided, to easily and efficiently generate a bitmask from a race ID. - The RC_ALL race ID is mapped to RC_BOSS and RC_NONBOSS, for backwards compatibility. Signed-off-by: Haru <haru@dotalux.com>
2015-10-22Removed support for the deprecated SQL item, mob, mob_skill databases.Haru1-10/+0
Follow-up to 84e02ac28fbb15c58d0a0f8a916b49663198b05b Signed-off-by: Haru <haru@dotalux.com>
2015-10-11Cleanup of the HPluginData implementation (second part)Haru1-3/+1
- Changed the hplugin_data_store's array into a VECTOR. Signed-off-by: Haru <haru@dotalux.com>
2015-10-11Cleanup of the HPluginData implementation (First part)Haru1-2/+2
- Several explicit casts are removed, to have a slightly better type-checking at compile time. - A destructor function is provided, to remove code duplication. Signed-off-by: Haru <haru@dotalux.com>
2015-09-28Fixed merge behaviour of map zones. Fixes #572Kpy!1-1/+8
- Both "Normal" and "PK Mode" default zones will now be overwritten (instead of merged) by "GvG", "PvP" and "Battlegrounds" zones. - Refactored some code to clarify intent.
2015-09-24Add bl parameter to map_searchrandfreecell and map_addflooritem.Andrei Karas1-2/+2
2015-09-24Add bl parameter to closest_freecell.Andrei Karas1-1/+1
2015-09-24Add bl parameter to getcell functions.Andrei Karas1-4/+4
2015-08-15HPM compatibility improvementsHaru1-8/+11
Improved compatibility, portability and standards conformance. - Since it is not possible to portably and reliably re-use the core's symbols in plugins, symbols are no longer exported unless explicitly required, in the UNIX builds. This mimics the Windows behavior and adds HPM compatibility to OSes such as FreeBSD. Credits to Andrei Karas for making this possible. - For convenience, it is no longer necessary to call GET_SYMBOL, since the plugin will automatically import all the available symbols when it's loaded, depending on the included headers. - Plugins are now supposed to include the "common/hercules.h" header before including anything else. Incluing common/HPMi.h, common/cbasetypes.h or conf/core.h is no longer necessary, as those are guaranteed to be automatically included by hercules.h. - HPM API version bumped to 1.1. Signed-off-by: Haru <haru@dotalux.com>
2015-08-09Removed unused tables sstatus and interregHaru1-1/+0
Signed-off-by: Haru <haru@dotalux.com>
2015-06-19Cleaned up some #includesHaru1-0/+1
Signed-off-by: Haru <haru@dotalux.com>
2015-06-19Removed ".." from include directivesHaru1-9/+9
- Include directives are now directory-independent. - This will allow building plugins from other directories in future. Signed-off-by: Haru <haru@dotalux.com>
2015-06-12Merge pull request #526 from zackdreaver/masterDastgir1-0/+2
Several Bugs Fixed. Added Many new items, Fixed some ItemScripts, Added 2 New Race Groups: Scraba and Turtle.
2015-06-12Updated Item Scriptszackdreaver1-0/+2
Changes AegisName to Official. Added 2 New Race Group: Scaraba,Turtle Fix bug#8717 http://herc.ws/board/tracker/issue-8717-9-glorious-holy-avenger-auto-lex-aeterna/ Signed-off-by: zackdreaver <zackdreaver@gmail.com>
2015-06-12RC_Player, RC_DemiPlayer, RC_NonPlayer, RC_NonDemiPlayer, RC_All and Ele_All ↵Dastgir1-2/+8
implemented (ref:Herc@9d1fe3cd3855bb973c55bdf98909c25bb80ee97a)
2015-06-01Replaced some of the hardcoded values with constants (char)Haru1-10/+0
- Replaced several hardcoded values with the appropriate enums. - Added documentation for some hardcoded values that haven't been replaced by enums (yet) - Minor code legibility improvements. Signed-off-by: Haru <haru@dotalux.com>
2015-05-19Fixed some issues reported by coverity scan [3/3]Haru1-2/+2
- Automatically zeroed variables are now zeroed in the correct size, regardless of padding. - Special thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2015-03-11RENEWAL Updates:malufett1-0/+1
-Fixed card bonuses related to to ATK.(Added 'bRaceTolerance'). Thanks Michi for the support. -Fixed Renewal EDP. Special thanks to Awesome Yommy <3 -Enabled 'display_skill_fail' since '/skillfail' is already available in the client Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2015-02-23Hercules Ultimate Localization Designshennetsind1-0/+2
Servers can now run on any number of languages, without editing npc files. Designed by Haruna and Ind http://hercules.ws/board/topic/8687-hercules-ultimate-localization-design/ Signed-off-by: shennetsind <ind@henn.et>
2015-01-24Fixed Bug 8395shennetsind1-0/+3
Adjusted zone merging logic to not merge items the main zone originally intended to enable (i.e. normal zone disables Velum_Jamadhar, gvg zone sets Velum_Jamadhar: false) Special Thanks to Ancyker, Michieru http://hercules.ws/board/tracker/issue-8395-map-zone-db-stacking-incorrectly-siege-gears-not-working/ Signed-off-by: shennetsind <ind@henn.et>
2015-01-24Moved the Hercules Channel System to its own file/interfaceHaru1-2/+2
Signed-off-by: Haru <haru@dotalux.com>
2015-01-23Cleaned up spirit charms implementation (optimized memory and CPU usage)Haru1-9/+12
Signed-off-by: Haru <haru@dotalux.com>
2015-01-22Removed name distinction between (sql) mob/item/mob_skill db and db_re variantsHaru1-3/+0
- Since there (currently and in future) is no difference between the table structure for renewal and pre-renewal databases, it makes no sense to have extra code that makes a distinction between their names. A server will always use either one or the other, never both at the same time. - If you have a mob_db_re, mob_skill_db_re and/or item_db_re table, please rename it to mob_db, mob_skill_db and/or item_db_re, respectively. - No upgrade script provided. I'd like to remind everyone that these tables are optional (and deprecated), and they are only offered for convenience for those who need them for web control panels and similar software. Signed-off-by: Haru <haru@dotalux.com>
2015-01-18Command line arguments handling overhaulHaru1-5/+8
- login_server, char_server, map_server as well as the tools (mapcache) now have a common command line arguments handling mechanism. - All of them now accept `--help` (`-h`), `--version` (`-v`) and `--load-plugin`. - login_server now accepts `--login-config` and `--lan-config` instead of relying on positional arguments to override those files. The old syntax will no longer work, please update your custom startup scripts. - char_server now accepts `--char-config`, `--inter-config`, `--lan-config` instead of relying on positional arguments. The old syntax will no longer work, please update your custom startup scripts. - mapcache now accepts `--grf-list`, `--map-list`, `--map-cache`, `--rebuild` in place of, respectively, `-grf`, `-list`, `-cache`, `-rebuild`. - A new macro `CMDLINEARG()` is provided, to help defining new command line argument handlers (i.e. in plugins). the `addArg()` call is still required, but its syntax has changed. The `help` argument is now of type `const char *` rather than a function pointer, and it is supposed to contain the message to show in the `--help` screen. Pass `NULL` if no help message is desired. Signed-off-by: Haru <haru@dotalux.com>