夜晚中的狩猎者(学习)
A086 1093679158
code:ANcl 通魔
夜晚中的狩猎者(真技能)
1395667009
code:AOae 耐久光环
buffID:B02L 1110454860
900范围,仅对自己有效
S00A
以下函数对暗夜魔王的3个技能都有影响
function B94 takes nothing returns nothing
local integer XII=GetHandleId(GetTriggerUnit())
local trigger t
if((LoadBoolean(HY,(XII),(306)))==false)then
call SaveBoolean(HY,(XII),(306),(true))
set t=CreateTrigger()
call TriggerRegisterTimerEventPeriodic(t,2.00)
call TriggerRegisterGameStateEventTimeOfDay(t,LESS_THAN,6.00)
call TriggerRegisterGameStateEventTimeOfDay(t,GREATER_THAN,18.00)
call TriggerAddAction(t,function B84)
call SaveUnitHandle(HY,(GetHandleId(t)),(304),(GetTriggerUnit()))
set t=CreateTrigger()
set XII=GetHandleId(t)
call TriggerRegisterTimerEvent(t,0.5,true)
call TriggerAddCondition(t,Condition(function B54))
call SaveUnitHandle(HY,(XII),(304),(GetTriggerUnit()))
call SaveUnitHandle(HY,(XII),(305),(CreateUnit(GetOwningPlayer(GetTriggerUnit()),1865429313,GetUnitX(GetTriggerUnit()),GetUnitY(GetTriggerUnit()),0)))
endif
if(GetLearnedSkill()==1093679158)then
call MLI(GetTriggerUnit(),1395667009)
if(KBI())then
call SetUnitAbilityLevel(GetTriggerUnit(),1395667009,5)
else
call SetUnitAbilityLevel(GetTriggerUnit(),1395667009,GetUnitAbilityLevel(GetTriggerUnit(),1093679158))
endif
endif
if(GetLearnedSkill()==1093679173)then
call UnitAddAbility(GetTriggerUnit(),1093679171)
if(KBI())then
call SetUnitAbilityLevel(GetTriggerUnit(),1093679171,5)
else
call SetUnitAbilityLevel(GetTriggerUnit(),1093679171,GetUnitAbilityLevel(GetTriggerUnit(),1093679173))
endif
endif
endfunction
function MLI takes unit X9I,integer MMI returns nothing
call UnitAddAbility(X9I,MMI)
call UnitMakeAbilityPermanent(X9I,true,MMI)
endfunction
function KBI takes nothing returns boolean
if(GetTimeOfDay()>6.00 and GetTimeOfDay()<18.00)then
return true
else
return false
endif
endfunction
function B84 takes nothing returns nothing
local integer XII=GetHandleId(GetTriggeringTrigger())
local unit B64=(LoadUnitHandle(HY,(XII),(304)))
if B64!=null and KBI()and MNI(B64)==false then
call UnitRemoveAbility(B64,1093742902)
call UnitRemoveAbility(B64,1093742903)
call SetUnitAbilityLevel(B64,1395667009,5)
call SetUnitAbilityLevel(B64,1093679171,5)
elseif B64!=null and KBI()==false and MNI(B64)==false then
call MLI(B64,1093742902)
call MLI(B64,1093742903)
call SetUnitAbilityLevel(B64,1395667009,GetUnitAbilityLevel(B64,1093679158))
call SetUnitAbilityLevel(B64,1093679171,GetUnitAbilityLevel(B64,1093679173))
endif
endfunction
简单来说基础技能是个通魔,学习技能后添加一个耐久光环,在6-18点设为5级,其他时间设为通魔等级。奇怪的是SLK里IF貌似只给这个技能设置3个等级的数据,第四级内容就是空了,第五级则连表头都没有

还是不太懂SLK啊