Doom-Angel
Jass User (Just started using NewGen)
- Reaction score
- 167
k i made a spell and come to think about it that's my first time i do it:
and btw don't say it's omnislash or copied cuz it's not and it's not even based on omnislash (just an idea came up and then i found out that omnislash is based on the same idea)
[Spell] Elite Spark
Description: This spell increases the hero's movement speed making him attack in amazing speed
confusing and terrifying his enemies and not letting anyone in range to escape, Deals 100 damage on each strike and has 15 second duration.
Level 1 - attacking enemies within 500 range in Elite Speed, has 100 second cooldown and cost 200 Mana.
Level 2 - attacking enemies within 1000 range in Ultimate Speed, has 150 second cooldown and cost 350 Mana.
Level 3 - attacking enemies within 1500 range in Monstrous Speed, has 200 second cooldown and cost 500 Mana.
The Trigger of the spell (for the lazy guys
):
it was kinda hard to catch a screenshot of it as being in the speed theme so i don't think u can get anything from the screenshot but u should try and check the spell.

Enjoy~~
and btw don't say it's omnislash or copied cuz it's not and it's not even based on omnislash (just an idea came up and then i found out that omnislash is based on the same idea)
[Spell] Elite Spark
Description: This spell increases the hero's movement speed making him attack in amazing speed
confusing and terrifying his enemies and not letting anyone in range to escape, Deals 100 damage on each strike and has 15 second duration.
Level 1 - attacking enemies within 500 range in Elite Speed, has 100 second cooldown and cost 200 Mana.
Level 2 - attacking enemies within 1000 range in Ultimate Speed, has 150 second cooldown and cost 350 Mana.
Level 3 - attacking enemies within 1500 range in Monstrous Speed, has 200 second cooldown and cost 500 Mana.
The Trigger of the spell (for the lazy guys
JASS:
//@@@@@@@@@@@@@@@@@@@@ Elite Spark @@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@ Created By Doom-Angel @@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@ ~~Have Fun~~ @@@@@@@@@@@@@@@@@@@@@@@@@@
//To import this spell:
//Copy the spell "Elite Spark" in your map and make sure it has the same raw id in the constant function below.
//Copy this trigger into your map.
//Change the constant functions below if you wish to change how the spell operates a bit.
//Constants start here
//You can change here the ability id in case your based ability id is different to check for id go to object editor->your ability and press ctrl+D and u will see the ability id.
constant function ES_abilityID takes nothing returns integer
return 'AOws'
endfunction
//You can change here the duration of the skill which is set by deafult to 15 seconds.
constant function ES_Duration takes nothing returns real
return 15.00
endfunction
//You can change here damage dealt per a strike which is set by deafult to 100 damage.
constant function ES_DamageDealt takes nothing returns real
return 100.00
endfunction
//Constants end here
function ES_Conditions takes nothing returns boolean
return (GetSpellAbilityId() == ES_abilityID())
endfunction
function ES_filter takes nothing returns boolean
return (IsUnitEnemy(GetTriggerUnit(),GetOwningPlayer(GetFilterUnit()))) and (GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE) > 0.405) and (IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE) == false)
endfunction
function ES_Check takes timer t,group g returns boolean
return (TimerGetRemaining(t) == 0) or (CountUnitsInGroup(g) == 0)
endfunction
function ES_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local timer t = CreateTimer()
local real y = GetUnitY(u)
local real x = GetUnitX(u)
local group g = CreateGroup()
local group g2 = CreateGroup()
local integer level = GetUnitAbilityLevel(u,ES_abilityID())
local boolexpr b = Condition(function ES_filter)
local unit target
local unit first
local effect array e
local integer i = 0
local real x2
local real y2
call SetUnitVertexColor(u,255,255,255,15)
call SetUnitTimeScale(u,4-level)
call TriggerSleepAction(0.20)
call TimerStart(t,ES_Duration(),false,null)
call SetUnitPathing(u,false)
call SetUnitInvulnerable(u,true)
call PauseUnit(u,true)
call GroupEnumUnitsInRange(g,x,y,500*level,b)
loop
set i = i+1
set first = FirstOfGroup(g)
exitwhen (first == null)
call SetUnitMoveSpeed(first,100)
set e<i> = AddSpecialEffectTarget("Abilities\\Spells\\Orc\\StasisTrap\\StasisTotemTarget.mdl",first,"head")
call GroupRemoveUnit(g,first)
endloop
call GroupEnumUnitsInRange(g,x,y,500*level,b)
call GroupEnumUnitsInRange(g2,x,y,500*level,b)
loop
exitwhen (ES_Check(t,g))
set target = GroupPickRandomUnit(g)
set x2 = GetUnitX(target)
set y2 = GetUnitY(target)
call SetUnitPosition(u,x2,y2)
call SetUnitAnimation(u,"attack")
call SetUnitFacingTimed(u,bj_RADTODEG * Atan2(y2 - y, x2 - x),0.01)
call UnitDamageTarget(u,target,ES_DamageDealt(), true, false, ATTACK_TYPE_CHAOS,DAMAGE_TYPE_UNIVERSAL,WEAPON_TYPE_METAL_MEDIUM_SLICE)
call DestroyEffect(AddSpecialEffectTarget("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodNecromancer.mdl",target,"chest"))
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl",u,"origin"))
call GroupClear(g)
call TriggerSleepAction(1.06-(0.35*level))
call GroupEnumUnitsInRange(g,x,y,500*level,b)
loop
set first = FirstOfGroup(g)
exitwhen (first == null)
if (IsUnitInGroup(first,g2) == false) then
set i = i+1
call SetUnitMoveSpeed(first,100)
set e<i> = AddSpecialEffectTarget("Abilities\\Spells\\Orc\\StasisTrap\\StasisTotemTarget.mdl",first,"head")
endif
call GroupRemoveUnit(g,first)
endloop
call GroupEnumUnitsInRange(g,x,y,500*level,b)
call GroupEnumUnitsInRange(g2,x,y,500*level,b)
endloop
call SetUnitPathing(u,true)
call SetUnitInvulnerable(u,false)
call PauseUnit(u,false)
loop
set first = FirstOfGroup(g2)
exitwhen (first == null)
call SetUnitMoveSpeed(first,GetUnitDefaultMoveSpeed(first))
call GroupRemoveUnit(g2,first)
endloop
loop
exitwhen (i == 0)
call DestroyEffect(e<i>)
set e<i> = null
set i = i-1
endloop
call SetUnitVertexColor(u,255,255,255,255)
call SetUnitTimeScale(u,1)
call DestroyGroup(g)
call DestroyGroup(g2)
call DestroyBoolExpr(b)
call DestroyTimer(t)
set u = null
set b = null
set t = null
set g = null
set g2 = null
set target = null
set first = null
endfunction
//===========================================================================
function InitTrig_EliteSpark takes nothing returns nothing
set gg_trg_EliteSpark = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ(gg_trg_EliteSpark,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(gg_trg_EliteSpark, Condition(function ES_Conditions))
call TriggerAddAction(gg_trg_EliteSpark, function ES_Actions)
endfunction</i></i></i></i>
it was kinda hard to catch a screenshot of it as being in the speed theme so i don't think u can get anything from the screenshot but u should try and check the spell.

Enjoy~~
Attachments
-
28.7 KB Views: 507