Learn more about status values, status types and status development.
Status values are the core of ORK’s status system – they’re used to define things like health, strength, experience or other numerical values like proficiency in a skill or any other custom system.
Status Types #
Status types are used to organize status values by separating them into different types.
You’ll mainly use them to filter status values in the editor and display status values in HUDs based on their status type. This e.g. allows to easily add new status values to HUDs by simply adding them to the group you want to display them with.
Status types can be sub-types of other status types for a more detailed organization.
Status types are set up in Status > Status Types.
Status Values #
Status values are numerical values representing things like a combatant’s health, strength, experience or proficiency in a skill and many other things.
They’re integer values, i.e. whole numbers. You can use Number Formatting options to display them in a different way (e.g. displaying a value of 69 as 6.9 instead).
Status values are set up in Status > Status Values.
Status Value Types #
There are 3 status value types available – Normal, Consumable and Experience.
Normal #
Normal type status values are used for most use cases, e.g. maximum health, strength or agility – values that remain somewhat static, e.g. only increasing on level ups or via upgrades or bonuses.
You can optionally use a formula to create a Combined Value – this’ll calculate the value of the status value through the defined formula and can use e.g. other status values. Using the status value itself in the formula allows using the actual (non-calculated) value of the status value, e.g. coming from equipment bonuses and other sources.
Consumable #
Consumable type status values are used for things like health or magic points, basically anything that can be consumed by actions.
They use Normal type status values to define their maximum value, so to increase the maximum value, you need to increase their maximum status value’s value (e.g. in the status development or via bonuses).
Consumable type status values can automatically cause the death of a combatant by either reaching their minimum or maximum value, e.g. a combatant should usually die if their health reaches 0.
Consumable type status values can use other Consumable type status values as barriers, consuming negative changes for them. E.g. a shield status value can be used to take damage instead of health as long as it has a remaining value.
Experience #
Experience type status values, as the name suggests, are used for anything experience-related. Beside regular experience, this can also be used to create spendable points to e.g. learn new abilities or upgrade them.
They can automatically increase a combatant’s level or class level when reaching their maximum value (of the current level).
Upon level up, experience status values can restart from their minimum value (e.g. 0) or keep growing from their current value.
Changing Status Values #
Status values can be changed in different ways:
- abilities
- items
- equipment
- status effects
- schematics
- etc.
There is a difference between changing a Normal and Consumable or Experience type status values. For Consumable and Experience, changes are straightforward, simply changing their value.
For Normal type status values the change made by an active ability or an item is permanent, e.g. an item increasing maximum health by 10 will stay that way. However, changes made via bonuses from passive abilities, equipment or status effects only remain as long as they’re available, e.g. an equipment increasing maximum health by 10% will revert back (removing the 10%) when it’s unequipped.
Change Schematics #
Status values can use schematics when receiving value changes. This allows implementing custom systems or reactions to status value changes.
You can limit this to only happen under defined conditions, to specific value changes or from certain change sources. E.g. have a combatant show an autoclose dialogue saying ‘ouch’ when they receive health damage from abilities.
In the schematic, the combatant who caused the change (if available) will be used as Machine Object, the combatant who’s status value was changed will be used as Starting Object. The change value is available as a local float variable via the variable key change, the old value as oldValue and the new value as newValue.
Combatants can optionally add or replace this with custom schematics.
UI #
You usually want to display the status values in a UI in some form, e.g. in a HUD, status menu or displaying damage as a flying text.
Status values can also be set to be hidden from the player, i.e. they’ll not show up in any status value listings in the UI, though you can still display them when directly using a status value instead of displaying a list.
Count To Value #
You can optionally have status changes count to the new value over time instead of directly setting the new value.
This can either only work as a displayed value, while the real value is already changed – or operate on the real value.
E.g. having the real health value change over time could be used to allow combatants to still heal after a fatal hit, as death will only be caused when the value reaches 0 (or their defined minmum value).
Status Value UI #
Displaying a list of status values usually uses a UI setup of a status value. The actual setup depends on the used UI module, e.g. the Unity UI module will use a prefab for this.
See the documentation on HUD status values for details.
Flying Texts #
Status changes can display flying texts for damage (negative) and refresh (positive), as well as for blocking changes.
You can set up different flying texts for player, ally (i.e. non-player group members that are not enemies) and enemy combatants. E.g. display red damage numbers for the player and white for the enemy.
Attack modifier attributes can optionally override the text color of the flying texts, e.g. having a Water element attack display blue damage numbers.
See Makinom’s documentation on flying texts for details on how to set up the UI.
Status Development #
Status developments are a reusable template for how a combatant’s status values develop and change when leveling up. They also define the initial value of a combatant’s status values at their start level.
Status developments are set up in Status > Status Developments.
Beside using status developments, you can also define fixed values for a combatant (in the combatant’s settings) or use schematics to create a custom system. Leveling up can optionally start a schematic to e.g. do status value changes.
Level Range #
The level range defines the minimum and maximum level a combatant can have using the status development. For Curve development types this also determines the levels that can be defined.
To change the level range of a status development, click on the Edit Level Range button, change the values to your liking and click on the Ok button to confirm the changes (or Cancel to, well, cancel the changes).
Value Development #
Status developments only change Normal type status values and defines how Experience type status values increase their level up border or how much are earned on level up.
Only the status values you add to the development will be changed.
None #
No changes, only the initial start value will be defined.
Curve #
Create a development curve that defines the value for each level. Clicking on Edit Curve will open the Curve Editor for the status value.
Here’s an example of a curve editor.
Beside creating interpolations between defined values to create the curve, you can also use Unity’s animation curves to create them.
Formula #
A formula is used to calculate a value that’ll be added at each level up. When a combatant is initially created, the formula is used for each level.
The Start Value will be used as the initial value on the lowest level, i.e. the formula will only be used for levels after the initial (minimum) level.
E.g.: If the minimum level is 1 and the start value is 10, the status value will be:
- Level 1: 10
- Level 2: Level 1 + formula result (i.e. 10 + result)
- Level 3: Level 2 + formula result (i.e. 10 + result lvl 2 + result lvl 3)
- etc.
Tip! The formula can also use the status value itself in the formula.
Percent #
Uses a defined percent of the level’s percent points. The Percent Points are defined in the status development and can either use a Curve or a Formula to determine the points for distribution.
The Percent Value defines how much (percent) of the percent points for the current level will be used. Please note that the percent points don’t represent the available points, but the used value for the percent calculations, i.e. you can use more than 100% of the points.
E.g.: The percent points for a level are 100:
- MaxHP uses 250 percent value: 250
- MaxMP uses 120 percent value: 120
- ATK uses 45 percent value: 45
- DEF uses 20 percent value: 20
- etc.
After a level up, the percent points are 120:
- MaxHP uses 250 percent value: 300
- MaxMP uses 120 percent value: 144
- ATK uses 45 percent value: 54
- DEF uses 20 percent value: 24
- etc.
Using Percent development type is an easy way to create scaleable status values, e.g. to create enemies with the same relation between status values on all levels without having to create curves for each status value.
Tip! For an easy setup it’s best to define the minimum level with 100 percent points and base the distribution (percent values of the status values) based on that.
This allows for a simple, 100% based distribution that only needs to be scaled up for further levels.
Upgrades #
Normal type status values can be upgraded using a Status Value Upgrade menu part in menu screens. The combatant’s status development defines which upgrades are available.
When multiple upgrade settings for a status value are available, the first useable (due to costs and learn conditions) will be displayed in menus. If no useable is found, the first available (due to the learn conditions) will be displayed.
Individual status value upgrades define by how much the status value will be changed by, the upgrade costs and the learn conditions for being able to upgrade the status value. Upgrade costs can consume items (items, equipment, etc.) and other status values, e.g. an Experience type status value (but you can use any type of status value).
Combatants and Status Values #
Combatants are vessels for the status system, i.e. the status values are bound to them.
Here are some things to consider in the relation between combatants and status values.
Start Values #
The start values define how a newly created combatant’s status values will be initialized. They can be defined in multiple locations.
- Status Value
The status value itself defines a start value that’ll be used if no other start value is defined for it.
Best used for status values that are usually the same for most combatants. - Combatant
The combatant’s settings can add start values for defined status values, this’ll overrule the status value’s default start value.
Best used for when you need to define specific values for a combatant. - Status Development
The (optional) status development of the combatant defines the start values of the status values that are added to it. This’ll overrule the combatant’s start values and the status value’s default start value.
Best used to create a reusable setup that can be used by multiple combatants, or if you need to define status values for multiple levels, e.g. when a combatant can level up (usually the player) or an enemy can be encountered at different levels.
You can combine the different ways, having some status values defined via status development, some for the individual combatant and the rest using default start values.
Tip! Make sure your health (or whatever other status value is capable of causing death) is using a start value above it’s minimum value.
Creating a combatant with 0 health means it’s instantly dead, e.g. preventing battles from starting.
Rewards #
Combatants can give the player Experience and Normal type status value rewards when they’re defeated in a battle. They’re added in the combatant’s Status Settings > Experience Reward and Status Settings > Normal Status Value Reward settings.
Experience rewards increase the used experience’s value and cause level ups (if the status value is used for that). Normal rewards permanently increase the Normal type status value.
Each individual reward can optionally use a chance to determine if it’s used or not.
Setup Examples #
Here are some examples for setting up different kinds of status values.
These examples will only focus on the value setup, i.e. it’ll not cover anything of the UI setup.
Max HP #
This is the maximum health of a combatant. This setup example will cap it at 9999.
- Type
Select Normal.
Click on Edit Value Range to set up the min/max value this status value can have.
- Minimum Value
Set to 0. - Maximum Value
Set to 9999.
Click on Ok to accept the value range change.
- Start Value
Set to 1 (or whatever other value you want to use as default max HP). - Set In
Select Value.
The start value is defined as value.
HP #
This is the actual health of a combatant – it’ll use the Max HP as it’s maximum value.
- Type
Select Consumable. - Start Value
Set to 100. - Set In
Select Percent.
The value is defined in percent of it’s maximum value, using 100% means it’s at full health. - Max Status Value
Select Max HP (i.e. the maximum health status value you set up). - Death On
Select On Minimum. - Animate Damage
Enable this setting.
This’ll automatically play damage animations when the combatant receives negative changes to this status value.
Max MP #
This is the maximum magic points of a combatant. This setup example will cap it at 999.
The setup is basically the same as for the maximum health, just with a different maximum value.
- Type
Select Normal.
Click on Edit Value Range to set up the min/max value this status value can have.
- Minimum Value
Set to 0. - Maximum Value
Set to 999.
Click on Ok to accept the value range change.
- Start Value
Set to 1. - Set In
Select Value.
MP #
This is the actual magic points of a combatant – it’ll use the Max MP as it’s maximum value.
This setup is similar to the health, but it doesn’t kill the combatant at it’s minimum value (though you can set it up to do so, if you want).
- Type
Select Consumable. - Start Value
Set to 100. - Set In
Select Percent. - Max Status Value
Select Max MP (i.e. the maximum magic points status value you set up). - Death On
Select None. - Animate Damage
Disable this setting.
ATK/DEF/etc. #
This is a general setup for any kind of Normal type status value, e.g. for an attack, defence, strength, agility, etc. value.
For this setup, it’s using a 1-255 value range.
- Type
Select Normal.
Click on Edit Value Range to set up the min/max value this status value can have.
- Minimum Value
Set to 1. - Maximum Value
Set to 255.
Click on Ok to accept the value range change.
- Start Value
Set to 1. - Set In
Select Value.
Don’t forget that you can copy complete status values, so you don’t have to set each one from scratch. In a status system, Normal type status values will often operate within the same value range, so just copy the first one and change what’s needed (e.g. name and other content information).
EXP #
This is the experience points of a combatant and causes level ups.
- Type
Select Experience.
You can limit the experience’s value range, or leave it at the default, which uses the maximum integer value (2147483647).
- Minimum Value
Set to 0. - Maximum Value
Set to 100000.
Click on Ok to accept the value range change.
- Start Value
Set to 0. - Set In
Select Value. - Experience Type
Select Level. - Max Value Type
Select Next Level. - From Minimum
Enable this setting.
The experience will restart from 0 for each level for this setup.
AP (spendable experience) #
This is a setup for something like ability points or any similar kind of spendable experience. It doesn’t cause level up, but can either be used to ‘purchase’ upgrades (e.g. abilities and ability levels, status values, equipment levels, etc.), or automatically level up abilities and equipment of a combatant (depeding on the ability/equipment’s level up settings).
- Type
Select Experience.
Like with the regular level up causing experience, you can limit the value if needed.
- Minimum Value
Set to 0. - Maximum Value
Set to 100.
Click on Ok to accept the value range change.
- Start Value
Set to 0. - Set In
Select Value. - Experience Type
Select None. - Max Value Type
Select Max Value. - From Minimum
Disable this setting. - Init To Level
Enable this setting.
A newly created combatant will receive the AP appropriate for it’s level.