Warcraft III resources & community, 2003–2006 · archived

blinkstrike

9 posts
#1

blinkstrike

ive tried to create an ability like blinkstrike in dota, but i can either have it a) the teleport works but the ability doesnt cooldown or b) the teleport doesnt work and the cooldown does. i have the ability based off chain lightning (and fixed it so its only 1 target).
#2
instead of setting the unit's position ( this fixes the No Cooldown bug, and will make it run ALOT better ), do this

Custom Script: call SetUnitX( GetTriggerUnit(), GetUnitX( GetSpellTargetUnit() ) )
Custom Script: call SetUnitY( GetTriggerUnit(), GetUnitY( GetSpellTargetUnit() ) )
#3
how exactly would i write that into my game? can you give me an example of that (either a test map or just a text example) cuz im not very good with custom scripts/jass
#4
hay im making a pa like dota 2 with GUI spells ive got a spell that make the hero launch to the unit stunning it then atatcks is that what u want?
#5
just use the custom script action, and exactly what i typed out. ( excluding the Custom Script: )
#6
Events: a unit casts a spell
Conditions: Ability being cast is equal to blinkstrike
actions:
-move casting unit instantly to position of targeted unit of ability being cast
-cause casting unit to damage targeted unit dealing X damage of type chaos and damage type universal
#7
arcsol, use my Custom Script instead of your Move Unit, as it runs alot faster, does not interrupt orders, does not pause the caster, etc, etc
#8
well, i don't know about scripts and jass, just triggers...i'm only giving help as I know
#9
:D, well, pretty much, Move Unit Instantly would look like this ( and some of these functions do not exist in GUI, so im just making up names for them )

if (location) is in Playable Map Area then
Set The X Coordinate of (unit) to The X coordinate of (location)

Set The Y Coordinate of (unit) to The Y coordinate of (location)
else
(whole ton of script to get the edges, wont get into that)
(end of if statement)

Pause (unit)
Order (unit) to stop
Unpause (unit)


After looking at all that code, you can probably see why just setting the X/Y coordinates is better :)