Item Mixer

Status
Not open for further replies.
Level 5
Joined
Sep 1, 2022
Messages
90
I need a Spell trigger Item Mixer

Moves enemy heros' items around and disables their inventory at a random time for 3 sec
I have the code from it, all I need is to convert it to a trigger

JASS:
function SKV takes nothing returns boolean
    return(GetSpellAbilityId()=='A01T')
endfunction

function SLV takes nothing returns boolean
    return(IsUnitAliveBJ(udg_F))
endfunction

function SMV takes nothing returns nothing
    local unit BXV
    local item array N9V
    local integer SPV
    set udg_F=GetSpellTargetUnit()
    set SPV=1
    loop
        exitwhen SPV>50
        if(SPV==17)then
            call CreateNUnitsAtLoc(1,'o00W',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(bj_mapInitialPlayableArea),bj_UNIT_FACING)
            call IssueTargetOrderById(bj_lastCreatedUnit,852583,udg_F)
            call UnitApplyTimedLifeBJ(1.,'BTLF',bj_lastCreatedUnit)
        endif
        call TriggerExecute(udg_QL)
        set bj_forLoopBIndex=1
        set bj_forLoopBIndexEnd=6
        loop
            exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
            if(SLV())then
                call UnitRemoveItemFromSlotSwapped(udg_OV[bj_forLoopBIndex],udg_F)
                set N9V[bj_forLoopBIndex]=bj_lastRemovedItem
            endif
            set bj_forLoopBIndex=bj_forLoopBIndex+1
        endloop
        set bj_forLoopBIndex=1
        set bj_forLoopBIndexEnd=6
        loop
            exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
            call UnitAddItem(udg_F,N9V[bj_forLoopBIndex])
            set bj_forLoopBIndex=bj_forLoopBIndex+1
        endloop
        call TriggerSleepAction(.02)
        set SPV=SPV+1
    endloop
endfunction

function SQV takes nothing returns nothing
    local integer SSV
    local integer array BVV
    local integer array BEV
    local integer udg_AV
    local integer STV
    local integer SUV
    set SSV=0
    set STV=1
    loop
        exitwhen STV>6
        set BVV[STV]=STV
        set STV=STV+1
    endloop
    set STV=1
    loop
        exitwhen STV>6
        set udg_AV=1
        set udg_OV[STV]=BVV[GetRandomInt(1,(6-SSV))]
        set SUV=1
        loop
            exitwhen SUV>(6-SSV)
            set BEV[SUV]=BVV[SUV]
            set SUV=SUV+1
        endloop
        set SUV=1
        loop
            exitwhen SUV>(6-SSV)
            if(BEV[SUV]!=udg_OV[STV])then
                set BVV[udg_AV]=BEV[SUV]
                set udg_AV=(udg_AV+1)
            endif
            set SUV=SUV+1
        endloop
        set SSV=(SSV+1)
        set STV=STV+1
    endloop
endfunction
 
Status
Not open for further replies.
Top