Units in Group (Spell Problem)

Squll2

je'ne sais pas
Reaction score
76
Hey guys, noobey sqully here.

Anyway, what this spell is meant to do is debuff or "dot" an enemy (damaging him over time) and if he dies with it still on him, it recasts it on all the enemies around him. Howeverrrr for some reason it is no doing this and I am clueless to as why, When I added the DisplayText trigger it doesnt even come up with anything meaning the problem must be before or at the adding the units to the group part..

Edit: I added waits to see if that would help.. but it didnt

JASS:
function Trig_Infected_Javelin_Conditions takes nothing returns boolean
    if ( not ( UnitHasBuffBJ(GetDyingUnit(), 'BNab') == true ) ) then
        return false
    endif
    return true
endfunction

function Trig_Infected_Javelin_Actions takes nothing returns nothing

 local unit u        = GetDyingUnit()
 local unit c        = udg_Dryad
 local player p      = GetOwningPlayer(c)
 local real x        = GetUnitX(u)
 local real y        = GetUnitY(u)
 local group g       = CreateGroup()
 local group g2      = CreateGroup()
 local real radius   = 300.00
 local integer i     = 0
 local integer level = GetUnitAbilityLevel(c, 'A008')
 local integer a     = 0
 local unit d
 local unit e
 local effect sfx 
 
    set sfx = AddSpecialEffect( "Abilities\\Spells\\Other\\Drain\\DrainCaster.mdl", x, y )
    
    call GroupEnumUnitsInRange(g, x, y, radius, null)
    call PolledWait(0.50)
    
    set a =  CountUnitsInGroup(g)
    call DisplayTextToPlayer(p, x, y, I2S(a)) 
    
    loop
    set e = FirstOfGroup(g)
    exitwhen e == null
    
    set d = CreateUnit(p, 'h003', x, y, 0.00)    
    call UnitAddAbility(d, 'A00A')
    call SetUnitAbilityLevel(d, 'A00A', level)
    call IssueTargetOrder(d, "acidbomb", e)

    call PolledWait(0.50)
    
    set e = null
    
    endloop
    
  call DestroyGroup(g)
  call DestroyEffect(sfx)
  set p = null
     
    
endfunction

//===========================================================================
function InitTrig_Infected_Javelin takes nothing returns nothing
    set gg_trg_Infected_Javelin = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Infected_Javelin, EVENT_PLAYER_UNIT_DEATH )
    call TriggerAddCondition( gg_trg_Infected_Javelin, Condition( function Trig_Infected_Javelin_Conditions ) )
    call TriggerAddAction( gg_trg_Infected_Javelin, function Trig_Infected_Javelin_Actions )
endfunction
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
You should learn how to use timers. PolledWait sucks.

Also, first of group loops suck. You can do everything through GroupEnum* when combined with timers.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top