Простые вопросы #2

stranger568

Пользователь
7 Сен 2015
58
6
bmemov.ru
Проект
Birzha Memov
20 Дек 2016
825
134
Есть несколько вариантов, через модификатор или через DamageFilter. Скорей всего есть еще способы, нужно просто подумать.
В DamageFilter нельзя получить исходный урон + все равно будут вызываться механики блока физического урона, например warcry будет терять прочность.
OnTakeDamage срабатывает после того, как урон был нанесен. Отменить нанесенный физический урон не получится.
Если же просто убирать урон с руки, то, как и с фильтром, не получится получить количество урона, которое должно быть нанесено. Тут тупо используется GetAttackDamage, это даже зеленый урон не учитывает, не говоря уже о критах, сплеше, вампиризме и прочем.
Можно в OnAttackLanded накладывать на цель модификатор, блокирующий физ. урон и снимать его в OnTakeDamage, но тогда и другие связанные с атакой эффекты, наносящие физ урон перестанут работать.
Короче нормального способа полностью заменить тип урона с руки в свое время я так и не нашел. Думаю, с помощью какой-нибудь хитрой комбинации всех вышеперечисленных способов это и можно сделать, но эта задача намного сложнее, чем кажется на первый взгляд.
 

DDSuper

Продвинутый
31 Май 2019
164
15
В DamageFilter нельзя получить исходный урон + все равно будут вызываться механики блока физического урона, например warcry будет терять прочность.
OnTakeDamage срабатывает после того, как урон был нанесен. Отменить нанесенный физический урон не получится.
Если же просто убирать урон с руки, то, как и с фильтром, не получится получить количество урона, которое должно быть нанесено. Тут тупо используется GetAttackDamage, это даже зеленый урон не учитывает, не говоря уже о критах, сплеше, вампиризме и прочем.
Можно в OnAttackLanded накладывать на цель модификатор, блокирующий физ. урон и снимать его в OnTakeDamage, но тогда и другие связанные с атакой эффекты, наносящие физ урон перестанут работать.
Короче нормального способа полностью заменить тип урона с руки в свое время я так и не нашел. Думаю, с помощью какой-нибудь хитрой комбинации всех вышеперечисленных способов это и можно сделать, но эта задача намного сложнее, чем кажется на первый взгляд.
Valve, пожалуйста добавьте такое-что... Что сможет менять тип урона!!!
 

HappyFeedFriends

Друзья CG
14 Авг 2017
536
29
Проект
Battle Heroes Arena
В DamageFilter нельзя получить исходный урон + все равно будут вызываться механики блока физического урона, например warcry будет терять прочность.
OnTakeDamage срабатывает после того, как урон был нанесен. Отменить нанесенный физический урон не получится.
Если же просто убирать урон с руки, то, как и с фильтром, не получится получить количество урона, которое должно быть нанесено. Тут тупо используется GetAttackDamage, это даже зеленый урон не учитывает, не говоря уже о критах, сплеше, вампиризме и прочем.
Можно в OnAttackLanded накладывать на цель модификатор, блокирующий физ. урон и снимать его в OnTakeDamage, но тогда и другие связанные с атакой эффекты, наносящие физ урон перестанут работать.
Короче нормального способа полностью заменить тип урона с руки в свое время я так и не нашел. Думаю, с помощью какой-нибудь хитрой комбинации всех вышеперечисленных способов это и можно сделать, но эта задача намного сложнее, чем кажется на первый взгляд.
Тебе не запрещали делать свой тир урона, парень
 

Hex

Пользователь
8 Авг 2019
12
1
Проект
Dugeon rpg
Как удалить все предметы из магазина, знаю что можно перечислить в предметы через REMOVE, но это долго, или есть где нибудь готовый файл, где перечислены все айтемы ?
 

Дикий Пёс

Продвинутый
28 Июн 2017
208
43
Проект
Petri Reborn
Как удалить все предметы из магазина, знаю что можно перечислить в предметы через REMOVE, но это долго, или есть где нибудь готовый файл, где перечислены все айтемы ?
можно просто не прописать их в items.txt

KV:
"DOTAAbilities"
{
    "Version"        "1"
}
 

xDes

Продвинутый
8 Ноя 2018
162
24
Проект
Boss Survival Adventure
где-то можно изменить награду за пик рандомного героя?
 

xDes

