This system makes a lot more sense once you realize that, despite the name, these aren't really "conditions" so much as "operations performed on a list of potential targets," meaning that there actually is a difference between Condition 1 and Condition 2 in some cases. There are actually 3 different types of operations, and they are identified by the red text in the Condition description at the bottom of the screen. They are: CHECK - "The skill will not activate otherwise." FILTER - "The skill will not activate if there are no applicable targets." SORT - "The skill will override default targeting rules." (some of them are missing the red text, but you should be able to figure out what they are by their name, like all "prioritize" conditions are SORTs). All of these Tactics Conditions relate to selecting a target for a skill, or doing nothing and moving on to the next Tactic if no target is found. When it is time to select a target for a skill, the game does the following steps in order: 1) Generate a default list of possible targets for the skill. For AP skills this default list is well-documented in the game's help section and relates to character positions. For PP skills it depends on the specific skill and may only include a single possible target (i.e. skills that buff an ally before they attack will only get a "list" containing that single ally). 2) Run Condition1's operation on the list, making it be SORTED, FILTERED, CLEARED, or LEFT AS-IS. 3) Run Condition2's operation on the resulting list, further SORTING or FILTERING it, or CLEARING it or leaving it AS-IS. 4) If the target list is now empty, go to next Priority and start over at step 1 (meaning generating a new list from scratch). 5) Use the skill on the first target in the list (and possibly hitting other targets in the case of area attacks). For steps 2 and 3, here is how each operation works: * CHECK - If the condition being checked is true, nothing happens. If it is false, the list is CLEARED of all targets. * FILTER - Each target still in the list is checked, and any that do NOT meet the condition are removed from the list. * SORT - The list is reordered based on a specific stat for each target, in either ascending or descending order. In the case of things like "Prioritize Scouts", it means Scouts are sorted first before non-scouts, but otherwise it is things like sorting from lowest to highest HP and the like. These sorts are "stable", meaning that if multiple targets have the same value for the stat, they will retain their previous order. Note that if both Conditions are SORT operations, then the order DOES matter, because Condition2 will re-sort the list after Condition1 sorted it already. This is why some people claim Condition2 has "priority", because its sorting will happen last and thus potentially override any sorting from Condition1. That doesn't mean Condition1's sorting will do nothing, however. For example, if Condition1 was "Prioritize Scouts" and Condition2 was "Lowest HP", then the only way Condition1 would matter would be in the case where 2 targets were tied for lowest HP with the exact same HP value, but one of them was a scout and one of them was not. Otherwise, if any target has a lower HP than all the scouts do, then that target would be selected instead, meaning the "Prioritize Scouts" sort would have done nothing in that case. Reversing the order (so Condition1 is "Lowest HP" and Condition2 is "Prioritize Scouts") could easily change the result though, causing the list to first be sorted by HP, and then by "is a scout or not". This means the list will first contain scouts, ordered from lowest to highest HP, and then contain non-scouts, ordered from lowest to highest HP. Thus if there are any scouts at all in the initial list, one of them will definitely be the target no matter what HP amounts the non-scouts have. Also note that the target list may be enemies and it may be allies, depending on the skill. In some cases, as mentioned before, it might only be a single character (such as a passive skill that activates to buff an ally just before they attack), meaning that a SORT Condition won't do anything at all. For skills that respond to enemy attacks by performing an action on an ally (such as "Cover" skills), the list that is being filtered and sorted will contain *all allies that are being attacked*, NOT the enemy attacker! However, the attacker can still be checked in these cases via CHECK conditions available in the "Attack Type" category of conditions.
@TheSnowmanne5 ай бұрын
This is a baller comment, thank you!
@johnwilliam36994 ай бұрын
Appreciate your comments. I saw this one and another on a different video while trying to get a clear understanding of the Gambit conditions and helped a lot.
@AB-xe9nk5 ай бұрын
Can’t believe it’s taken this long for devs to realise FFXII’s gambits had the foundations for a really fun strategy game. But I’m glad we’re here.
@Moddeang1235 ай бұрын
Gambits in FF12 are GOAT. I fall sleep while playing and wake up and found the boss are dead... Along side half of my healing potion gone xD
@AB-xe9nk5 ай бұрын
@@Moddeang123 tfw the optimal strategy for the game’s superboss is to let your party afk farm it for 40 minutes
@Moddeang1235 ай бұрын
@@AB-xe9nkHope more game will implement gambit more! Its more imerssive than to issue an action for each of your party members even 3 seconds too xD Oh and Unicorn Overlord are the bomb too! love it! Thank you Vanillaware :DDD
@mercb3ast4 ай бұрын
Dragon Age Origins had this system. Also, in more recent memory, Pillars of Eternity 2 had a script system like this as well.
@bravetree5 ай бұрын
I never thought I’d be excited to implement if then statements in a game before but it looks really fun
@dnkgorillacheese5 ай бұрын
Currently in a coding boot camp and was worried about this game distracting me but seems like tactics are a good way to further understand conditional statements 🤣
@brizjk20075 ай бұрын
Hey ICG, tactics in this game are extremely interesting. About your comment on prioritizing caster by Melisandre at some point you can get close to that by just changing all your lowest % HP by Lowest HP, in most cases the lower HP characters often having less bulk will result on focusing caster/low bulk without innate guards. Using Lowest HP% is great when you want to prioritize focusing target when you have access to magic/armor ignore but I'm not convinced it's generally better than HP flat. The opposite when using poison attack is true, using highest HP (flat) with 1AP or more will apply that poison to gladiator hoplite and whatever has the most HP that is targetable to maximize damage. (I know you probably know it but your audience may want to know : ) The event trigger and priority list parsing when triggerd is also important to explain, the priority list that is "read" to chose action is done at each event and not for a whole combat so something high on the priority list could never occur if the trigger isn't passed and lower action are triggered using all AP/PP. For example you have Noble Guard higher than Luminous Cover but if Melisandre is attack by Archer/magic or another ally by anything twice and gets the Luminous Cover then Alain will not trigger Noble Guard if a cav for example use Thrust on the Melisandre/alain column. I know it caused me some issue for my Ochlys/Alain column I had to restrict him to only do Noble Guard because Ochlys is never in danger and he died to any 2 cav unit that were able to act by being thrusted. Also you don't need "Back row" on Alain Noble Guard because this only triggers when he is physically attacked so he guards himself, it works if he is on backline but it can only trigger for him anyway (and if you don't remove that condition and put in front he won't guard himself). Your tactics on Alain to allow only parryable attacks to go to Melisandre looks damn good.
@mercb3ast4 ай бұрын
Pretty sure lowest HP is just lowest HP. IE, someone with 10 HP, vs someone with 15/30 HP. Lowest HP will choose the 10 HP, whereas % would choose 15/30. Additionally, if you run % HP, and target 1 is 5/10, and target 2 is 15/30, it returns both as 50%. So you pretty much always want to go with lowest HP if you're trying to focus stuff out. Lowest HP just counts your current HP. So if it was 5/10 vs 15/30 for lowest hp, it's picking 5/10 to hit rather than 15/30.
@brizjk20075 ай бұрын
Oh and I forgot to talk about Powerful Call, you never have to restrict it to 1 or more AP because it will never trigger without AP because it triggers when any ally attack and then check if the conditions allow its use. You can restrict with pure filter like back row, front, combatant type strict but any Highest / lowest won't be taken into account (basically any prioritize won't work). because the trigger event that cause the Powerful Call is always the attack from an ally, the prioritize only has that ally to list and priorize (the event is on the action not the whole battle). That is why it's really easy to use with Knight or Gryphon if the rest of your team is infantry but you can't prioritize highest phys ATK for example. ( highest initiative only works pratically for the first attack because the highest initiative character triggers the event first, but the condition "highest initiative" does nothing as its the only character listed) I had Alain - Berenice - Chloe in back row and tried for the longest to have chloe powerful call Berenice but couldn't do it, as soon as Alain attack he triggers the event "ally attack" from powerful call and "prioritize highest Phys ATK" would just pass and buff him, because that triggers only considers the ally attacking. So to target a specific ally in back row for Powerful call either he has higher initiative than the rest of the same type and then goes first or you are out of luck and have to use other type. ( and if you rely on initiative it'll only work for his first attack for the 1st PP, if you have more it'll buff the same combattant type you filter on) So to recap, when triggering an event on a passive, it list the units involved. Basically when an event triggers what is listed in a passive : the character is attacked, an ally is physically attacked, a character attack, etc. The list only has the character that is being attacked. For before an ally attack trigger event like powerful call, the list only has the attacking character and you have to use condition if possible to refuse or not the trigger use.
@ShawFujikawa5 ай бұрын
Powerful Call can trigger without AP, there’s PP skills like Pursuit or Counter that don’t use it.
@Peachk33n5 ай бұрын
Attacks should use "lowest HP" instead of "lowest %HP" to do what you are trying to do. Lowest % will be tied at the start of a fresh battle with all enemy units. Targeting the actual lowest HP unit will help you pick off units more effectively. Heals though should use lowest %.
@Rubikant5 ай бұрын
The part where you try filtering by highest initiative doesn't actually do anything. That's because highest initiative condition is a SORT function, not a FILTER function, and in this case, the list being passed to the conditions only has a single unit on it anyway (whichever allied unit is about to attack). It only "works" here because having highest initiative means Clive goes earlier than the other Cav and thus gets Powerful Call. If you tried, for example, using Highest HP for condition 2 and had 2 Cav's, but one of them had higher HP but lower initiative, it wouldn't save the ability for the one that had higher HP, it would still use it on whichever one just happened to go first. SORT functions don't do anything in this case, because the list you are sorting only has 1 target on it - the allied unit that is about to attack. You need to pick a FILTER function if you want to prevent Powerful Call from being used on more than one unit. Which does, unfortunately, limit you quite a bit. You could, for example, have one cav in the front row and one in the back and then filter by Cav + Front Row (filter version for the front row check, not the "prioritize" sort version) and then it would only target the Cav that happens to be in the front row. See my other comment for details on the difference between SORT and FILTER functions and the effects they have.
@jamesgordon14465 ай бұрын
Best tactic for Lex. If space available in unit. Sit on bench anyway.
@Whosaneca5 ай бұрын
Lex is top tier bench warmer, agreed.
@Xoulrath_5 ай бұрын
Lol, he is perfect to use with Travis. Pair them with Chloe, target Archers, and they run through squishies.
@jamesgordon14465 ай бұрын
@@Xoulrath_ nah. U can do that with a generic fighter. But Lex is bench
@gjfwang5 ай бұрын
@@Xoulrath_ archers aren’t the only ones with true strike
@Xoulrath_5 ай бұрын
@@gjfwang never said they were, now did I?
@HomieFran5 ай бұрын
Lex is S tier at guarding towns.
@tomin83r25 ай бұрын
Alains 3 and 4 conditions do virtually nothing 3. Prioritize armoured - To have reached this condition there had to already be no armoured so the priority aspect is irrelivant and is only looking for lowest hp. 4. Unreachable - To have gotten here condition 3 would need to be hyper specific otherwise it will always run condition 3 and never reach 4
@ultimaterecoil11365 ай бұрын
Magic attack starts with prioritize armored and since it doesn’t matter if it’s there because of the first attack it’s kinda pointless to remove it. As for the last one it can be valuable to use up the armored unit’s guard ( especially in situations where they are in the back) with your runic sword attacker if the runic sword doesn’t have the ability to outright kill the armor and then you’d swap that tactic up top maybe add target lowest defense or something in the second slot ect ect. And it was just for presentation purposes anyway
@tomin83r25 ай бұрын
@@ultimaterecoil1136Its not pointless to remove it when you could be applying a more specific condition e.g Lowest magic defense instead of a condition that has already been checked by the prior one. Last one is never reached so its purpose is redundant without fully reworking the condition
@IcedCoffeeGaming5 ай бұрын
The redundant armored conditions were put in to go over the differences in those conditions, not as an example of a use case for targeting.
@ShawFujikawa5 ай бұрын
Highest Initiative is redundant for Powerful Call because the skill only triggers before an ally attacks, which is necessarily only a single ally! If you have Clive and Josef but Josef attacks first because he's Pursuiting after Alain then Chloe would target him even if Clive has higher raw initiative. I do wish the 'Attacked by Class' conditions worked off when the _target_ was being attacked though, I think it's dumb that you can't set a hoplite to guard a Flying unit that is Attacked by Archer because the latter checks if the hoplite is attacked instead of the flier.
@Rubikant5 ай бұрын
You can definitely make a Hoplite use Heavy Cover to guard a flying unit that is attacked by an archer, and save his PP for that purpose specifically. I have done that exact thing (also used it to have a Hoplite exclusively use Heavy Cover on a Thief and only when the thief either A) has no PP left to use Evade or B) is being targeted by an archer). On the Hoplite's tactics, set Heavy Cover with one condition being "Combatant Type->Flying" and the other being "Attack Type->Attacked by Archer". If that is the only Heavy Cover action in the Hoplite's tactics, then they will save their PP for the specific case a flyer being targeted by an archer and cover them, and not use the ability otherwise. This works because in the case of a passive like Heavy Cover, the "target list" being filtered/sorted is the list of your own allies. So "Combatant Type->Flying" filters the list so the only "target" he'll cover is flying allies. However, the "Attack Type" conditions check the attacker specifically, not the target list, and thus will filter out cases where the attacker is not an archer, meaning if anything else attacks the flyer, he'll ignore it. I made another comment on this video that covers how the system actually works in detail.
@ShawFujikawa5 ай бұрын
@@Rubikant I know this isn't your intention but your advice comes off as very unnecessary and patronising because you're explaining things I clearly already know. I tried this exact setup and it didn't seem to work before. However, on trying this again with a specific couple of units made to test it I can see that the Attacked By conditions do trigger on allies as well as the user, so its description is a bit misleading. I don't know what was going wrong before, but I probably missed a -PP debuff at some point in the combat.
@Rubikant5 ай бұрын
@@ShawFujikawaApologies, I did not look closely to discover your level of familiarity with and understanding of the system. I was just skimming comments and spotted your last sentence and knew it was possible because I had recently set up that exact thing myself, and you seemed annoyed enough by it not working that I hoped you'd give it another try (after all, it's a great idea for a unit configuration and would be a real shame if it really didn't work at all). Then I went into over-explaining mode because that's just the way I am (you are by no means the first to call me out on it). But also because I keep seeing a lot of misinformation on how this system actually works and am hoping to spread the word and make it easier for people to set up the tactics they want by understanding what exactly each condition is really doing. I didn't mean to sound patronizing, and I didn't assume you were dumb or ignorant or anything, it's just a lot of the nuances of this system are misunderstood by a lot of people that are making perfectly intelligent, reasonable assumptions, assumptions that I also made at first... that just happen to be incorrect when you actually spend time testing and reverse engineering the system via Mock Battles.
@Rubikant5 ай бұрын
@@ShawFujikawa Also, you’re right, the description is wrong and misleading for the “Attacked by Archer” etc conditions. They say “when the *user* is attacked” but they should say “when the *target* is attacked“!
@condor63275 ай бұрын
@@Rubikant Don't worry about that guy; you did him and everyone else scrolling through a service by thoroughly explaining how to execute this technique. Thanks for sharing
@SeanTxty5 ай бұрын
I think your gameplay style feels like you are willing to micromanage a lot for individual combats - I would probably rather have more complex algo to make it so I'm not switching tactics per combat. But maybe like for example you just set a few simple ones where you can toggle on/off as needed, which seems a little easier to manage than upkeep on all of these templates.. Though I guess I have done some amount of weapon switching for the magical weapon vs. non magical scenario
@Tristen5015 ай бұрын
Really helpful guide!
@RobertDrane5 ай бұрын
Thanks for the explanation. There are some cases where I think the logic is more complex than an and gate but I'm not sure how to test it. This came up because I was interested in how mixing HP, max HP, and HP % conditions work. Like does high % + low hp give us the lowest value which makes up the highest fraction or are we excluding everything that isn't tied for high % then selecting the lowest value from the remaining choices? Does switching conditions 1 and 2 make a difference? Sounds overly complex, but I could see some permutations of those conditions making useful heuristics. Smaller health pools are likely to have more mitigation tools and for a lot of use cases its not very relevant whether that's defense, evasion, passives, or formation. If you're trying to get a kill for a condition like the lance assault then you'd be better off going for the target which has less mitigation in whatever form.
@IcedCoffeeGaming5 ай бұрын
I just tested this condition and it executes exactly as you would expect an AND gate to operate. Three targets, Chloe 43 hp, Aubin 27 HP, Travis 21 HP. If (Lowest HP && Highest % HP) Attack target It looked for lowest, found it, then checked for second condition, both conditions met, only Travis was attacked. I disabled all attacks from them. Second test: Same targets/health/order. If(Highest HP% && Lowest HP) Attacks Travis. It does not get MORE COMPLEX based on the rules. You are introducing complexity where from testing it seems to point towards a simple and gate with filtering. And gate does not care HOW it arrives to the conditions, it cares that the conditions are true. In the case of checking for health, the attack is able to look at every health value of every opponent, so when you check for highest %, it will roll each unit who is max HP, but then the second condition filters out by lowest HP. It is simple boolean logic.
@RobertDrane5 ай бұрын
@@IcedCoffeeGaming Cool, thanks for looking into that! I think you understood what I meant by not that simple. Even if my vocabulary isn't really fit for purpose here. All I was saying was that Filtering sets sequentially is something other than evaluating boolean logic / logic gates. Since its going through filters you may find a match for c2 WHERE c1 which isn't the same as c2 AND c1. Sorry I just don't think I have the vocab to explain, and now I'm lost daydreaming about how one might work player edited SQL into a game about commanding mech squadrons.
@Kazam564 ай бұрын
Do you know what is the difference between "< % average hp" vs "< % hp". How does the average hp tactic work?
@mercb3ast4 ай бұрын
I struggle to understand why you've got 3 tactics for magic attack that do essentially the same thing to varying degrees. 1. Magic Attack, armored only. It will attack only an armored target. 2. Magic Attack, prioritize armored. So it will pick an armored target if it can, but otherwise it will default to default targeting behavior otherwise. 3. Magic Attack, armored enemies present. So, if armored enemies are present, it will use magic attack. Seems to me, if you're trying to use magic attack on armored enemies, you ONLY need to set it up with tactic 1. If you want it to prio low HP, the tactic should be. 1. Magic Attack, low HP condition 1, armored only condition 2. 2. Lean Edge, low HP. A priority is fundamentally an always true condition, which means it will never progress beyond that check. Unless I misunderstand, and you're giving 3 examples of how to setup Magic Attack!
@IcedCoffeeGaming4 ай бұрын
I talk about it in the video, this was to explain the different types of unit type targeting conditions.
@KaladinStormBlessed1905 ай бұрын
the tactics are a wife simulator, it prepares you to "do exactly what she wants you to do, but without her telling exactly what to do directly" 🤣🤣
@Neonmirrorblack5 ай бұрын
Why use lowest %HP when attacking instead of simply lowest HP? Usually the priority targets have lower health by default. Using %HP could have you focusing on some kind of tank that's at 80% health, but still has way more health and defense than the more offensive targets. Lowest %HP makes sense for healing, but I don't see it for attacking.
@IcedCoffeeGaming5 ай бұрын
Depends on attack order, lowest health can be best to default to lowest % is good for units who act in the middle to prioritize last hits.
@Neonmirrorblack5 ай бұрын
@@IcedCoffeeGaming I get the reasoning, but I still don't see how it functionally makes any sense. Basically every unit that isn't a tank (not always, but typically) should already have lower health by default even before being hit. Even when trying to select between low health units, if you've already damaged one and need another one of your own to finish it off, lowest health should still be better than %health. The only time %health makes sense to me is if the priority unit was damaged, but barely, and it might still have a few hit points more than another low health unit. In that instance, it seems like RNG plays the biggest part between lowest health, and lowest %health since you can't change conditions mid fight.
@kyle35_365 ай бұрын
why would you need him set with magick attack: armored. but then also prioritize armored, and then on top of that if armored are present? is this just an example of different ways to program or do you actually have all three set on him? i aint ever gonna understand this game. that dont kmake sense to me
@IcedCoffeeGaming5 ай бұрын
This is just an example of the different type targeting not a use case example haha
@Whosaneca5 ай бұрын
The programmer in me gets giddy with this system. Game is literally trying to teach people how coding works low key