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

Убрать пробивание бкб

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

Оффлайн Ares

  • 25
  • Мощь: 0
Убрать пробивание бкб
« : 22-10-2015, 21:33:48 »
Я изменил хукшот клокверка(кд, манакост, все такое)
но вот не получилось сделать так, чтобы скилл не пробивал мейджик иммюн
я добавил вот эту строчку
Код
	"SpellImmunityType"				"SPELL_IMMUNITY_ENEMIES_NO"
но ничего не именилось, бкб по прежнему пробивает
Общий код способности выглядит вот так
Код
	"new_rattletrap_hookshot"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "rattletrap_hookshot"
"AbilityBehavior"                               "DOTA_ABILITY_BEHAVIOR_POINT"
"AbilityUnitDamageType"               "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"

// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.3"
"AbilityCastRange" "2000"
"MaxLevel" "1"

// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "7"

// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "0"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"latch_radius" "125"
}
"02"
{
"var_type" "FIELD_INTEGER"
"stun_radius" "175"
}
"03"
{
"var_type" "FIELD_FLOAT"
"duration" "1.0"
}

"04"
{
"var_type" "FIELD_INTEGER"
"speed" "4000"
}
"05"
{
"var_type" "FIELD_INTEGER"
"tooltip_range" "2000"
}
"06"
{
"var_type" "FIELD_INTEGER"
"damage" "10"
}
}
}


Из единственного возможного варианта пофиксить этого  - это переписать скилл с нуля, что не в моих силах
Может что-то еще можно сделать?
« Последнее редактирование: 22-10-2015, 22:47:21 от Ares »

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: Убрать пробивание бкб
« Ответ #1 : 23-10-2015, 12:08:01 »
Сделай каст на target.  Его хук кастуется на точку, и, соответственно, он будет отрабатывать на бкб, ибо бкб не блокирует "эффекты" скиллов, оно поглощает магический дмг и запрещает на "носителя" накладывать "дебаффы".
Если сделаешь хуку условие "кастоваться на цель", а не на точку: получишь свой "иммунитет к хуку".

Оффлайн Ares

  • 25
  • Мощь: 0
Re: Убрать пробивание бкб
« Ответ #2 : 23-10-2015, 12:48:32 »
Это не вариант, если сделать хукшот таргет спеллом, то весь смысл скилла пропадет из-за невозможности кастовать его на точку

по-другому  никак?

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: Убрать пробивание бкб
« Ответ #3 : 23-10-2015, 12:55:42 »
Это не вариант, если сделать хукшот таргет спеллом, то весь смысл скилла пропадет из-за невозможности кастовать его на точку

по-другому  никак?

По другому - это мудрить не с умением, а с бкб.  Например, можешь попробовать сделать модификатор для бкб такой, что делает своего носителя "прозрачным" для эффектов. Например, объект "дерево" "прозрачно" для эффекта хука (его анимации и отработки столкновения с объектом "не прозрачным").

Ну и еще по другому: сделать свой хук с нуля.
« Последнее редактирование: 23-10-2015, 12:57:39 от Илья »

Оффлайн Ares

  • 25
  • Мощь: 0
Re: Убрать пробивание бкб
« Ответ #4 : 23-10-2015, 13:01:35 »
Ну, если быть точным, то мне конкретно нужно для того, чтобы хукшот проходил сквозь фейз шифт пака
Но дело как раз в том, что у фейз шифта модификатор иммуна к магии стоит
Код
MODIFIER_STATE_MAGIC_IMMUNE
Как я понял, ты имеешь ввиду что-то из этого
Код
MODIFIER_STATE_INVULNERABLE
MODIFIER_STATE_OUT_OF_GAME

но при этих модификаторах фейз шифт не является челлендж спеллом

А хук с нуля я хотел попробовать, мне сказали, что легче всего сделать это, взяв скрипт хука пуджа(он доступен). Но это оказалось слишком сложным для моих текущих способностей, там скрипта 2 в общей сложности на 300 строк гдет, и многое я не смог понять
« Последнее редактирование: 23-10-2015, 13:04:08 от Ares »

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: Убрать пробивание бкб
« Ответ #5 : 23-10-2015, 14:08:06 »
Ну, если быть точным, то мне конкретно нужно для того, чтобы хукшот проходил сквозь фейз шифт пака
Но дело как раз в том, что у фейз шифта модификатор иммуна к магии стоит
Код
MODIFIER_STATE_MAGIC_IMMUNE
Как я понял, ты имеешь ввиду что-то из этого
Код
MODIFIER_STATE_INVULNERABLE
MODIFIER_STATE_OUT_OF_GAME

но при этих модификаторах фейз шифт не является челлендж спеллом

А хук с нуля я хотел попробовать, мне сказали, что легче всего сделать это, взяв скрипт хука пуджа(он доступен). Но это оказалось слишком сложным для моих текущих способностей, там скрипта 2 в общей сложности на 300 строк гдет, и многое я не смог понять

Нет, я имел в виду как раз писать "свои" модификаторы, а не просто менять какие-то константы.

Оффлайн Ares

  • 25
  • Мощь: 0
Re: Убрать пробивание бкб
« Ответ #6 : 23-10-2015, 20:58:56 »
Нет, я имел в виду как раз писать "свои" модификаторы, а не просто менять какие-то константы.

Можешь дать гайд какой-нибудь, или что-нибудь в этом роде(можно даже на английском, постараюсь разобраться)?
Просто понятия не имею как модификаторы писать

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: Убрать пробивание бкб
« Ответ #7 : 23-10-2015, 22:31:49 »
Можешь дать гайд какой-нибудь, или что-нибудь в этом роде(можно даже на английском, постараюсь разобраться)?
Просто понятия не имею как модификаторы писать

