Imagine: persistent A creates 10 persistents B. Each of them spams some other effects, and at some point there's Destroy Persistent B being called with amount = 1. Is there a guarantee, that it will destroy the ancestor persistent B, not just any? I didn't find anywhere in Destroy Persistent effect anything about destroying the persistent of his tree, and I suspect, that it destroys just a first one in the order persistent A created them. Any comments?
the destroy persistant is executed at a point with a radius, so yes if all of your persistant B effects are at the same point it will just select one.
(how about destroying all and recreate the 9 others?)
Guys, after a few tests, I figured out, that misinterpreted the essence of the issue.
Persistent B has period duration = 0, and there are alot of periods. I thought, each period is being executed consequently, and if one of them call destroy persistent B, the others will not be executed. But looks like they all start simultaneously, and their descendent effects run in the same frame, but after those periodic effects, so, no matter, which period calls destroy, it won't stop other periods from happening.
I figured this out after switching from destroy persistent way to using "success" flag on persistent and enumerate area validator on periodic search effects. It gave a guarantee, that only the ancestor persistent will be destroyed at first successful periodic effect. But it didn't stop multiple successfull effects per persistent from happening.
It feels like destroy persistent is either obsolete remnant of early stage of development, or just a raw brute force way to get rid of persistents. While success/failure flags related ways are elegant, precise and parent oriented ways to do it.
Imagine: persistent A creates 10 persistents B. Each of them spams some other effects, and at some point there's Destroy Persistent B being called with amount = 1. Is there a guarantee, that it will destroy the ancestor persistent B, not just any? I didn't find anywhere in Destroy Persistent effect anything about destroying the persistent of his tree, and I suspect, that it destroys just a first one in the order persistent A created them. Any comments?
Make it only destroy the source or the effect just below the persistent in the tree.
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
the destroy persistant is executed at a point with a radius, so yes if all of your persistant B effects are at the same point it will just select one. (how about destroying all and recreate the 9 others?)
Guys, after a few tests, I figured out, that misinterpreted the essence of the issue.
Persistent B has period duration = 0, and there are alot of periods. I thought, each period is being executed consequently, and if one of them call destroy persistent B, the others will not be executed. But looks like they all start simultaneously, and their descendent effects run in the same frame, but after those periodic effects, so, no matter, which period calls destroy, it won't stop other periods from happening.
I figured this out after switching from destroy persistent way to using "success" flag on persistent and enumerate area validator on periodic search effects. It gave a guarantee, that only the ancestor persistent will be destroyed at first successful periodic effect. But it didn't stop multiple successfull effects per persistent from happening.
So, I had to redo the whole effect.
they dont run concurrently?
If persistent has period duration = 0, in terms of sc2 engine all its effects run concurrently, within one time frame.
I am surprized you cannot just get them to search for the parent effect.
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
@DrSuperEvil: Go
It feels like destroy persistent is either obsolete remnant of early stage of development, or just a raw brute force way to get rid of persistents. While success/failure flags related ways are elegant, precise and parent oriented ways to do it.
Else just use validators.
Depends on what you want to do.
I find destroy persistents are more for channelled and persist until destroyed ones.
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