For the complete documentation index, see llms.txt. This page is also available as Markdown.

ItemObject.cs

v4.0

ItemObject is a Scriptable Object which holds references to all the data set up with the Items Module. It implements IAffectStats and IFitInInventory

ItemObject.cs
public string ObjectName
public string ObjectType

Setup

The objectType of an Item Object is the name of the folder the Scriptable Object is in. Create one named as you'd like, and right-click inside to select the menu option:

/Create/Game Modules/Items/Item Object

This will create an ItemObject Scriptable Object in your project. Select that and view the Inspector to begin setting up your data. The name of the Scriptable Object is saved as the objectName value.

Inspector

Select your new object and view it in the Inspector. Here is where you can manage all the details about this Item Object. Note there are multiple tabs, each of which provide access to specific, and optional, information.

The Quest Item bool is used to identify this ItemObject as something special, which may need special rules. For example, the drag-and-drop Inventory System will not let a player "drop" a quest item, as that may result in the quest item being lost. Your own systems may choose to make use of this value.

Once you have Stats set up, you can set how this Item Object will affect them here. The math is all handled automatically once you have your data set up at runtime, so that any Item Objects you choose can affect the Stats of a player or other object which has Stats.

Stats have two key concepts: Value and Proficiency. Value are numbers, while Proficiency is a percent. In the example above, the "Sword" weapon will increase the "Attack" Stat of the owner by 2, and incrase the "Damage" Stat of the owner by 3.

Check out the Stat documenation for more details and the math behind it all.

"Targets" are the Stats that will be affected by this Item Object. Add new Target using the search & drop down at the top.

The "Base" values are modified directly simply by this Item Object being included in the calculations. The amounts you insert are not modified by any other Stat.

"Sources" are the Stats that will be used to compute the affect values on the various Targets. Add a new Source using the drop down on the right.

This example shows the "Master Sword", which is a "Quest Item", and has a greater impact on the owners Stats

Our "Master Sword" ItemObject is a Quest Item, and has an impact on Might as well as Attack and Damage. The "Base" value for Might has a proficiency boost of 0.1. This means that the owner of this weapon, when equipped would get a 10% point boost in the proficiency of their might stat.

There is also an addtional source, Personality. This is set to add 0.01 to the proficiency of might for every "Final Stat" in the owners Personality. This means that if the owner has a "Personality" of 20, there will be an additional 20% point boost in the proficiency of their might stat.

Computation types

Other values are modified by the Source Stat selected. There are multiple ways to compute the modification, which you can select via the drop down. Toggle the row off if you do not want this particular Source to affect the Target.

Raw

This is similar to the "Base" option, but will only be included if the Owner of of the Stats being targetted also has the Source Stat.

Points

The Base and Proficiency values will be multiplied by the "Points" associated with the Source Stat.

Proficiency

The values provided will be multiplied by the Final Proficiency of the Source Stat.

Final Stat

Selecting this will multiple the values by the Final Stat of the Source.

X * Value of

Selecting this will present additional drop downs for another Stat, along with a Lookup Table. In the example below, you may read it as "0.01 * Final Value of Level * Value of Wisdom in Stats Bonus".

Lookup Tables provide specific output numbers based on the input. If the object with the Stats has an output value of "6" for the Stat "Wisdom", and a Final Value of "Level" of 10, the math would equate to a 60% increase in the Proficiency value of the Stat "Critical Strike":

0.01∗10∗6=0.60.01 * 10 * 6 = 0.6

X * Value

This Computation option will obtain the Lookup Table output value for the Source Stat selected, and multiply the values entered by that.

In this example, the weapon "Sword" is part of the "Basic Gear" and "Basic Weapons" loot item objects

If you have Loot Box Items set up, via the Loot module, you can see which Loot Box Item objects this Item Object is included in. You are able to remove it from existing ones, or add it to new ones via the drop down menu.

If you are choosing to use the drag-and-drop Inventory system, you can set the basic values for the dimensions of your object (Height and Width) on the grid, plus set the Inventory Prefab and World Prefab.

Check the Inventory documenation for more.

Here you can manage the values on the various Dictionaries key/value pairs set up. Each one is a List and you can add and re-order the entires as you'd like. Each KeyValue can hold many different types, including Game Module types.

Last updated

Was this helpful?