[Ability&Modifier] SwapAbilities

EnDronist

Продвинутый
28 Апр 2016
231
0
Проект
Защитники Изобилия | Defenders of Abundance
Пытался сделать переключаемую способность, как Nightmare у Bane или Ice Blast у Ancient Apparation, но столкнулся с проблемой при обратном переключении, которое срабатывает, когда уничтожается бафф, накладывающийся на героя при смене изначальной способности:
1526642334132.png1526642383728.png1526642422359.png

Lua:
function SomeText(keys)
    -- Ability Datadriven, Lua Function with arguments "main_ability_name" and "sub_ability_name"
    print(keys.main_ability_name,keys.sub_ability_name)
    print(keys.target,keys.caster)
    if target == caster then
        keys.caster:SwapAbilities(keys.main_ability_name,keys.sub_ability_name,false,true) -- Криво свапает
        if keys.main_ability_name == keys.check_ability then
            local level_ability = keys.caster:FindAbilityByName(keys.sub_ability_name)
            if level_ability:GetLevel() ~= 1 then level_ability:SetLevel(1) end
        end
    end
end
 

EnDronist

Продвинутый
28 Апр 2016
231
0
Проект
Защитники Изобилия | Defenders of Abundance
Оп, а вот и нашёл проблему. Т.к. способность менялась при её использовании, а использование - целенаправленное, то скрипт запускался, но не менял способность на другую, хотя визуально она менялась, что странно. Но в первую очередь проблема заключалась в том, что target и caster были написаны без обращения к переменным класса keys, мда. (Псс, как пометить тему, как решённую?)
 
Реклама: