TheCrystal
New Member
- Reaction score
- 36
I've been rather stumped as to what is wrong. Recently I began making an ability (first actual 'Complicated' one) that summons a skull, attacks a unit (effectively attaching itself to the attacked unit), wait two seconds before it does an effect, then goes to the next target. My current problem is getting the trigger to actually start. I haven't really done anything with JASS eventwise ^_^
So I have three triggers outside of the Library.
Here's the startup for the JassAbilitiesInit (I created this in case the startup itself was not working).
Here is the thing it runs.
Here is the trigger itself, the first thing (after locals) was to test if it was running, the second part is the ability check condition, it then goes on. I don't even know if what I had planned will work but I've just been trying to get the trigger to activate.
So, why isn't it initializing?
Thanks in advanced.
So I have three triggers outside of the Library.
Here's the startup for the JassAbilitiesInit (I created this in case the startup itself was not working).
Trigger:
- InitJassAbilitiesInit
- Events
- Time - Elapsed game time is 0.00 seconds
- Conditions
- Actions
- Custom script: call JASSAbilitiesInit()
- Events
Here is the thing it runs.
JASS:
function JASSAbilitiesInit takes nothing returns nothing
call TriggerRegisterAnyUnitEventBJ( gg_trg_ManaCoil, EVENT_PLAYER_UNIT_SPELL_EFFECT )
endfunction
Here is the trigger itself, the first thing (after locals) was to test if it was running, the second part is the ability check condition, it then goes on. I don't even know if what I had planned will work but I've just been trying to get the trigger to activate.
JASS:
function NMCC takes nothing returns boolean
if (IsUnitEnemy(GetFilterUnit(), Player(udg_TempInteger)) == true) then
return true
else
return false
endif
endfunction
function ManaCoil takes nothing returns nothing
local group g = CreateGroup()
local unit c = GetTriggerUnit()
local unit u = null
local unit w = GetSpellTargetUnit()
local real r = 0
local integer i = 1
local location l = GetUnitLoc(c)
local location q = null
local effect e = null
local real px = 0
local real py = 0
call DisplayTextToPlayer(Player(0),0,0,"Wtf")
if 039;A00D039; != GetSpellAbilityId() then
set u = CreateUnitAtLoc(GetOwningPlayer(c),039;h001039;,l,0)
call IssueTargetOrder(u,"attack",w)
loop
exitwhen UnitHasBuffBJ(w, 039;B006039;) == true
call Wait(.1)
endloop
call RemoveUnit(u)
set e = AddSpecialEffectTarget("Abilities/Spells/Undead/DeathCoil/DeathCoilMissile.mdl",w,"head")
call Wait(2)
call DestroyEffect(e)
call DamageUnit(udg_ZZZWisdom[GetPlayerId(GetOwningPlayer(c))],w,c,0)
set w = null
loop
exitwhen GetUnitAbilityLevel(c,039;A00D039;) == i
set i = i+1
set u = CreateUnitAtLoc(Player(12),039;h001039;,l,0)
set udg_TempInteger = GetPlayerId(GetOwningPlayer(c))
call GroupEnumUnitsInRange(g,px,py,350,Condition(function NMCC))
set w = FirstOfGroup(g)
call IssueTargetOrder(u,"attack",w)
loop
exitwhen UnitHasBuffBJ(w, 039;B006039;) == true
call Wait(.1)
endloop
call RemoveUnit(u)
set e = AddSpecialEffectTarget("Abilities/Spells/Undead/DeathCoil/DeathCoilMissile.mdl",GetSpellTargetUnit(),"head")
call Wait(2)
call DestroyEffect(e)
call DamageUnit(udg_ZZZWisdom[GetPlayerId(GetOwningPlayer(c))],GetSpellTargetUnit(),c,0)
set w = null
call GroupClear(g)
endloop
endif
call RemoveLocation(l)
call RemoveLocation(q)
set g = null
set u = null
set c = null
endfunction
So, why isn't it initializing?
Thanks in advanced.