May
29
2020

ORK 2.29.0 is here with 99 new features, changes and fixes!

Head to the download page and grab the latest version or buy a copy in the Unity Asset Store!

This update adds Level Zones to manage the levels of all combatants within an area/scene, new Move AI features (e.g. new protection mode, points of interest, detection events, etc.), new sorting options for menus/shops (and changing the sorting in-game), a bunch of new event nodes, more access handler functionality and many other new features, changes and fixes.

This version is available for Unity 5.6Unity 2017 and Unity 2018/2019. Please note that ORK’s update policy changed – you can learn more about it here.

If you’re enjoying the updates, tutorials and support I provide, please consider supporting me on patron.com – every little bit helps!

New

  • Level Zones
    ‘Level Zone’ component available. Use them to define level and class level settings for all combatants that are spawned within them. A level zone can be either scene-wide, or limited to a certain area by using a collider to define the zone’s bounds.
  • Combatants
    ‘Use Level Zone’ setting available in various combatant definitions (e.g. ‘Battle’ and ‘Combatant Spawner’ components, combatant groups, etc.). Defines if the spawned combatant will use a level zone, if available. By default enabled.
  • Points Of Interest
    ‘Point Of Interest’ component available. Use POIs to give combatants using the move AI something to check out while moving along waypoints. Reaching a POI can optionally start a game event. POIs are detected like enemy combatants and can optionally use a tag to limit a move AI to certain POIs.
  • Game Controls: Interaction Settings
    ‘Start Click Interaction’ setting available. Optionally start interactions below the cursor by using the ‘Interact Key’.
  • Camera Controls: Top Down Border
    ‘Cursor Drag Panning’ settings available. Optionally pan the screen by click-dragging the mouse cursor.
  • Camera Controls: Top Down Border
    ‘Use Speed Key’ settings available for panning (via input keys) and ‘Screen Edge Panning’. Optionally use a different pan speed when holding down an input key.
  • Camera Controls: Follow, Look, Mouse, Top Down Border
    ‘Use Unscaled Time’ setting available. Optionally use unscaled delta time, i.e. the camera is not affected when changing the timescale.
  • Game Settings, Areas
    ‘New Area Notification Layout’ settings available. Optionally show a different notification when entering an area for the first time. Only used if ‘Show Once’ is disabled in the area settings.
  • Formulas: Selected Data Count
    ‘Use As Value’ setting available in ‘Selected Data Count’ node. Optionally use the count as a value to change the formula value instead of checking the count.
  • Quest Settings, Quests
    ‘Finish Requirement Notifications’ settings available. Optionally show notifications when a task’s finish requirement count changed, e.g. when collecting a required item or killing a required enemy combatant.
  • Shop Layouts: Sorting Settings
    ‘Sorting Settings’ available in shop layouts. Allows setting up different sorting options and change the sorting in-game.
  • Abilities, Items: Target Settings
    ‘Control Map Targeting’ settings available. Abilities/items can optionally override the target settings of control map keys when being used via a control map key.
  • Abilities, Items: Menu Target Selection
    ‘Keep Open’ setting available. Optionally keep the target selection in menu screens open when using items/abilities. Allows to use the item/ability multiple times instead of having to reopen the selection again.
  • Classes, Combatants: Weapons/Armors
    ‘Exclude Weapons’ and ‘Exclude Armors’ settings available. Optionally exclude the selected/enabled weapons and armors from being equipped instead of only allowing the enabled weapons/armors to be equipped. I.e. newly created equipment will automatically be equipable.
  • Combatants: Object Variables
    ‘Use In Description’ setting available. Optionally use the combatant’s object variables to replace variable text codes in the combatant’s description.
  • Combatants: Movement Settings
    ‘Find Ground Raycast’ settings available. Optionally use a raycast to determine if the combatant is on the ground or in the air.
  • Move AIs: Protection
    ‘Protection Settings’ available. The combatant will protect other group members by moving between the detected target (enemy) and the member. This also adds the ‘Protect’ mode to the move AI settings and move AI nodes in events and battle AIs.
  • Move AIs: Waypoint Settings
    ‘Points Of Interest’ settings available. Optionally use points of interest while moving along waypoints. You can define tags to limit to certain POIs. By default enabled.
  • Move AIs: Enemy Detection
    ‘Detect Combatants’ and ‘Detect Points Of Interests’ settings available for each individual move detection. Defines if the detection can detect combatants and points of interests. Both by default enabled.
  • Move AIs: Enemy Detection
    ‘Detect Group Targets’ and ‘Detect Individual Targets’ settings available. Optionally auto-detect group/individual targets of the combatant. Can optionally be limited to detection range and block other target detections to only focus on the group/individual targets.
  • Move AIs: Hunting, Flee, Caution
    ‘Stopped Look At Target’ setting available. The combatant can optionally look at the target while being stopped.
  • Move AIs: Hunting, Flee, Caution
    ‘Detection Game Event’ settings available. Optionally start a game event when detecting a target to hunt, flee from or be cautious of. E.g. use this to play an animation or show an autoclose dialogue upon an enemy detecting the player. Can wait for the event to finish before moving (blocks the move AI while in event).
  • Move AIs: Hunting, Flee, Caution: Conditions
    ‘Check Self’ setting available when using a ‘Status’ condition type. Optionally check the move AI’s user in an advanced status requirement instead of the detected target.
  • Research Trees: Text Codes
    New text code available to show the quantity of a research item. Displays the quantity of an ‘Item’ type or status value change of a ‘Status Value’ type research item. Use ‘#researchitem.quantityX#Y#’ to display the research tree ID X’s item number Y’s quantity.
  • Research Trees: Override Content
    New text codes available. Use ‘%quantity’ to add the quantity of ‘Item’ and ‘Status Value’ research items. Overriding name, short name and description can use ‘%name’ and ‘%description’ text code to add the original name/description.
  • Battle Settings, Battle Components: Auto Join Settings
    ‘Check Every (s)’ setting available when using ‘Join Running Battle’. Defines the time in seconds between two auto join checks.
  • Battle Settings, Battle Components: Auto Join Settings
    ‘Own Position Spot’ setting available when using ‘Join Running Battle’. Uses the current position of an auto joining combatant as their battle spot.
  • Battle Settings, Combatants: Auto Start Battles
    ‘Only Leader’ setting available. Battles can now optionally be started if an enemy comes within range of a member of the player group, not just the player (leader of the group). By default enabled (i.e. only starting with the player).
  • Battle Settings, Combatants: Auto Start Battles
    ‘Use Nearest Battle’ settings available. Optionally use the nearest ‘Battle’ component within a defined range when auto starting a battle.
  • Target Settings: Group/Individual Targets
    ‘Can Select User’ and ‘Can Select Player’ settings available. Allowing to select the user (usually the player, but can also be the current battle menu user in battles) or player combatant is now optional.
  • Target Settings: Group/Individual Targets
    ‘Sort Type’ setting avaialble in the ‘Key Settings’. Defines how available targets are sorted when using the next/previous target keys. Supports ‘None’ (no sorting), ‘Distance’ (previous sorting by distance to user) and ‘Screen Position’ (sorting by position on the screen). Previous settings will automatically be upated.
  • Battle Systems: Leave Arena Settings
    ‘Non-Player Groups’ settings available. Optionally let non-player group combatants leave a battle if they’re a defined range away from the battle arena (or player). Results in the same as the enemy using an escape command.
  • Battle Menus
    ‘Target Sort Type’ settings available. Defines how targets are sorted when starting the target selection and can optionally be updated during the target selection each ‘Update Interval’. Supports ‘None’ (no sorting), ‘Distance’ (previous sorting by distance to user) and ‘Screen Position’ (sorting by position on the screen).
  • Battle AI: Change Selected Target
    ‘Change Selected Target’ node available in ‘Target’ nodes. Changes the group/individual target of the user using the currently found targets.
  • Battle AI: Use Combatant
    ‘Use Combatant’ node available in ‘Target’ nodes. Adds the combatant’s group/individual target, last target, attacked by target, killed by target or linked combatant to the found targets list.
  • Battle Grid Highlights: Available Target
    ‘Above Affect Range’ setting available. Having the available target highlight above/overruling the affect range highlight is now optional. By default enabled (i.e. overruling affect range).
  • Grid Cell Types: Move Cost, Action Cost
    When calculating the move/action cost for a specific cell, the cell is available in formulas as (local) selected data via the key ‘action’. E.g. use this to access object variables on the cell in the formula.
  • HUDs: Combatant, Turn Order, Latest Turn, Information, Tooltip
    ‘Min. Update Timeout’ setting available. Defines the minimum timeout between 2 HUD updates. Use this to improve performance when a HUD is often updated, e.g. use 0.1 when displaying the reuse time in ‘Shortcut’ elements. Defaults to 0 (i.e. allows updates per frame).
  • HUDs: Combatant, Turn Order, Latest Turn: Status Effect
    ‘Value Bar’ settings available. Optionally display a value bar representing the status effect’s remaining time/turns.
  • HUDs: Combatant, Turn Order, Latest Turn: Status Effect
    New text codes available. Display the max/start remaining time of the status effect.
  • HUDs, Shortcut Settings: Shortcut Slot Layouts
    ‘Value Bar’ settings available. Optionally display a value bar representing a shortcut’s reuse time.
  • Menu Screens: Sorting Settings
    ‘Sorting Settings’ available in menu screens. Allows setting up different sorting options and change the sorting in-game. Changing the sorting is supported by ‘Ability’, ‘AI Behaviour’, ‘AI Ruleset’, ‘Crafting’, ‘Equipment’, ‘Inventory’ and ‘Inventory Exchange’ menu parts.
  • Menu Screens, Battle Menus, Shops
    New sorting options available. ‘Buy Price’ and ‘Sell Price’ sort content by buy/sell price, ‘Inventory Space’ and ‘Inventory Space Single’ sort content by inventory space (full quantity of the stack or for 1 item). ‘Status Value Bonus’ sorts content based on the status value bonus (of an equipment) for a selected status value.
  • Menu Screens: Equipment
    ‘Accept Unequips’ setting available in ‘Part Box Settings’. Optionally unequips the currently equipped weapon/armor of an equipment part when accepting/clicking on it.
  • Menu Screens: Group
    ‘Sort’ action available. Changes the positions of members of the battle group. Optionally use a different combatant choice layout for the already selected combatant.
  • Menu Screens: Inventory Exchange
    Inventory space text codes available. Use ‘%os’ to display the occupied space, ‘%ts’ to display the total space (max. available space) and ‘%ps’ to display the percent the space is filled.
  • Menu Screens: Inventory Exchange
    ‘Space Format’ and ‘Percent Format’ settings available in the item box settings. Defines the format that will be used to display inventory space text codes.
  • Menu Screens: Options, Status Value Distribution
    ‘Description’ setting available. Define descriptions for options and status value inputs to show in a ‘Description’ menu part.
  • Text Display Settings: Bonus Display
    ‘Status Effect Auto Add Display’ settings available. Optionally show auto add status effect when displaying the bonus texts of equipment, (passive) abilities, classes, etc.
  • Text Display Settings: Bonus Display
    ‘Status Effect Auto Remove Display’ settings available. Optionally show auto remove status effect when displaying the bonus texts of equipment, (passive) abilities, classes, etc.
  • Battle Components
    ‘Combatant Position Spots’ setting available in ‘Battle’ components. Uses the position (at the start of the battle) of already spawned combatants as their battle spots.
  • Battle Components
    ‘Keep At Center’ setting available. Optionally update the ‘Battle’ game object’s position to keep it in the center of all combatants currently in battle. Be warned that this also changes the battle spots, as they’re parented on the ‘Battle’ game object.
  • Event System: Check Inventory Space
    ‘Check Inventory Space’ node available in ‘Combatant > Inventory’ nodes. Checks a combatant’s inventory space, e.g if it’s empty, full or checking the occupied, total or remaining space.
  • Event System: Show Dialogue: Choice
    ‘Update Choice States’ setting available. Update the active/inactive state of choices based on their conditions/requirements while displaying the dialogue. This will only update the state of already displayed choices, i.e. when they initially had valid conditions or have ‘Show Inactive’ enabled.
  • Event System: Transform To Variable
    ‘In Camera Viewport’ setting available when storing the ‘Position’ of a game object. Stores the position in camera viewport of the main camera.
  • Event System: Store Selected Data GUID
    ‘Store Selected Data GUID’ node available in ‘Event > Selected Data’ nodes. Stores the GUID of content of selected data into a string game variable. This can be used to store the GUID of combatants, abilities, items, equipment or other shortcuts stored in selected data.
  • Event System: Store Selected Data ID
    ‘Store Selected Data ID’ node available in ‘Event > Selected Data’ nodes. Stores the ID of content of selected data into a float game variable. This can be used to store the ID of combatants, abilities, items, equipment or other shortcuts stored in selected data.
  • Event System: Select GUID
    ‘Select GUID’ node available in ‘Event > Selected Data’ nodes. Uses a GUID stored in a string variable to find content and use it as selected data. This can be used to select a combatant, ability, item, equipment or other shortcut.
  • Event System: Select ID
    ‘Select ID’ node available in ‘Event > Selected Data’ nodes. Selects content based on a defined ID (e.g. from a float variable) and use it as selected data. This can be used to select a combatant, ability, item, equipment or other shortcut.
  • Event System: Block Flying Texts
    ‘Block Flying Texts’ node available in ‘UI > Dialogue’ nodes. Blocks or unblocks new flying texts from being displayed.
  • Event System: Are Flying Texts Blocked
    ‘Are Flying Texts Blocked’ node available in ‘UI > Dialogue’ nodes. Checks if flying texts are blocked.
  • Event System: Cancel Battle End
    ‘Cancel Battle End’ node available in ‘Battle > Battle’ nodes. Cancels the end of the battle. Only has an effect when used while the battle system waits for actions to finish before ending the battle. E.g. use this node if you replace a member of the player group in the combatant’s death event.
  • Event System: Join Battle
    ‘Use Selected Data’ settings available. Optionally use combatants stored in selected data to join the battle instead of creating a new combatant.
  • Event System: Use Battle Action
    ‘Ignore Can Use’ setting available when ‘Can Use’ is disabled. Optionally completely ignore the use requirements of the action, even when actually using the action.
  • Event System: Move AI POI
    ‘Move AI POI’ node available in ‘Movement > Move AI’ nodes. Changes the point of interest of a combatant’s move AI.
  • Event System: Change Selected Data Name
    ‘Use Language’ settings available. Optionally use a different text based on the current language of the game.
  • Event System: Change Selected Data Description
    ‘Change Selected Data Description’ node available in ‘Event > Selected Data’ nodes. Changes or resets the description of selected data. Can be used to change the description of combatants, abilities, items equipment or other shortcuts stored in selected data.
  • Event System: Leave Battle
    ‘Destroy’ setting available. Destroying the combatant’s game object after leaving battle is now optional. By default enabled.
  • Event System: Change Item Box Limit
    ‘Change Item Box Limit’ node available in ‘Game > Scene’ nodes. Changes the space limit of an item box.
  • Event System: Check Item Box Limit
    ‘Check Item Box Limit’ node available in ‘Game > Scene’ nodes. Checks the space limit of an item box.
  • Event System: Change Can Escape Battle
    ‘Change Can Escape Battle’ node available in ‘Battle > Battle’ nodes. Changes if the player can escape the battle.
  • Item Collectors: Box
    ‘Use Exchange Menu Screen’ settings available. Optionally use a defined menu screen with an ‘Inventory Exchange’ part to display the item box instead of using the default item box choice/menu (set up in the inventory settings).
  • Item Collectors: Box
    ‘Use Space Limit’ settings available. Optionally limit the space in an item box.
  • Component Manager, Game Object Manager, Object HUDs
    ‘Difficulty Condition’ settings available. Optionally check the game’s difficulty.
  • Add Combatant
    ‘Variable Settings’ and ‘Quest Conditions’ settings available in ‘Add Combatant’ components. Optionally only add the combatant to the game object if variable/quest conditions are met and set variables after it was added.
  • Scripting: Menu Parts
    You can now add custom menu parts to ORK without including them in the DLL files. Just having the script in your project will be enough, as long as the class is part of the ‘ORKFramework.Menu.Parts’ namespace.
  • Scripting: Access Handler
    ‘Battle Access Handler’ available. Funnels battle system related functionality, e.g. loot handling and certain flying texts.
  • Scripting: Access Handler
    ‘InitBeforeRegister’ and ‘InitAfterRegister’ functions available for override in custom access handlers. These functions will be called before and after ORK’s general handler registrations. Use this if you e.g. need to register something to ORK’s tick handler to be called before or after all other handlers.
  • Scripting: Access Handler
    The access handler can now replace the combatant handler, control handler and save game handler with custom handlers.
  • Text Codes
    New text codes available to display the current sorting option of a focused menu screen or shop. Use ‘#currentsorting.name’ to show the name and ‘#currentsorting.desc’ to show the descriptoin of the current sorting option.

