lep / jassdoc

Document the WarCraft 3 API
52 stars 20 forks source link

Fixes #152 - GetUnitAbilityLevel and building abilities #153

Closed Luashine closed 2 months ago

Luashine commented 2 months ago

Test code 1:

do 
    local units = {"hpea", "opeo", "uaco", "ewsp", "nmpe", "nhew", "nbee", "ogru"}
    local skills = {'ANbu','AHbu','AEbu','AObu','AUbu','AGbu'}

    function checkBuilderAbility(unitRawcode, skillCodes)
        local newUnit = CreateUnit(Player(0), FourCC(unitRawcode), 0, 0, 90)
        local outText = {"Unit(".. unitRawcode ..")"}
        for i, skill in ipairs(skillCodes) do
            table.insert(outText, 
                string.format("%4s", GetUnitAbilityLevel(newUnit, FourCC(skill)))
            )
        end

        print(table.concat(outText, ","))
    end

    local heading = string.format("%-12s %s", "Table:", table.concat(skills, ","))
    print(heading)
    for i = 1, #units do
        checkBuilderAbility(units[i], skills)
    end
    print("----")
end

Manual test code 2:

hpea = CreateUnit(Player(0), FourCC("hpea"), 0, 0, 90)

print(DecUnitAbilityLevel(hpea, FourCC("AHbu")))
print(IncUnitAbilityLevel(hpea, FourCC("AHbu")))
print(SetUnitAbilityLevel(hpea, FourCC("AHbu"), 0))

print(GetUnitAbilityLevel(hpea, FourCC("AHbu")))
print(GetUnitAbilityLevel(hpea, FourCC("AObu")))