Light Alkmst
New Member
- Reaction score
- 20
My trouble is trying to get a dummy unit to use a custom Fan of Knives. The trouble is, I already have a non-hero version of it, and I give it to the dummy. The ObjectMerger has already executed. I can't figure it out. :banghead:
I keep recieving my error message, and there is no cast, but the secondary effect is still happening. If there are leaks, feel free to tell me. The inefficient programming, on the other hand, is purely intentional.
JASS:
scope DartSpray
globals
private constant integer SPELL_ID = 039;A006039;
private constant integer DUMMY_SPELL = 039;A008039;
endglobals
// //! external ObjectMerger w3a A006 A008 aher 0
private function Conditions takes nothing returns boolean
return GetSpellAbilityId() == SPELL_ID
endfunction
private function Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local player p = GetTriggerPlayer()
local integer lvl = GetUnitAbilityLevel(u, SPELL_ID)
local integer c = 0
local unit d
loop
exitwhen GetMetal(u) == 1
set d = CreateUnit(p, DUMMY_ID, GetUnitX(u), GetUnitY(u), GetUnitFacing(u))
call UnitAddAbility(d, DUMMY_SPELL)
call SetUnitAbilityLevel(d, DUMMY_SPELL, lvl)
if (IssueImmediateOrder(d, "fanofknives")) then // The trouble is here <==
debug call BJDebugMsg("Darts are ordered")
else
debug call BJDebugMsg("Darts are not ordered")
endif
call UnitApplyTimedLife(d, 039;0000039;, .25)
call TriggerSleepAction(.5)
call SetMetal(u, GetMetal(u) - 1)
endloop
set u = null
set p = null
set d = null
endfunction
function DartSpray takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(t, Condition(function Conditions))
call TriggerAddAction(t, function Actions)
endfunction
endscope
I keep recieving my error message, and there is no cast, but the secondary effect is still happening. If there are leaks, feel free to tell me. The inefficient programming, on the other hand, is purely intentional.