Changes

  • Damage Zones: Damage Factor
    When using battle events to animate the damage dealer’s damage, the damage zone’s ‘Damage Factor’ will now be used by ‘Calculate’ nodes. If the ‘Calculate’ node defines a damage factor, it’ll be multiplied by the damage zone’s factor.
  • Combatants, Classes
    Changing a combatant’s class will now remember the value of a ‘Class Level’ type ‘Experience’ status value instead of starting from the current class level’s start value.
  • Flying Texts
    Flying texts are now scaled using the default GUI scaling (‘Game > Game Settings’) to keep the correct aspect ratio.
  • Scene Loading
    Changed how ORK reacts on scene loads, only doing cleanup when the active scene is loaded. This adds support for different scene load managements (e.g. Gaia Pro).
  • Move AIs
    Entering battle no longer clears the current target of move AIs if the battle system is set up to use move AIs.
  • Target Settings: Group/Individual Targets
    Only members of the player group will show target cursors.
  • Event System
    All item box related nodes have been moved to ‘Game > Item Box’ nodes.
  • Text Display Settings: Bonus Display
    Hidden status values are no longer displayed in bonuses.

Fixes

  • Menu Screens
    Fixed potential issues when having certain menu parts open when exiting the game back to the main menu (via the ‘Button List’ exit game menu item).
  • HUDs: Combatant: Shortcuts
    Fixed an issue where using item shortcuts didn’t automatically update the item’s quantity in the HUD.
  • HUDs: Tooltip
    Fixed an issue where a status effect’s remaining time and ability/item reuse times didn’t automatically update the HUD on changes.
  • Weapons, Armors
    Fixed an issue where using the ‘Add’ in ‘Add Weapons/Armors Type’ settings could cause issues when equipping the last item of a stack.
  • Player Controls: Button
    Fixed an issue where not using ‘Use Combatant Speed’ caused an error.
  • Components
    Fixed an issue where variable conditions where not saved correctly between editor and playing.
  • Battle Ranges: Grid
    Fixed an issue where affect ranges using a ‘Mask’ grid shape where not rotated correctly when using ‘In User Space’.
  • Research Trees
    Fixed an issue where overriding a research item’s short name wasn’t used.
  • Battle Events
    Fixed an issue where battle events for ‘None’ target range abilities/items without using raycasting could lead to a combatant being used twice as actor when using group/individual targets.
  • Combatant Spawner, Add Combatant
    Fixed an issue where the ‘Nearest Range’ was ignored when using ‘Use Nearest Battle’.
  • Target Settings: Group/Individual Targets
    Fixed an issue where ‘Can Select Player’ only worked if the user wasn’t the player instead of not allowing selecting the player.