An item is a game object that can be picked up or equipped by a creature. Armor, as well as mushrooms.
Items for the Single player campaign are all stored in the Toolset's Resource palette, under the Item Category. They are as such files describing what an Item is and what it looks like, but they do not tell who or where it is in the game. It is sort of independent resource in that way. Any other Resource however can make use of it as they want.
Unlike in Neverwinter Nights, items can't be placed on the floor. They can only be stored in an inventory of some kind.
Items are stored in *.UTI File format.
Basic Resource Integration
|Other||Apply Rules||MSH Modelmesh||MAO Material||Heraldry Texture||Basestats||TNT (Tint)|
|Other||BITM_base.xls (2DA)||MMH (Model)||Heraldry.xls (2DA)||Materialrules (2DA)|
|(M)2DA_base.XLS (2DA)||BITM_base.xls (2DA)||Materialtypes.xls (2DA)|
|Game / Toolset|
This is a basic scheme, of the dependencies an Item creates, the Resources needed and how they are distributed. Each entry is directly connected to the next, from a modders point of view, who want to know which page is of interest. From the Item Resource, it spreads out into many smaller Resources the Item may depend on. Not all Items require a Model. It must not be exact at all Angles, and many other Properties go along with it. See below for a closeup description.
Items are grouped into types called "Base Item Types". The item's base type determines how it can be used and what its basic properties are. Weapon and armour items get their basic ratings from their base item type. This is further modified by the material type of the item (i.e., high steel sword vs. low steel sword) and other item properties on them.
You can edit or create new Items with the Toolsets Object Inspector Editor. This will yield their Properties.
|Activated Ability||Action happening on a specific event related to the item (hit with weapon, being hit on armor, etc.)|
|Base Item Type||The inventory type of the item. Also gives the base appearance type for the item. As defined in BITM base.xls|
|Comments||General information about the item|
|Crafting Recipe Type||The type of recipe this is. As defined in "recipes.gda" 2DA.|
|Description||Description (as seen in game?)|
|DescriptionRequiresReTranslation||A flag used for localization.|
|Heraldry||Allows Heraldry when defined in BITM base.xls (Shields can). Variations as defined in "heraldry.xls" 2DA.|
|Icon||Icon for display in game. Only names beginning with ico_ to be used|
|Inventory Subgroup||(speculation) sorts items within inventory. See Inventory Page for examples [Undocumented]|
|Item Variation||An appearance variation based on the base item type. As defined in the appropriate Variations 2DA. See ItemVariations.xls|
|MaterialType||Material Variation, and can give the Item additional properties. As defined in materialtypes 2DA|
|Name||Name of the Item. (as it appears in Game?)|
|NameRequiresReTranslation||A flag used for localization.|
|Resource Name||A unique string identifier the toolset and the game both use to refer to this resource|
|Tag||A non-unique string identifier used mostly by scripts and other resources to refer to this resource.|
|Body Tint||Affects the appearance of item wearer. Typically used to customize the Dog's warpaint.|
|Body Tint Mask||Affects the appearance of item wearer. Typically used to customize the Dog's warpaint.|
|Cost||Base money value of the item in coppers - see below.|
|Damaged||A damaged item cannot be equipped or used (but strangely it can be sold at the normal price)|
|Item Properties||Allows selecting one or more item properties for the item. Item Properties are any special power, effects, or stat variations beyond the basic item attributes. Properties also includes restrictions by class, race, etc. See Item properties for more information.|
|Plot Item||A plot item can not be destroyed, sold or removed from inventory by the player once the player has acquired it. Plot items can only be removed via scripts written by the designer. Plot items cannot be equipped.|
|Script||Event script assigned to the resource - see below|
|Variable 2da||2da file containing a variable table. Only the values in the table can be set and retrieved by scripting.|
|Variables||Opens the variable table for editing, allows the initial values of the variables to be defined. See below.|
|⊟||Model Appearance (R/O)|
|Model Appearance||Shows the Model how it appears on a specific wearer, ie Human. Helps distinguish Models worn by multiple races?|
|Model Gender||Same as above ,but switches Gender. (Only for display?)|
An item's appearance will be determined by their base type and an appearance field. Most Items are in some way visible in Game. "Base Item Type" is merely a category of Models with the default displaying first. Whereas "Item Variation" determines the Model file itself, while also paying attention to the Gender and Race of the wearer.
Visual effect item properties can be applied later to further modify the appearance of the item (flame effects, etc…)
The purpose of the item event script (if any) is not clear. Events involving items (acquire, lose, equip, unequip, etc…) are received by the event script for the creature or placeable owning the item, but are not received by the item script.
Item Abilities are activated abilities on items (for example, a potion with the activated ability Healing is a Potion of Healing). An item can only have one item ability. This item ability is assigned in the toolset. They are not item properties.
Item abilities cannot be placed on equippable items. Item abilities are activated by right-clicking or double-clicking the item or from using the item from the quickbar.
|ITEM_COUNTER_1 to 2||int||0|
|ITEM_DO_ONCE_A and B||int||0|
|ITEM_SEND_ACQUIRED_EVENT||int||0||When true, EVENT_TYPE_CAMPAIGN_ITEM_ACQUIRED is sent to the module's event script when the item is acquired. Unlike plot items, campaign items can be equipped. However, any special behaviour must be scripted. See the Usable campaign items tutorial.|
|ITEM_SET||int||-1||Certain items will give a bonus when equipped with other members of the same set (as identified by this integer).|
|ITEM_SPECIALIZATION_FLAG||int||0||For items that unlock a class specialisation this must match an ID from Achievements.xls, ITEM_SEND_ACQUIRED_EVENT must also be set.|
|ITEM_SEND_LOST_EVENT||int||0||When true, EVENT_TYPE_CAMPAIGN_ITEM_LOST is sent to the module's event script when the item is removed from the player's party (but not when a party member equips the item)|
|PROJECTILE_OVERRIDE||int||0||Used to change the default projectile for Mage Staves, values must match an ID from PRJ_base.xls (typically 125-129).|
|ITEM_RUNE_ENABLED||int||0||When true, items may have a number of rune slots, dependant on the relevant RuneCount values in BITM_base.xls and Materialtypes.xls|
Once created, item can be given as inventory to creatures and placeables. Once placed, both the creature/placeable and the item must be exported in order to be viewed in the game. Exporting happens automatically or can be done manually by the designer during testing.
The item system needs to be very robust, allowing for a wide diversity of item types, item appearances within a type, and rules scaling. Material types are the primary mechanism for item scaling... i.e., we won't randomize the type of item in many cases (flaming sword) but we will randomize its material type (low steel flaming sword vs. high steel flaming sword)
As the player gains levels he or she will encounter progressively more powerful items. Through the use of material types (unique models and/or color variation) we will scale our items so that we have a greater range of item diversity than in our previous games.
The cost of an item in-game depends on several factors:
- Base Cost
- Item Properties
The copper value is given by
Item Cost = (Base Cost * Material Multiplier) + SUM(Item Property Base Cost * Item Property Power Level)
- Base Cost is the value you can edit in the Object Inspector
- Material Multiplier is defined in materialtypes.xls
- Item Properties Base Cost is defined in itmprps.xls
The Buy Price we actually see in-game depends on the merchant:
Buy Price = Item Cost * Merchant Mark Up
For example, if a longsword has a base cost of 1000 copper, but the material is Red Steel (multiplier x 12) with damage power +2 (item property base cost 2500 copper),
Item cost = (1000 * 12) + (2500 * 2) = 12000 + 5000 = 17000 copper.
If the Merchant Mark Up is 110, the Buy Price in game will be 18700 copper.
The toolset does not recommend a value for Base Cost. As far as I can see, the Base Cost of official items is determined by the Item Variation, e.g. Heavy Armour, Longsword 4. So, for reasonable game balance, there's no harm in copying the Base Cost of an official item with the same variation.