snowe
05-23-2018, 08:03 AM
aka. "A neophyte BC seeks input from more experienced BC professionals."
I was playing around with golem programming last night, and never quite got fully confident in how the conditionals are working. My end assumption was that they function essentially like most mail client filtering rules (i.e. processing the list from the top down, and executing the associated action of the first conditional matched). That much seems correct as far as I could tell, however, I have a question...
If a condition matches, but the associated ability is on cool down, does the golem continue processing its programming list for the next matching conditional or restart from the beginning of the list? For example, if I had a golem with two conditional/action pairs:
1: Owner is in combat / Poison Bomb Toss
2: Owner is in combat / Doom Admixture
...would the golem in this case ever reach conditional #2 (https://forum.projectgorgon.com/usertag.php?do=list&action=hash&hash=2) ? In other words, if the 'Poison Bomb Toss' ability were on cool down (4.5 seconds), would the golem process the second conditional to use 'Doom Admixture', or would the first 'Owner is in combat' conditional be matched and nothing happen because the 'Poison Bomb Toss' is still on cool down?
I suspect you could replace the conditional in #1 (https://forum.projectgorgon.com/usertag.php?do=list&action=hash&hash=1) with something like 'Randomly 50% of the time during combat' and get something that over time would more evenly distribute between the two rules, but the logic behind the processing is relevant for something like these:
1: Owner is in combat / Poison Bomb Toss
2: Owner's health is below 50% / Healing Injection
vs.
1: Owner's health is below 50% / Healing Injection
2: Owner is in combat / Poison Bomb Toss
If processing *doesn't* continue down the programming list on a cool down, then when the owner is in combat, the 'Healing Injection' in the first programming list will never fire. Likewise, once an owner falls below 50%, the golem would never use 'Poison Bomb Toss' in the second programming list. If, however, processing *does* continue down the programming list, then the two will essentially accomplish the same thing with an obvious prioritization on damage or healing accordingly.
Do any elder BCs happen to know how this works?
I was playing around with golem programming last night, and never quite got fully confident in how the conditionals are working. My end assumption was that they function essentially like most mail client filtering rules (i.e. processing the list from the top down, and executing the associated action of the first conditional matched). That much seems correct as far as I could tell, however, I have a question...
If a condition matches, but the associated ability is on cool down, does the golem continue processing its programming list for the next matching conditional or restart from the beginning of the list? For example, if I had a golem with two conditional/action pairs:
1: Owner is in combat / Poison Bomb Toss
2: Owner is in combat / Doom Admixture
...would the golem in this case ever reach conditional #2 (https://forum.projectgorgon.com/usertag.php?do=list&action=hash&hash=2) ? In other words, if the 'Poison Bomb Toss' ability were on cool down (4.5 seconds), would the golem process the second conditional to use 'Doom Admixture', or would the first 'Owner is in combat' conditional be matched and nothing happen because the 'Poison Bomb Toss' is still on cool down?
I suspect you could replace the conditional in #1 (https://forum.projectgorgon.com/usertag.php?do=list&action=hash&hash=1) with something like 'Randomly 50% of the time during combat' and get something that over time would more evenly distribute between the two rules, but the logic behind the processing is relevant for something like these:
1: Owner is in combat / Poison Bomb Toss
2: Owner's health is below 50% / Healing Injection
vs.
1: Owner's health is below 50% / Healing Injection
2: Owner is in combat / Poison Bomb Toss
If processing *doesn't* continue down the programming list on a cool down, then when the owner is in combat, the 'Healing Injection' in the first programming list will never fire. Likewise, once an owner falls below 50%, the golem would never use 'Poison Bomb Toss' in the second programming list. If, however, processing *does* continue down the programming list, then the two will essentially accomplish the same thing with an obvious prioritization on damage or healing accordingly.
Do any elder BCs happen to know how this works?