游戏版本 | 0.8 |
---|---|
技能 | 被动 |
影响 | 无 |
伤害类型 | 无 |
无视技能免疫 | 无 |
能否驱散 | 无 |
技能描述 | 军团指挥官每次受到攻击都有概率领悟到战斗技巧,军团指挥官在领悟到战斗技巧持续时间内获得克敌机先并且每次攻击将会造成吸血效果。 |
阿哈利姆神杖升级 | 无 |
汪汪神杖升级 | 无 |
冷却时间 | 2.3/1.8/1.3/0.8 |
魔法消耗 | 无 |
技能效果词条 | 领悟持续时间:1.5 攻击吸血效果:5%/12%/19%/26% 领悟概率:25% 提升攻击速度:30/45/60/75 |
其他词条 | 战斗技巧的领悟概率与勇气之霎的反击触发概率始终相同,因此20天赋“+10%勇气之霎触发几率”同样影响此技能。 |
npc_abilities_custom.txt |
---|
//==================== // 军团指挥官 宝物技能 战斗技巧 //==================== "legion_commander_alt_combat_skill" { "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "FightRecapLevel" "1" "BaseClass" "ability_lua" "AbilityTextureName" "custom/abilities/alt/legion_commander/legion_commander_alt_combat_skill" "ScriptFile" "abilities/custom/alt/legion_commander_alt_combat_skill" //"MaxLevel" "3" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "IsOnCastBar" "1" "AbilityCooldown" "2.3 1.8 1.3 0.8" "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "duration" "1.5" } "02" { "var_type" "FIELD_INTEGER" "chance" "25" } "03" { "var_type" "FIELD_INTEGER" "lifesteal_pct" "5 12 19 26" } "04" { "var_type" "FIELD_INTEGER" "bonus_attack_speed" "30 45 60 75" } } } |
vscripts/abilities/custom/alt/legion_commander_alt_combat_skill.lua |
---|
legion_commander_alt_combat_skill = class({}) LinkLuaModifier( "legion_commander_alt_combat_skill_modifier", "abilities/custom/alt/legion_commander_alt_combat_skill_modifier", LUA_MODIFIER_MOTION_NONE ) LinkLuaModifier( "legion_commander_alt_combat_skill_true_strike_modifier", "abilities/custom/alt/legion_commander_alt_combat_skill_true_strike_modifier", LUA_MODIFIER_MOTION_NONE ) ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill:GetIntrinsicModifierName() return "legion_commander_alt_combat_skill_modifier" end |
vscripts/abilities/custom/alt/legion_commander_alt_combat_skill_modifier.lua |
---|
-- Project Name: Siltbreaker Hard Mode -- Author: BroFrank -- SteamAccountID: 144490770 --Max Level Abilitiy MODIFIER --Version 1 legion_commander_alt_combat_skill_modifier = class({}) ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_modifier:IsHidden() return true end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_modifier:IsPurgable() return false end -------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_modifier:GetPriority() return MODIFIER_PRIORITY_ULTRA end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_modifier:OnCreated( kv ) end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_modifier:DeclareFunctions() local funcs = { MODIFIER_EVENT_ON_ATTACK_START, } return funcs end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_modifier:OnAttackStart( params ) if IsServer() and self:GetAbility():IsCooldownReady() then local Attacker = params.attacker local Target = params.target if Target == nil or Attacker == nil then return 0 end if Target ~= self:GetParent() then if self:GetParent():FindAbilityByName("maxlv_bonus_lc") ~= nil and self:GetParent():FindAbilityByName("maxlv_bonus_lc"):GetLevel() > 0 then if Attacker ~= self:GetParent() then return 0 end else return 0 end end self.duration = self:GetAbility():GetSpecialValueFor("duration") self.chance = self:GetAbility():GetSpecialValueFor("chance") if self:GetParent():FindAbilityByName("special_bonus_unique_legion_commander_3") ~= nil and self:GetParent():FindAbilityByName("special_bonus_unique_legion_commander_3"):GetLevel() > 0 then self.chance = self:GetAbility():GetSpecialValueFor("chance") + self:GetParent():FindAbilityByName("special_bonus_unique_legion_commander_3"):GetLevelSpecialValueFor("value",1) end if RollPercentage(self.chance) then EmitSoundOn( "Hero_Legi self.duration } ) self:GetAbility():StartCooldown(self:GetAbility():GetCooldown(self:GetAbility():GetLevel())) end end end |
vscripts/abilities/custom/alt/legion_commander_alt_combat_skill_true_strike_modifier.lua |
---|
-- Project Name: Siltbreaker Hard Mode -- Author: BroFrank -- SteamAccountID: 144490770 --Max Level Abilitiy MODIFIER --Version 1 legion_commander_alt_combat_skill_true_strike_modifier = class({}) ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_true_strike_modifier:IsHidden() return false end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_true_strike_modifier:IsPurgable() return false end -------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_true_strike_modifier:GetPriority() return MODIFIER_PRIORITY_ULTRA end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_true_strike_modifier:OnCreated( kv ) print("buff") end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_true_strike_modifier:DeclareFunctions() local funcs = { MODIFIER_EVENT_ON_STATE_CHANGED, MODIFIER_EVENT_ON_ATTACK_LANDED, MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT, } return funcs end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_true_strike_modifier:CheckState() local state = {} if IsServer() then state[MODIFIER_STATE_CANNOT_MISS] = true end return state end ----------------------------------------------------------------------------------------- function legion_commander_alt_combat_skill_true_strike_modifier:GetModifierAttackSpeedBonus_Constant() return self:GetAbility():GetSpecialValueFor( "bonus_attack_speed" ) end ---------------------------------------- function legion_commander_alt_combat_skill_true_strike_modifier:OnAttackLanded( params ) if IsServer() then local Target = params.target local Attacker = params.attacker if Attacker ~= nil and Attacker == self:GetParent() and Target ~= nil then self.lifesteal_pct = self:GetAbility():GetSpecialValueFor( "lifesteal_pct" ) local heal = ( params.damage * self.lifesteal_pct / 100 ) print("Heal:"..heal) Attacker:Heal( heal, self:GetAbility() ) local nFXIndex = ParticleManager:CreateParticle( "particles/generic_gameplay/generic_lifesteal.vpcf", PATTACH_ABSORIGIN_FOLLOW, Attacker ) ParticleManager:ReleaseParticleIndex( nFXIndex ) end end return 0 end |