Name | Type | is_array | initial_value |
Boneminion_Caster | unit | No | |
Boneminion_Corpse | unit | No | |
Boneminion_Loc | location | No | |
Boneminion_Loc2 | location | No | |
Boneminion_Setup_CastRange | real | No | |
Boneminion_Setup_Duration | real | No | |
Boneminion_Setup_MaxRange | real | No | |
Boneminion_Setup_Spawntype | unitcode | No | |
Boneminion_Spawn | unit | No | |
Boneminion_UnitsInRange | group | No |
function Trig_Boneminion_Basic_JASS_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A000' ) ) then
return false
endif
return true
endfunction
function Trig_Boneminion_Basic_JASS_Func005002003 takes nothing returns boolean
return ( IsUnitDeadBJ(GetFilterUnit()) == true )
endfunction
function Trig_Boneminion_Basic_JASS_Actions takes nothing returns nothing
local unit Caster
local unit Spawn
local unit Corpse
local location Loc
local location Loc2
local group UnitsInRange
set Caster = GetTriggerUnit()
set Loc = GetUnitLoc(Caster)
set UnitsInRange = GetUnitsInRangeOfLocMatching(800.00, Loc, Condition(function Trig_Boneminion_Basic_JASS_Func005002003))
call RemoveLocation(Loc)
if CountUnitsInGroup(UnitsInRange) == 0 then
else
call RemoveLocation(Loc)
set Corpse = GroupPickRandomUnit(UnitsInRange)
set Loc = GetUnitLoc(Corpse)
call RemoveUnit( Corpse )
call DestroyGroup(UnitsInRange)
call AddSpecialEffectLocBJ( Loc, "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call CreateNUnitsAtLoc( 1, 'h001', GetOwningPlayer(GetTriggerUnit()), Loc, bj_UNIT_FACING )
set Spawn = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 30.00, 'Brai', Spawn )
loop
exitwhen IsUnitDeadBJ(Spawn) == true
set Loc = GetUnitLoc(Caster)
set Loc2 = GetUnitLoc(Spawn)
if DistanceBetweenPoints(Loc, Loc2) >= 800.00 then
call IssueTargetOrderBJ( Spawn, "smart", Caster )
else
endif
call RemoveLocation(Loc)
call RemoveLocation(Loc2)
call PolledWait( 0.50 )
endloop
endif
set Spawn = null
set Caster = null
endfunction
//===========================================================================
function InitTrig_Boneminion_Basic_JASS takes nothing returns nothing
set gg_trg_Boneminion_Basic_JASS = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Boneminion_Basic_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Boneminion_Basic_JASS, Condition( function Trig_Boneminion_Basic_JASS_Conditions ) )
call TriggerAddAction( gg_trg_Boneminion_Basic_JASS, function Trig_Boneminion_Basic_JASS_Actions )
endfunction