【躲闪问题普及 】【技术】【申精】【括号】
dota吧
全部回复
仅看楼主
level 6
sweetdeathfc 楼主
DOTA里有多少英雄会躲闪!!
   幻影刺客,熊猫人,赏金猎人,老猴子
有多少躲闪能和蝴蝶共存!
   低地打高地的MISS,修补的激光,巨魔的致盲,隐刺的雾,熊猫人的酒瓶子
据说 JB脸满血是没有躲闪效果的!!是吗?
   是,虚空假面根本不躲闪什么东西,无论什么时候
高手解答 当一个英雄对还有100血JB脸用600攻击的技能,JB脸可能出现躲闪吗? 为什么?
     不能躲闪,因为假面无论任何时候都不能躲闪技能
关于虚空假面的回到过去。这个技能不能让假面拥有什么躲闪能力,无论对物理还是对技能。技能是用JASS做的
1,受到伤害
2,判断技能是否被触发,如果不被触发到4,如果被触发到3
3,治疗虚空假面和所受伤害一样的数值
4,受到伤害
附带虚空的“闪避”(好吧,较真)JASS代码。看不懂的话我注解:
// OpenDota 6.41 deprotected by NETRAT and DioD
// inspired by everyone who posted on forum threads and feedback page
// based on OpenDota 6.32b, deprotected by DimonT, NETRAT and TheBloodiest
// http://dimon.xgm.ru/opendota/
// Visit our modmaking community at http://xgm.ru/
// Objects used:
// 'A0CZ' = Backtrack (Faceless Void : Darkterror)
// DEBUG Trigger Number : 299
function Trig_Backtrack_Conditions takes nothing returns boolean
return GetLearnedSkill()=='A0CZ'and IsUnitIllusion(GetTriggerUnit())==false
endfunction
上面的和下面的不用管,包括了判断英雄之类的,关键在这里
function Backtrack_Main takes nothing returns nothing
local unit lfo=GetTriggerUnit() 设置本地变量 lfo为受到伤害的单位(虚空假面)
local real lf7=GetEventDamage() 设置本地变量lf7为受到的伤害值
if(lf7>0)then 如果lf7大于0那么。。。
if(GetRandomInt(1,100)<=(5+(5*GetUnitAbilityLevel(lfo,'A0CZ'))))then 产生一个1到100之间的随机数,如果这个数小于5+(5*技能等级)那么。。。
call SetUnitState(lfo,UNIT_STATE_LIFE,GetUnitState(lfo,UNIT_STATE_LIFE)+lf7) 给lfo加上lf7点血
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\WingedSerpentMissile\\WingedSerpentMissile.mdl",lfo,"hand,left")) 闪避的动画效果
endif
endif
endfunction 结束。下面的是学习技能和给触发注册“单位受到伤害”事件的过程之类,不用管
function Trig_Backtrack_Actions takes nothing returns nothing
local trigger ltt
if GetUnitAbilityLevel(GetTriggerUnit(),'A0CZ')==1 then
set ltt=CreateTrigger()
call TriggerRegisterUnitEvent(ltt,GetTriggerUnit(),EVENT_UNIT_DAMAGED)
call TriggerAddAction(ltt,function Backtrack_Main)
endif
endfunction
function StartTrigger_Backtrack takes nothing returns nothing
set gg_trg_Backtrack=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_Backtrack,EVENT_PLAYER_HERO_SKILL)
call TriggerAddCondition(gg_trg_Backtrack,Condition(function Trig_Backtrack_Conditions))
call TriggerAddAction(gg_trg_Backtrack,function Trig_Backtrack_Actions)
endfunction
function InitTrig_Backtrack takes nothing returns nothing
endfunction
如果受到的伤害超过假面的生命上限,由于该技能并不提高生命上限,治疗最多让假面到满血状态,然后受伤害,直接死亡。所以假面血如果不多,千万不要在斧王面前晃悠,一个淘汰下来你没实验人品的机会的。
同类技能还有
LOA的无光之盾
LOA的回光返照
SPE的折射
40龙的守墓人的斗篷
BB猪的钢PP
TA的折光。
技能的最基础的原理都是一样的,根据技能的具体效果不同稍微有不同,如无光之盾,回光返照,折光都是百分百的几率治疗所有伤害,折射,斗篷,钢PP都是百分百几率治疗一定伤害,无光盾最多治疗275伤害,折光只能治疗5次伤害,等等。无光盾和回光返照同时开启会治疗2次伤害,表现为受多少伤害就加多少血。
某种程度上说,比如用300伤害的AOE对假面释放,假面回到过去触发,可以理解,我先用药品或者其他什么东西瞬间先加了225血,然后你的AOE才打到我身上,于是表现为无伤害。
- _ - 就是这样了!
2009年07月23日 15点07分 1
level 6
sweetdeathfc 楼主
看懂了吗?
不懂的我还在
2009年07月23日 15点07分 2
level 10
算了,我还是不说了
2009年07月23日 15点07分 3
level 6
sweetdeathfc 楼主
- _ - 楼上的那个图片是怎么来的那么多人
2009年07月23日 15点07分 4
level 6
sweetdeathfc 楼主
我在想我的出现是为什麽!
2009年07月23日 16点07分 6
level 7
那个图中间循环了一次。
2009年07月23日 16点07分 7
1