Difference between revisions of "Conditions and actions"
From Gladiabots Wiki
Line 6: | Line 6: | ||
{{Warning|The rest of the page is a work in progress.}} | {{Warning|The rest of the page is a work in progress.}} | ||
+ | |||
+ | Conditions and actions share almost the same evaluation process: | ||
+ | |||
+ | Conditions follow these steps: | ||
+ | |||
+ | # get all the entities of the <target type> | ||
+ | # only keep the entities matching the <target filters> | ||
+ | #* if no entity is returned by previous step, condition is considered invalid | ||
+ | # select the best entity according to the <target selector> ("any" is a special case where you keep all the entities from previous step) | ||
+ | # check the condition on the remaining entity(ies) (for "any" selector, node is valid if the condition is valid on at least one of the entities) | ||
+ | |||
+ | Actions follow these steps: | ||
+ | |||
+ | # get all the entities of the <target type> | ||
+ | # only keep the entities matching the <target filters> | ||
+ | #* if no entity is returned by previous step, action is considered invalid | ||
+ | # select the best entity according to the <target selector> ("any" is not allowed for action targeting) | ||
+ | # if action is possible, execute it | ||
+ | |||
+ | {{Information|Filters are actually applied '''before''' checking the condition.}} | ||
=== Thoughts to include into this page === | === Thoughts to include into this page === |
Revision as of 08:09, 26 October 2017
![]() |
This page needs improvement, you are welcome to contribute. |
Basics
![]() |
The rest of the page is a work in progress. |
Conditions and actions share almost the same evaluation process:
Conditions follow these steps:
- get all the entities of the <target type>
- only keep the entities matching the <target filters>
- if no entity is returned by previous step, condition is considered invalid
- select the best entity according to the <target selector> ("any" is a special case where you keep all the entities from previous step)
- check the condition on the remaining entity(ies) (for "any" selector, node is valid if the condition is valid on at least one of the entities)
Actions follow these steps:
- get all the entities of the <target type>
- only keep the entities matching the <target filters>
- if no entity is returned by previous step, action is considered invalid
- select the best entity according to the <target selector> ("any" is not allowed for action targeting)
- if action is possible, execute it
![]() |
Filters are actually applied before checking the condition. |
Thoughts to include into this page
Conditions are in syntax
Target(Filters)-Condition(Evaluation)
Target - The type of Gladiabots Entity (Ally, Enemy, AllyBase, EnemyBase, Resource) to be checked Filters - Criteria that the target has to meet Condition - Action that the Target is executing Evaluation - Checking the [Invert] check box makes the Condition evaluate True if the filtered Target is not executing the action mentioned in the Condition.
- Filters and Conditions
- explanation of conditions and, similarly, actions
- action filters
- any and all
- how robots are chosen when more than one robot respect the filters and the conditions in an action or a condition
- filter options within a category are in "or" between them, not "and"
- more info about filters introduced in alpha 7 and the OR /AND part
- more info about OR/AND between filter categories