summaryrefslogtreecommitdiff
path: root/src/map/itemdb.h
AgeCommit message (Collapse)AuthorFilesLines
2018-07-19Add new constant MAX_ITEM_ID for maximum allowed item id.Andrei Karas1-3/+21
For clients older than 2018-07-04 Re maximum supported and enabled id is 65535 (0xffff). For newer clients miximum id is 2147483648. Enabled by default 131072 (0x20000)
2018-07-19Changed MAX_ITEMDB to 0xFFFF.Andrei Karas1-1/+11
Also add ifndef to other defines near it.
2018-07-19Replace item id shorts to int in map server.Andrei Karas1-7/+7
2018-06-29Fix packet 836 (search in stores).Andrei Karas1-4/+4
Added item options fields into this packet. Updated other things for support for report item options in vending. Buying store not supported for now.
2018-05-312012-2018 !Maytichai Saowa1-1/+1
2018-04-08Added new items for item checksJedzkie1-0/+3
2017-12-23Add support for new drop packet 0xadd for zero clientsAsheraf1-0/+4
2017-09-17Fix a typo in the constant ITEMUPPER_THIRDUPPERHaru1-1/+1
Was: ITEMUPPER_THURDUPPER Signed-off-by: Haru <haru@dotalux.com>
2017-09-17Add support for parsing arrays of constants as bitmasks in the item_dbHaru1-0/+1
Fields marked as constant bitmasks will support the following syntaxes: Field: 10 // Decimal value Field: 0xA // Hexadecimal value Field: "FOO" // Constant Field: [2, 8] // Array of decimal values Field: [0x2, 0x8] // Array of hexadecimal values Field: ["FOO", "BAR"] // Array of constants Signed-off-by: Haru <haru@dotalux.com>
2017-09-17Split 'View' in two different fields in the item databaseHaru1-2/+4
- The field was used both for sprite view IDs and for weapon or ammunition subtypes. Now the fields 'ViewSprite' and 'Subtype' are used respectively. Signed-off-by: Haru <haru@dotalux.com>
2017-09-17Reimplement getiteminfo/setiteminfo in a safer and more maintainable wayHaru1-3/+0
Signed-off-by: Haru <haru@dotalux.com>
2017-05-04Merge pull request #1695 from Jedzkie/7-CashFoodFixHaru1-13/+0
Cash Foods Update
2017-04-29Fixes #994Jedzkie1-2/+1
2017-04-25Removal of cashfood_use_interval setting.Jedzkie1-13/+0
2017-04-21Update GX Poison itemsJedzkie1-14/+8
2017-04-21Update Rune Knight Runes & OresJedzkie1-18/+10
2017-04-04Implementation of Item Options System.Smokexyz1-1/+23
Allows the infusing of equipments with bonus item options. This feature is constrained to clients of packet versions greater than or equal to `20150226`. Item Options and their effects are defined server-side in `db/item_options.conf` and client side in `data/luafiles514/lua files/datainfo/addrandomoptionnametable.lub` The ID of the option must tally with the correct index of the description provided in the client side lua file to avoid bugs. IT_OPT_* keys and MAX_ITEM_OPTIONS macro are also exported from the source as constants. An additional flag `disable_options` has been added to sql, and as `DisableOptions: true/false (boolean, defaults to false !!for equipments only!!)` to item_db.conf files. Script commands documentation is also included. SQL file updates are included. Credits: [Smokexyz](https://github.com/Smokexyz) Style and Script Fixes by [Asheraf](https://github.com/Asheraf) Initial design Idea by [secretdataz](https://github.com/secretdataz)
2016-12-03Clarify some Job Class vs MapID confusion (1/2)Haru1-1/+1
This commit ensures that `sd->status.class` and related variables only contain Job Classes (i.e. the client-compatible values, where High Novice 4001) and are never checked against the bitmask-based MapID values. As a rule of thumb, from now on, when a variable is named `class`, it is intended to contain a Job Class ID and not a MapID. The type of such variable shall be a signed `int16` or `int`. To ensure that related third party code is also verified when this commit is merged, the variable `struct mmo_charstatus::class_ (i.e. `sd->status.class_`) is renamed to `class`. Some issues in related lines are also fixed, including: - A wrong check in the char server would prevent the correct detection of babies in code related to the family exp sharing. - Baby Arch Bishops would not be affected by Eucharistica. - A wrong check would cause the `questinfo()` script command not to display its information for most classes (except 1-1 classes). - Map IDs and Job Classes were mixed up in `itemdb_jobid2mapid()` and `itemdb_jobmask2mapid()` for 1-1 classes (causing currently no harm, since they just happen to coincide). - The Baby Sura class would not cause parties to be marked as containing a monk type character (for SLS Team Up purposes). - Baby Geneticists would bypass the cart check when trying to equip ammunitions. - Baby Mechanics would bypass the Mado Gear check when trying to equip ammunitions. - Transcendent Shadow Chasers would lose the Stalkers' ability to clone transcendent skills. Signed-off-by: Haru <haru@dotalux.com>
2016-11-20Synchronized the AegisNames to the in-source ITEMID_ constantsHaru1-14/+14
Some missing items were copied to the pre-renewal database. In general, when an item ID is hardcoded in source, it's preferable that the item exists in both databases. Signed-off-by: Haru <haru@dotalux.com>
2016-10-22Implemented SU_LUNATICCARROTBEAT Skill.Dastgir Pojee1-0/+2
Atk +(200+100*SkillLv)%. When 1 Carrot is consumed, Add's a chance to stun enemy. Lv1-2: 3x3 AoE Lv3-4: 5x5 AoE Lv5: 7x7 AoE Added Item Constants in itemdb.h
2016-03-20Dropped typedef from DBMapHaru1-2/+2
Signed-off-by: Haru <haru@dotalux.com>
2016-03-20Dropped typedefs from union DBKey and struct DBDataHaru1-3/+3
Signed-off-by: Haru <haru@dotalux.com>
2016-02-24Added definitions of struct itemlistHaru1-0/+8
- To be used in various non-clif functions that right now take client data buffers directly. Signed-off-by: Haru <haru@dotalux.com>
2016-02-23Corrected some warnings in Visual StudioHaru1-1/+1
- Changed literal 1L values used in unit64 bit-shift operations to 1ULL. - Follow-up to f606519c3b611573ade246ec82db26437bf03668 (reported by zackdreaver) Signed-off-by: Haru <haru@dotalux.com>
2016-02-21Changing Job field to 'int64'Dastgir1-3/+3
Signed-off-by: Haru <haru@dotalux.com>
2016-02-21New format for Job field in job_db.confDastgir1-2/+4
2016-02-17Replaced some now unnecessary includes with forward declarations in header filesHaru1-1/+1
Added some forgotten <stdio.h> and "common/conf.h" includes to .c files, that were previously masked by the above. Signed-off-by: Haru <haru@dotalux.com>
2016-02-17Removed unnecessary typedefs from libconfigHaru1-3/+3
Signed-off-by: Haru <haru@dotalux.com>
2016-01-16Added OneClickIdentify packetDastgir1-0/+2
2016-01-09Corrected various zero-argument function definitionsHaru1-1/+1
- Functions should always specify their arguments, even if they take none. In C, not specifying arguments is different than specifying (void). Signed-off-by: Haru <haru@dotalux.com>
2016-01-08Cleaned up the pilebunker item checkHaru1-0/+1
- Follow-up to e3da170660e8c52ec5657c086057085ef20e382f - Removed redundant checks for sd->equip_index[EQI_HAND_R] validity - Added itemid_is_pilebunker macro - Restored correct indentation of the return instruction Signed-off-by: Haru <haru@dotalux.com>
2016-01-07Skill Update:Jedzkie1-0/+3
- According to this kRO's Patch Note: https://rathena.org/board/topic/101392-4082015-maintenance/ • Mechanic's Pile Bunker added 3 new weapons.
2016-01-06Fixed #1071Jedzkie1-1/+5
Change the official message for NC_MAGICDECOY.
2016-01-05Change the leftover ItemID's in skills.Jedzkie1-0/+1
Closes #1067 as merged Signed-off-by: Haru <haru@dotalux.com>
2015-12-28Added some missing item IDs to their enumHaru1-0/+2
2015-12-20Costume and Shadow items are not equip-able anymore on older clients that ↵hemagx1-0/+2
doesn't support it. Fixes #947 Closes #954 as merged Signed-off-by: Haru <haru@dotalux.com>
2015-12-15Added GPL-compliant header to all sources and build scriptsHaru1-4/+20
Signed-off-by: Haru <haru@dotalux.com>
2015-12-10Rename 'ITEMIDBATTLE_MANUAL100' to 'ITEMID_BATTLE_MANUAL100'.Jedzkie1-1/+1
2015-10-22Removed support for the deprecated SQL item, mob, mob_skill databases.Haru1-3/+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-08-15HPM compatibility improvementsHaru1-3/+3
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-07-08Update Unique ID system to match official now it cover all cash items ↵Ibrahim Hossam1-0/+3
include stackable ones. Implement ForceSerial option in Package Item Database to force serial for any item. Implement ForceSerial option in item database to force serial for any item. Implement Merge Client interface to merge stackable items with serial numbers ( check npc/other/item_merge.txt ).
2015-06-19Cleaned up some #includesHaru1-61/+57
Signed-off-by: Haru <haru@dotalux.com>
2015-06-19Removed ".." from include directivesHaru1-6/+6
- Include directives are now directory-independent. - This will allow building plugins from other directories in future. Signed-off-by: Haru <haru@dotalux.com>
2015-01-12Blocked compilation of plugins that use unavailable functionsHaru1-0/+2
- Rather than failing at runtime, plugins that try to access non-interfaced, unavailable functions or variables, will now show an error at compile-time. Signed-off-by: Haru <haru@dotalux.com>
2014-12-23Allow use constants in item_db.conf for int fields.Andrei Karas1-0/+1
2014-12-21Add function for reading custom itemdb fields.Andrei Karas1-0/+1
This functions called after reading normal fields and after adding item to itemdb.
2014-12-19Add struct item_data, mob_db and mob_data for pluginsAnnieRuru1-0/+4
http://hercules.ws/board/topic/7161-plugin-missing-hook-to-struct-item-data-and-mob-data/
2014-12-17Move check is item usable or not to separate method.Andrei Karas1-0/+1
New method: itemdb_is_item_usable Can be used as: itemdb->is_item_usable(item)