Difference between revisions of "Item set"
BryanDerksen (Talk | contribs) |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{Infobox items}} | ||
+ | |||
An item set is a collection of one or more items that bestow additional bonuses if all are equipped at the same time. The item set system is implemented through scripts and 2da tables, and is very flexible. | An item set is a collection of one or more items that bestow additional bonuses if all are equipped at the same time. The item set system is implemented through scripts and 2da tables, and is very flexible. | ||
Latest revision as of 23:09, 8 February 2010
Item topics |
---|
An item set is a collection of one or more items that bestow additional bonuses if all are equipped at the same time. The item set system is implemented through scripts and 2da tables, and is very flexible.
Examples of item sets include:
- All armor sets (Leather, Chain Mail, Heavy Plate, ...)
- Imperium Rings (two rings)
- Juggernaut (full body armor with helmet)
and many more.
The set bonus of an item set is not explicitly shown on the items themselves, but rather has to be included in the individual item's description.
item_sets.gda
All sets the game recognizes are defined in item_sets.gda. The table has the following structure:
Column | Type | Description |
---|---|---|
ID | int | A number that uniquely identifies the entry (unless creating an M2DA override). ID numbers are listed from smallest to highest within a given file but do not need to be consecutive. |
Label | string | Label for the set, never seen in game |
namestrref | int | Appears to have been a string reference at some point, but only contains a copy of the Slots column at the moment. Not used. |
Slots | int | A bit mask identifying which slots are occupied by the items in the set. See below for description. |
Prop1 | int | The ID of the first set bonus property. "Increases Strength", "Increases Armor", etc..., see below for valid values. |
Prop1Value | float | Value for the first set bonus property. +5 Strength, or -12.5% fatigue, etc... |
Prop2 | int | Second set bonus property. |
Prop2Value | float | Magnitude of the second set bonus. |
The data in item_sets.gda is referenced by sys_itemsets_h to check for equipped sets and apply the corresponding bonuses.
Slots
The Slots field contains a bit field that specifies which equipment slots are occupied by the set. These are the individual slot IDs:
Slot | ID |
---|---|
Main Hand | 1 |
Off Hand | 2 |
Chest | 4 |
Head | 8 |
Gloves | 16 |
Boots | 32 |
Belt | 64 |
Ring 1 | 128 |
Ring 2 | 256 |
Neck | 512 |
Ammo | 1024 |
Dog Collar | 2048 |
Dog Paint | 4096 |
To get the value you have to enter into your own set's Slots field in item_sets.gda, simply add the individual slot IDs together. For example:
Neck + Ring1 + Ring2 = 512 + 128 + 256 = 896
Chest + Helmet + Gloves + Boots = 4 + 8 + 16 + 32 = 60
Set Properties
Each item set can have up to two separate set bonuses. The type of bonus is determined by the Prop1 and Prop2 fields in the item_sets row. If the corresponding value field (Prop1Value for Prop1, Prop2Value for Prop2) is NOT 0.0, then a property modifier will be constructed from the PropX entry. These directly correspond to the Creature Properties. Here are a few examples:
Prop1 | Prop1Value | Description |
---|---|---|
1 | 5.0 | Increases Strength by 5 |
41 | -15.0 | Reduces Fatigue by 15% |
22 | 7.5 | Increases chance to avoid missiles by 7.5% |
If the value field to a PropX field is 0.0, an effect from effects.xls will be applied. The only instance of this in the default game is the Griffon set, which uses a Prop1 value of 1050, which corresponds to EFFECT_TYPE_FLANK_IMMUNITY. In theory you could make item sets that petrify their wearer, give them transparency or a permanent mana shield.
Item Properties
In addition to defining the properties of the set as mentioned above, each individual item in a set also has to be flagged as belonging to that set. This is done by entering the set's ID into the ITEM_SET field on each item's variables list.
Example Set
Here is an example entry from item_sets.gda for a custom set. Please do not reuse the ID!
ID | Label | namestrref | Slots | Prop1 | Prop1Value | Prop2 | Prop2Value |
---|---|---|---|---|---|---|---|
10121480 | Knight Champion's Aegis | 60 | 60 | 3 | 5 | 41 | -20 |
This set uses all four armor slots (head, chest, gloves and boots). It has two set bonuses, increasing Willpower by 5 and reducing Fatigue by 20% while wearing it. The four armor items would also have to get the value 10121480 inserted into their ITEM_SET variable field.