JASS:
function Trig_FrostPath_JASS_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 039;A003039;
endfunction
function frostpathboolean takes nothing returns boolean
return IsUnitEnemy(GetEnumUnit(), GetOwningPlayer(GetTriggerUnit())) and IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false and GetEnumUnit() != GetTriggerUnit()
endfunction
globals
unit sub1
unit dummy
real damage
endglobals
function groupdamage takes nothing returns nothing
call IssueTargetOrder(dummy, "frostnova", GetEnumUnit())
call IssueTargetOrder(dummy, "thunderbolt", GetEnumUnit())
call UnitDamageTargetBJ(sub1, GetEnumUnit(), damage, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
endfunction
function Trig_FrostPath_JASS_Actions takes nothing returns nothing
local unit sub = GetTriggerUnit()
local location subloc = GetUnitLoc(sub)
local location spellloc = GetSpellTargetLoc()
local real angle = AngleBetweenPoints(subloc, spellloc)
local integer level = GetUnitAbilityLevel(sub, 039;A003039;)
local real ofcount = -90.00
local integer frostpathloops = 1
local location offset
local location dummyloc
local group gg
local unit caster
local real spireangle = angle - 180.00
set sub1 = GetTriggerUnit()
set spellloc = null
set damage = ( I2R(GetHeroStatBJ(bj_HEROSTAT_AGI, sub, true)) * I2R(level) )
call RemoveLocation(spellloc)
call TriggerSleepAction( 0.05 )
call SetUnitAnimation(sub, "attack swim" )
loop
exitwhen frostpathloops >= 9
set frostpathloops = frostpathloops + 1
set ofcount = ( ofcount + 110.00 )
set offset = PolarProjectionBJ(subloc, ofcount, angle)
call CreateUnitAtLoc(GetOwningPlayer(sub), 039;h006039;, offset, spireangle)
call UnitApplyTimedLife(GetLastCreatedUnit(), 039;BTLF039;, 1.00 )
set dummyloc = GetUnitLoc(GetLastCreatedUnit())
call CreateUnitAtLoc(GetOwningPlayer(sub), 039;h007039;, offset, angle)
call UnitApplyTimedLife(GetLastCreatedUnit(), 039;BTLF039;, 1.00 )
set gg = GetUnitsInRangeOfLocMatching(175.00, offset, Condition(function frostpathboolean))
call CreateUnitAtLoc(GetOwningPlayer(sub), 039;h00A039;, dummyloc, angle )
call UnitAddAbility(GetLastCreatedUnit(), 039;A001039;)
call SetUnitAbilityLevel(GetLastCreatedUnit(), 039;A001039;, level)
call UnitAddAbility(GetLastCreatedUnit(), 039;A004039;)
call SetUnitAbilityLevel(GetLastCreatedUnit(), 039;A004039;, level)
set dummy = GetLastCreatedUnit()
call UnitApplyTimedLife(dummy, 039;BTLF039;, 1.00 )
call ForGroup(gg, function groupdamage )
call TriggerSleepAction( 0.03 )
set offset = null
set dummyloc = null
set gg = null
set dummy = null
call RemoveLocation (offset)
call DestroyGroup (gg)
endloop
set sub = null
set subloc = null
call RemoveLocation (subloc)
endfunction
//===========================================================================
function InitTrig_FrostPath_JASS takes nothing returns nothing
local trigger FrostPath_JASS = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( FrostPath_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( FrostPath_JASS, Condition( function Trig_FrostPath_JASS_Conditions ) )
call TriggerAddAction( FrostPath_JASS, function Trig_FrostPath_JASS_Actions )
endfunction
Okay well this creates a path of "Frost" and it stuns and freezes anyone thats comes in the Path.
Anywho The dummy isn't Stunning :S and not freezing the enenmy
+REP for help :S
and if u find a leak thats cool too
plus when u do
Location = null do u have to do call RemoveLocation (udg_Location) as well?