summaryrefslogtreecommitdiff
path: root/doc/item_db.txt
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-11-04 20:23:22 +0300
committerAndrei Karas <akaras@inbox.ru>2014-11-04 22:56:41 +0300
commitd6b5551bff867250edcdc36455ef32844ee2b935 (patch)
tree16acaf1c9a81b58ceb21bc4524a087c14f23735f /doc/item_db.txt
parent905dada713af49bb610177c4842685628a1c0a97 (diff)
downloadserverdata-d6b5551bff867250edcdc36455ef32844ee2b935.tar.gz
serverdata-d6b5551bff867250edcdc36455ef32844ee2b935.tar.bz2
serverdata-d6b5551bff867250edcdc36455ef32844ee2b935.tar.xz
serverdata-d6b5551bff867250edcdc36455ef32844ee2b935.zip
convert server data for using with hercules.
Diffstat (limited to 'doc/item_db.txt')
-rw-r--r--doc/item_db.txt308
1 files changed, 308 insertions, 0 deletions
diff --git a/doc/item_db.txt b/doc/item_db.txt
new file mode 100644
index 000000000..ce2a248ca
--- /dev/null
+++ b/doc/item_db.txt
@@ -0,0 +1,308 @@
+//===== Hercules Documentation ===============================
+//= Item Database
+//===== By: ==================================================
+//= Hercules Dev Team
+//===== Current Version: =====================================
+//= 20120904
+//===== Description: =========================================
+//= Explanation of the item_db.conf file and structure.
+//============================================================
+
+item_db: (
+{
+ // =================== Mandatory fields ===============================
+ Id: ID (int)
+ AegisName: "Aegis_Name" (string, optional if Inherit: true)
+ Name: "Item Name" (string, optional if Inherit: true)
+ // =================== Optional fields ================================
+ Type: Item Type (int, defaults to 3 = etc item)
+ Buy: Buy Price (int, defaults to Sell * 2)
+ Sell: Sell Price (int, defaults to Buy / 2)
+ Weight: Item Weight (int, defaults to 0, units in Weight/10 )
+ Atk: Attack (int, defaults to 0)
+ Matk: Magical Attack (int, defaults to 0, ignored in pre-re)
+ Def: Defense (int, defaults to 0)
+ Range: Attack Range (int, defaults to 0)
+ Slots: Slots (int, defaults to 0)
+ Job: Job mask (int, defaults to all jobs = 0xFFFFFFFF)
+ Upper: Upper mask (int, defaults to any = 0x3f)
+ Gender: Gender (int, defaults to both = 2)
+ Loc: Equip location (int, required value for equipment)
+ WeaponLv: Weapon Level (int, defaults to 0)
+ EquipLv: Equip required level (int, defaults to 0)
+ EquipLv: [min, max] (alternative syntax with min / max level)
+ Refine: Refineable (boolean, defaults to true)
+ View: View ID (int, defaults to 0)
+ BindOnEquip: true/false (boolean, defaults to false)
+ BuyingStore: true/false (boolean, defaults to false)
+ Delay: Delay to use item (int, defaults to 0)
+ Trade: { (defaults to no restrictions)
+ override: GroupID (int, defaults to 100)
+ nodrop: true/false (boolean, defaults to false)
+ notrade: true/false (boolean, defaults to false)
+ partneroverride: true/false (boolean, defaults to false)
+ noselltonpc: true/false (boolean, defaults to false)
+ nocart: true/false (boolean, defaults to false)
+ nostorage: true/false (boolean, defaults to false)
+ nogstorage: true/false (boolean, defaults to false)
+ nomail: true/false (boolean, defaults to false)
+ noauction: true/false (boolean, defaults to false)
+ }
+ Nouse: { (defaults to no restrictions)
+ override: GroupID (int, defaults to 100)
+ sitting: true/false (boolean, defaults to false)
+ }
+ Stack: [amount, flag] (int, defaults to 0)
+ Sprite: SpriteID (int, defaults to 0)
+ Script: <"
+ Script
+ (it can be multi-line)
+ ">
+ OnEquipScript: <" OnEquip Script (can also be multi-line) ">
+ OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">
+ // =================== Optional fields (item_db2 only) ================
+ Inherit: true/false (boolean, if true, inherit the values
+ that weren't specified, from item_db.conf,
+ else override it and use default values)
+},
+...
+)
+
+Id: Item id
+
+AegisName: Server name to reference the item in scripts and lookups,
+ should use no spaces.
+
+Name: Name in English for displaying as output for @ and script commands.
+
+Type:
+ 0 Healing item.
+ 2 Usable item.
+ 3 Etc item
+ 4 Weapon
+ 5 Armor/Garment/Boots/Headgear
+ 6 Card
+ 7 Pet egg
+ 8 Pet equipment
+ 10 Ammo (Arrows/Bullets/etc)
+ 11 Usable with delayed consumption (item is lost from inventory
+ after selecting a target, for use with skills and pet lures)
+ 18 Another delayed consume that requires user confirmation before
+ using item.
+
+Buy: Default buying price. When not specified, becomes double the sell price.
+
+Sell: Default selling price. When not specified, becomes half the buy price.
+
+Weight: Item's weight. Each 10 is 1 weight. When not specified, becomes 0.
+
+Atk: Weapon's attack. When not specified, becomes 0.
+
+Matk: Weapon's magical attack (only used in renewal mode, ignored in
+ pre-renewal). When not specified, becomes 0.
+
+Def: Armor's defense. When not specified, becomes 0.
+
+Range: Weapon's attack range. When not specified, becomes 0.
+
+Slots: Amount of slots the item possesses. When not specified, becomes 0.
+
+Job: Equippable jobs. Uses the following bitmask table:
+
+ (S.) Novice (2^00): 0x00000001
+ Swordman (2^01): 0x00000002
+ Magician (2^02): 0x00000004
+ Archer (2^03): 0x00000008
+ Acolyte (2^04): 0x00000010
+ Merchant (2^05): 0x00000020
+ Thief (2^06): 0x00000040
+ Knight (2^07): 0x00000080
+ Priest (2^08): 0x00000100
+ Wizard (2^09): 0x00000200
+ Blacksmith (2^10): 0x00000400
+ Hunter (2^11): 0x00000800
+ Assassin (2^12): 0x00001000
+ Unused (2^13): 0x00002000
+ Crusader (2^14): 0x00004000
+ Monk (2^15): 0x00008000
+ Sage (2^16): 0x00010000
+ Rogue (2^17): 0x00020000
+ Alchemist (2^18): 0x00040000
+ Bard/Dancer (2^19): 0x00080000
+ Unused (2^20): 0x00100000
+ Taekwon (2^21): 0x00200000
+ Star Gladiator (2^22): 0x00400000
+ Soul Linker (2^23): 0x00800000
+ Gunslinger (2^24): 0x01000000
+ Ninja (2^25): 0x02000000
+ Gangsi (2^26): 0x04000000
+ Death Knight (2^27): 0x08000000
+ Dark Collector (2^28): 0x10000000
+ Kagerou/Oboro (2^29): 0x20000000
+ Rebellion (2^30): 0x40000000
+ Some other commonly used values:
+ All except novice: 0xFFFFFFFE
+ All (default value): 0xFFFFFFFF
+
+Upper: Equippable upper-types. Uses the following bitmasks:
+ Normal jobs: 0x01 (1)
+ Upper jobs: 0x02 (2)
+ Baby jobs: 0x04 (4)
+ Third jobs: 0x08 (8)
+ Upper Third jobs: 0x10 (16)
+ Baby Third jobs: 0x20 (32)
+
+ Under pre-re mode third classes are considered upper, making use of
+ the 8 and above masks is therefore not necessary unless in renewal
+ mode. When no value is specified, all classes (mask 0x3f) are able to
+ equip the item.
+
+Gender: Gender restriction. 0 is female, 1 is male, 2 for both (default value).
+
+Loc: Equipment's placement. A value needs to be specified if the item is an
+ equipment piece. Values are:
+
+ 2^0 001 = Lower Headgear
+ 2^1 002 = Weapon
+ 2^2 004 = Garment
+ 2^3 008 = Accessory 1
+ 2^4 016 = Armor
+ 2^5 032 = Shield
+ 2^6 064 = Footgear
+ 2^7 128 = Accessory 2
+ 2^8 256 = Upper Headgear
+ 2^9 512 = Middle Headgear
+ 2^10 1024 = Costume Top Headgear
+ 2^11 2048 = Costume Mid Headgear
+ 2^12 4096 = Costume Low Headgear
+ 2^13 8192 = Costume Garment/Robe
+ 2^16 65536 = Shadow Armor
+ 2^17 131072 = Shadow Weapon
+ 2^18 262144 = Shadow Shield
+ 2^18 524288 = Shadow Shoes
+ 2^20 1048576 = Shadow Accessory 2
+ 2^21 2097152 = Shadow Accessory 1
+
+WeaponLv: Weapon level. Becomes 0 when not specified.
+
+EquipLv: Base level required to be able to equip. It is possible to specify
+ two values, if an item has a maximum level, by using the following
+ syntax:
+
+ EquipLv: [minLv, maxLv]
+
+ If only one value is specified, maxLv becomes the current server's
+ MAX_LEVEL. If no values are specified, minLv becomes 0.
+
+Refineable: true if the item can be refined, false otherwise. If no value is
+ specified, it defaults to true.
+
+View: For normal items, defines a replacement view-sprite for the item (eg:
+ Making apples look like apple juice). The special case are weapons
+ and ammo where this value indicates the weapon-class of the item.
+
+ For weapons, the types are:
+ 0: bare fist
+ 1: Daggers
+ 2: One-handed swords
+ 3: Two-handed swords
+ 4: One-handed spears
+ 5: Two-handed spears
+ 6: One-handed axes
+ 7: Two-handed axes
+ 8: Maces
+ 9: Unused
+ 10: Staves
+ 11: Bows
+ 12: Knuckles
+ 13: Musical Instruments
+ 14: Whips
+ 15: Books
+ 16: Katars
+ 17: Revolvers
+ 18: Rifles
+ 19: Gatling guns
+ 20: Shotguns
+ 21: Grenade launchers
+ 22: Fuuma Shurikens
+
+ For ammo, the types are:
+ 1: Arrows
+ 2: Throwable daggers
+ 3: Bullets
+ 4: Shells
+ 5: Grenades
+ 6: Shuriken
+ 7: Kunai
+ 8: Cannonballs
+ 9: Throwable Items (Sling Item)
+
+BindOnEquip: Whether the item will automatically bind to the character when it
+ is equipped for the first time. An item that has this field set,
+ will display a confirmation dialog the first time it is equipped,
+ and, if accepted, the item will become character-bound.
+
+BuyingStore: Whether the item can be sold via buyingstore, one must also edit
+ data\buyingstoreitemlist.txt for client to accept item.
+
+Delay: Delay for an item to be used again. Value is in milliseconds.
+ There is a max concurrent number of entries modifiable in
+ src/map/itemdb.h as MAX_ITEMDELAYS.
+
+Trade: Item trade restrictions. If this block is omitted, the item will have no
+ trade restrictions.
+ All the settings in this group are boolean values, unless otherwise
+ specified. Default value is false (restriction not set) for any missing
+ setting.
+
+ Allowed settings in this block are:
+ override: If specified and in the interval [1:100], sets the
+ minimum GM Group ID that can bypass the defined trade
+ restrictions. This is an integer value.
+ nodrop: Item can't be dropped.
+ notrade: Item can't be traded (nor vended).
+ partneroverride: Wedded partners can override the notrade setting.
+ noselltonpc: Item can't be sold to NPCs.
+ nocart: Item can't be placed in the cart.
+ nostorage: Item can't be placed in the storage.
+ nogstorage: Item can't be placed in the guild storage.
+ nomail: Item can't be attached to mail messages.
+ noauction: Item can't be auctioned.
+
+Nouse: Defines if an item cannot be used under certain circumstances. If this
+ block is omitted, there will be no usage restrictions.
+ All the settings in this group are boolean values, unless otherwise
+ specified. Default value is false (restriction not set) for any missing
+ setting.
+
+ Allowed settings in this block are:
+ override: If specified and in the interval [1:100], sets the
+ minimum GM Group ID that can bypass the defined usage
+ restrictions. This is an integer value.
+ sitting: Item can't be used while sitting.
+
+Stack: Prevents an item to be stacked more than x times in given
+ inventory types. Generally used by 3rd class related skill items.
+ Syntax: [amount, type]
+ Available types:
+ 1: Character inventory restriction
+ 2: Character cart restriction
+ 4: Account storage restriction
+ 8: Guild storage restriction
+ Note: Stack limit of 0 will disable a restriction.
+
+Sprite: SpriteID will be sent to the client instead of ItemID.
+ NOTE: Replaces an item client-side while keeping them separate server-side.
+ Think of it as a way to disguise items.
+
+Script: Script to execute when the item is used/equipped.
+
+OnEquipScript: Script to execute when the item is equipped.
+ Warning, not all item bonuses will work here as expected.
+
+OnUnequipScript: Script to execute when the item is unequipped.
+ Warning, not all item bonuses will work here as expected.
+
+Inherit: This can be used only in item_db2.conf, and if set to true, and the
+ item already exists in item_db.conf, all the missing fields will be
+ inherited from there rather than using their default values.