Продвинутый
8 Ноя 2018
162
24
Проект
Boss Survival Adventure
Проверять на PlayerResource:HasRandomed(int iPlayerID) и выдавать то что нужно.
Никогда не юзал, но думаю работает
про это думал, но что-то мне кажется, что я где-то видел, что можно просто поменять предметы. Но может мне приснилось))
 

xDes

Продвинутый
8 Ноя 2018
162
24
Проект
Boss Survival Adventure
Вопрос. Есть вот такая абилка, находится у врага, и когда его атакуешь на врага должна срабатывать механика кнокбека, но она не работает, он подпрыгивает, на него работает стан, можно поменять длительность прыжка, но положение он не меняет(его не откидывает в сторону от атаки). Если в таргетах я пишу аттакера, то на меня все работает. Что не так?
Код:
     "push"
    {
        "BaseClass"                        "ability_datadriven"
        "AbilityBehavior"               "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "Modifiers"
          {
            "push_modifier"
            {
              "Passive" "1"
              "OnTakeDamage"
              {
                "Knockback"
                {
                 "Target"  "CASTER"
                 "Duration"  "0.5"
                 "Distance"  "250"
                 "IsFixedDistance"  "0"
                 "Height"  "50"
                 "ShouldStun"  "0"
                }
              }
            }
        }
    }
 

DDSuper

Продвинутый
31 Май 2019
164
15
Вопрос. Есть вот такая абилка, находится у врага, и когда его атакуешь на врага должна срабатывать механика кнокбека, но она не работает, он подпрыгивает, на него работает стан, можно поменять длительность прыжка, но положение он не меняет(его не откидывает в сторону от атаки). Если в таргетах я пишу аттакера, то на меня все работает. Что не так?
Код:
     "push"
    {
        "BaseClass"                        "ability_datadriven"
        "AbilityBehavior"               "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "Modifiers"
          {
            "push_modifier"
            {
              "Passive" "1"
              "OnTakeDamage"
              {
                "Knockback"
                {
                 "Target"  "CASTER"
                 "Duration"  "0.5"
                 "Distance"  "250"
                 "IsFixedDistance"  "0"
                 "Height"  "50"
                 "ShouldStun"  "0"
                }
              }
            }
        }
    }
Где center?

А знаю у меня было такое!


KV:
"Knockback"
{
          "Target"            "TARGET"
           "Center"             "CASTER"
           "Distance"            "500"
           "Duration"            "0.5"
           "Height"            "10"
           "IsFixedDistance"    "0"
           "ShouldStun"        "0"  
 }
 

SniperX

Друзья CG
26 Фев 2018
360
41
steamcommunity.com
Проект
Белоозерская Потасовка - Updated
Вопрос. Есть вот такая абилка, находится у врага, и когда его атакуешь на врага должна срабатывать механика кнокбека, но она не работает, он подпрыгивает, на него работает стан, можно поменять длительность прыжка, но положение он не меняет(его не откидывает в сторону от атаки). Если в таргетах я пишу аттакера, то на меня все работает. Что не так?
Код:
     "push"
    {
        "BaseClass"                        "ability_datadriven"
        "AbilityBehavior"               "DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "Modifiers"
          {
            "push_modifier"
            {
              "Passive" "1"
              "OnTakeDamage"
              {
                "Knockback"
                {
                 "Target"  "CASTER"
                 "Duration"  "0.5"
                 "Distance"  "250"
                 "IsFixedDistance"  "0"
                 "Height"  "50"
                 "ShouldStun"  "0"
                }
              }
            }
        }
    }
Должен быть CENTER

Где center?

А знаю у меня было такое!


KV:
"Knockback"
{
          "Target"            "TARGET"
           "Center"             "CASTER"
           "Distance"            "500"
           "Duration"            "0.5"
           "Height"            "10"
           "IsFixedDistance"    "0"
           "ShouldStun"        "0" 
}
CENTER не TARGET, а ATTACKER
 

xDes

Продвинутый
8 Ноя 2018
162
24
Проект
Boss Survival Adventure
проснулся с утра и понял что крип пытается сам себя толкнуть но не знает откуда и куда он себя толкает, решение пришло само, но и вам спасибо, работает через такое
"Target" "CASTER"
"Center" "ATTACKER"
 

SniperX

Друзья CG
26 Фев 2018
360
41
steamcommunity.com
Проект
Белоозерская Потасовка - Updated
А какая разница?
Если, и так работает.
Только, другая механика скилла, у меня
TARGET это цель, которая получает эффект скилла (например АОЕ ульта ОД) / цель, на которую навели и юзанули абилку
 
Реклама: