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.
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.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
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!
Not 100% sure if that's all possible, though, and might be easier to write a custom HUD component to list that content :D 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.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
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!
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
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();
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.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!