ORK 3.4.0 is here with 58 new features, changes and fixes (and 35 more in the also included Makinom 2.5.0)!
This update adds combatant reaction portraits, damage/refresh flying texts based on attack modifiers, new start menu options, new menu screen and shop features, new schematic nodes and other new features changes and fixes.
Additionally, you can now use components on user/target/raycast cursor prefabs to forward information on the selected combatant or used action. E.g. the Affect Range Scale Target Selection Cursor component scales the game object based on the affect range of the used ability. Create custom components by implementing the different interfaces (see below). Learn more about this new feature in the cursor prefab components documentation.
This version contains Makinom 2.5.0 with 35 additional new features, changes and fixes.
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
- Combatants: Reaction Portraits: ‘Reaction Portrait’ settings available. The reaction portrait of a combatant can change the used portrait type based on things happening, e.g. a status value change or a status effect being applied. Reaction portraits can be displayed in HUDs via ‘Reaction Portrait’ elements (depending on the UI system). Default settings for all combatants are in the general settings of combatants, each combatant can override them in their UI information override settings.
- Attack Modifiers: ‘Strength Flying Text’, ‘Weakness Flying Text’ and ‘Recovery Flying Text’ settings available. Optionally override status value flying texts for attack modifier attributes that are recognized as a strength, weakness or recovery attribute of the combatant. Can be set up for all attributes of the attack modifier, each attribute can additionally define it’s own settings.
- Abilities, Items: Status Value Changes: The ‘Efficiency’ setting now uses a float value selection. E.g. allows using formulas or other value types instead of a defined value.
- Abilities, Items, Status Effects: Status Value Changes: The ‘Percent’ setting for absorbing damage now uses a float value selection. E.g. allows using formulas or other value types instead of a defined value.
- Inventory Settings: Drop Item Settings: ‘Prefab Settings’ available. Define if the prefab of the dropped item will be spawned. By default enabled (previous behaviour).
- Inventory Settings: Drop Item Settings: ‘Destroy Object’ setting available. Define if the dropped item’s game object will be destroyed after collection. By default enabled.
- Inventory Settings: Drop Item Settings: ‘Show Dialogue’ setting available. Define if the item collection dialogue is shown. By default enabled.
- HUDs: Shortcut Slots: Dragging Notification: ‘Dragging Notification’ settings available when shortcut slots allow dragging. Optionally use a custom dragging notification to display dragged content coming from the shortcut slot (e.g. via the ‘HUD Shortcut Slot Content’ component in the Unity UI system). The default dagging notification is set up in ‘UI > UI Settings’.
- Start Menu: Menu Options: Exit: ‘Close Application Question’ settings available. Optionally display a question dialogue before closing the application.
- Start Menu: Menu Options: ‘Schematic’ option type available. Starts a schematic, optionally closing the start menu. Use a ‘Call Start Menu’ node to open the start menu again (in case it’s closed).
- Start Menu: Menu Options: ‘Global Machine’ option type available. Starts a global machine, optionally closing the start menu. Use a ‘Call Start Menu’ node to open the start menu again (in case it’s closed).
- Menu Screens: Group Combatant: ‘Close If Empty’ setting available. Optionally close the group combatant part when no combatant is displayed.
- Menu Screens: Combatant, Group Combatant: Entry Page: ‘Add Tooltip’ setting available. Optionally add the combatant as tooltip content. Also available in other combatant displays with ‘Entry Page’ settings (e.g. shops).
- Menu Screens: Combatant: ‘Show Selected Combatant’ setting available when displaying ‘Current’ scope (i.e. the menu user). Optionally show the menu screen’s currently selected combatant from an open combatant selection or another ‘Combatant’ menu part used to select combatants. When no combatant selection is active, displays the menu’s current user.
- Menu Screens: Sub-Menus: ‘At Input Position’ settings available. Optionally place the sub-menu’s UI box based on the position of the selected input that called the sub-menu. Sub-menus are available in ‘Ability’, ‘Equipment’, ‘Inventory’ and ‘Inventory Container’ menu parts.
- Menu Screens: Menu Actions, Sub-Menus: ‘Merge’ menu action type available. Merges a stack of items/equipment/etc. with another matching stack. The merging stack can optionally be highlighted in a color while selecting the other stack. Currently only supported in ‘Inventory’, ‘Inventory Container’ and ‘Equipment’ menu parts.
- Menu Screens: Menu Actions, Sub-Menus: ‘Move (Inventory Container Slot)’ menu action type available. Moves a stack of items/equipment/etc. to another inventory container slot (or swaps with it’s content). The moving stack can optionally be highlighted in a color while selecting the other stack. Currently only supported in ‘Inventory Container’ menu parts.
- Menu Screens: Menu Actions, Sub-Menus: Assign Shortcut: ‘Use Assigned Button’ settings available. Optionally use a different button content setup when a slot is already assigned with a shortcut. Allows showing content information or use ‘Shortcut UI’ or HUD templates to display information about the assigned shortcut.
- Shop Layouts: Purchase Mode Settings: ‘Purchase Mode’ settings available. Define what happens when purchasing items, equipment, AI behaviours or AI rulesets. ‘Buy’ will simply add the purchased content to the inventory, ‘Buy And Use’ opens a combatant selection to use it after storing it in the inventory (e.g. equipment will be equipped, items used, etc.).
- Text Display Settings: Combatant Choice Layouts: ‘Add Tooltip’ setting available. Optionally add the combatant as tooltip content. Also available in all combatant choice override settings (e.g. combatant selections).
- Battle AIs: Check Action Time: ‘Check Action Time’ node available in ‘Combatant’ nodes. Checks a combatant’s action time.
- Schematics: Combatant Reaction Portrait: ‘Combatant Reaction Portrait’ node available in ‘Combatant > Combatant’ nodes. Changes the reaction portrait of a combatant for a defind time.
- Schematics: Sort Selected Combatants: ‘Sort Selected Combatants’ node available in ‘Value > Selected Data’ nodes. sort combatants stored in selected data by defined metrics, e.g. by distance to a position or a status value.
- Schematics: Select Combatant Objects: ‘Distance Sort’ settings available. Optionally sort the selected combatants by their distance to the user/position.
- Schematics: Change Task Enemy Kill Count: ‘Change Task Enemy Kill Count’ node available in ‘Game > Quest’ nodes. Changes the current value of a task’s enemy kill requirements.
- Schematics: Change Task Item Count: ‘Change Task Item Count’ node available in ‘Game > Quest’ nodes. Changes the current value of a task’s item requirements.
- Schematics: Change Task Count: ‘All Tags’ setting available. Optionally change the count of all tags instead of a defined tag.
- Schematics: Start Item Collector: ‘Only Set Collected’ setting available. Optionally only set the item as collected instead of actually collecting it.
- Schematics: Start Item Collector: ‘Scope’ setting available. Define the scope where the item collector will be searched on the used game object (e.g. in child objects).
- Schematics: Add Temporary Cell Event: ‘User Combatant’ settings available. Optionally define a user object that’ll be used as the user of the cell event instead of creating a new combatant. Will be used by ‘Ability’ and ‘Status Effect’ events as the user and for all event types for enemy/ally checks.
- Schematics: Get Combatant Gains: ‘Loot Storage’ settings available. Define where the loot from the used combatant will be stored into. Can be stored in the ‘Battle Loot’ (previous behaviour), an item box via ‘Item Box ID’, an item box via a game object’s item box (‘Item Box Object’) or into ‘Selected Data’.
- Schematics: Create Item Box: ‘Create Item Box’ node available in ‘Inventory > Item Box’ nodes. Adds an ‘Item Collector’ component using ‘Box’ collection type to a game object, optionally using and setting a box ID.
- Schematics: Start Grid Cell Selection: ‘Start Grid Cell Selection’ node available in ‘Battle > Grid’ nodes. Starts a grid cell selection, allowing the player to select a grid cell similar to target cell selections. The selected cell(s) will be stored in selected data.
- Schematics: Change Action Time: ‘Use Maximum’ setting available. Changes the maximum action time instead of the current action time.
- Schematics: Check Action Time: ‘Use Maximum’ setting available. Checks the maximum action time instead of the current action time.
- Unity UI: HUDs: HUD Combatant Reaction Portrait: ‘HUD Combatant Reaction Portrait’ component available. Displays a combatant’s reaction portrait and updates when it changes.
- Unity UI Setup: Context Menu: ‘Combatant Reaction Portrait’ entries available in ‘ORK Framework > HUD > Content’. Creates ‘HUD Combatant Reaction Portrait’ component game objects with different portrait configurations.
- Item Collector Components: ‘Mount On Prefab’ setting available when using ‘Mount Prefab’ settings. Optionally mount the item collector on the spawned prefab instead of the prefab on the item collector.
- Scripting: Combatants: ‘AttackedByCombatant’ event handler available to register in the combatant’s ‘Battle’ property. Notifies listeners when the combatant was attacked by another combatant, providing the attacker as an argument. Will only be fired the first time each combatant attacks (i.e. previously unknown attacker).
- Scripting: Factions: Event handlers available to get notified of faction changes. ‘MemberWasKilled’, ‘ItemWasTaken’, ‘CurrencyWasTaken’ and ‘SympathyChanged’ handlers provide the faction that was changed and the faction that changed as arguments. Faction sympathy and the event handlers can be accessed via ‘ORK.Game.Faction’ in a running game.
- Scripting: ‘ITargetRaycastCursorPrefab’ interface available. Used by raycast targeting to pass on the user and action to raycast cursor prefab instances.
- Scripting: ‘ITargetSelectionCursorPrefab’ interface available. Used by target selections (combatant highlights) to pass on the user, selected target and action to target cursor prefab instances.
- Scripting: ‘ICombatantHighlightCursorPrefab’ interface available. Used by combatant highlights (including target selections) to pass on the selected combatant to cursor prefab instances.
- Affect Range Scale Target Raycast Cursor Component: ‘Affect Range Scale’ target raycast component available. Implements the ‘ITargerRaycastCursorPrefab’ interface and changes the game object’s scale based on the affect range of the raycast action.
- Affect Range Scale Target Selection Cursor Component: ‘Affect Range Scale’ target selection component available. Implements the ‘ITargetSelectionCursorPrefab’ interface and changes the game object’s scale based on the affect range of the action.
- Radius Scale Combatant Highlight Cursor Component: ‘Radius Scale’ combatant highlight component available. Implements the ‘ICombatantHighlightCursorPrefab’ interface and changes the game object’s scale based on the radius of the highlighted combatant.
- Use Range Scale Combatant Highlight Cursor Component: ‘Use Range Scale’ combatant highlight component available. Implements the ‘ICombatantHighlightCursorPrefab’ interface and changes the game object’s scale based on the use range of the user’s currently selected action (in the battle menu).
Changes
- Save Game Settings: The ‘No Auto Remove Scene’ settings have been moved to the Makinom save data (i.e. now part of Makinom’s features). Your old settings will automatically be updated.
- Schematics: Change Task Count: You can now also change all tasks of a quest, quest type or all tasks instead of only a defind task.
- Scripting: The ‘IComponentSaveData’ interface has been moved from ORK to Makinom. Use the namespace ‘GamingIsLove.Makinom’ instead of ‘GamingIsLove.ORKFramework’ to access it.
Fixes
- Menu Screens: Combatant: Fixed an issue where using the ‘Combatant’ menu part as a combatant selection could throw an error when canceling out of selecting combatants.
- Menu Screens: Group Combatant: Fixed an issue where the ‘Group Combatant’ menu part wasn’t closed when it’s displaying battle group or non-battle group box was closed.
- Menu Screens: Status Value Distribution: Fixed an issue where a status value’s input couldn’t be decreased to their initial value when ‘Can Decrease’ is disabled.
- Menu Screens: Equipment: Fixed an issue where equipping the last equipment, leaving only the ‘Unequip’ button, caused the unequip preview to remain active.
- Menu Screens: Equipment: Fixed an issue where a sub-menu could be opened for the ‘Unequip’ button.
- HUDs: Shortcut Slots: Fixed an issue where shortcuts from non-slot sources (e.g. a menu screen) where not assigned.
- Combatant Spawners: Fixed an issue where using ‘Remember Combatants’ and ‘Use Appearing Chance’ was using the appearing chance for remembered combatants instead of only for the first spawn.
- Status Effects: Fixed an issue where removing a status effect that removes other effects on remove could lead to stack overflow exceptions.