Stormbolt variant isn't casted?

Rinpun

Ex TH Member
Reaction score
105
This problem confuses me, but it's crucial to what I'm working on. At the moment, the dummyunit does NOT cast stormbolt on the target. I know I'm doing something wrong here...but I can't figure it out.

Code:
function Trig_Direct_Assault_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A00T' or GetSpellAbilityId() == 'A00U'
endfunction

function Trig_Direct_Assault_Actions takes nothing returns nothing
    local unit carrier = GetTriggerUnit()
    local unit target = GetSpellTargetUnit()
    local player owner = GetOwningPlayer(carrier)
    local integer level_of_DA = GetUnitAbilityLevel(carrier, GetSpellAbilityId())
    local integer caster_ship_id
    local integer increment = 0
    local integer second_increment = 0
    local unit array dummyunit

    call RemoveUnit(udg_Carrier_Full[GetPlayerId(owner)])

    if (GetSpellAbilityId() == 'A00T') then
        set caster_ship_id = 'n003'
    else
        set caster_ship_id = 'n008'
    endif

    //debugging call DisplayTextToForce(GetPlayersAll(), something)

    call AddUnitAnimationProperties(carrier, "alternate", true)

    loop
        exitwhen (second_increment == level_of_DA or GetUnitState(carrier, UNIT_STATE_LIFE) <= 0 or GetUnitState(target, UNIT_STATE_LIFE) <= 0)

        call SetHandleInt(carrier, "inside_ships", 0)
        set increment = 0

        loop
            exitwhen (increment > 7)

            set dummyunit[increment] = CreateUnit(owner, caster_ship_id, GetUnitX(carrier), GetUnitY(carrier), GetUnitFacing(carrier))
            call SetHandleHandle(dummyunit[increment], "carrier", carrier)
            call IssueTargetOrder(dummyunit[increment], "thunderbolt", target)
            call TriggerSleepAction(.30)

            set dummyunit[increment] = null
            set increment = increment + 1
        endloop

        loop
            exitwhen (GetHandleInt(carrier, "inside_ships") > 7 or GetUnitState(carrier, UNIT_STATE_LIFE) <= 0 or GetUnitState(target, UNIT_STATE_LIFE) <= 0)
            call TriggerSleepAction(.30)
        endloop

        set second_increment = second_increment + 1
    endloop

    call FlushHandleLocals(carrier)
    set udg_Carrier_Full[GetPlayerId(owner)] = CreateUnit(owner, 'u00H', 9999, 9999, 0)
    call AddUnitAnimationProperties(carrier, "alternate", false)

    set carrier = null
    set target = null
endfunction

//===========================================================================
function InitTrig_Direct_Assault takes nothing returns nothing
    set gg_trg_Direct_Assault = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Direct_Assault, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Direct_Assault, Condition( function Trig_Direct_Assault_Conditions ) )
    call TriggerAddAction( gg_trg_Direct_Assault, function Trig_Direct_Assault_Actions )
endfunction
 

phyrex1an

Staff Member and irregular helper
Reaction score
447
But the dummy units is created as they are supposed?
Since you doesn't remove the dummy units then it looks like they are unable to even begin casting the spell.

Does both dummy units have the spell?
Do they have mana enought to cast it?
Can they cast it on the target?

Are you able to order a dummy unit to cast the spell yourself, ie order it manually?
 

Rinpun

Ex TH Member
Reaction score
105
For the other questions, yes. I've already checked those five times over and they work.

But, lo and behold. Thanks to you, I have once again found the idiotic mistake I made this time.

phyrex1an said:
Can they cast it on the target?

Are you able to order a dummy unit to cast the spell yourself, ie order it manually?

Now, if only I had a gun, then I'd shoot myself in the foot for not noticing the chosen targets are wrong. Well...I DO have a lighter....
 

SFilip

Gone but not forgotten
Reaction score
634
and you might aswell replace EVENT_PLAYER_UNIT_SPELL_CAST with EVENT_PLAYER_UNIT_SPELL_EFFECT. that is the event used for triggered spells.
 

Rinpun

Ex TH Member
Reaction score
105
I might...but it works for now :p

The base ability is based off of channel. The stormbolts are very important because the dummyunits cast them on the target to rapidly attack them (of course they're modified stormbolts) and I have a separate trigger that detects a stormbolt, grabs the id of the original caster who casted from the casting dummyunit, and then makes a little model return to the caster. When all return, the caster has all of his "minions" back.

This was for the second ability on my Carrier unit in my WotU map. Go figure :p
 
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