So Damage Responses are basically my absolute favorite part of all behavior categories, yet I do not fully understand them. I want to use this thread to acquire knowledge of all the things you can do with them.
I did some crazy stuff with those before. For example one of my units can spawn ghouls with an ability, if that ability kills units. If the spawned ghouls kill units they also spawn ghouls. Now a death response was too simple for me, because that allows other damage sources to spawn ghouls. I wanted the unit, only if the killing blow was dealt by my ability or a ghoul, to spawn a ghoul. So my ability applies a behavior with a damage response that has the fatal flag checked and as handled effect the "spawn ghoul" effect. I used the ghouls weapon damage effect and the ability damage effect and put them into the Require Effect Array - now only those spawn ghouls, without any room for error.
There are very few fields I never used, but I want to learn them:
Exhausted Effect
Ignore
Maximum
Minimum
Modify Limit
So Exausted Effect is pretty clear when it happens, but my question is - when does that case occur?
Let's say I make a damage response that reduces damage to 0, and I put 250 in the limit. It's basically a 250 damage shield now, isn't it?
If I say it reduces damage by 50%, does it now still break after 250 damage or does it break after 500? (Because 250 damage was modified)
Next on the list would be maximum & minimum (not the clamp ones, I know those). Means if something does more damage than my entered maximum the damage response doesn't trigger, right? Same for "under minimum"?
The last thing would be "Ignore". E.g. my unit gets a buff with a damage response and it has 200 in the ignore field (let's assume it has no shields or energy). So it has to take 200 damage before the buff starts acting, right?
The Cost field, especially the cooldown and charge ones feel very wonky in their funcionality - did anyone test them and knows what works properly? Trying to make something like the incapacitated buff in the hero mission from WoL, but with a cooldown so that you aren't actually invincible.
I can do it with a dummy behavior and a validator, but if it works with a simple cooldown in the field it would somewhat rock.
Yes, it is possible to set both cooldown and available charges of the behavior.
Set the field "Damage Response - Cooldown - Time Use" to your desired cooldown, in game seconds of course.
Remember that the field "Damage Response - Cooldown - Link" must be set to the correct behavior id.
I conducted a small experiment to show how it works:
Picture of my Death Prevention behavior: imgur link
"Killing" the Tauren before the behavior is cooled down or if the damage response is triggered more than 3 times is fatal, otherwise the Tauren will only become Incapacitated.
The Zealot applies a behavior with Damage Response - Charge - Count (Max) and Damage Response - Charge - Count (Start) set to 3, Damage Response - Charge - Count (Use) to 1 and then applies a Damage effect whenever the buffed unit attacks an enemy.
Did you try it out with "Location: Attacker" damage responses too? I was trying to make an attack modifier effect with two charges, but it wouldn't work out.
Yes, that works just fine. The Zealot in the video I posted previously uses a behavior with charges that are consumed when attacking.
Here's what my damage response looks like: imgur link
I chose to apply a damage effect whenever the damage response is triggered but this could of course be changed to whatever suits your needs. Simply using the Modify Amount field should yield similar results.
I've also set the Target Filters for the damage response to only include Enemy targets, meaning that attacking allied or neutral units will not consume charges.
I tested it with a blade armor effect and I got amazing results.
The IGNORE field does not mean how much damage will be ignored. It means that any change above that value will be ignored. Aka if you say "Ignore - Life - 50" then any damage over 50 will be ignored entirely.
The MINIMUM field actually does what you think the ignore field would do. I used 50 in the minimum field (NOT minimum clamp, thats a different field) - and when a unit with <50 damage attacks my unit, it doesn't get damaged by the blade armor effect (handled). If it does above 50 it will get damaged.
I assume the ignore field for shields/energy works the same way with energy/shield damage.
So Damage Responses are basically my absolute favorite part of all behavior categories, yet I do not fully understand them. I want to use this thread to acquire knowledge of all the things you can do with them.
I did some crazy stuff with those before. For example one of my units can spawn ghouls with an ability, if that ability kills units. If the spawned ghouls kill units they also spawn ghouls. Now a death response was too simple for me, because that allows other damage sources to spawn ghouls. I wanted the unit, only if the killing blow was dealt by my ability or a ghoul, to spawn a ghoul. So my ability applies a behavior with a damage response that has the fatal flag checked and as handled effect the "spawn ghoul" effect. I used the ghouls weapon damage effect and the ability damage effect and put them into the Require Effect Array - now only those spawn ghouls, without any room for error.
There are very few fields I never used, but I want to learn them:
So Exausted Effect is pretty clear when it happens, but my question is - when does that case occur? Let's say I make a damage response that reduces damage to 0, and I put 250 in the limit. It's basically a 250 damage shield now, isn't it? If I say it reduces damage by 50%, does it now still break after 250 damage or does it break after 500? (Because 250 damage was modified)
Next on the list would be maximum & minimum (not the clamp ones, I know those). Means if something does more damage than my entered maximum the damage response doesn't trigger, right? Same for "under minimum"?
The last thing would be "Ignore". E.g. my unit gets a buff with a damage response and it has 200 in the ignore field (let's assume it has no shields or energy). So it has to take 200 damage before the buff starts acting, right?
Tried reading the wiki?
http://www.sc2mapster.com/wiki/galaxy/data/behaviors/buff/
Not tested how damage fraction and limit interact, would be a 10 min test max.
Ignore means that the damage response does not trigger when having damage under the limit.
On some old thread max and min were explained but they were not very exciting for me so I forgot.
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
One more question about Damage Responses.
The Cost field, especially the cooldown and charge ones feel very wonky in their funcionality - did anyone test them and knows what works properly? Trying to make something like the incapacitated buff in the hero mission from WoL, but with a cooldown so that you aren't actually invincible.
I can do it with a dummy behavior and a validator, but if it works with a simple cooldown in the field it would somewhat rock.
Yes, it is possible to set both cooldown and available charges of the behavior. Set the field "Damage Response - Cooldown - Time Use" to your desired cooldown, in game seconds of course. Remember that the field "Damage Response - Cooldown - Link" must be set to the correct behavior id.
I conducted a small experiment to show how it works:
Picture of my Death Prevention behavior: imgur link
"Killing" the Tauren before the behavior is cooled down or if the damage response is triggered more than 3 times is fatal, otherwise the Tauren will only become Incapacitated.
The Zealot applies a behavior with Damage Response - Charge - Count (Max) and Damage Response - Charge - Count (Start) set to 3, Damage Response - Charge - Count (Use) to 1 and then applies a Damage effect whenever the buffed unit attacks an enemy.
Did you try it out with "Location: Attacker" damage responses too? I was trying to make an attack modifier effect with two charges, but it wouldn't work out.
When I last tested it neither worked. Guess they fixed that one.
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
Yes, that works just fine. The Zealot in the video I posted previously uses a behavior with charges that are consumed when attacking.
Here's what my damage response looks like: imgur link
I chose to apply a damage effect whenever the damage response is triggered but this could of course be changed to whatever suits your needs. Simply using the Modify Amount field should yield similar results.
I've also set the Target Filters for the damage response to only include Enemy targets, meaning that attacking allied or neutral units will not consume charges.
Yeah that has always worked.
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 tested it with a blade armor effect and I got amazing results.
The IGNORE field does not mean how much damage will be ignored. It means that any change above that value will be ignored. Aka if you say "Ignore - Life - 50" then any damage over 50 will be ignored entirely.
The MINIMUM field actually does what you think the ignore field would do. I used 50 in the minimum field (NOT minimum clamp, thats a different field) - and when a unit with <50 damage attacks my unit, it doesn't get damaged by the blade armor effect (handled). If it does above 50 it will get damaged.
I assume the ignore field for shields/energy works the same way with energy/shield damage.
Probably.
Nice find better get that corrected on the wiki.
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