summaryrefslogblamecommitdiff
path: root/doc/item_db.txt
blob: d897e1511660da8fd74374bba41f02cbd7e21448 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                              

                                                              
                     
                                                              
            
                                                              
                                                       
                                                              
 







































                                                                                


                                                                    
 
                                                                         
 
     










                                                                            

                                                                              



                                                                             
 
                                                                          
 
                                                    
 

                                                                    
 
                                                    
 


                                                                         


                                                       





























                                         
                                         


                                         

                                                           
















                                                                               
                                 
                         
                          
                              


                           
                              





                                        







                                                     
 


                                                                           
 
                               
 




                                                                            

                                                                           

                                                                        




















                                       

                                








                                     

                           

                                               

                                                         
 




                                                                          
 


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