customgames.ru/fo...x.php?topic=169.0

customgames.ru/fo...ex.php?topic=69.0

moddota.com/forum...cumentation##icon

Оффлайн CryDeS

  • Друзья CG
  • 1194
  • Мощь: 11
Re: Убрать пробивание бкб
« Ответ #8 : 24-10-2015, 07:03:43 »
Читаю и такой чоооооооооооооооооооооооооооо.
Вообщем, тип урона ванильных скилов изменять нельзя, можно изменить только то что напишется в игре, по факту урон останется тем же. Хочешь изменить тип урона - перепиши скилл полностью.

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: Убрать пробивание бкб
« Ответ #9 : 24-10-2015, 08:18:40 »
Читаю и такой чоооооооооооооооооооооооооооо.
Вообщем, тип урона ванильных скилов изменять нельзя, можно изменить только то что напишется в игре, по факту урон останется тем же. Хочешь изменить тип урона - перепиши скилл полностью.

Да я и дело то не в типе урона, а в анимации скилла и его отработке.
« Последнее редактирование: 24-10-2015, 09:28:13 от Илья »

Оффлайн xxNpCxx

  • 85
  • Мощь: 0
  • Do it simple bitch
Re: Убрать пробивание бкб
« Ответ #10 : 27-10-2015, 10:18:05 »
Читаю и такой чоооооооооооооооооооооооооооо.
Вообщем, тип урона ванильных скилов изменять нельзя, можно изменить только то что напишется в игре, по факту урон останется тем же. Хочешь изменить тип урона - перепиши скилл полностью.
Зачем изменять скилл полностью если есть возможность взять этот самый скилл за родительский класс для создания нового и изменить только те вещи которые тебя интересуют ?

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: Убрать пробивание бкб
« Ответ #11 : 27-10-2015, 11:31:29 »
Зачем изменять скилл полностью если есть возможность взять этот самый скилл за родительский класс для создания нового и изменить только те вещи которые тебя интересуют ?

Потому что это ему ничего не даст, если ограничиваться только ability cutom.

Оффлайн Ares

  • 25
  • Мощь: 0
Re: Убрать пробивание бкб
« Ответ #12 : 27-10-2015, 13:05:29 »
Зачем изменять скилл полностью если есть возможность взять этот самый скилл за родительский класс для создания нового и изменить только те вещи которые тебя интересуют ?

Потому что нельзя убрать флаг, пробивающий бкб если меняешь скилл через родительский класс, как я понял

Тут только скилл переписывать как я понял, но это слишком сложно для меня, хорошо, что мне это не слишком нужно.

Оффлайн xxNpCxx

  • 85
  • Мощь: 0
  • Do it simple bitch
Re: Убрать пробивание бкб
« Ответ #13 : 27-10-2015, 13:25:02 »
Потому что нельзя убрать флаг, пробивающий бкб если меняешь скилл через родительский класс, как я понял

Тут только скилл переписывать как я понял, но это слишком сложно для меня, хорошо, что мне это не слишком нужно.
Полиморфизм. -)

Оффлайн Ares

  • 25
  • Мощь: 0
Re: Убрать пробивание бкб
« Ответ #14 : 27-10-2015, 14:02:42 »
Полиморфизм. -)

Помоги в другом. Пытаюсь сделать так, чтобы при касте скилла джаггернаута все, кто попал под действие скилла отлетали (knockback)
но что-то не выходит
Код
  "juggernaut_blade_fury_datadriven"
{
  // General
  //-------------------------------------------------------------------------------------------------------------
  "BaseClass"       "juggernaut_blade_fury"
  "AbilityBehavior"       "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL"
  "AbilityUnitDamageType"     "DAMAGE_TYPE_MAGICAL"
  "SpellImmunityType"       "SPELL_IMMUNITY_ENEMIES_NO"
  "FightRecapLevel"       "1"
  "AbilityTextureName"      "juggernaut_blade_fury"

  // Casting
  //-------------------------------------------------------------------------------------------------------------
  "AbilityCastRange"        "0"
  "AbilityCastPoint"        "0 0 0 0"

  // Time   
  //-------------------------------------------------------------------------------------------------------------
  "AbilityCooldown"       "9 9 9 8"
  "AbilityDuration"       "0.4"

  // Damage.
  //-------------------------------------------------------------------------------------------------------------
  "AbilityDamage"         "300 350 400 450"

  // Cost
  //-------------------------------------------------------------------------------------------------------------
  "AbilityManaCost"       "30 30 35 35"   

  // Special
  //-------------------------------------------------------------------------------------------------------------
  "AbilitySpecial"
  {
    "01"
    {
      "var_type"          "FIELD_FLOAT"
      "blade_fury_damage_tick"  "0.2"
    }
    "02"
    {
      "var_type"          "FIELD_INTEGER"
      "blade_fury_radius"     "250"
    }
  }
     "OnSpellStart"
  {
    "ApplyModifier"
    {
      "ModifierName"  "modifier_knockback"
      "Target"     "POINT"
      "Duration"    "0.4"
    }
  }
   
  "Modifiers"
  {
     "modifier_knockback"
     {
       "Passive"     "0"
       "IsHidden"      "0"
       "IsDebuff"      "0"
        "OnSpellStart"
         {
           "Knockback"
            {
               "target" "POINT"
              "Center"          "CASTER"
              "Distance"          "300"
              "Duration"          "0.2"
              "Height"          "0"
           }
         }
     }
  }
}
}

Код
"target" "POINT"

Точнее я даже знаю, что скорее всего из-за этого
Но что поставить вместо POINT, чтобы кнокбек был в радиусе действия скилла? Или как задать POINT?
« Последнее редактирование: 27-10-2015, 14:08:50 от Ares »