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

S1nGGle

Пользователь
25 Янв 2018
41
3
Проект
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
953
182
Ну в дд тебе нужно убрать пассивный урон и при каждой атаке проверять не крип ли это и наносить урон дополнительно.
 

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
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
Реклама: