Is there any way to simply create a set/switch effect that triggers subsequent effects only if the previous effect fired successfully?
I keep running into issues with the parity between validators and the effects they are validating. Were conditions can change between the ticks of validation and execution. And in my case being able to fire effects in a chain would be a lot simplier than work around with behaviors and makers.
there is literally a switch effect type that allows you to do exactly that, you fill it with all the effect that you want, each with its own validator and check the "fall through" when necessary. you can use sets to add behaviours as markers when needed and then validate them in the next effect.
Or maybe you don't want that? Honestly by the info on your post the switch effect should be what you're looking for.
Edit: wait, maybe it isn't... switch are made for choosing from a large selection of possible effects, you're implying that you just want to make a static chain of effects... in this case a set effect its more convenient, you just put the effects you want in order, but each one has a validator inside itself, checking for the effect run before them, again behaviours are your friends if you want to check if they fired correctly.
If the last link didn't fire, the current one will no validate, stopping the chain. Also the validator in the set effect itself will allow you to stop the whole chain if you want it.
The effect chain is rather simple but i cant get it to work consistently or without numerous bugs.
The ideal format is a DEAD SIMPLE
Attempt to kill 4 zerglings in an area search
IF the kill is successful SPAWN a hydralisk
IF it is unsuccessful DO nothing
No matter how I implement it with Fall through switches, compound validators, and/or with marking behavior buffs
I get numerous cases where the Validator on the kill effect WILL Clear, The Kill effect WILL NOT FIRE, and the Hydralisk is spawned
I am tearing my hair out over this because of how simple this functionality would be in any other engine, but I can't create arrays of reference pointers that are linked to a specific instance of an effect. I can't build conditional statements triggered off the success of functions.
Case 1: Effect:(Search for 4 zerglings, apply dummy behavior) :: Fallthrough: Enabled :: Validator: Compound(Check area for 4 units that are both Zerglings and Do Not have Dummy buff)
Case 2: Effect:(Search for 4 units that are both zerglings and Do Have the dummy behavior, kill all 4) :: Fallthrough Enabled :: Validator: Compound (Check area for 4 units that are both Zerglings AND DO have the dummy buff)
Case 3:Spawn 1 Hydralisk
But with this I will get numerous occasions where 4 zerglings will be given a buff, no zerglings are killed, then the hydralisk spawns.
I have tested this in large swarms and the bug seems almost totally random, but the bug fires with 100% in the use case of 4 zerglings sitting next to 1 hydralisk.
I've been fiddling with this for hours and can't figure out where the break is.
Its digging to some of my biggest problems with the Galaxy editor.
I really can't see how to do things that would be considered fundamental in other engines.
Specifically:
The dynamic collection, transfer, and reference of data with in the ability systems
Simple procedural conditional statements ex: If function 1 fires successfully, fire function 2, if not do nothing
set effect with enum validator (checking if there are 4 zerglings) -> set effect only runs if there are 4 zerglings close
the set effect contains a search effect with connected kill effect and a create unit effect for the hydralisk.
Problem is the switch effect is trying to use all effects near instantly while there is a small latency before the buff is registered as having been applied.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Is there any way to simply create a set/switch effect that triggers subsequent effects only if the previous effect fired successfully?
I keep running into issues with the parity between validators and the effects they are validating. Were conditions can change between the ticks of validation and execution. And in my case being able to fire effects in a chain would be a lot simplier than work around with behaviors and makers.
please post the effect chain: something like
i dont really get it what exactly you want to achieve.
Ability - Set Effect -> THIS EFFECT MUST RUN ONLY WHEN SET ran -> etc
Try using a Combine validator? Else use the Validator: Unit - Effect field.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
there is literally a switch effect type that allows you to do exactly that, you fill it with all the effect that you want, each with its own validator and check the "fall through" when necessary. you can use sets to add behaviours as markers when needed and then validate them in the next effect.
Or maybe you don't want that? Honestly by the info on your post the switch effect should be what you're looking for.
Edit: wait, maybe it isn't... switch are made for choosing from a large selection of possible effects, you're implying that you just want to make a static chain of effects... in this case a set effect its more convenient, you just put the effects you want in order, but each one has a validator inside itself, checking for the effect run before them, again behaviours are your friends if you want to check if they fired correctly.
If the last link didn't fire, the current one will no validate, stopping the chain. Also the validator in the set effect itself will allow you to stop the whole chain if you want it.
@FunkyUserName: Go
The effect chain is rather simple but i cant get it to work consistently or without numerous bugs.
The ideal format is a DEAD SIMPLE
No matter how I implement it with Fall through switches, compound validators, and/or with marking behavior buffs I get numerous cases where the Validator on the kill effect WILL Clear, The Kill effect WILL NOT FIRE, and the Hydralisk is spawned
I am tearing my hair out over this because of how simple this functionality would be in any other engine, but I can't create arrays of reference pointers that are linked to a specific instance of an effect. I can't build conditional statements triggered off the success of functions.
How can I get this to work?!
And for more clarity this is explicitly what I have implemented:
Ablity: CreateHydra Contains Switch effect ->Create Hydra
Switch effect: Create Hydra
But with this I will get numerous occasions where 4 zerglings will be given a buff, no zerglings are killed, then the hydralisk spawns. I have tested this in large swarms and the bug seems almost totally random, but the bug fires with 100% in the use case of 4 zerglings sitting next to 1 hydralisk.
I've been fiddling with this for hours and can't figure out where the break is.
Its digging to some of my biggest problems with the Galaxy editor. I really can't see how to do things that would be considered fundamental in other engines. Specifically: The dynamic collection, transfer, and reference of data with in the ability systems Simple procedural conditional statements ex: If function 1 fires successfully, fire function 2, if not do nothing
@EdjeMaker: Go
set effect with enum validator (checking if there are 4 zerglings) -> set effect only runs if there are 4 zerglings close
the set effect contains a search effect with connected kill effect and a create unit effect for the hydralisk.
pretty straight forward
Problem is the switch effect is trying to use all effects near instantly while there is a small latency before the buff is registered as having been applied.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg