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