From The Mana World
m (User:Crush2/Customized Equipment Technical moved to User:Crush/Customized Equipment Technical: wrong userspace) |
(about compression of colorisations) |
||
Line 36: | Line 36: | ||
* When sending the inventory data to a character, every high id is followed by its archetype-id and colorization string. All other information about the item can be requested on demand with an additional message. | * When sending the inventory data to a character, every high id is followed by its archetype-id and colorization string. All other information about the item can be requested on demand with an additional message. | ||
* When sending look information about other characters the archetype-id and the colorisation are transfered | * When sending look information about other characters the archetype-id and the colorisation are transfered | ||
* Colorisations are sent in a compressed format: | |||
** 1 Byte bitfield of the used colorisation channels. For each channel: | |||
*** 1 Byte for number of entries in the color ramp. for every entry: | |||
**** 3 Byte for red, green and blue component of color | |||
== Script API == | == Script API == | ||
Revision as of 17:03, 7 May 2009
Database
Layout for the SQL table to store customized equipment
|
Stat modifiers during item creation. Also includes elemental modifiers.
|
Spell runes engraved in the item.
|
Netcode
- Item IDs are 32 bit unsigned integers
- Item IDs 1 - 65.535 are non-customized generic items which may exist multiple times
- Item IDs 65.536 - 4.294.967.296 are unique equipment items which may only exist once in the game.
- When sending the inventory data to a character, every high id is followed by its archetype-id and colorization string. All other information about the item can be requested on demand with an additional message.
- When sending look information about other characters the archetype-id and the colorisation are transfered
- Colorisations are sent in a compressed format:
- 1 Byte bitfield of the used colorisation channels. For each channel:
- 1 Byte for number of entries in the color ramp. for every entry:
- 3 Byte for red, green and blue component of color
- 1 Byte for number of entries in the color ramp. for every entry:
- 1 Byte bitfield of the used colorisation channels. For each channel:
Script API
- tmw.create_custom_item(archetype-id, color, name, inscription, durability, initial-durability, weight, value, runeslots)
- Creates a custom item in the server database. Returns the ID of the item.
- tmw.change_custom_item(id, archetype-id, color, name, inscription, durability, initial-durability, weight, value, runeslots)
- Changes the values of a custom item in the server database. Every argument may be NULL to leave it as it is.
- tmw.add_modifier_to_item(id, attribute, absolute, multiplier, time)
- Adds a modifier to an item.
- tmw.add_rune_to_item(id, spell)
- Adds a spell rune to an item.
- tmw.get_custom_item(id)
- Returns a table with the attributes of the item.
- tmw.get_custom_item_modifiers(id)
- Returns a table of tables with the modifier data of the item.
- tmw.get_custom_item_runes(id)
- Returns a table of tables with the rune data of the item.
(function names not checked for consistency with the rest of the api)