HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Skill ideas

06-01-2006, 08:39 AM#1
Siphonized
Running out of ideas.. Anyone that has any not-so-advanced trigger skill ideas?

Was thinking of making a Critical Strike skill that's based on agility (just "random integer < agility / X" then create order unit to damage target and create floating text just like the original.)

But that's not very original... If you have any ideas you'd like to share, please tell :)
06-01-2006, 08:50 AM#2
Siphonized
Here's a request:

In DotA there's a Hero that can "dodge" spells.. How is that made?
06-01-2006, 09:02 AM#3
StockBreak
Well, just add to a trigger the event "Unit takes damage" using the action "Trigger Add New Event", where the "Unit" it's the one who learned the ability. The job's done! Every time it takes damage, run a random int between ( 1, 100 ) etc... and if it dodges the attack/spell then set his "life = life + damage taken" to avoid damage and play a special effect. I hope it helps.

P.S: the Avatar of Vengeance (which damages nearby units avoiding damage) has an ability very similar to Faceless Void's one. Cheers.
06-01-2006, 09:12 AM#4
Siphonized
that's a stupid trigger, cause it will not work if the spell does more damage than he has current hit points.
06-01-2006, 10:29 AM#5
Rising_Dusk
You must add a check to every single spell in the map that does a % check if the player has the spell evade at level > 0.
Then if it does, return.

That also assumes all triggers are jassed.
You could also register a EVENT_PLAYER_UNIT_SPELL_CAST event and pause, stop, pause the unit if the check passes for spell evasion. Sort of negates it since that would not waste cooldown, but still. You could still do that and then give it a .01 timer and THEN pause, stop, pause. That would waste the mana and cooldown, but likely negate the spell.

You'd just have to play with some system like that.
06-01-2006, 11:21 AM#6
Blade.dk
If you want help, DESCRIBE what you want, do NOT just say "as it is in DotA". It is, of course, the same for all other maps.
06-01-2006, 12:08 PM#7
StockBreak
Quote:
Originally Posted by Siphonized
that's a stupid trigger, cause it will not work if the spell does more damage than he has current hit points.
... Have you ever played Dota? That ability doesn't reduce/evade lethal damage (lethal means that if you have 5 HP and a spell does 200 damage AND you evade, you will die anyway...).
06-01-2006, 12:10 PM#8
PlasticAngel
Eh normal evasion can dodge spells... Thats what they use in dota, not even triggered...
06-01-2006, 12:27 PM#9
BertTheJasser
That's not true. vex made a beatiful spell that does waht is described here. He detects oreders, stores them and then when the spelleffect is casted, returns the same spell at the same level via a casting func. I think it is a very goog way how to detect a spell being used on another unit. If you wanna "block" the attackers spell, you must detect an on spellcast event, and just pause the unit, order to stop, and unpause again. That's it. You even could add a ignore list as Vex has done, for point targetable spells like scockwave, carionswarm,fire/frostbreath and others.
06-01-2006, 02:07 PM#10
blu_da_noob
Quote:
Originally Posted by PlasticAngel
Eh normal evasion can dodge spells... Thats what they use in dota, not even triggered...

uhuh


As to preventing the dying when damage uis dodged, there are 4 situations:
1) The units max hp - current hp is greater than the damage
2) The units max hp - current hp is less than the damage and current hp is greater than the damage
3) The units max hp - current hp is less than the damage and current hp is less than the damage and the unit's max hp is greater than the damage
4) The units max hp is less than the damage

For:
1) In the unit takes damage event, just add hp equal to the damage
2) In the unit takes damage event, start a 0 second timer and add the hp back when the timer expires
3) Set the units life high enough to survive the immediate damage and start a 0 second timer, setting the unit's life to the appropriate value when it expires
4) Add a specially created ability (based off item life bonus) which adds 1000+ hp to the unit, set the unit's life high enough to survive the damage, then start a 0 second timer, removing the life bonus ability and setting the unit's life to the appropriate amount when it expires.
06-01-2006, 03:05 PM#11
Panto
Has anyone considered simply using the amulet of spell shield's ability?
06-01-2006, 04:44 PM#12
blu_da_noob
That blocks the spell being cast completely. I believe the ability that is being referring to only blocks the damage of the spell on the hero itself (for example, casting a carrion swarm past the target would not trigger spell shield, but you would still want the damage to be prevented).
06-01-2006, 08:23 PM#13
shadow1500
Quote:
Originally Posted by blu_da_noob
uhuh


As to preventing the dying when damage uis dodged, there are 4 situations:
you can also use the DamageModify function, which takes care of all 4 situations.

Quote:
Has anyone considered simply using the amulet of spell shield's ability?
That would work for normal spells, but can u detect the spellblock with triggers?

Quote:
I believe the ability that is being referring to only blocks the damage of the spell on the hero itself
What about DoT spells? this would not work with dot spells.

Quote:
You must add a check to every single spell in the map that does a % check if the player has the spell evade at level > 0.
Then if it does, return.

That also assumes all triggers are jassed.
Best solution.