Решено Как сделать абилку-мидас?

  • Автор темы Автор темы howhathe
  • Дата начала Дата начала

howhathe

Новичок
2 Сен 2023
7
0
Я в общем то, пытаюсь сделать абилку мидаса и при попытке заюзать на крипа - ничего не происходит (Ни вывод в консоль, ни голды, ни экспы)

Код:
"midas"
    {
        "BaseClass"                            "ability_lua"
        "ScriptFile"                        "abilities/midas"
        "AbilityBehavior"                    "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
        "AbilityUnitTargetTeam"                "DOTA_UNIT_TARGET_TEAM_ENEMY"
        "AbilityUnitTargetType"                "DOTA_UNIT_TARGET_CREEP"
       
        "MaxLevel"                          "4"
        "HasScepterUpgrade"                    "0"

        "AbilityCastRange"                    "650"
        "AbilityCastPoint"                    "0 0 0 0"
        "AbilityCooldown"                    "30 45 50 60"
        "AbilityManaCost"                    "25 30 45 50"      

        "AbilitySpecial"
        {
            "01"
            {
                "var_type"                    "FIELD_INTEGER"
                "bonus_gold"                "45 65 85 115"
            }

            "02"
            {
                "var_type"                    "FIELD_FLOAT"
                "xp_multiplier"                "1.25 1.75 2.25 3.0"
            }
        }

        "AbilityCastAnimation"                "ACT_DOTA_CAST_ABILITY_4"
    }

Lua:
midas = class({})

function midas:CastAbilityOnTarget(hTarget, hAbility, iPlayerIndex)
    local BonusGold = self:GetSpecialValueFor( "bonus_gold" )
    local XPMultiplier = self:GetSpecialValueFor( "xp_multiplier" )

    if hTarget:IsCreep() then
        if hTarget:IsAncient() then return end

        hTarget:SetDeathXP(0)
        hTarget:SetMinimumGoldBounty(0)
        hTarget:SetMaximumGoldBounty(0)

        self:GetCaster():ModifyGold(BonusGold, true, 1)
        self:GetCaster():AddExperience(hTarget:GetDeathXP() * XPMultiplier, 2, false, false)
       
        hTarget:Kill(hAbility, self:GetCaster())
        hTarget:EmitSound("DOTA_Item.Hand_Of_Midas")
    end
end
 
Последнее редактирование:
Нету onspellstart мб

function midas:OnSpellStart() self:CastAbilityOnTarget(self:GetCursorTarget(), self, self:GetCaster():GetPlayerOwnerID())
end
 
Реклама: