本帖最后由 裸奔的代码 于 2014-10-4 17:38 编辑
之前做完主动技能那一部分了,这次是被动技能了
先附上之前的主动技能教程
先来简单的,就先光环吧 我们做一个万能光环 效果:攻击+20%,护甲+15,魔抗+15%,移动速度+100,生命恢复速度+10,魔法恢复速度+10,力量+25,敏捷+25,智力+25
被动技能的基础设置 - "MyAbility_passive"
- {
- //-------------------------------------------------------------------------------------------------------------
- "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
- "BaseClass" "ability_datadriven"
- "AbilityTextureName" "juggernaut_omni_slash"
- "Modifiers"
- {
- "modifier_MyAbility_passive"
- {
- "Passive" "1" //这句很重要
- //这里面可以填写BUFF或者攻击事件等
- }
- }
- }
复制代码
可以看出被动技能的设置很简单 关键是在于modifier里面Passive这个关键词,就是被动的意思,有这个之后就代表modifier是个被动的modifier,所以在主动技能里,把里面的modifier加入Passive也变成被动的了,这样就是说主动技能跟被动技能是可以在一起的,这样可以做一些隐藏的被动效果
接下来就加入光环的modifier - "MyAbility_passive"
- {
- "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
- "BaseClass" "ability_datadriven"
- "AbilityTextureName" "juggernaut_omni_slash"
- "AbilityCastRange" "500"
- "Modifiers"
- {
- "modifier_MyAbility_passive"
- {
- "Passive" "1"
- "IsHidden" "1"
- "Aura" "modifier_MyAbility_passive_buff"
- "Aura_Radius" "500"
- "Aura_Types" "DOTA_UNIT_TARGET_HERO"
- "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
- "Aura_Flags" "DOTA_UNIT_TARGET_FLAG_NONE"
- }
- "modifier_MyAbility_passive_buff"
- {
- "Properties"
- {
- "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "20" //攻击百分比加成
- "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS" "15" //护甲加成
- "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS" "15" //魔抗加成
- "MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT" "100"//移动速度
- "MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT" "10" //生命恢复速度
- "MODIFIER_PROPERTY_MANA_REGEN_CONSTANT" "10" //魔法恢复速度
- "MODIFIER_PROPERTY_STATS_STRENGTH_BONUS" "25" //力量加成
- "MODIFIER_PROPERTY_STATS_AGILITY_BONUS" "25" //敏捷加成
- "MODIFIER_PROPERTY_STATS_INTELLECT_BONUS" "25" //智力加成
- }
- }
- }
- }
复制代码
Aura就有光环的意思,也可以用来获取范围内的单位 Aura_Radius 光环作用范围 Aura_Types,Aura_Teams,Aura_Flags就不用说了吧
Properties里面就是一些BUFF,这里面的常量参考下面的网址 至于怎么知道哪个是攻击哪个是移动,当然是自己翻译呗 注意一点,Properties里面并不是所有的BUFF都有效
被动的触发事件,一般都是通过攻击或者被攻击,或者受到伤害来触发 OnAttack //技能拥有者攻击到单位才会触发 OnAttacked //技能拥有者受到攻击会触发 OnAttackStart //技能拥有者开始攻击,就是说产生攻击前摇的时候就会触发 OnAttackLanded //跟OnAttack差不多 OnAttackFailed //技能拥有者攻击失败,就是攻击miss了 OnAttackAllied //技能拥有者攻击友军 OnDealDamage //技能拥有者造成伤害 OnTakeDamage //技能拥有者受到伤害,毒龙的皮 OnUnitMoved //技能拥有者移动,血魔的大招 OnSpentMana //技能拥有者消耗魔法,可以用来监控魔法值 OnManaGained //技能拥有者恢复魔法,可以用来监控魔法值 OnHealthGained //技能拥有者恢复生命,可以用来监控生命值
|