CustomGames.ru - Dota 2 пользовательские игры

Перезапись абилки (geomagnetic grip)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн KEKMAN

  • 168
  • Мощь: 2
  • Dota forever <3
Впервые прихожу к этому. Нужно изменить geomagnetic_grip так, чтобы он мог притягивать врагов.
Спойлер
Код
"earth_spirit_geomagnetic_grip"
  {
    "AbilityBehavior"           "DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
    "AbilityUnitTargetTeam"     "DOTA_UNIT_TARGET_TEAM_ENEMY"
    "AbilityUnitTargetType"     "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
    "AbilityCastRange"        "1800"

    "AbilityCooldown"       "13 11 9 7"

    "AbilityManaCost"       "70 80 90 100"

    "AbilitySpecial"
    {
      "01"
      {
        "var_type"        "FIELD_INTEGER"
        "radius"        "250"
      }
      "02"
      {
        "var_type"        "FIELD_INTEGER"
        "miss_rate"       "75"
      }
      "03"
      {
        "var_type"        "FIELD_FLOAT"
        "miss_duration"     "2.5 3 3.5 4"
      }
      "04"
      {
        "var_type"        "FIELD_FLOAT"
        "pull_units_per_second_heroes"    "1400"
      }       
      "05"
      {
        "var_type"        "FIELD_INTEGER"
        "rock_damage"     "75 150 225 300"
      }       
      "06"
      {
        "var_type"        "FIELD_FLOAT"
        "pull_units_per_second" "1400"
      }
      "07"
      {
        "var_type"        "FIELD_INTEGER"
        "speed"         "1400"
      }
      "08"
      {
        "var_type"        "FIELD_FLOAT"
        "total_pull_distance" "1800"
      }     
    }
  }
[свернуть]
Сделал так, но в доте ошибка
Спойлер


[свернуть]
Структура взята из dota imba, там в других спелках тоже есть изменения таргета и команды. Я сделал ошибку где то?
« Последнее редактирование: 12-06-2017, 10:25:11 от mrlikelot »

Оффлайн CryDeS

  • Друзья CG
  • 1212
  • Мощь: 12
Re: Перезапись абилки
« Ответ #1 : 12-06-2017, 09:16:42 »
Не у всех дотовских скилов их параметры в конфиге привязаны к механике.

Оффлайн KEKMAN

  • 168
  • Мощь: 2
  • Dota forever <3
Re: Перезапись абилки
« Ответ #2 : 12-06-2017, 09:21:09 »
Не у всех дотовских скилов их параметры в конфиге привязаны к механике.
Ок, спасибо

Оффлайн KEKMAN

  • 168
  • Мощь: 2
  • Dota forever <3
Re: Перезапись абилки
« Ответ #3 : 12-06-2017, 10:24:12 »
Если кому нибудь понадобится простенький аналог geomagnetic grip (возможно партиклы не те):
npc_abilities_custom.txt
Спойлер
Код
    "earth_spirit_geomagnetic_grip_datadriven"
    {
      "BaseClass"                     "ability_datadriven"
      "AbilityTextureName"            "abyssal_underlord_atrophy_aura"
      "MaxLevel"                      "1"

      "AbilityBehavior"               "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
      "AbilityUnitTargetType" "DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_HERO"
      "AbilityUnitTargetTeam"         "DOTA_UNIT_TARGET_TEAM_ENEMY"
      "AbilityCooldown"               "30.0"
      "AbilityManaCost"               "0"
      "AbilityDamage"                 "75 130 200"
      "precache"
      {
          "particle"  "particles/units/heroes/hero_earth_spirit/espirit_geomagneticgrip_orientedmagnetic.vpcf"
      }
      "AbilitySpecial"
      {
          "01"
          {
              "var_type"          "FIELD_INTEGER"
              "value"             "900"
          }
          "02"
          {
              "var_type"          "FIELD_FLOAT"
              "duration"          "1.0"
          }
      }
    "OnSpellStart"
    {
        "ApplyMotionController"
{
"Target" "TARGET"
"ScriptFile"    "heroes/geomagnetic.lua"
"HorizontalControlFunction" "Sweep"
}
        "ApplyModifier"
        {
            "ModifierName"  "modifier_effect_geo"
            "Target"        "TARGET"
            "Duration"      "%duration"
        }
    }

    "Modifiers"
    {
        "modifier_effect_geo"
        {
            "Passive"           "0"
            "IsHidden"          "0"
            "IsDebuff"          "1"
            "OnCreated"
            {
                "AttachEffect"
            {
                "EffectName"        "particles/units/heroes/hero_earth_spirit/espirit_geomagneticgrip_orientedmagnetic.vpcf"
                "EffectAttachType"  "follow_origin"
                "Target"            "TARGET"
            }
            }
        }
    }
    }
[свернуть]
geomagnetic.lua
Спойлер
Код
function Sweep( keys )
local caster = keys.caster
local unit = keys.target
local ability = keys.ability
local distance = (unit:GetAbsOrigin()-caster:GetAbsOrigin()):Length2D()
local direction = (unit:GetAbsOrigin()-caster:GetAbsOrigin()):Normalized()
unit:SetAbsOrigin(unit:GetAbsOrigin() - direction * 40)
if distance > 300 then
return 1
end
unit:InterruptMotionControllers(false)
ResolveNPCPositions(unit:GetAbsOrigin(), 100)
end
[свернуть]
« Последнее редактирование: 12-06-2017, 11:53:44 от mrlikelot »