Greetings! Thank you so much for such an incredible and well thought out asset!

For a while now I have been tinkering with the functionalities to try and understand the best approach to the problem I am facing. I want to create a battle UI similar to the new FFPR, which has a couple of elements to consider. For one, it breaks down the battle menu option into two or more pages (first page showing options such as Attack and Magic and second Items, Defend, etc). It also shows the list of enemies of the same time grouped together and at all times (rather than just when selecting target). It also allows the HUD containing the party's information to be inside an UI box itself.

I have been struggling between the choices of trying and pushing the system itself or start coding such functionalities. Is it possible to implement such functionalities using the default options provided by the ORK Framework? For instance, it would require changing the UI box of the target during runtime (for example, selecting Attack > choosing target shows a different UI from selecting Magic > Cure > choosing target, and the Choice button is different in either the Items and Spells UI). Can I do that using schematics? Or should I forget about that entirely and dust off the scripting? I confess I am even at a loss on how to begin inserting custom code into the plugin, but will do so if there is no choice. Thank you very much in advance.

image
  • Hm, some things are doable, some things are not.
    jutsukousei said: it breaks down the battle menu option into two or more pages
    Can probably be somewhat done by using horizontally scrolling battle menu UI box, not really pages, but similar.
    jutsukousei said: It also shows the list of enemies of the same time grouped together and at all times (rather than just when selecting target).
    You could have a HUD list the enemies and have the target selection just pop up above it.
    jutsukousei said: It also allows the HUD containing the party's information to be inside an UI box itself.
    Have the individual combatant HUDs not use any background and use a separate HUD that's just the background image/box.
    jutsukousei said: For instance, it would require changing the UI box of the target during runtime (for example, selecting Attack > choosing target shows a different UI from selecting Magic > Cure > choosing target, and the Choice button is different in either the Items and Spells UI).
    So, separate targeting based on the selected battle menu option (e.g. attack, abilities, items, etc.)?
    I'll look into adding options for that.

    There's a complex way to do it. The battle menu options can use Status Changes when using them, allowing to e.g. change variables when accepting or canceling out of it. That could be used to set a global variable to define which targeting is currently used. Using a HUD template for your target Combatant Choice Layout to display the target information - the template's prefab using HUD Condition component to display information based on the global variable.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Hello GiL! Thank you so much for your input! I would say I got closer to my intended goal, but there are still some hurdles I must overcome, and was hoping for some more pointers...

    First, is it at all possible to list enemies by type, followed by amount of enemies left? For instance, the enemy HUD would show something like "Red Mushroom 2" rather than two rows of Red Mushroom, and it would update to only "Red Mushroom" when one of them dies. I tried creating combatant types for each of the enemies, but I'm not quite sure it solves my problem, and I still don't know how to show quantities in that case.

    The second big problem I faced was showing the HUD for current action selected (in the image posted in the first message, it's the bottom right one that says Locke, Magic, and remaining MP and MaxMP). I tried following the simple HUD tutorial but was only able to show the first row (the name), and the rest simply appeared empty... do I have to create one HUD for each content separately?

    Those are the two current challenges I am having... any idea how to tackle them? I would like to say it again how amazing an asset ORK is! I'm having a blast with so many configurable options, you've managed to create something incredible and powerful! Many kuddos!
  • Next ORK update will add custom target menu options to the individual (targeting) battle menu options like attack, ability, item, etc. - so you can override which UI box is used, the combatant choice layout and the default target menu settings from Battles > Target Settings, i.e. you can completely disable using target menu for them as well.
    jutsukousei said: First, is it at all possible to list enemies by type, followed by amount of enemies left?
    No, at least not out of the box. You could probably do something like that by storing that information into variables and displaying them via text codes. Schematics can store combatants into selected data and get content/quantity information from them to store into variables.
    Not 100% sure if that's all possible, though, and might be easier to write a custom HUD component to list that content :D
    jutsukousei said: The second big problem I faced was showing the HUD for current action selected (in the image posted in the first message, it's the bottom right one that says Locke, Magic, and remaining MP and MaxMP). I tried following the simple HUD tutorial but was only able to show the first row (the name), and the rest simply appeared empty... do I have to create one HUD for each content separately?
    Hm, what kind of HUD did you use to set it up?
    E.g. a Tooltip type HUD would be displayed for currently selected things, using them as content for the HUD.
    You can also mix different content into HUDs using Content Provider components. Content components (e.g. ORK HUD Status Text Content) define which content provider feeds them their content, so you can have different information in the same HUD.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • edited March 2023
    Hi! I'm using a HUD with a Status Text Content set up to Combatant Information with the tag for the name (the HUD conditions are set up to Status > Is Choosing to get the current one), another Status Text Content set for Ability with (it was supposed to show the "action" selected by the combatant, such as Skill, Spell, Item, etc... but certainly it is wrong, and it shows nothing) and a copy of the prefab I created for the player HUD with double values (a Status Text Content set for Status Value with tag / and another with tag ). Aside from the name, though, none of them seem to work... I even changed the second one to show the Combatant Information since I know I have access to that, but the value remains empty.

    On another line of questioning, is it possible to swap between targeting players and enemies using the Left and Right arrows? When you include the target type to All, they show up in a list (which you press Up and Down to select it). I even tried to use Directional Selection using both axes in the Target Setting to get a spatial relation between the targets, but still does some awkward things, such as moving between players when you press Left or Right since they are object that are technically "ahead" or "behind" in relation to the X axis, and the Target Type is a toggle (single button). Is there a way to set that targeting considering enemies are on the Left (and Up and Down to swap between enemies) and players are on the Right (swap with Up and Down as well)? I appreciate the help immensely!!

    Edit: Nevermind, in my own foolishness, I overlooked setting up the proper HUD Status Value to show the MP beforehand, hence why it was not showing. However, I still was not able to get the "action name" to show up under the name of the current user, such as "Item" if the Item action is currently selected or "Support" if the Support action was selected by the user in the Battle Menu. How can I get a hold of the current action, both in the Editor (and Makinom window) and also in the schematics (if it all possible; I intend on performing an action in the schematics depending on what action is currently selected). Thank you very much for everything!
    Post edited by jutsukousei on
  • I don't think that's currently possible. The HUD could show the current active action of a combatant by grabbing that via an HUD Combatant Action content provider component, but not the selected action during battle menu.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Hello again, sorry to bother you once more! I was able to make some headway (such as getting the action name via code and comparing values to determine if a menu would open or not in schematics) and I'm getting there.... kinda! I just had a couple more questions to make a dent into this whole remaking the system into the PR versions of FF inside ORK. First, is there a way in the Editor to make a click first select a button, and a second click with the mouse to confirm it? I know there is such option with the Target Settings, but that only works when selecting the target, not the items in the menu. And second, if I may ask, is it possible to get the variable for: (1) player currently executing an action (I imagine it is near the Combatant.Actions.IsChoosing or something? But that didn't work for me); and (2) the combatant that it is currently being targeted (either player or enemy, can be multiple if cases of AoE spells). Do you know which variables I'd grab to access those data? This one is getting me stuck yet again. Thanks again for such amazing work!!
  • edited March 2023
    The next ORK update will add some new content providers/options to probably make this a bit easier, e.g. getting the current tooltip content or selected action (e.g. from battle menu) as HUD content to display.
    jutsukousei said: First, is there a way in the Editor to make a click first select a button, and a second click with the mouse to confirm it
    Yes, UI > UI Boxes > General Settings has that (for all UI boxes, each can individually override it). The Default Controls > Input Settings have the Select First option for that - there's also more to control how all of that works.
    jutsukousei said: (1) player currently executing an action
    There isn't really a function for that - you'd just have to get all combatants (or only the player group) and check their action state:
    if(combatant.Actions.ActionState == CombatantActionState.InAction)
    There are also separate states for casting and ending the action, so you could also check for not being available:
    if(combatant.Actions.ActionState != CombatantActionState.Available)

    If you only want the player group, you can get that via:
    List<Combatant> list = ORK.Game.ActiveGroup.GetBattle();
    Or all combatants currently in battle:
    List<Combatant> list = ORK.Game.Combatants.GetInBattle();
    jutsukousei said: (2) the combatant that it is currently being targeted
    Yeah ... that's also not available that easily :)
    You can check the currently selecting combatant (accessible via ORK.Battle.SelectingCombatant) for that:
    ORK.Battle.SelectingCombatant.Battle.BattleMenu.TargetHighlight.SelectedTargets
    This is a list of combatants, but you should make some null checks along the way, e.g. battle menu could be null for non-player controlled combatants.


    I'll look into adding more content like that via content providers in future updates.
    Post edited by gamingislove on
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Sign In or Register to comment.