Naga'sShadow
Ultra Cool Member
- Reaction score
- 49
I have admittedly not messed with this stuff in a very long time. I know that most of my code is from before the patch that added hashtables and broke all my stuff. So I have started on something new and as far as I know it should work. Jass NG saves fine but the game drops me to the opening page when I attempt to test it. So some unknown trigger error. Here is the trigger in question.
I'm currently using JNGP 5d. The only link to 2.0 I can find requires me signing up to a site. Is my problem solvable by upgrading or is it in the code itself? Please don't point out the inefficient group setup unless you know a superior way.
Code:
scope InnerFire initializer init
globals
private constant integer SPELLID = 'A002' //Spell's Rawcode
private constant integer HIDID = 'A004' //The hidden Inner Fire's Rawcode
private constant integer DUMMYID = 'h001' //The hidden caster unit
private constant string SFX = "Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl"
endglobals
private function targeting takes nothing returns boolean
local unit u = GetFilterUnit()
return GetWidgetLife(u) >= .45 and IsUnitAlly(u, GetOwningPlayer(GetTriggerUnit())) == true
endfunction
private function actions takes unit u returns nothing
local unit caster = u
local unit dummy
local location target = GetSpellTargetLoc()
local group targets = CreateGroup()
local unit fog
local integer i = GetUnitAbilityLevel(u, SPELLID)
call AddSpecialEffectLoc(SFX,target)
call GroupEnumUnitsInRangeOfLoc(targets, target, 200, Filter( function targeting))
loop
set fog = FirstOfGroup(targets)
exitwhen fog == null
set dummy = CreateUnitAtLoc(GetOwningPlayer(u), DUMMYID, target, 0)
call UnitAddAbility(dummy, HIDID)
call SetUnitAbilityLevel(dummy, HIDID, i)
call IssueTargetOrder(dummy, "innerfire", fog)
call UnitApplyTimedLife(dummy, 'BHwe', 1)
call GroupRemoveUnit(targets, fog)
set fog = null
endloop
endfunction
private function conditions takes nothing returns boolean
if GetSpellAbilityId() == SPELLID then
call actions(GetTriggerUnit())
endif
return false
endfunction
//===========================================================================
private function init takes nothing returns nothing
local trigger t = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( t, Condition( function conditions) )
endfunction
endscope
I'm currently using JNGP 5d. The only link to 2.0 I can find requires me signing up to a site. Is my problem solvable by upgrading or is it in the code itself? Please don't point out the inefficient group setup unless you know a superior way.