diff options
Diffstat (limited to 'doc/item_db.txt')
-rw-r--r-- | doc/item_db.txt | 195 |
1 files changed, 173 insertions, 22 deletions
diff --git a/doc/item_db.txt b/doc/item_db.txt index 6630dd065..ce2a248ca 100644 --- a/doc/item_db.txt +++ b/doc/item_db.txt @@ -5,17 +5,77 @@ //===== Current Version: ===================================== //= 20120904 //===== Description: ========================================= -//= Explanation of the item_db.txt file and structure. +//= Explanation of the item_db.conf file and structure. //============================================================ -ID: Item id +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: +Type: 0 Healing item. 2 Usable item. 3 Etc item @@ -34,15 +94,18 @@ 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. +Weight: Item's weight. Each 10 is 1 weight. When not specified, becomes 0. + +Atk: Weapon's attack. When not specified, becomes 0. -ATK: Weapon's attack +Matk: Weapon's magical attack (only used in renewal mode, ignored in + pre-renewal). When not specified, becomes 0. -DEF: Armor's defense +Def: Armor's defense. When not specified, becomes 0. -Range: Weapon's attack range +Range: Weapon's attack range. When not specified, becomes 0. -Slots: Amount of slots the item possesses. +Slots: Amount of slots the item possesses. When not specified, becomes 0. Job: Equippable jobs. Uses the following bitmask table: @@ -76,17 +139,29 @@ Job: Equippable jobs. Uses the following bitmask table: 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: - 1: Normal jobs - 2: Upper jobs - 4: Baby jobs - 8: Third jobs + 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). -Gender: Gender restriction. 0 is female, 1 is male, 2 for both. +Loc: Equipment's placement. A value needs to be specified if the item is an + equipment piece. Values are: -Loc: Equipment's placement. Values are: - 2^0 001 = Lower Headgear 2^1 002 = Weapon 2^2 004 = Garment @@ -101,12 +176,26 @@ Loc: Equipment's placement. Values are: 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 -wLV: Weapon level. +WeaponLv: Weapon level. Becomes 0 when not specified. -eLV: Base level required to be able to equip. +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: -Refineable: 1 if the item can be refined, 0 otherwise. + 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 @@ -148,10 +237,72 @@ View: For normal items, defines a replacement view-sprite for the item (eg: 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. -OnEquip_Script: Script to execute when the item is equipped. - Warning, not all item bonuses will work here as expected. +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. -OnUnequip_Script: 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. |