GetRandomSubGroup

Parameters
countinteger
sourceGroupgroup
comment
bug

Not an even distribution. See http://www.hiveworkshop.com/forums/l-715/g-275344/.

bug

Leaks handle g: In Jass you must set local variables that hold agents (or any child type) to null at the end of functions to avoid reference counter leaks.

note

Creates a new group object and returns it. The caller must remove it on its own after use.

patch

1.07

Source
Blizzard.j (raise an issue to discuss on Github or submit a PR)
return type
group
Source code
function GetRandomSubGroup takes integer count, group sourceGroup returns group
    local group g = CreateGroup()

    set bj_randomSubGroupGroup = g
    set bj_randomSubGroupWant  = count
    set bj_randomSubGroupTotal = CountUnitsInGroup(sourceGroup)

    if (bj_randomSubGroupWant <= 0 or bj_randomSubGroupTotal <= 0) then
        return g
    endif

    set bj_randomSubGroupChance = I2R(bj_randomSubGroupWant) / I2R(bj_randomSubGroupTotal)
    call ForGroup(sourceGroup, function GetRandomSubGroupEnum)
    return g
endfunction