Difference between revisions of "Items"

From DSP Wiki
Jump to: navigation, search
Line 9: Line 9:
 
'''sortname''' is the shortened name, such as echo_drops.
 
'''sortname''' is the shortened name, such as echo_drops.
  
'''stackSize''' determines if an item should stack, and how many should stack.  The client acts a bit odd if you stack items that aren't supposed to be stacked, but generally will let you stack dynamis money drops, for example.
+
'''stackSize''' determines if an item should stack, and how many should stack.  The client acts a bit odd if you stack items that aren't supposed to be stacked, but generally will let you stack things like Frozen Giant Skulls if you want to improve the Dynamis experience, for example.
  
 
'''flags''' needs to be investigated
 
'''flags''' needs to be investigated

Revision as of 21:37, 2 February 2013

item_basic

Stores basic item information that is common to all items. For an item to exist, it must have an entry in this table.

item_id should match what is found in POLUtils or on ffxiah.com

name is the long name of an item, such as flask_of_echo_drops. If you're scripting a file, this is the filename you should use.

sortname is the shortened name, such as echo_drops.

stackSize determines if an item should stack, and how many should stack. The client acts a bit odd if you stack items that aren't supposed to be stacked, but generally will let you stack things like Frozen Giant Skulls if you want to improve the Dynamis experience, for example.

flags needs to be investigated

aH is the auction house category for the item.

NoSale determines if the item can be sold.

BaseSell is the value of the item when selling to an NPC, before fame modifier.

item_armor

Stores information regarding anything that can be worn; armor, accessory, and weapons, too.

itemId matches what is found in item_basic.

name needs to be investigated. Just for readability's sake?

level is what level the item can be equipped at.

jobs determines what jobs can equip the item, stored as a bitmask. Simply add the values together to set the jobs. WAR (1) + PLD (64) + DRK (128) = 193

Value Job
1 warrior
2 monk
4 white mage
8 black mage
16 red mage
32 thief
64 paladin
128 dark knight
256 beastmaster
512 bard
1024 ranger
2048 samurai
4096 ninja
8192 dragoon
16384 summoner
32768 blue mage
65536 corsair
131072 puppetmaster
262144 dancer
524288 scholar

MId determines the appearance for the item. A guide for finding these is pending.

shieldSize is only used by shields, and determines how much damage they block, and how much damage they'll deal with Shield Bash.

scriptType needs to be investigated.

slot determines which slot(s) the item can be worn in, in a bitmask. main hand (1) + off hand (2) = 3.

Value Valid Slot
1 main hand
2 offhand
4 ranged
8 ammo
16 head
32 body
64 hands
128 legs
256 feet
512 neck
1024 belt
2048 l earring
4096 r earring
8192 l ring
16384 r ring
32768 cape

rslot determines which single slot cannot be used while the item is equipped. For example, Vermillion Cloak would reserve the head slot, since head equipment cannot be used with it. This is not a bitmask, and only one value can be specified.

Value Reserved Slot
0 none
1 main hand
2 offhand
3 ranged
4 ammo
5 head
6 body
7 hands
8 legs
9 feet
10 neck
11 belt
12 l earring
13 r earring
14 l ring
15 r ring
16 cape
17 "SLOT_LINK" Linkshell?

item_weapon

Stores common information for all weapons.

itemId links the table to item_basic and item_armor, and should match those tables.

name may just be for readability's sake.

skill determines which weapon proficiency should be used with the weapon.

Value Weapon Type
1 Hand-to-hand
2 Dagger
3 Sword
4 Greatsword
5 Axe
6 Great Axe
7 Scythe
8 Polearm
9 Katana
10 Great Katana
11 Club
12 Staff
24 Gun
25 Archery
26 Marksmanship
27 Throwing

dmgType determines the type of damage dealt by the weapon. Note that only Hand-to-hand damage will use both hands for jobs such as Monk as of r2491.

Value Damage Type
0 Damage type "none"
1 Piercing
2 Slashing
3 Blunt
4 Hand-to-hand
5 Crossbow
6 Gun

hit is only used for multihit weapons such as Joyeuse or Kraken Club.

delay determines the delay of the weapon. Ranged Weapons and Ammunition always have -240 their stated delay. For example, Expunger (Delay 360) is stored as 120 delay in the database.

dmg is the DMG stat for the equipment. Hand-to-hand weapons are always stored with their DMG stat +3. For example, Lizard Cesti has 5 instead of 2.

unlock_index probably refers to the in-progress weapon unlock system.

item_mods

Stores uncommon information, from Defense to "Enhances Dual Wield Effect."

item_mods is an unindexed table. As such, always keep in mind that it's possible to have duplicate values, which darkstar will cheerfully use without questioning them.

itemId links the table back to the item via item_basic, and should always match.

modId is what is being modified. A list of these values can be found in /scripts/globals/status.lua (listed in hexadecimal,) or in /src/map/modifier.h (listed in hexadecimal.) Remember to convert them to decimal for use in this table.

value is how much of the modifier to grant, and can be positive or negative. It's best to research any modifier you're unsure of, as some are stored and applied in unexpected ways, such as Magic Damage Taken being stored as amount/256, while Physical Damage Taken is stored as amount%.

item_furniture

Stores information regarding moghouse furniture.

itemId links back to item_basic, and should always match.

name may just be for readability's sake, and is the long name for the item.

storage is how much storage to grant for each item placed. The core will cap the total at 80.

moghancement needs to be researched.

element is the elemental alignment of the furniture.

aura needs to be researched (strength of effect?)

item_usable

Stores information regarding items that can be used. An item cannot be used unless it is in this table.

itemid links this table back to item_basic, and should match.

subid seems to primarily be used with spell scrolls, and probably just stores the spellid to be unlocked.

name may just be for readability's sake.

validTargets is a bitmask storing what the item can be used on. Being a bitmask, the values should be added for each valid target type.

Value Valid target
1 Self
2 Player in user's party
4 Enemy
8 Player in user's alliance
16 Players outside of user's party/alliance
32 Dead players
64 NPCs

activation needs to be researched

animation determines which animation should be used with the item.

animation time needs to be researched, but probably determines how long the player can't move for the item usage to succeed.

maxCharges is the maximum number of usages.

useDelay is likely how long the item must be equipped before it can be used.

reuseDelay is likely how long must pass between item uses.

aoe is a simple binary on whether the item is AoE or not (0 = false, 1 = true.)

item_latents

Need to research this table.

item_weapon_unlock

Need to research this table. Looks like a mixture of item_weapon, and how many weapon skill "points" are required to unlock it.

item_puppet

The itemId, name, slot, and "element" of each automaton piece. As PUP isn't in use, this table may change substantially in the future.