Inventool Documentation
  • Inventool Documentation
  • đŸ•šī¸Quick Start
    • Installation
    • Start Creating
  • 💡General
    • Running the Demo
    • Menu Options
    • UI Updates
    • UI Customizations
      • uGUI
      • UI Toolkit
    • Custom Item Drops
  • 🎓Tutorials
    • Demo Walkthrough
  • âœī¸Editors
    • Inventool
      • Inventory
      • Equipment
      • Items
      • Currencies
      • Crafting
      • Dismantling
      • Enchanting
      • Stats
        • Stat IDs
        • Attributes
      • Settings
    • Item Type Manager
    • Localization Editor
    • Stats Editor
    • Merchants
      • Shopkeeper
      • Craftsman
      • Enchanter
    • Storage
    • Loot
      • Loot Box
      • Item Pouch
      • Currency Pouch
    • Components
      • Initializer
      • UI
        • uGUI
          • Inventool Window
          • Split UI
            • Inventory Window UGUI
            • Equipment Window UGUI
            • Key Items Window UGUI
            • Crafting Window UGUI
            • Enchanting Window UGUI
            • Storage Window UGUI
            • Shop Window UGUI
            • Selector UGUI
          • Action Menu UGUI
          • Hover Details UGUI
          • Confirm Prompt UGUI
          • Quantity Prompt UGUI
          • Character Viewer Element UGUI
        • UI Toolkit
          • Inventool Window
          • Split UI
            • Inventory Window
            • Equipment Window
            • Key Items Window
            • Crafting Window
            • Enchanting Window
            • Storage Window
            • Shop Window
          • Action Menu
          • Hover Details
          • Confirm Prompt
          • Quantity Prompt
        • Character Viewer
      • Overworld Merchant
      • Storage Keeper
      • Item Drop
      • Item Spawner
      • Input
        • Cross Input Support
        • Cross Input Support UGUI
          • Target Selectable
  • 📄Scripting API
    • Initialization
    • Inventory
    • Equipment
      • Equipment Slot
    • Items
      • Item
      • Item Type
      • Item Stack
      • Item Drop
      • Item Spawner
      • Loot Box
      • Item Pouch
    • Currencies
      • Currency Identity
      • Currency
        • Value
      • Currency Pouch
    • Crafting
      • Craft
      • Crafter
    • Enchanting
      • Enchantment
    • Stats
      • Stat Identity
      • Attribute
      • Stat
        • Stat Value
          • Value
        • Effectiveness
      • Stat Profile
    • Storing
      • Storage
      • Storage Keeper
    • Settings
    • Merchants
      • Shopkeeper
      • Craftsman
      • Enchanter
      • Overworld Merchant
    • UI
      • uGUI
        • Inventool Window UGUI
        • Split UI
          • Draggable Window UGUI
            • Inventory Window UGUI
            • Equipment Window UGUI
            • Key Items Window UGUI
            • Crafting Window UGUI
            • Enchanting Window UGUI
            • Storage Window UGUI
            • Shop Window UGUI
          • Selector UGUI
        • Action Menu UGUI
        • Hover Details UGUI
        • Confirm Prompt UGUI
        • Quantity Prompt UGUI
        • Draggable Element UGUI
          • Equipment Slot Element UGUI
          • Item Slot Element UGUI
          • Item Stack Element UGUI
        • Action Menu Option UGUI
        • Currency Element UGUI
        • Inventory Filter UGUI
        • Inventory Slot UGUI
        • Key Item Element UGUI
        • Shop Item Element UGUI
        • Storage Currency Element UGUI
        • Stat Element UGUI
      • UI Toolkit
        • Inventool Window
        • Split UI
          • Draggable Window
            • Inventory Window
            • Equipment Window
            • Key Items Window
            • Crafting Window
            • Enchanting Window
            • Storage Window
            • Shop Window
        • Action Menu
        • Hover Details
        • Confirm Prompt
        • Quantity Prompt
        • Item Elements
          • Item Stack Element
          • Equipment Slot Element
          • Item Slot Element
          • Shop Item Element
      • Action Menu Option
      • Character Viewer
    • Events
    • Sounds
    • Saving & Loading
      • Inventory & Equipment
      • Storage
    • Input
      • Cross Input Support
      • Cross Input Support UGUI
    • Localization
      • Localization Settings
      • Localizer
  • đŸ› ī¸Support
    • Getting Help
  • 📚Changelogs
    • Latest Releases
    • Future Plans
  • ⭐Rate Me?
Powered by GitBook
On this page
  • Fields & Properties
  • Creating Attributes
  • Getting Attributes
  • Get a Single Attribute
  • Get All Attributes
  • Effectiveness
  • Add Effectiveness
  • Remove Effectiveness
  • Check If An Effectiveness Exists
  • Get Effectiveness
  • Strengths/Weaknesses
  1. Scripting API
  2. Stats

Attribute

Scripting with the Attribute class.

An attribute can be used as type for a stat, ability, character, etc. This class is used by the Stat class to help define a its strengths and weaknesses.

Fields & Properties

Name
Description
Type
Access

displayName

The display name of the attribute.

string

public

localizedDisplayNameKey

The key of the localized display name string.

string

public

icon

An icon that represents the attribute.

Sprite

public

effectivenesses

Effectivenesses against attributes.

List<Effectiveness>

public

Creating Attributes

It's not at all recommended to create attributes at runtime, but it is possible. Attribute's are scriptable objects which cannot be created as assets at runtime for later use.

Attribute attribute = ScriptableObject.CreateInstance<Attribute>();

The attribute IDs must be unique. When creating them from the Attributes tab, unique IDs are set automatically. However, this is not done when creating them at runtime. You'd need to create your own method of ensuring IDs of generated attributes are unique.

Getting Attributes

Attributes created through the Attributes tab can be retrieved at runtime.

Get a Single Attribute

You can get an attribute by its ID, or name with the Inventool.GetAttribute method.

Attribute myAttribute = Inventool.GetAttribute("Fire");

Get All Attributes

var attributes = Inventool.GetAllAttributes();

Effectiveness

Add Effectiveness

Adding an effectiveness requires a reference to an attribute.

// x2 effectiveness
myAttribute.AddEffectiveness(otherAttribute, 2f);

Remove Effectiveness

Removing an effectiveness requires a reference to an attribute.

myAttribute.AddEffectiveness(otherAttribute);

Check If An Effectiveness Exists

bool exists = myAttribute.HasEffectiveness(otherAttribute);

Get Effectiveness

You can get the effectiveness multiplier value with the GetEffectiveness method.

float multiplier = myAttribute.GetEffectiveness(otherAttribute);

Strengths/Weaknesses

There are multiple methods available to get both the attack and defense weaknesses of an attribute.

Attack Strengths

The GetAttackStrengths method returns a list of attributes that an attribute is more than 1x effective against.

var attributes = myAttribute.GetAttackStrengths();

Attack Weaknesses

The GetAttackWeaknessess method returns a list of attributes that an attribute is less than 1x effective against.

var attributes = myAttribute.GetAttackWeaknesses();

Defense Strengths

The GetDefenseStrengths method returns a list of attributes that are more less 1x effective against an attribute.

var attributes = myAttribute.GetDefenseStrengths();

Defense Weaknesses

The GetDefenseWeaknesses method returns a list of attributes that are more than 1x effective against an attribute.

var attributes = myAttribute.GetDefenseWeaknesses();
PreviousStat IdentityNextStat

Last updated 3 months ago

📄