| 12-31-2007, 01:29 PM | #1 |
I searched in WE to find some abilities that reduce the damage made by attacks and spells . First Question : I've found Hardened Skin that reduce damage by x . Is there any ability that can reduce damage by x% ? Second Question : I've also found Spell Damage Reduction that reduce damage made by spells with x% . Can i find or create an ability that only reduce damage made by certain spells ? |
| 12-31-2007, 01:35 PM | #2 |
1. I think Spiked Carapace can reduce damage by percentages. 2. No, you'll need to trigger spell detection. |
| 12-31-2007, 02:03 PM | #3 |
Spiked carapace only works vs Melee though, the % reduction (if i recall correctly). You can use defend (activateable) or elune's grace I think... But that might only work for piercing... If you REALLY want to reduce damage by a % from attacks you can raise armor. The formula is something like 1 armor = 6% more effective health, so it results in 1 armor = 6/106 damage reduction (5.6% reduction). The problem is it has diminishing returns... The hardened skin could also be used mathematically to reduce damage done by a % as well. A 5% chance to reduce damage by 1000000 would yield 5% less damage. 50% chance to reduce damage by 1000000 would yield 50% damage reduction. One more alternative is evasion. Or Mana shield? absorb 50% of the damage using 0 mana per life absorbed? Lastly, you could trigger it. When specific unit takes damage and has the damage reduction dummy ability, then 'heal' the unit just before it takes damage (set widget life). You won't be able to differentiate attacks from magical spells though. |
| 12-31-2007, 02:07 PM | #4 |
Your solution to the second question is flawed. What if the spell is dealing more damage than the unit has hit points? EDIT! I believe the armor formula is something ridiculous along the lines of... (armor*multiplier)/(1+armor*multiplier) = reduction Code:
e.g
armor = 2
multiplier = 6
(2*6)/(1+2*6) = 12 / 13
= 11 |
| 12-31-2007, 02:14 PM | #5 |
Tide-Arc - then you have to do some trigger little jassing with a bonus health ability and a timer. Very do-able, though. Also, you need to use a timer if the damage is less than the difference between max and current hp. |
| 12-31-2007, 02:22 PM | #6 |
I believe Zetanno uses GUI, if I recall correctly he asked for help with GUI triggers. Unimportant edit which is off topic It happened for me roughly 2 hours ago, but who cares. HAPPY NEW YEAR! |
| 01-01-2008, 09:30 AM | #7 |
Tide-Arc is right . I'm not good in using jass ... that's my problem |
| 01-01-2008, 10:26 AM | #8 |
Still not that hard... Trigger: Trigger: Actions![]() ----- - -----![]() Set Damage = (Damage taken)![]() Set Your_Unit = (Triggering unit)![]() Countdown Timer - Start Your_Timer as a One-shot timer that will expire in 0.00 seconds |
| 01-01-2008, 10:45 AM | #9 |
will this still work if the blow dealt is a killing blow(exceeds health remaining)? |
| 01-01-2008, 10:58 AM | #10 |
What if... Spell Block = 200 damage Spell Damage = 200 damage Unit HP = 50 So it would set the unit's hit points to 200, but it can't exceed 50 so it would set it to 50, then the 200 damage would be dealt. So basically, what happens if the spell damage is lethal but not meant to kill the unit? |
| 01-01-2008, 04:56 PM | #11 |
Then add a +health item ability before the timer, and remove it afterwards, to make sure that he doesn't die. |
| 01-01-2008, 10:23 PM | #12 |
No, no, no. The method with the 0.00 second timeout timer will work. Even if the unit takes an infinite amount of damage (as long as all of it should be bocked). You may have to alter the shield's life depending on the max life of the unit, but other than that the damage will be blocked properly. |
| 01-02-2008, 01:02 AM | #13 |
Either I'm misunderstanding you or something, but "Set unit life" doesn't change maximum hit points, it changes current hit points. Tainted Reality's solution would probably work, if done correctly, though. |
| 01-02-2008, 12:23 PM | #14 | |
Quote:
It will take the damage, die, and then you'll add health to it. A bit late, since that doesn't resurrect the dead. |
| 01-02-2008, 06:40 PM | #15 | |
Quote:
The timer method works. I guarantee it. Daelin did it for Martyrism in his Scarlet Crusader hero for the Hero Contest. And it works for shield spells of all types. I'll test it if it works in GUI if you want... |
