• edited May 2020
    12) My player controls are blocked during the whole event. But I can't make the NPC moves. Here's what I did :
    a) Created the combatant "NPC", enable his move AI.
    b) Created an event with spawn combatant "NPC" => move to position "player" (I also tried the "Set Move AI Target", and "Move Into Direction" but without success).
    c) Show dialogue node

    My player is blocked, the NPC spawns and I see the dialogue appearing etc, but the NPC never moves. The only way I got him moving was with enabling the "random move" in his move AI (but he moves without animation then - and in random directions of course).

    13) I'll try that after resolving the previous issue, thank you!

    14) Once I'll be able to make my NPC walks to me, what's the correct way to animate him when walking? Can I use a script (just like my Player Controller, but without the "Input.GetAxisRaw.....") for this?

    15) I'm trying to replicate this battle system:
    a) I have 1 combatant, enemy has 1 combatant
    b) I kill enemy's first combatant, he sends another combatant
    c) Once I've killed ALL of his combatant (3, 4, 5, 6 whatever), I won the battle
    I tried creating a combatant group but it spawns all of the combatants in the battle. I also tried to modify this: Battle system => Battle settings => Death animation => Animate action so I can use a Battle Event everytime my combatant or the enemy's combatant dies, but using the "Join Combattant" node, I can only join a prefab combatant (and not the current combatant in my battle group). I saw that there is a "Character Selection Dialogue" node, but I didn't have success using it.
    I thought that maybe there is a way to change combatant upon death, just like using the "Change" menu, but I didn't find this in the node editor.
    What way should I go?

    Thank you!
    Post edited by Jihaysse on
  • 12) It's most likely the move AI that's interfering with the movement node, so I'd recommend using the Block Actor Move AI option in the event's settings.

    14) If it's a combatant, you can use ORK's auto move animations for this. Otherwise, you'll need an animation script to handle that, or just have the event play the movement animation.

    15) Non-player groups don't have a limited battle group, so they'll all be in battle automatically.
    One thing to do this is in the combatant's death animation to use a Join Battle node to add a combatant to the battle (i.e. not Join Battle Group).
    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 May 2020
    12 & 14) Thanks, it works perfect!

    15) Sorry I mistyped the node, I already tried "Join Battle" node, but my issue is that then I have to select a pre-made combatant. So, it works for the enemy's creatures as I don't care what level their are, their current HP etc, ... but not for mine, as I want to join the battle with one of the creature of my current battle group, with their current stats (HP, level, etc...).
    What I want to achieve is this:

    For enemys : simply join battle node will be ok.
    For my team: open up a menu screen which display the current creatures in my battle group & choose one to join battle (kind of like the "Change Member", except that here we change member when my creature dies).

    16) How to stop the battle start event to disable my custom Player Controller script? I already checked the battle start event 'Block Player Control' and the 'Scene Change Block Control', both are desactivated.
    16 b) What's the function to know when my Player has triggered a battle start event? I want to add it in my script so it stops the player walk animation (due to being grid-based movement).


    Thank you!
    Post edited by Jihaysse on
  • 15) In that case, you'll need to use selected data.
    E.g. use a Select Combatant node to select all non-battle members that are not dead (enable Use All Combatants, combatant scope Non Battle and use a requirement checking for not dead). Next you can use a Selected Data Choice to let the player select which combatant should be used and finally have that combatant join the battle via the Join Battle node (object Selected Data instead of actor).

    Or a different variant of that :)

    16) The control block is probably coming from your battle system's setup, e.g. if it's blocking controls during battle.

    16b) If ORK.Control.InBattle is true, there's a battle going on - should be true when the battle is initiated, i.e. before the event starts :)
    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 May 2020
    15) I tried but ran into some issues.
    a) The game is over even if I have another pokemon in my team. I guess it's because the game thinks I only have 1 member (as in my game settings), which is now death, and even though I send my second pokemon, he still plays the game over scene.
    b) I can see the screen and choose the pokemon I want, but it spawns the pokemon which is in the Join Battle node (see screen).

    image
    https://i.ibb.co/ZTWh6rD/Join-battle-node.png

    16) Thank you!

    17) Now that I changed the Game Settings => Player/Group Settings to 1 (to spawn only 1 member at a time), I can't see my other pokemons in my Team Screen which uses this code:
    List<Combatant> _Group = new List<Combatant>();

    ORK.Game.ActiveGroup.GetBattle(ref _Group);

    How can I see ALL of my pokemons? I only see the first one now. I tried to change the Group Settings back to 6 and to use a "Change Max Battle Size" to 1 in the Battle Start event but it didn't work (my team screen was working but then it would still spawn all my pokemons during battle, despite the Change max battle size node).

    18) a) Can I disable that ALL of my Pokemon HUD (with their HP, name, etc just like in the game tutorials) spawns? I only want the HUD of my pokemon currently in battle to be displayed.
    b) Is there a way to keep the HUD active until death? When I win a battle, it immediatly disappears during the battle end event, so I don't see the experience bar moving (representing how much experience I won for winning the battle).


    19) Wouldn't it be easier to change the group settings back to 6 and change the source code to only spawn the first member of my group during battle? Is it possible? Lot of work maybe?
    I thought about replacing List<Combatant> combatants = ORK.Game.Combatants.GetAll();
    for(int i = 0; i < combatants.Count; i++)
    {
    if(combatants[i].Group == ORK.Game.ActiveGroup ||
    BattleSystemType.RealTime == combatants[i].Group.BattleType)
    {
    this.Join(combatants[i]);
    }
    }

    with this.Join(combatants[0]) for example, so only the first combatant would join battle, no?
    I am a beginner so haha ^_^'

    20) I realized I still have the issue in my question 5, that I can only have one "same" combatant at a time. Example: If I use 2 times the "Join Battle Group" with the combatant "Pikachu", my team screen & during battle would only show that I have 1 Pikachu, not 2.

    Thank you !!
    Post edited by Jihaysse on
  • 15) There's actually a node for that - use the Cancel Battle End node to prevent the battle from ending in that case.
    And sorry, the Join Battle node will get an option to use selected data in the next update, I forgot that this isn't in the latest version yet :)

    17) Well, now the battle group is only the one combatant, you'd have to use GetGroup to get all group members.

    18) a) If set up like in the tutorials, the HUD will show all members of the battle group. You can also use the options to e.g. only show the leader or limit the list length.
    b) You can have better control over when to show the HUD when using variable conditions - e.g. using a global bool variable to toggle the HUD on/off allows you to switch it on in the battle start event and off in the battle end event (after showing the EXP).

    19) Maybe, but that might have unwanted effects elsewhere, as a lot of battle logic also relies on the battle group (e.g. target selections, battle AI, etc.)
    It might be easier to have 2 player groups and a battle group size of 1 - your main group with your 6 (or whatever number) of combatants for battle and a 2nd player group for storing all the other combatants.
    You can switch the active group using the player group nodes (or via code) in Add > Combatant > Player Group. Player groups are identified via ID, with the initial group being ID 0.

    20) You can have multiple combatants of the same ID/index in your group - works fine here. However, you need to use the Join Active Group node, not Join Battle Group - that node would use the already available combatant from the group and only creates a new one if it isn't yet in the group.
    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! I'm bumping this post because I have a similar issue to OP's #15.

    15) I am also trying to replicate that battle system, but in my game all the battles are 2v2.

    I have the player's system working with a death event that uses a Select Combatant node to select all the player's non battle combatants and then summons them with a Join Battle and then a Join Battle Group node. But I can't use this for enemies since non player groups don't have limited Battle Groups.

    Simply attaching a "Join Battle" node to the death animation of a combatant wouldn't work for 2v2 battles (imagine you want to fight an enemy with three party members. The battle starts with Enemy 1 and Enemy 2. You kill Enemy 2 first, but the animation to summon Enemy 3 is on Enemy 1... so it's a 2v1 the whole battle. If you put it on both, then you summon Enemy 3 twice. It gets more complicated with larger groups as well, not to mention it would be tedious to set up every unique encounter this way...)

    Any advice on how to go about this system with a 2v2 setup? I tried messing with some things in the Init Events/Spawn Events for enemies in Battle System > Battle Settings, but I still can't quite wrap my head around it.
  • You'll generally use selected data a lot for this - the short version of how it works is like this:

    1) In the battle start event have any combatants from the enemies exceeding the participating number leave the battle group.

    2) In an enemy combatant's death event, use selected data to get the non-battle members from the group, have the enemy leave the group and join one of the non-battle members to the battle group (and also have them join the battle).
    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!
  • Thank you, that set me on the right track. I've got it mostly figured out!

    The only thing I'm stuck on now is that when the enemy combatants Join Battle, they create a new battle spot and spawn there instead of spawning on the spot of the combatant that died. I only have two spots for the enemy set up in Battle System > Battle Spots, but they will create additional spots.

    I could move them to one spot or the other when they Join Battle... but I can't think of a way to do a check if that spot is occupied first.
  • Try using a Leave Battle node to remove the old combatant from the battle first.
    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!
  • I have a Leave Battle node for the old combatant.

    In troubleshooting, I realized my Battle Start Event creates additional battle spots when it the entire enemy combatant group initially joins the battle (before the extra combatants get added to Selected Data and Leave Battle). So I used Found Objects to delete any additional Battle Spots, but the new combatants still spawn in the center of the map (0,0,0), but not on a battle spot at all.

    They're a bit of a mess because I've been troubleshooting, but here's my death event for the enemies:

    death-event

    And here's the Battle Start Event, in case there's something wrong there.

    start-event
  • I guess it'd be easier to just place the combatant at the previous combatant's position than doing it like that.
    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!
  • Oh, yeah, that's a lot smarter. Works like a charm.

    For others reading this, I just used a Transform to Variable node on the dying combatant before having them leave the battle, then when the new combatant joins the battle I used a Change Position node to set their position to that game variable. Easy peasy.
Sign In or Register to comment.