edited August 15 in ORK Support
Hello everybody! I'm, evaluating Ork right now, and it seems like it could lift most of my heavy needs. I'm just troubled by a couple of things.

I want the player to roam around the world with one character, then swap that out with another model for battles. Like the PS1 Final Fantasies and such. How do I go about this? I can change the scene OK, the tutorial seems to work, that part is good. I just don't see where I can swap the characters.

Also, quick question, I'm interested in having my character always move in grids. Up, Down, Left, Right. No diagonals. One tile per turn. When an enemy shows up and make contact, initiate combat and change the scene, which is why I want to swap the characters. Tips on achieving this?

A last thing, more of a question, is it possible to use morph targets and destructible equipment? For example if I have a skill (Berserk) that powers up a character and turns him into Hyper Muscle-Man, and destroys his armor, can I show it in combat? I have the morph targets set up, and the armors are their own objects.

Thanks to all those taking the time to read this, and more thanks for answering.
May your gods bless you.
Post edited by Creiz on
  • You can swap the combatant's prefab by using Conditional Prefabs (in the combatant's settings). E.g. use a bool game variable condition and set the variable in the battle start event (and back in the battle end event).

    If you want to move in grids in battles, you can use ORK's battle grid feature. If moving up/down/etc. should be done through inputs, you could do this by setting them up as abilities that perform the grid move and are used through control maps. E.g. the up key would fire the up move ability.

    Since battles are animated using the event system, you should be able to do this. Again, using conditional prefabs can be used to change the combatant's prefab based on a berserk status effect - destroying the armor would first be animated in the battle event used by the ability.
    If you're enjoying my products, free updates and support, please consider supporting me on patreon.com!
  • Thank you!

    I tried more or less what you suggested, but I still have some issues.

    First, I did the Conditional Prefabs and set them up in the Editor. I have my player, my Combat Player, my enemy and my Combat Enemy, each are animated and ready for action.
    I made a Bool Game Variable (inBattle) to check. When it's on, it should tell ORK to swap the field combattants for the Combat Combatants, right? It doesn't work.

    Or rather, I don't know how to make it work. I'm using my own movement script, where I set up a pretty tight grid movement setup, I don't use any physics at all. Instead, I handle my collisions with Raycasts. I want to spawn goons on the field, and when they collide with the player, they initiate combat. I followed your 'Different Battle scene' Tutorial, to a T, I don't know if it works because I can't actually start combat.

    So, basically, what I need is a way to have my goons initiate combat on contact with the player. Please help.
  • If you're using combatants in the field to start your battles, make sure you're using the combatant's Auto Start Battle Settings. This'll start the battle when coming into range to the player - where you'd set the bool variable in the battle start event.
    If you're enjoying my products, free updates and support, please consider supporting me on patreon.com!
  • Cool. I managed to finally start a battle. Now, how do I make the combattants face themselves? They spawn all over the battlefield.
  • Usually you'd do this in the battle start event, e.g. using a Look At Enemies node.
    If you're enjoying my products, free updates and support, please consider supporting me on patreon.com!
  • I'm sorry to bother you again, is there a way to set global variables via external scripts?

    For example I have a script that does something, which has nothing to do with ORK, but I want the result off that script to trigger an ORK Bool variable, so I can use another independent script to check it's value, along with the ORK event framework.

    Is it possible?
  • edited August 23
    Sure, you can access global variables through ORK.Game.Variables - there are multiple functions to change and check different variables.

    E.g.: Setting a bool variable:
    ORK.Game.Variables.Set("variableKey", true);
    Post edited by gamingislove on
    If you're enjoying my products, free updates and support, please consider supporting me on patreon.com!
  • Thank you. Thanks to you I figured out how to make it work. Although I still have a small problem. The Game Variables doesn't seem to change. I have set up my combattants and their conditional prefab to change when the InBattle variable is on, in the battle start event, I turn it on with the Change Variable node, but they don't load. They're still the field version of the combattants.
  • Can you post details about your conditional prefab's setup and the change variable node?
    I'd guess it's a wrong setup, e.g. using Game Variable value type instead of Value when defining the variable key.
    If you're enjoying my products, free updates and support, please consider supporting me on patreon.com!
  • It was the fact that I was using GameVariable instead of just value. It works. Except the enemy is spawned at 0.0.0 no matter what I do. I change the Battle Spots, no go, change the spawn offset in the conditional prefab section, no go, either.
  • edited August 24
    Are the battle spots placed correctly after you load the battle scene?
    Post edited by gamingislove on
    If you're enjoying my products, free updates and support, please consider supporting me on patreon.com!
Sign In or Register to comment.