//===== 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) 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. 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.