不稳定电流
A1E6/1093748022
code:AUau 邪恶光环
BuffID:B03X/1110455128
这个J涉及的函数貌似如果从源头看的话多得惊人
function M8I takes trigger t,playerunitevent M9I returns nothing
local integer VXI=0
loop
call TriggerRegisterPlayerUnitEvent(t,Player(VXI),M9I,Condition(function M7I))
set VXI=VXI+1
exitwhen VXI==16
endloop
endfunction
function M7I takes nothing returns boolean
return true
endfunction
这两个函数的作用是给触发器注册任意单位事件。在触发器里单位事件分任意单位事件(其实也就是所有玩家的单位事件都注册一遍),指定玩家单位事件和指定单位事件。
function Z91 takes nothing returns nothing
local trigger t=CreateTrigger()
call M8I(t,EVENT_PLAYER_HERO_SKILL)
call TriggerAddCondition(t,Condition(function DU4))
set t=null
endfunction
function DU4 takes nothing returns boolean
if GetLearnedSkill()==1093748022 and GetUnitAbilityLevel(GetTriggerUnit(),1093748022)==1 and IsUnitIllusion(GetTriggerUnit())==false then
call DQ4()
endif
return false
endfunction
注册一个任意单位学习技能事件,条件为非幻象学习1级不稳定电流的触发器
function DQ4 takes nothing returns nothing
local unit JTI=GetTriggerUnit()
local trigger t=CreateTrigger()
local integer XII=GetHandleId(t)
call M8I(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(t,Condition(function DP4))
call SaveUnitHandle(HY,(XII),(2),(JTI))
set JTI=null
set t=null
endfunction
function DP4 takes nothing returns boolean
local trigger t=GetTriggeringTrigger()
local integer XII=GetHandleId(t)
local unit JTI=(LoadUnitHandle(HY,(XII),(2)))
local integer YRI
if GetSpellTargetUnit()==JTI and DS4(GetSpellAbilityId())==true and IsUnitAlly(GetTriggerUnit(),GetOwningPlayer(JTI))==false and IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO)==true then
set YRI=GetUnitAbilityLevel(JTI,1093748022)
call DR4(JTI,JTI,GetTriggerUnit(),YRI)
endif
set t=null
set JTI=null
return false
endfunction
function DR4 takes unit YPI,unit JTI,unit JRI,integer YRI returns nothing
local unit P4I=CreateUnit(GetOwningPlayer(YPI),1697656901,GetUnitX(JTI),GetUnitY(JTI),0)
call MLI(P4I,1093747019)
call SetUnitAbilityLevel(P4I,1093747019,YRI)
call IssueTargetOrder(P4I,"chainlightning",JRI)
call MLI(P4I,1093744708)
call SetUnitAbilityLevel(P4I,1093744708,YRI)
call IssueTargetOrder(P4I,"purge",JRI)
set P4I=null
endfunction
function MLI takes unit X9I,integer MMI returns nothing
call UnitAddAbility(X9I,MMI)
call UnitMakeAbilityPermanent(X9I,true,MMI)
endfunction
注册一个触发器。任意单位发动技能效果事件;条件为施法目标为之前学习技能的单位、施法者不是同盟或单位所有者、施法者是英雄;动作是创造一个傀儡单位添加闪电链、净化技能并设置永久性,设置技能等级,对触发单位(即施法者)发布闪电链、净化命令。
A1E6/1093748022
code:AUau 邪恶光环
BuffID:B03X/1110455128
这个J涉及的函数貌似如果从源头看的话多得惊人

function M8I takes trigger t,playerunitevent M9I returns nothing
local integer VXI=0
loop
call TriggerRegisterPlayerUnitEvent(t,Player(VXI),M9I,Condition(function M7I))
set VXI=VXI+1
exitwhen VXI==16
endloop
endfunction
function M7I takes nothing returns boolean
return true
endfunction
这两个函数的作用是给触发器注册任意单位事件。在触发器里单位事件分任意单位事件(其实也就是所有玩家的单位事件都注册一遍),指定玩家单位事件和指定单位事件。
function Z91 takes nothing returns nothing
local trigger t=CreateTrigger()
call M8I(t,EVENT_PLAYER_HERO_SKILL)
call TriggerAddCondition(t,Condition(function DU4))
set t=null
endfunction
function DU4 takes nothing returns boolean
if GetLearnedSkill()==1093748022 and GetUnitAbilityLevel(GetTriggerUnit(),1093748022)==1 and IsUnitIllusion(GetTriggerUnit())==false then
call DQ4()
endif
return false
endfunction
注册一个任意单位学习技能事件,条件为非幻象学习1级不稳定电流的触发器
function DQ4 takes nothing returns nothing
local unit JTI=GetTriggerUnit()
local trigger t=CreateTrigger()
local integer XII=GetHandleId(t)
call M8I(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(t,Condition(function DP4))
call SaveUnitHandle(HY,(XII),(2),(JTI))
set JTI=null
set t=null
endfunction
function DP4 takes nothing returns boolean
local trigger t=GetTriggeringTrigger()
local integer XII=GetHandleId(t)
local unit JTI=(LoadUnitHandle(HY,(XII),(2)))
local integer YRI
if GetSpellTargetUnit()==JTI and DS4(GetSpellAbilityId())==true and IsUnitAlly(GetTriggerUnit(),GetOwningPlayer(JTI))==false and IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO)==true then
set YRI=GetUnitAbilityLevel(JTI,1093748022)
call DR4(JTI,JTI,GetTriggerUnit(),YRI)
endif
set t=null
set JTI=null
return false
endfunction
function DR4 takes unit YPI,unit JTI,unit JRI,integer YRI returns nothing
local unit P4I=CreateUnit(GetOwningPlayer(YPI),1697656901,GetUnitX(JTI),GetUnitY(JTI),0)
call MLI(P4I,1093747019)
call SetUnitAbilityLevel(P4I,1093747019,YRI)
call IssueTargetOrder(P4I,"chainlightning",JRI)
call MLI(P4I,1093744708)
call SetUnitAbilityLevel(P4I,1093744708,YRI)
call IssueTargetOrder(P4I,"purge",JRI)
set P4I=null
endfunction
function MLI takes unit X9I,integer MMI returns nothing
call UnitAddAbility(X9I,MMI)
call UnitMakeAbilityPermanent(X9I,true,MMI)
endfunction
注册一个触发器。任意单位发动技能效果事件;条件为施法目标为之前学习技能的单位、施法者不是同盟或单位所有者、施法者是英雄;动作是创造一个傀儡单位添加闪电链、净化技能并设置永久性,设置技能等级,对触发单位(即施法者)发布闪电链、净化命令。