# General Settings

<figure><img src="https://2431624982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MY3N_li2jPq7az6mYfq%2Fuploads%2FMMBeXw4cK0ipswciW87K%2FScreenshot%202023-06-16%20at%207.10.29%20PM.png?alt=media&#x26;token=8e84c56d-d2ab-4b7e-ae94-52ca95d01854" alt=""><figcaption></figcaption></figure>

## Distinct & Replace Others

When true, a `GameItemAttributeList` may only hold one `GameItemAttribute` of this `objectType`.&#x20;

If Replace Others is false, the `GameItemAttribute` will be blocked when the `Add()` and `ReceiveTransfer()` methods are used to add on to the list. Otherwise, when Replace Others is true, other `GameItemObjects` of the same `objectType` will be removed.

This is a setting which affects all `ItemAttributes` of the same `objectType`.

## Affects Actor

*Note: Holding shift while toggling this option will change the value for all `ItemAttributes` of the same `objectType`.*

When true, the Stat Effects from this `GameItemAttribute` will be passed to the `IHaveStats` owner of the `GameItemAttributeList`. Otherwise, it will affect the `GameItemObject` which it is attached to.

#### Example

Imagine an Actor who has an "Attack" and "Damage" stat. Assume the following:

* "Sword" equipped: Attack +2, Damage +3
* "Heroism" condition: Attack +1, Damage +3

Now, with using a classic damage logic, we can see the character can inflict between 3d1 and 3d6 damage, or between 3 and 18 damage.

Imagine a "Flaming" `ItemAttribute` added to the Sword, which adds +0.5 to the Damage *Proficiency*. This generally means a 50% boost in the Final Stat.

The actor currently has "6 Damage" as their final stat. If Flaming is set to affect the actor, their Final Stat for damage would be 6 \* 1.5, or 9.

However, if it does not affect the actor, it will impact the object it is on. The Sword would now have a "Damage" value of 3 \* 1.5, or 4.5, meaning the actor would have a total of 7.5 Damage.

This also means in the games UI, we can easily see that "Flaming" makes the Damage of a weapon increase. Otherwise, it would not be easy to calculate the actual impact that the "Flaming" `ItemAttribute` has on the Sword object.

## Level

This is an `int` value, intended to be the relative "level" of one `ItemAttribute` compared to others. The  default value is `0`. As an example, an attribute called "*Uncommon*" may have a level value of `1`, while "*Rare*" may be `2`, and "*Legendary*" might be `3`.
