Бонус к урону, но только по крипам

S1nGGle

Пользователь
25 Янв 2018
29
2
Проект
Custom_game
Я создал свою версию бф'а по примеру одного из гайдов, и всё замечательно работает, но.
Я хочу чтобы +48 урона которые он даёт, работали только при ударе по крипу.
Кто-нибудь может подсказать как это реализовать?

"item_axee"
{
//General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "item_datadriven"
"BaseClass" "item_datadriven"
"AbilityName" "damage_at_creeps"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilityType" "DOTA_ABILITY_TYPE_BASIC"
"AbilityTextureName" "custom/axe"
// Item Info
//-------------------------------------------------------------------------------------------------------------
"ItemPurchasable" "1"
"ItemSellable" "1"
"ItemDroppable" "1"
"ItemShareability" "ITEM_NOT_SHAREABLE"
"ItemQuality" "common"
"ItemShopTags" "damage"
"ItemAliases" "axe"
"ItemCost" "1000"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"bonus_damage" "48"
}
"02"
{
"var_type" "FIELD_INTEGER"
"cleave_damage_percent" "20"
}
"03"
{
"var_type" "FIELD_INTEGER"
"cleave_radius" "250"
}
}

"Modifiers"
{
"modifier_item_bfury_datadriven"
{
"Passive" "1"
"IsHidden" "1"
"Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE"

"Properties"
{
"MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE" "%bonus_damage"
}

"OnCreated"
{
"RunScript"
{
"ScriptFile" "items/item_bfury.lua" //название скрипта
"Function" "modifier_item_bfury_datadriven_on_created" //функция внутри скрипта
}
}

"OnDestroy" //СОБЫТИЕ: когда предмет выкидывается
{
"RunScript" //запускаем скрипт)
{
"ScriptFile" "items/item_bfury.lua" //путь к скрипту)
"Function" "modifier_item_bfury_datadriven_on_destroy" //функция
}
}

"ThinkInterval" ".03"
"OnIntervalThink"
{
"RunScript" //запустить скрипт
{
"ScriptFile" "items/item_bfury.lua"
"Function" "modifier_item_bfury_datadriven_on_interval_think" //функция проверки
}
}
}

"modifier_item_bfury_datadriven_cleave" //Вот теперь тот самый сплэш.
{
"Passive" "0" //активная
"IsHidden" "1" //скрытый модификатор
"Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE" //даёт аттрибуты

"OnAttackLanded" //СОБЫТИЕ: когда юнит обладающий предметом атаковал
{
"CleaveAttack" //сделать сплэш атаку.
{
"CleavePercent" "%cleave_damage_percent" //процент сплэша, указан выше
"CleaveRadius" "%cleave_radius" //радиус
"CleaveEffect" "particles/items_fx/battlefury_cleave.vpcf" //эффект
}

"FireSound" //Так же воспроизвести звук
{
"EffectName" "DOTA_Item.BattleFury" //путь к звуку
"Target" "TARGET" //на цель, обладателя предмета
}
}

"ThinkInterval" ".03" //ещё одна доп. проверка на ближника/дальника
"OnIntervalThink"
{
"RunScript"
{
"ScriptFile" "items/item_bfury.lua"
"Function" "modifier_item_bfury_datadriven_cleave_on_interval_think"
}
}
}
}
}
 

ZLOY

Администратор
Команда форума
27 Июн 2016
836
137
Ну в дд тебе нужно убрать пассивный урон и при каждой атаке проверять не крип ли это и наносить урон дополнительно.
 

SniperX

Друзья CG
26 Фев 2018
471
65
steamcommunity.com
Проект
Белоозерская Потасовка - Reworked
Lua:
if target:IsCreep() then
    local damageTable = { victim = target, attacker = caster, damage = 48, damage_type = DAMAGE_TYPE_PHYSICAL, damage_flags = DOTA_DAMAGE_FLAG_NONE, ability = nil, }
    ApplyDamage(damageTable)
end
 
  • Нравится
Реакции: S1nGGle
Реклама: