Как реализовать баф на след. удар героя и подскажите с Channel

Resstar

Пользователь
9 Ноя 2018
22
1
Проект
ANIME WARS
Как сделать баф на следующий удар героя. т.е. мы прожимаем способность и следующий удар героя имеет дополнительный урон и допустим прорубающий урон (клив) и затем начинается кд а баффы спадают. (На datadriven).


И подскажите с Channel. Ниже код

/==================================================================================================================
"gone_oath"
{
"BaseClass" "ability_datadriven"

"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_CHANNELLED"
"AbilityTextureName" "icons/gone5"

"AbilityType" "DOTA_ABILITY_TYPE_BASIC"
"MaxLevel" "5"
"RequiredLevel" "20"
"LevelsBetweenUpgrades" "20"

"AbilityCastPoint" "0.1"
"AbilityCastAnimation" "ACT_DOTA_ATTACK"
"AnimationPlaybackRate" "1"
"AnimationIgnoresModelScale" "1"

// Stats
//----------------------------------------------------------------------------------------
"AbilityManaCost" "300 400 500 600 650"
"AbilityCooldown" "220.0"
"AbilityDuration" "10.0"
"AbilityChannelTime" "2.0"
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"bonus_damage" "300"
}
"02"
{
"var_type" "FIELD_INTEGER"
"bonus_str" "25 50 75 100 125"
}

}

"Modifiers"
{
"modifier_gone_oath"
{
"Passive" "0"
"IsHidden" "0"
"IsBuff" "1"

"EffectName" "particles/units/heroes/hero_terrorblade/terrorblade_metamorphosis.vpcf"
"EffectAttachType" "follow_origin"

"OnCreated"
{
"RunScript"
{
"ScriptFile" "all_abilities.lua"
"Function" "oath"
}
}

"OnDestroy"
{
"RunScript"
{
"ScriptFile" "all_abilities.lua"
"Function" "oath_end"
}
}

"Properties"
{
"MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "%bonus_damage"
"MODIFIER_PROPERTY_STATS_STRENGTH_BONUS" "%bonus_str"
}
}
}
"OnChannelFinish"
{
"ApplyModifier"
{
"ModifierName" "modifier_gone_oath"
"Target" "CASTER"
"Duration" "10.0"
}
"FireSound"
{
"EffectName" "Hero_Terrorblade.Metamorphosis"
"Target" "CASTER"
}
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_terrorblade/terrorblade_metamorphosis_transform.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}
}

"precache"
{
"particle" "particles/units/heroes/hero_terrorblade/terrorblade_metamorphosis_transform.vpcf"
"soundfile" "soundevents/game_sounds_heroes/game_sounds_terrorblade.vsndevts"
"particle" "particles/units/heroes/hero_terrorblade/terrorblade_metamorphosis.vpcf"
}
}
}

У меня получается способность "заряжается" 2 сек, с этим проблем нет, но вот если прервать способность, модификатор все равно срабатывает и герой бафается. Подскажите, как сделать правильно o_O
 

muRLoc

Активный
25 Ноя 2018
83
23
Для абилок 'Channel' играешься с этими 3-мя ивентами:
Код:
"OnChannelFinish"    // Каст закончен (Даже если сбили)
{
    //
}

"OnChannelInterrupted"    //    Каст был сбит
{
    //
}

"OnChannelSucceeded"    // Каст был УСПЕШНО закончен.
{
    //
}

Дополнительный урон и прорубающий эффект добавляешь в модификатор с ивентом "OnAttackLanded"
 
  • Нравится
Реакции: I_GRIN_I

Resstar

Пользователь
9 Ноя 2018
22
1
Проект
ANIME WARS
Для абилок 'Channel' играешься с этими 3-мя ивентами:
Код:
"OnChannelFinish"    // Каст закончен (Даже если сбили)
{
    //
}

"OnChannelInterrupted"    //    Каст был сбит
{
    //
}

"OnChannelSucceeded"    // Каст был УСПЕШНО закончен.
{
    //
}

Дополнительный урон и прорубающий эффект добавляешь в модификатор с ивентом "OnAttackLanded"
Спасибо, попробую
 
Реклама: