Difference between revisions of "Items"

From DSP Wiki
Jump to: navigation, search
Line 1: Line 1:
 
===item_basic===
 
===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
 
'''item_id''' should match what is found in POLUtils or on ffxiah.com
Line 18: Line 20:
  
 
===item_armor===
 
===item_armor===
 +
 +
Stores information regarding anything that can be worn; armor, accessory, and weapons, too.
  
 
'''itemId''' matches what is found in item_basic.
 
'''itemId''' matches what is found in item_basic.
Line 207: Line 211:
 
|-
 
|-
 
|}
 
|}
 +
 +
===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.
 +
 +
A table is needed here.
 +
 +
'''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.
 +
{|class="wikitable sortable zebra"
 +
!Item ID!!Item Name
 +
|-
 +
|0||Damage type "none"
 +
|-
 +
|-
 +
|1||Piercing
 +
|-
 +
|-
 +
|2||Slashing
 +
|-
 +
|-
 +
|3||Blunt
 +
|-
 +
|-
 +
|4||Hand-to-hand
 +
|-
 +
|}
 +
'''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.
 +
 +
'''dmg''' is the DMG stat for the equipment.  Hand-to-hand weapons are always stored with their DMG stat +3 (I.E. 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.
 +
{|class="wikitable sortable zebra"
 +
!Item ID!!Item Name
 +
|-
 +
|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.

Revision as of 21:16, 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 dynamis money drops, 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

Item ID Item Name
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

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.

Item ID Item Name
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.

Item ID Item Name
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.

A table is needed here.

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.

Item ID Item Name
0 Damage type "none"
1 Piercing
2 Slashing
3 Blunt
4 Hand-to-hand

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.

dmg is the DMG stat for the equipment. Hand-to-hand weapons are always stored with their DMG stat +3 (I.E. 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.

Item ID Item Name
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.