Follow up ce6c4c63a3a5c1516780f2eac978d02820a8dc0b

Fixed shutdown memory manager warning.

Signed-off-by: shennetsind <ind@henn.et>
HPM Custom Data Struct Makeover!

- Modified how the core handles it, making it easier to add new points.
- Modified how plugins call it, calls were made shorter, e.g. 'HPMi->getFromSession(session[fd],HPMi->pid,0)' => 'getFromSession(session[fd],0)' -- check src/common/HPMi.h #defines for all the options
- Added support for npc_data (getFromNPCD and so on) as requested in http://hercules.ws/board/topic/2923-hpm-custom-struct-npcs/

Signed-off-by: shennetsind <ind@henn.et>
Follow up 8fda38dcdabbb9d252b0e11fb07b2ad37f9e659f

Fixed compiler error on selected systems, thanks to haruna bringing it up!

Signed-off-by: shennetsind <ind@henn.et>
Item DB overhaul

http://hercules.ws/board/topic/2954-item-db-file-structure-overhaul

- Item db was changed to libconfig format.
- This new format is larger than the original format, but it's less
  subject to conflicts when some items are edited and the file gets
  updated.
- It is no longer necessary to specify fields with no value, and only
  the actually used fields are specified.
- Items scripts (especially the long ones) are made more readable by
  splitting them into multiple lines, with proper indentation.
- A converter perl script is provided in the tools directory (and a link
  to the web-based version of the same script canbe found in the above
  forum topic)
- All of this was made possible thanks to Ind, Yommy.

Signed-off-by: Haru <haru@dotalux.com>
Removed redundant item_db2_re.sql

- Both databases have the same format now.
- Special thanks to Ind.

Signed-off-by: Haru <haru@dotalux.com>
Updated db2sql plugin for the needs of the new itemdb

May be used as ./map-server --db2sql or by typing "server tools db2sql" within map-server console parse.
Special Thanks to Haruna.

Signed-off-by: shennetsind <ind@henn.et>
Added Inheritance support for item_db2

- If an item is marked as Inherit: true in item_db2, and it already
  exists, in item_db, then any unspecified fields are taken from the
  item_db entry rather than using their default values.
- Special thanks to Ind.

Signed-off-by: Haru <haru@dotalux.com>
Added item_db2.sql conversion script to the new structure

- For those using a SQL item_db2, I provided a convenience script to
  update to the new structure without having to delete and re-import
  your data.
- The script requires at least MySQL 5.0 (tested on MySQL 5.6) and works
  for both Pre-Renewal and Renewal tables. If you're running an older
  version (Oracle advises to upgrade for security reasons by the way!),
  open the upgrade script in your text editor, and you'll find
  the queries you can run manually instead.
- Special thanks to Ind.

Signed-off-by: Haru <haru@dotalux.com>
HPM Hooks Update

Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
Small fix to the Item DB parser (Slots, not Slot!)

- Special thanks to kyeme

Signed-off-by: Haru <haru@dotalux.com>
Re-generated SQL item databases with the updated db2sql plugin

Signed-off-by: Haru <haru@dotalux.com>
Modified db2sql plugin to maintain item_db2.sql

makes it easier to keep the table structure up to date

Signed-off-by: shennetsind <ind@henn.et>
Fixed db2sql plugin forcing minimal mode

Would turn map server into minimal mode regardless of the --db2sql option being used.

Signed-off-by: shennetsind <ind@henn.et>
Official Item BindOnEquip Support

Implements the 'BindOnEquip' item db field which determines whether the piece of equipment should bind to the character upon being equipped.
When a character tries to equip such a item for the first time a dialog shows up asking the character to confirm whether to equip the item or not, and notifying the character that by equipping the item it will become bound to the character, and therefore unable to be used by another character.
Special Thanks to Beret for all the information, Haruna for testing.

Signed-off-by: shennetsind <ind@henn.et>
HPM Hooks Update

Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
Added BindOnEquip to the item_db documentation and templates

- Special thanks to ossi0110, kyeme
- Fixes bugreport:7821
  http://hercules.ws/board/tracker/issue-7821-missing-item-dbconf-columne/

Signed-off-by: Haru <haru@dotalux.com>
Added support for case-insensitive jobmasks to the itemdb converter

- Fixes parsing failures due to lower- (or mixed-) case job masks.
- Special thanks to ossi0110 for the report.

Signed-off-by: Haru <haru@dotalux.com>
Update rAthena-main-upgrade.sql

Made the converter keep some more data (rAthena's `moves` column is equivalent to our `slotchange` in the `login` table) and made it a tidbit more efficient since with their last updates their DB is now more similar to ours :D
Updated `account_data` upgrade files

to avoid issues as demonstrated by report 7824 http://hercules.ws/board/tracker/issue-7824-exp-and-drop-rates-in-lat/
Special Thanks to Yommy!

Signed-off-by: shennetsind <ind@henn.et>
Merge branch 'master' of https://github.com/HerculesWS/Hercules