So I'm creating this thread to help me wrap my head around how the targeting system works for battle AI's.
I have a few quick questions first :
1. How to choose the closest or furthest opponent? 2. How to choose based on status value / status effect? 3. What is the default behavior? (If no checks are used) 4. Is there an ideal way to separate 'checks' and 'clears' and 'keeps'?
1) Use a Get Nearest node for both - for getting the furthest, enable Inverse Order.
2) Depends on what you want to check for. Generally, the Check Status node is your go-to node for any status conditions. Additionally, there are the Get Status Value, Get Attack Attribute and Get Defence Attribute nodes to get e.g. the combatant with the lowest/most HP or the the lowest/most resistance to fire attack attribute attacks.
3) Depending on the combatant's AI setup, e.g. using the last target, the nearest target or a random target.
4) No, as this all depends on what you want to achieve :) The Found Targets setting handles how already found targets from previous steps are treated - e.g. Check is used to further filter the already found targets, Clear if you want to start the target selection again.
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!
No, the found targets are at the start of the battle AI empty - and if you use one of the action nodes with no found targets, it'll fall back to the combatant's AI setup (e.g. using a random target or the nearest target, etc.).
The Found Targets setting defines how previously found targets are treated. The Target setting defines which targets (not found targets) to check. E.g. using Enemy will check all enemy combatants. If you only want to stick to previously found targets (e.g. after selecting targets within a range), use the None target to prevent checking targets that are not yet found.
To retaliate, use the Use Attacked By node.
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!
2) Depends on what you want to check for. Generally, the Check Status node is your go-to node for any status conditions. Additionally, there are the Get Status Value, Get Attack Attribute and Get Defence Attribute nodes to get e.g. the combatant with the lowest/most HP or the the lowest/most resistance to fire attack attribute attacks.
3) Depending on the combatant's AI setup, e.g. using the last target, the nearest target or a random target.
4) No, as this all depends on what you want to achieve :)
The Found Targets setting handles how already found targets from previous steps are treated - e.g. Check is used to further filter the already found targets, Clear if you want to start the target selection again.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Now is there a way to set a retaliate? as in, attack the person who attacked me last?
The Found Targets setting defines how previously found targets are treated.
The Target setting defines which targets (not found targets) to check. E.g. using Enemy will check all enemy combatants. If you only want to stick to previously found targets (e.g. after selecting targets within a range), use the None target to prevent checking targets that are not yet found.
To retaliate, use the Use Attacked By node.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!