diff options
Diffstat (limited to 'server/items/item_db.txt')
-rw-r--r-- | server/items/item_db.txt | 341 |
1 files changed, 341 insertions, 0 deletions
diff --git a/server/items/item_db.txt b/server/items/item_db.txt new file mode 100644 index 0000000..636a5b1 --- /dev/null +++ b/server/items/item_db.txt @@ -0,0 +1,341 @@ +//===== 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) + ForceSerial: true/false (boolean, defaults to false) + BuyingStore: true/false (boolean, defaults to false) + Delay: Delay to use item (int, defaults to 0) + KeepAfterUse: true/false (boolean, defaults to false) + FloorLifeTime: Delay to remove item from ground (int, default flooritem_lifetime) + AllowPickup: true/false (boolean, defaults to true) + Charm: true/false (boolean, defaults to false) + RequiredStr: minimal strength (int, default to 0) + RequiredAgi: minimal agility (int, default to 0) + RequiredVit: minimal vitality (int, default to 0) + RequiredInt: minimal intellect (int, default to 0) + RequiredDex: minimal dexterity (int, default to 0) + RequiredLuk: minimal luck (int, default to 0) + RequiredMaxHp: required max hp (int, default to 0) + RequiredMaxSp: required max sp (int, default to 0) + RequiredAtk: required attack (int, default to 0) + RequiredMAtkMin: required minimal magic attack (int, default to 0) + RequiredMAtkMax: required maximum magic attack (int, default to 0) + RequiredDef: required defence (int, default to 0) + RequiredMDef: required magic defence (int, default to 0) + RequiredSkill: required skill (int, default to 0) + UseEffect: effect if use/equip item success (int, default to -1) + UseFailEffect: effect if use/equip item failed (int, default to -1) + UnequipEffect: effect if unequip item success (int, default to -1) + UnequipFailEffect: effect if unequip item failed (int, default to -1) + 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) "> + OnDropScript: <" OnDrop Script (can also be multi-line) "> + OnTakeScript: <" OnTake Script (can also be multi-line) "> + OnInsertCardScript: <" OnInsert card 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) + AllowCards: { + idNUM: amount (NUM is id number, amount is amount) + } +}, +... +) + +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. + +ForceSerial: Whether the item will be given new unique id or not. When the item + have this field as true, the item will be unstackable and new uniqueID + will be given to each item. + +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. |