ORK 3.16.0 is here with 108 new features, changes and fixes (and more in the also included Makinom 2.15.0)!
This update focuses on the status system and brings changes to status effects, status bonuses and random status bonuses. There are additional updates for raycast targeting, move AIs and many other new features, changes and fixes.
This version contains Makinom 2.15.0 with a few additional new features, changes and fixes. E.g. new game state functionalities.
Download the latest version of ORK Framework here.
If you’re enjoying the updates, tutorials and support I provide, please consider leaving a review in the Unity Asset Store and supporting me on patron.com – every little bit helps!
New
- Status Effects: Status Changes: ‘Status Changes’ settings available. Status changes combine the previous status value changes, schematics, end effect changes and end action and allow using them on turn, time, action, etc. (as the previous status value changes did). Add custom status changes by extending from the ‘BaseEffectStatusChangeType’ class. Previous settings are automatically updated.
- Status Effects: Status Changes: Action Bar: ‘Action Bar’ status change type available. Changes the action bar of the combatant. In ‘Turn Based Battles’ and ‘Phase Battles’, this will change the actions per turn of the combatant. In ‘Active Time Battles’, this will change the timebar of the combatant.
- Status Effects: Status Changes: Move Range: ‘Move Range’ status change type available. Changes the grid move range.
- Status Effects: Status Changes: Variable: ‘Variable’ status change type available. Changes variables.
- Status Effects: Status Changes: Animation: ‘Animation’ status change type available. Plays an animation type on the combatant.
- Status Effects: Status Changes: Apply: ‘On Apply’ and ‘On Reapply’ settings available. You can now control if the status change is used on first applying and/or reapplying the status effect. Defaults to only being used ‘On Apply’ (previous behaviour, since reapplying didn’t use ‘Apply’ changes again).
- Status Effects: Status Changes: Remove: ‘Effect Removed By’ settings available. You can now control when a status change used on ‘Remove’ of the status effect is used by the type of removal. E.g. you can separate between remove by end of the battle, attack, death, etc.
- Status Effects: Status Changes: Conditions: ‘Conditions’ settings available for status changes. Optionally check the user or target of the effect for various conditions, e.g. variables or combatant status. If the check fails, the status change will not be used.
- Status Effects: Status Changes: Applied Duration Check: ‘Applied Duration Check’ settings available. Check the effect’s applied duration to allow using a status change. Applied duration checks are independent of the status effect’s actual duration, e.g. you can check for turns in a time-based effect (or with no duration at all). Applied duration can check for turns, battle turns, time and actions (any action).
- Status Effects: Status Changes: ‘Is Enemy’ setting available. Optionally only use a status change if user (combatant who cast the effect on the target) and target (combatant who has the effect applied) are enemies or allies.
- Status Effects: Status Changes: ‘Switch User/Target’ setting available. Optionally use the status change with user and target switched, e.g. restoring health on the user (combatant who cast the effect on the target).
- Status Effects: ‘User Snapshot’ setting available. Calculations using the user’s status will use the status information at the time the effect was applied. This’ll create a copy of the user combatant for this effect, but it’ll not have access to the original user’s group. Status changes done by this effect on the user will still use the original user, not the copy.
- Status Effects: ‘Local Variables’ and ‘Local Selected Data’ settings available. Select how local variables/selected data are used. They can either be shared with the cast (e.g. from schematic), copied from cast or create a new instance.
- Random Status Bonuses: Combatants, Classes, Equipment, (Passive) Abilities, Status Effects: ‘Random Status Bonuses’ settings available. Add random status bonuses to individual instances of combatants, classes, passive abilities, equipment or status effects. Replace previously available random bonus settings (equipment, combatants, classes).
- Random Status Bonuses: ‘Status Value’, ‘Status Value Percent’ and ‘Status Value Change Modifier’ random bonus types available. Add a random bonus to a status value, either a direct value bonus, a percent value bonus or a bonus to change modifiers (e.g. positive health changes +25%).
- Random Status Bonuses: ‘Attack Modifier’ and ‘Attack Modifier Factor’ random bonus types available. Add a random bonus to an attack modifier attribute’s value or factor.
- Random Status Bonuses: ‘Defence Modifier’ and ‘Defence Modifier Factor’ random bonus types available. Add a random bonus to a defence modifier attribute’s value or factor.
- Random Status Bonuses: ‘Random Bonus’ random bonus type available. Add a set of random bonuses.
- Random Status Bonuses: ‘Block Chance’, ‘Counter Chance’, ‘Critical Chance’, ‘Currency Steal Chance’, ‘Escape Chance’, ‘Hit Chance’ and ‘Item Steal Chance’ random bonus types available. Add a random bonus to the defined chance.
- Random Status Bonuses: ‘Experience Factor’ random bonus type available. Add a random bonus to a combatant’s experience factor.
- Random Status Bonuses: ‘Grid Move Range’ random bonus type available. Add a random bonus to a combatant’s grid move range.
- Random Status Bonuses: ‘Inventory Slot’ random bonus type available. Add a random bonus to a combatant’s inventory slots.
- Random Status Bonuses: ‘Item Limit’ random bonus type available. Add a random bonus to a combatant’s item limit.
- Random Status Bonuses: ‘Random Battle Factor’ random bonus type available. Add a random bonus to the random battle factor (player group only).
- Random Status Bonuses: ‘Walk Speed’, ‘Run Speed’ and ‘Sprint Speed’ random bonus type available. Add a random bonus to a combatant’s walk, run or sprint speed.
- Random Status Bonuses: ‘Chance Selection’ add range available. Add random status bonuses based on their chance setting. E.g. bonus 0 has 35% chance, bonus 1 has 50% chance, bonus 2 has 15% chance, i.e. bonus 0 is used for 0-35 chance range, bonus 1 for 35-85 and bonus 2 for 85-100.
- Status Bonuses: Most status bonuses have been combined into a single, extensible setup. This affects all status bonus settings, e.g. in status bonus templates or custom bonuses of equipment.
- Status Bonuses: ‘Status Value’, ‘Status Value Percent’ and ‘Status Value Change Modifier’ bonus types available. Add a bonus to a status value, either a direct value bonus, a percent value bonus or a bonus to change modifiers (e.g. positive health changes +25%). This was previously combined in a single setup, the data is udpated automatically.
- Status Bonuses: ‘Attack Modifier’ and ‘Attack Modifier Factor’ bonus types available. Add a bonus to an attack modifier attribute’s value or factor. This was previously combined in a single setup, the data is udpated automatically.
- Status Bonuses: ‘Defence Modifier’ and ‘Defence Modifier Factor’ bonus types available. Add a bonus to a defence modifier attribute’s value or factor. This was previously combined in a single setup, the data is udpated automatically.
- Status Bonuses: ‘Block Chance’, ‘Counter Chance’, ‘Critical Chance’, ‘Currency Steal Chance’, ‘Escape Chance’, ‘Hit Chance’ and ‘Item Steal Chance’ bonus types available. Add a bonus to the defined chance.
- Status Bonuses: ‘Experience Factor’ bonus type available. Add a bonus to a combatant’s experience factor.
- Status Bonuses: ‘Grid Move Range’ bonus type available. Add a bonus to a combatant’s grid move range.
- Status Bonuses: ‘Inventory Slot’ bonus type available. Add a bonus to a combatant’s inventory slots.
- Status Bonuses: ‘Item Limit’ bonus type available. Add a bonus to a combatant’s item limit.
- Status Bonuses: ‘Random Battle Factor’ bonus type available. Add a bonus to the random battle factor (player group only).
- Status Bonuses: ‘Walk Speed’, ‘Run Speed’ and ‘Sprint Speed’ bonus type available. Add a bonus to a combatant’s walk, run or sprint speed.
- Abilities, Items: Status Changes: Animation: ‘Animation’ status change type available. Plays an animation type on the combatant.
- Target Selections: Target Raycast: ‘Raycast Type’ settings available. Raycast targeting now supports different raycasting options to select targets. The previous mode is now available as ‘Position’ type, where the raycasted position is used directly.
- Target Selections: Target Raycast: ‘Game Object’ raycast type available. Available raycast target positions are defined by game objects found in the scene. Game objects can be searched by tag, name or an attached component. Available positions can be highlighted by a cursor prefab.
- Target Selections: Target Raycast: ‘Grid’ raycast type available. Available raycast target positions are generated in a square or hexagonal grid around the user. Available positions can be highlighted by a cursor prefab.
- Target Selections: Target Raycast: ‘Auto Target’ setting is now a selection. Auto targeting can now use the user, a target (found using the user’s AI settings) or the screen center (also used as fallback when user/target aren’t available). Previous settings will be updated automatically.
- Target Selections: Target Raycast: ‘Local Space’ settings available when using auto targeting settings. The offset to the target during auto targeting can now be used in local space of the target.
- Target Settings: Affected Target Highlight: ‘Affected Target Highlight’ settings available. Optionally highlight combatants within affect range of a targeted combatant during target selection.
- Target Selection Templates, Abilities, Items: Conditional Affect Ranges: ‘Distance Condition’ settings available for conditional affect ranges. Optionally base conditional affect ranges on the distance between user and target (or targeted cell).
- Active Time Battles: Pause On Menu: ‘Pause In Root’, ‘Pause In Sub’ and ‘Pause In Target Selections’ settings available when using ‘Pause On Menu’. Pauses the battle while the the root (i.e. main battle menu option selection), a sub-menu or a target selection (including grid examine/move/orientation) is currently used by the battle menu.
- Action Combos: ‘Ignored Action’ settings available. Optionally add actions that will be ignored when used by the combatant. Ignored actions will not reset the stage if used. E.g. use this if you don’t want a ‘None’ action (e.g. used to end the turn) to interfere with action combos.
- Player Controls: Top Down 2D: ‘No Diagonal Movement’ setting available. Optionally block diagonal movement, i.e. only horizontal and vertical movement is allowed.
- Combatants: Body Parts: Death Status Changes: Animation: ‘Animation’ status change type available. Plays an animation type on the combatant.
- Move AIs: Enemy Detection: Move Detection: ‘Detection Conditions’ settings available. Optionally only detect targets if defined conditions are valid. Uses the same conditions as e.g. hunting or fleeing. Conditions are only used for detecting combatants, not points of interest.
- Move AIs: Conditions: Conditions in move AIs are now an extensible class. Extend from the ‘BaseMoveConditionType’ class to implement custom conditions. Previous settings will be udpated automatically.
- Move AIs: Conditions: ‘Game State’ condition type available. Checks if game states are active or inactive.
- Move AIs: Conditions: ‘Variable’ condition type available. Checks variables (e.g. global variables, object variables on user/target, etc.).
- Move AIs: Conditions: ‘Difficulty’ condition type available. Checks the game’s difficulty.
- Move AIs: Conditions: ‘Quest’ condition type available. Check quest status conditions.
- Move AIs: Conditions: ‘Quest Task’ condition type available. Check quest task status conditions.
- Move AIs: Conditions: ‘Quest Type’ condition type available. Check quest type status conditions.
- Game Controls: Group Member Keys: ‘Click Member’ settings available. Optionally allow switching the player or the battle menu user by clicking on a combatant.
- Menu Screens: Menu Actions, Sub Menus: ‘To Item Box’ menu action available. Stores an item/equipment/etc. into a defined item box (via box ID).
- Menu Screens: Group: ‘Hide Empty Slot’ setting available in 1st and 2nd group box settings. Optionally hide empty slot buttons, e.g. in case you only want to use drag+drop input.
- Battle Menus: Time Scale: ‘Change In Root’, ‘Change In Sub’ and ‘Change In Target Selections’ settings available when using ‘Change Time Scale’. Changing the time scale can now be used while the the root (i.e. main battle menu option selection), a sub-menu or a target selection (including grid examine/move/orientation) is currently used by the battle menu. E.g. only stop the timescale when being in a sub menu.
- Battle Menus: ‘Remember In Root’ setting available when using ‘Remember Selection’. Remembering the selection in the root of the battle menu (i.e. where the main battle menu options are selected) is now optional. By default enabled (previous behaviour).
- Battle Menus: Options: Schematic, Menu Screen: ‘Reset Battle Menu’ setting available when closing and reopening the battle menu. Optionally reset the battle menu when opening to restart from the menu’s root instead of restoring the previous menu.
- Battle Menus: Options: Status Changes: Animation: ‘Animation’ status change type available. Plays an animation type on the combatant.
- HUDs: Combatant, Combatant Object: Display Conditions: ‘Is Affected Target’ setting available when using ‘Is Targeted’ settings. Optionally only display the HUD if the combatant is currently highlighted as an affected target by the regular target selection (e.g. via battle menu).
- HUDs: Console: ‘Limit Lines’ settings available. Optionally limit the number of displayed lines of the console. This overrides the maximum lines defined in ‘UI > Console Settings & Types’.
- UI Settings: Prefab View: ‘Disable Machines’ setting available in prefab settings for prefab view. Disable all machine components on a prefab spawned for prefab view.
- UI Settings: Prefab View: ‘Disable Component’ settings available in prefab settings for prefab view. Define components that should be disabled on a prefab spanwed for prefab view.
- Schematics: Add Random Status Bonus: ‘Add Random Status Bonus’ node available in ‘Value > Selected Data’ nodes. Add a random status bonus to an equipment, passive ability, combatant, class or anything implementing the ‘IAddRandomStatusBonus’ interface stored currently stored in selected data.
- Schematics: Remove All Status Bonus: ‘Remove All Status Bonus’ node available in ‘Value > Selected Data’ nodes. Remove all instance status bonuses of an equipment, passive ability, combatant, class or anything implementing the ‘IAddRandomStatusBonus’ interface stored currently stored in selected data. This only removes instanced bonuses, e.g. from random status bonuses or from bonuses added via the ‘Change Equip Status Value’ node.
- Schematics: Set Battle Action Finished: ‘Set Battle Action Finished’ node available in ‘Battle > Action’ nodes. Sets the schematic’s action (or actions stored in selected data) to be finished while still continuing the action’s schematics. This’ll cause the action’s end to be used (e.g. unblocking controls, ending turn, etc.) and releases the user from being in action (e.g. allowing a new action to be used).
- Schematics: Is Battle Action Finished: ‘Is Battle Action Finished’ node available in ‘Battle > Action’ nodes. Checks if the schematic’s action (or actions stored in selected data) is finished (i.e. ended by finishing all schematics or via the ‘Set Battle Action Finished’ node).
- Schematics: Is Current Battle Action: ‘Is Current Battle Action’ node available in ‘Battle > Action’ nodes. Checks if the schematic’s action (or actions stored in selected data) is the current action of a combatant.
- Schematics: Change Selected Data Quantity: ‘Change Selected Data Quantity’ node available in ‘Value > Selected Data’ nodes. Changes the quantity of content in selected data. This can be used to change the quantity of items, equipment or other shortcuts stored in selected data.
- Schematics: Calculate Action, Use Ability Calculation, Use Item Calculation: ‘Calculation Options’ settings available. Define if user and target changes will be used. Target changes can also only use a defined target change index instead of all target changes (e.g. only using ‘Target Change 0’ or ‘Target Change 1’)
- Schematics: Reopen Battle Menu: ‘Reset Battle Menu’ setting available. Optionally reset the battle menu when opening to restart from the menu’s root instead of restoring the previous menu.
- Schematics: Store Inventory Quantity: ‘Use Selected Data’ settings available. Optionally use items stored in selected data to get the available quantity in the inventory.
- Schematics: Quest Choice: ‘No Schematics’ setting available. A newly created quest instance (only used for showing information) will not start any schematics (e.g. ‘Activate Schematic’ of quest tasks).
- Schematics: Join Battle: ‘Set Turn Ended’ setting available when not using ‘Join Turn Order’. Sets the combatant’s turn as ended (i.e. ‘After Turn’). E.g. use this to show the correct grid highlight for a combatant that can’t perform actions or other turn state based conditions.
- Schematics: Join Turn Order: ‘Join Turn Order’ node available in ‘Battle > Combatant’ nodes. A combatant joins the turn order of a running battle. This is only used by ‘Turn Based’ and ‘Phase’ battles, allowing the combatant to perform actions in the current turn.
- Schematics: Set Turn Ended: ‘Join Turn Order’ node available in ‘Battle > Combatant’ nodes. A combatant’s turn state is set to have ended (i.e. ‘After Turn’ state). This doesn’t use the combatant’s regular end turn functionality and only sets the state.
- Random Battle Area Components: ‘Check Local Position’ setting available. Optionally check the local position of the player instead of the world position. E.g. use this when the player is mounted on a moving platform.
- Scripting: Access Handler: New access handler function available to cancel casting an action.
- Scripting: Random Status Bonuses: Add custom random status bonuses by extending from the base ‘BaseRandomBonusType’ class.
- Scripting: Status Bonuses: Add custom status bonuses by extending from the base ‘BaseBonusType’ class.
- Unity UI: ORK HUD Status Text Content Component: Combatant Console: ‘Limit Lines’ settings available. Optionally limit the number of displayed lines of the combatant’s console. This overrides the maximum lines defined in ‘UI > Console Settings & Types’.
Changes
- Status Effects: ‘End Status Effect Changes’, ‘End Action’, ‘Status Value Changes’ and ‘Schematics’ settings have been replaced by the new ‘Status Changes’ settings. Previous data is updated automatically.
- Status Effects: ‘Status Value Changes’ have been split into ‘Status Value’, ‘Block Status Value’ and ‘Absorb Status Value’ status change types. Previous data is updated automatically.
- Equipment: ‘Random Status Value Bonuses’, ‘Random Attack Modifier Bonuses’ and ‘Random Defence Modifier Bonuses’ settings have been replaced by the new ‘Random Status Bonuses’ settings. Previous data is updated automatically.
- Combatants, Classes: ‘Random Status Value Bonuses’ settings have been replaced by the new ‘Random Status Bonuses’ settings. Previous data is updated automatically.
- Status Bonuses: ‘Chance/Other Bonuses’, ‘Status Value Bonuses’, ‘Status Change Modifiers’, ‘Attack Modifier Bonuses’ and ‘Defence Modifier Bonuses’ settings have been replaced by the new ‘Status Bonuses’ settings. Previous data is updated automatically. This affects all status bonuses everywhere, i.e. status bonus templates and custom bonuses of equipment, status effects, combatants, etc.
- Directional Target Selections: Directional selection based on screen position has been improved. Horizontal or vertical input how prioritizes based on the input axis distance instead of overall distance, resulting in a more natural selection.
- Directional Target Selections: ‘Allow Both’ setting has been removed.
- Menu Screens: ‘Sequence’ display mode now only closes a sequenced UI box if one of it’s parent UI boxes gained focus instead of any other UI box.
- Battle Menus: The ‘Time Scale’ settings have been moved into the ‘Options’ foldout.
- Battle Grids: A combatant moving off a cell will remove all combatant-related grid cell highlights.
- Unity UI: ORK HUD Status Text Content Component: Ability, Item: The max reuse time/turns texts will now display the first found time when no reuse time is running for the ability/item. Previously the max time was only shown when a reuse time was running.
Fixes
- Action Combos: Replacement Action: Fixed an issue where the ‘Reset Stage On Fail’ setting wasn’t used and always reset the stage when the replacement action wasn’t found.
- Abilities, Items: Absorb: Absorbing status changes on ‘Normal’ type status values didn’t change the base value, i.e. the change was reset by the next status recalculation.
- Menu Screens: Fixed an issue where stopping playing with a menu screen open when not using ‘Domain Reload’ (Unity) could lead to issues in the next playtest.
- Menu Screens: Group: Transfer: Fixed an issue where locked battle members could be transferred.
- Menu Screens: Sub Menus: Fixed an issue where sub menus couldn’t be opened by click-accept when using an accept timeout.
- Shops: Fixed an issue where sorting by ‘Added’ wasn’t working for items in the player’s inventory.
- Target Selections: Fixed an issue where showing a tooltip of another action didn’t show the highlighted targets again when the tooltip ended. This also affected target information displays.
- Inventory: Space Limit: Status Effects: Fixed an issue where only one combatant received status effects (based on inventory filling) instead of all group members when using ‘Group’ inventory.
- Phase Battles: Fixed an issue where combatants joining the turn order during a running turn/phase where not able to select actions.
- Cursor Settings, Grid Battles: Cell Target Selection: Fixed an issue where the cursor could flicker between 2 states during grid cell target selections.
- Change Member, Conditional Prefabs: Fixed an issue where using the ‘Change Member’ command with a combatant using conditional prefabs to use a separate prefab in battles could result in the old combatant not being destroyed correctly, spawning it again with the field prefab.