I have a shield wall type unit, of which many exist on the map. they act like forcefields, blocking impact projectiles.
On their hitting zero shield, they are not to take any more damage. This was done by changing minimum damage from 0.5 to 0. On a behavior registering them taking fatal damage, they set off an effect. The effect searches for other shield units, as well as applying a "Shield Failure" Behavior. This should loop and knock out all the shields, but gets stuck at a certain point, and doesn't act like expected anyway.
If a shield has "Shield Failure" impact projectiles ignore them.
The units are all linked together (Diamondback mission trains), matching health at all times via the conjoined behavior effect. Works correctly, assuming you handle splash to avoid a multiplier. Unfortunately, that part isn't working correctly either.
Current problem. Shield is supposed to have regeneration until it fails. On failure, it will deactivate, supressing regeneration for some duration. Then, it will restore to full health, and be valid for collision again.
However, several problems are making this difficult.
I cannot use normal regeneration with an insane rate boost, since that applies even if the shield hadn't reached zero. Hence, going to apply a +1 shield fraction effect. Using life and health regen suppression fixed it.
Using normal regeneration, which will be suppressed or capacity removed during shield failure.Cannot detect shield failure. Trying to use damage response, but will not work, due to it only registering on the impact unit, not the rest of the conjoined units. Hence only one loses shield capacity, not the rest. Can detect, but cannot spread it to all the shield units.
Tried using a periodic check for shield < 1, but since the regeneration can go excessively high, it doesn't always catch it, so several kill-shots are required, which is a problem.
Using a behavior which disables on shield = zero, while other behavior, disables when shield ge zero. However, cannot determine how to add in the 30 second, or otherwise, delay for the shield to reboot, and restore to full shield again. The disabled behavior, when enabled, does not have any apperently linked effects, so I can't attach a persistant for a delay effect. Cannot use periodic, since I don't know where it would start. Cannot use limited duration, since I have no idea how to actually add the shield failure behavior to start with.
Also, I am trying to avoid using triggers as much as feasible.
Any ideas?
Edit:
Currently using Life only, with an immortal shield based behavior for damage to get the animation.
Can detect fatal impact. Can spread effect, but does not spread to all correct targets.
Shield impacts get splash but shouldn't, accidently broke, such that both the shield and missile impact occur. Trigger suggests the missile is impacting the missile and the shield, so both the shield impact and unit impact are occuring.
I would have a propagating wave of search area effects that loop to knock out the others. Look at my power lines demo map for the system I used to disable the system.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Alright, the second part works great now, can knock them all out. However, I still can't trigger that effect on shield failure.
Maybe remove armor, and catch fatal hits? Not really sure how to do that, or if that actually risks unit death. Have no real experience with messing with damage detection.
You can try using behaviors to add shields instead of using the shield regeneration? Say, every 2 seconds, add 10 points of shields. This should let your shield failure to trigger.
I can get the shields to fail now, or, apperently, as I just realized, partly fail. it seems to only be able to cause some number to fail in the general area, I think in the direction of the missile impact, but not chain any further.I think it has to do with target locations. so far as I can tell, source is the link from the "takes fatal damage" damage response. However, I cannot think how to fix this. due to the conjoined nature, unless I can get all of them to fail at the same time, so they can all get healed at the same time, I can't get it to work.
Edit2: It seems I have, in trying to get some parts to work, have broken others. Incidently, I have configured the automatic backup system sc2 has, to hopefully help with this.
The Missile's shield target filter is broken now, and acts like an AOE blast again, regardless of the switch statement. As a result, it is hitting multiple nodes and doing more damage than intended.
I figured out part of the problem. Unfortunately, I have absolutely no idea what to do about it. It is obvious now that my problem is that I can't figure out the target system. Caster, source, target, Outer stuff, etc.
Using a non-missile, I see why two things occured, but have no idea why or how to fix them.
The battlecruiser, instead of the shield, gets the shield failure buff. Unless it is close enough to a shield taking fatal damage from it. And then, any more damage will be fatal. I believe that part to be because there is no damage response in "Shield failure", but am uncertain.
More significantly, is the fact that the buff applies to the battlecruiser. Presumably, also, to the missiles impacting a shield that they kill, or perhaps the launcher. Either way, I can't figure out how to have it target the shield which took fatal damage, or how to then spread it to the rest. A first step would be hitting the right target, but I have no idea how to do that. There doesn't seem to be any reason it would hit the missile or battlecruiser.
Also, I can't figure out why, for the missile damage switch, the shield validator isn't returning true. Possible that it is looking at the missile/battlecruiser. I don't know why it would be referring to them however.
Most useful probably would be a method to set up actors or triggers which give information on what is going on at some specific time.
In my current project I've got this diagnostic trigger:
When I'm confused about the units involved in an effect, I throw in an event for "effect used." The game spits the diagnostic back whenever the effect's used.
That is precisely what I was looking for. And is probably the most useful tool for debugging data ever. Absolutely invaluable. Makes it obvious what is going on for one of the effects. Just have to apply it, one at a time, to each effect that is involved, and I should be able to resolve the situation.
Edit:
Managed to get the shield failure behavior to fail like it was before, but still not able to have it effect everything it is supposed to. It causes 10 shield nodes to get the behavior, and possible jumps between the two shields if I increase the range enough, but only hits 10 nodes (I think every time) and tends to do the ones to the left more often. Still have no idea why, and the UI messages get pushed off the screen. Added a tag display onto the debug messages, so as to get the Unit IDs, but that isn't really sufficient.
Missile impact seems to be targeting both the missile AND the shield it hits, meaning it does a single impact AND a blast, which is unexpected. Especially since the search filter is supposed to look at enemies only, and also exclude missiles. Presumably I missed something there.
Ah. Well, I can see how that can be helpful for debugging, but in this case, it seems correct already.
I cannot be certain unfortunately, but that does help some.
As stated look how I did my power grid demo map. As long as the effect is a descendent of a previous effect in the tree it can be referenced to be used as a source/target etc.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
I looked at it, assuming it is from Assets of Evil.
The basic setup doesn't actually work. The zerglings are out of range, and moving the collosus has no apperent effect.
Modifying it to move a zergling into range, It seems to work, sort of. However, the zerglings can power each other, and the cables don't really seem to break after a range limit, and sometimes there are no cable links anyway.
I could power the zerglings, and literally leave for the edge of the map, and until I split the group up, they were all powered. Those would either go unpowered, or rapidly flicker between powered and unpowered. Also, killing the pylons did nothing.
Edit: I do note that at least one of your search effects has a persistant delay in place. If sc2 has an anti-infinite-loop thing in place, and behaviors, once applied, do not appear for consideration immediately, I think that could be a part of the problem. And, more importantly, might be impossible to then do via data. I literally have to have the synchronized, since heal effects do not get transfered by the linked behavior.
Depending on how markers work, they might be feasible, but I have no idea how to use them. I know they prevent, in the case of things like a hellion's line attack, made of a bunch of mini-circles, not allow any target to get hit twice.
I might be able to have one main node (the one that took the fatal hit) take negative damage, and that might transfer. Uncertain.
I could have failed shields have the linked behavior suppressed, which might allow for a desynced reactivation.
Going to try for the delay, see if that lets them all fail.
I have a shield wall type unit, of which many exist on the map. they act like forcefields, blocking impact projectiles.
On their hitting zero shield, they are not to take any more damage. This was done by changing minimum damage from 0.5 to 0.On a behavior registering them taking fatal damage, they set off an effect. The effect searches for other shield units, as well as applying a "Shield Failure" Behavior. This should loop and knock out all the shields, but gets stuck at a certain point, and doesn't act like expected anyway. If a shield has "Shield Failure" impact projectiles ignore them. The units are all linked together (Diamondback mission trains), matching health at all times via the conjoined behavior effect. Works correctly, assuming you handle splash to avoid a multiplier. Unfortunately, that part isn't working correctly either.Current problem. Shield is supposed to have regeneration until it fails. On failure, it will deactivate, supressing regeneration for some duration. Then, it will restore to full health, and be valid for collision again.
However, several problems are making this difficult.
I cannot use normal regeneration with an insane rate boost, since that applies even if the shield hadn't reached zero. Hence, going to apply a +1 shield fraction effect.Using life and health regen suppression fixed it.Using normal regeneration, which will be suppressed or capacity removed during shield failure.Cannot detect shield failure. Trying to use damage response, but will not work, due to it only registering on the impact unit, not the rest of the conjoined units. Hence only one loses shield capacity, not the rest.Can detect, but cannot spread it to all the shield units.Tried using a periodic check for shield < 1, but since the regeneration can go excessively high, it doesn't always catch it, so several kill-shots are required, which is a problem.Using a behavior which disables on shield = zero, while other behavior, disables when shield ge zero. However, cannot determine how to add in the 30 second, or otherwise, delay for the shield to reboot, and restore to full shield again. The disabled behavior, when enabled, does not have any apperently linked effects, so I can't attach a persistant for a delay effect. Cannot use periodic, since I don't know where it would start. Cannot use limited duration, since I have no idea how to actually add the shield failure behavior to start with.Also, I am trying to avoid using triggers as much as feasible.
Any ideas?
Edit: Currently using Life only, with an immortal shield based behavior for damage to get the animation. Can detect fatal impact. Can spread effect, but does not spread to all correct targets. Shield impacts get splash but shouldn't, accidently broke, such that both the shield and missile impact occur. Trigger suggests the missile is impacting the missile and the shield, so both the shield impact and unit impact are occuring.
Bump
I would have a propagating wave of search area effects that loop to knock out the others. Look at my power lines demo map for the system I used to disable the system.
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
Alright, the second part works great now, can knock them all out. However, I still can't trigger that effect on shield failure. Maybe remove armor, and catch fatal hits? Not really sure how to do that, or if that actually risks unit death. Have no real experience with messing with damage detection.
You can try using behaviors to add shields instead of using the shield regeneration? Say, every 2 seconds, add 10 points of shields. This should let your shield failure to trigger.
That would almost certainly work. Will try it.
Edit: May not be nessesary, depending.
I can get the shields to fail now, or, apperently, as I just realized, partly fail. it seems to only be able to cause some number to fail in the general area, I think in the direction of the missile impact, but not chain any further.I think it has to do with target locations. so far as I can tell, source is the link from the "takes fatal damage" damage response. However, I cannot think how to fix this. due to the conjoined nature, unless I can get all of them to fail at the same time, so they can all get healed at the same time, I can't get it to work.
Edit2: It seems I have, in trying to get some parts to work, have broken others. Incidently, I have configured the automatic backup system sc2 has, to hopefully help with this.
The Missile's shield target filter is broken now, and acts like an AOE blast again, regardless of the switch statement. As a result, it is hitting multiple nodes and doing more damage than intended.
I figured out part of the problem. Unfortunately, I have absolutely no idea what to do about it. It is obvious now that my problem is that I can't figure out the target system. Caster, source, target, Outer stuff, etc.
Using a non-missile, I see why two things occured, but have no idea why or how to fix them. The battlecruiser, instead of the shield, gets the shield failure buff. Unless it is close enough to a shield taking fatal damage from it. And then, any more damage will be fatal. I believe that part to be because there is no damage response in "Shield failure", but am uncertain.
More significantly, is the fact that the buff applies to the battlecruiser. Presumably, also, to the missiles impacting a shield that they kill, or perhaps the launcher. Either way, I can't figure out how to have it target the shield which took fatal damage, or how to then spread it to the rest. A first step would be hitting the right target, but I have no idea how to do that. There doesn't seem to be any reason it would hit the missile or battlecruiser.
Also, I can't figure out why, for the missile damage switch, the shield validator isn't returning true. Possible that it is looking at the missile/battlecruiser. I don't know why it would be referring to them however.
Most useful probably would be a method to set up actors or triggers which give information on what is going on at some specific time.
In my current project I've got this diagnostic trigger:
When I'm confused about the units involved in an effect, I throw in an event for "effect used." The game spits the diagnostic back whenever the effect's used.
@Buswolley: Go
That is precisely what I was looking for. And is probably the most useful tool for debugging data ever. Absolutely invaluable. Makes it obvious what is going on for one of the effects. Just have to apply it, one at a time, to each effect that is involved, and I should be able to resolve the situation.
Edit: Managed to get the shield failure behavior to fail like it was before, but still not able to have it effect everything it is supposed to. It causes 10 shield nodes to get the behavior, and possible jumps between the two shields if I increase the range enough, but only hits 10 nodes (I think every time) and tends to do the ones to the left more often. Still have no idea why, and the UI messages get pushed off the screen. Added a tag display onto the debug messages, so as to get the Unit IDs, but that isn't really sufficient.
Missile impact seems to be targeting both the missile AND the shield it hits, meaning it does a single impact AND a blast, which is unexpected. Especially since the search filter is supposed to look at enemies only, and also exclude missiles. Presumably I missed something there.
@Ranakastrasz: Go
Use effects in the effect tree as a reference.
Second issue sounds like a filter problem with the wrong buff being applied to the battlecruiser.
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
I don't know what the effect tree is.
With the debug messages, I managed to fix the BC issue, and it effects the shield nodes again.
If you right click an effect, and click "view in data navigator," you get this nifty visualization of the effect and any effect it's connected to.
@Buswolley: Go
Ah. Well, I can see how that can be helpful for debugging, but in this case, it seems correct already. I cannot be certain unfortunately, but that does help some.
As stated look how I did my power grid demo map. As long as the effect is a descendent of a previous effect in the tree it can be referenced to be used as a source/target etc.
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
I looked at it, assuming it is from Assets of Evil. The basic setup doesn't actually work. The zerglings are out of range, and moving the collosus has no apperent effect.
Modifying it to move a zergling into range, It seems to work, sort of. However, the zerglings can power each other, and the cables don't really seem to break after a range limit, and sometimes there are no cable links anyway.
I could power the zerglings, and literally leave for the edge of the map, and until I split the group up, they were all powered. Those would either go unpowered, or rapidly flicker between powered and unpowered. Also, killing the pylons did nothing.
Edit: I do note that at least one of your search effects has a persistant delay in place. If sc2 has an anti-infinite-loop thing in place, and behaviors, once applied, do not appear for consideration immediately, I think that could be a part of the problem. And, more importantly, might be impossible to then do via data. I literally have to have the synchronized, since heal effects do not get transfered by the linked behavior.
Depending on how markers work, they might be feasible, but I have no idea how to use them. I know they prevent, in the case of things like a hellion's line attack, made of a bunch of mini-circles, not allow any target to get hit twice.
I might be able to have one main node (the one that took the fatal hit) take negative damage, and that might transfer. Uncertain. I could have failed shields have the linked behavior suppressed, which might allow for a desynced reactivation. Going to try for the delay, see if that lets them all fail.
Yeah some patch broke it. Was hoping some of the bones still applied though.
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