|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- KingCrab :: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
function KC_WhirlWind( Handle, MapIndex )
|
|
|
|
|
cExecCheck "KC_WhirlWind"
|
|
|
|
|
|
|
|
|
|
local Var = InstanceField[ MapIndex ]
|
|
|
|
|
|
|
|
|
|
if Var["KingCrabProcess"]["SkillWorkTime"] > Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local SkillInfo = SkillInfo_KingCrab["KC_WhirlWind"]
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ϴ<EFBFBD> <EFBFBD>κ<EFBFBD>(<EFBFBD>ʱ<EFBFBD>ȭ)
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
if Var["KC_WhirlWind"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["KC_WhirlWind"] ={}
|
|
|
|
|
--DebugLog("KC_WhirlWind <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
-- 1. <EFBFBD>ӽ<EFBFBD> Ÿ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-- ŷũ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD> <EFBFBD>ȿ<EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD>÷<EFBFBD><EFBFBD>̾<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD>ƿ<EFBFBD>
|
|
|
|
|
Var["KC_WhirlWind"]["TargetList_Temp"] = { cNearObjectList( Handle, SkillInfo["Target_SearchArea"], ObjectType["Player"] ) }
|
|
|
|
|
--[[
|
|
|
|
|
DebugLog("========================================================")
|
|
|
|
|
DebugLog("TargetList_Temp Ÿ<EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD>Ʈ")
|
|
|
|
|
for i = 1, #Var["KC_WhirlWind"]["TargetList_Temp"]
|
|
|
|
|
do
|
|
|
|
|
DebugLog("Ÿ<EFBFBD><EFBFBD> <EFBFBD>ڵ<EFBFBD>[ "..i.." ] :"..Var["KC_WhirlWind"]["TargetList_Temp"][i] )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
DebugLog("========================================================")
|
|
|
|
|
--]]
|
|
|
|
|
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetNum"] = 1
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetHandle"] = INVALID_HANDLE
|
|
|
|
|
Var["KC_WhirlWind"]["IsFollowState"] = false
|
|
|
|
|
Var["KC_WhirlWind"]["PathListEachTarget"] = {} -- Ÿ<EFBFBD>ٺ<EFBFBD><EFBFBD><EFBFBD> path <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
-- 2. <EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD> <EFBFBD>´<EFBFBD> <EFBFBD>÷<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD>Ʈ <EFBFBD>ٽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>( <EFBFBD>켱<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD> <EFBFBD>°<EFBFBD> )
|
|
|
|
|
Var["KC_WhirlWind"]["TargetList"] = {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- TargetList_Temp <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>켱<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ο<EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
for i, v in pairs( Var["KC_WhirlWind"]["TargetList_Temp"] )
|
|
|
|
|
do
|
|
|
|
|
-- <EFBFBD>켱<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʱ<EFBFBD>ȭ
|
|
|
|
|
Var["KC_WhirlWind"]["TargetList"][v] = 0
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
-- 1 ) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ.
|
|
|
|
|
local Priority_Class = SkillInfo["Target_Priority"]["ChrBaseClass"]
|
|
|
|
|
local charBaseClassNum = cGetBaseClass( v )
|
|
|
|
|
|
|
|
|
|
--DebugLog("charBaseClassNum : "..charBaseClassNum)
|
|
|
|
|
|
|
|
|
|
for i = 1, #Priority_Class
|
|
|
|
|
do
|
|
|
|
|
if Priority_Class[i]["class"] == charBaseClassNum
|
|
|
|
|
then
|
|
|
|
|
Var["KC_WhirlWind"]["TargetList"][v] = Var["KC_WhirlWind"]["TargetList"][v] + Priority_Class[i]["arg"]
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "..charBaseClassNum..", <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +"..Priority_Class[i]["arg"].." = "..Var["KC_WhirlWind"]["TargetList"][v] )
|
|
|
|
|
break
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
-- 2 ) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> üũ.
|
|
|
|
|
local Priority_AbState = SkillInfo["Target_Priority"]["ChrAbState"]
|
|
|
|
|
|
|
|
|
|
for i = 1, #Priority_AbState
|
|
|
|
|
do
|
|
|
|
|
local strength, resttime = cGetAbstate( v, Priority_AbState[i]["Index"] )
|
|
|
|
|
if strength ~= nil
|
|
|
|
|
then
|
|
|
|
|
Var["KC_WhirlWind"]["TargetList"][v] = Var["KC_WhirlWind"]["TargetList"][v] + Priority_AbState[i]["arg"]
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD> "..Priority_AbState[i]["Index"]..", <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +"..Priority_AbState[i]["arg"].." = "..Var["KC_WhirlWind"]["TargetList"][v])
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD>Ʈ TargetList<EFBFBD><EFBFBD> ũ<EFBFBD>⸦ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
|
|
|
|
|
--DebugLog("Ÿ<EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
local TargetListSize = 0
|
|
|
|
|
for i, v in pairs( Var["KC_WhirlWind"]["TargetList"] )
|
|
|
|
|
do
|
|
|
|
|
TargetListSize = TargetListSize + 1
|
|
|
|
|
--DebugLog("TargetList["..i.."] = "..v)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["KC_WhirlWind"]["TargetListSize"] = TargetListSize
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetHandle"] = PopMyTarget( Var["KC_WhirlWind"]["TargetList"] )
|
|
|
|
|
|
|
|
|
|
--DebugLog("TargetList ũ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. "..Var["KC_WhirlWind"]["TargetListSize"] )
|
|
|
|
|
--DebugLog("ù Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> .."..Var["KC_WhirlWind"]["CurTargetHandle"])
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
-- 3. ŷũ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD>ɾ<EFBFBD><EFBFBD>ش<EFBFBD>( <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
|
|
|
|
|
-- StaSDVale01_Wheel : <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ֺ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
local AbStateList = SkillInfo["AbState_To_KingCrab"]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, keeptime <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>츦 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ٽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cSetAbstate( Handle, AbStateList["SpinDamage"]["Index"], AbStateList["SpinDamage"]["Strength"], AbStateList["SpinDamage"]["KeepTime"], Handle )
|
|
|
|
|
cSetAbstate( Handle, AbStateList["NotTargetted"]["Index"], AbStateList["NotTargetted"]["Strength"], AbStateList["NotTargetted"]["KeepTime"], Handle )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD≯<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD><EFBFBD>ִ<EFBFBD> <EFBFBD>÷<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local PlayerHandleList = { cGetPlayerList( Var["MapIndex"] ) }
|
|
|
|
|
-- DebugLog( "<EFBFBD>ʿ<EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> : "..#PlayerHandleList )
|
|
|
|
|
for i = 1, #PlayerHandleList
|
|
|
|
|
do
|
|
|
|
|
cTargetChangeNull( PlayerHandleList[i], Handle )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
-- 4. Ÿ<EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD>Ʈ[1] = {}<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, Ÿ<EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD>Ʈ[1]<EFBFBD><EFBFBD> <EFBFBD>ڵ鰪<EFBFBD><EFBFBD> <EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD> 5<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
|
|
|
|
|
-- Ÿ<EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD>Ʈ[1][1]["x"] = 2,
|
|
|
|
|
-- Ÿ<EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD>Ʈ[1][1]["y"] = 2,
|
|
|
|
|
-- .....
|
|
|
|
|
-- Ÿ<EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD>Ʈ[1][5]["x"] = 2,
|
|
|
|
|
-- Ÿ<EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD>Ʈ[1][5]["y"] = 2,
|
|
|
|
|
|
|
|
|
|
-- Ÿ<EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #Ÿ<EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD>ŭ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> Var["KC_WhirlWind"] <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>κ<EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
if Var["KC_WhirlWind"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
local CurTargetNum = Var["KC_WhirlWind"]["CurTargetNum"]
|
|
|
|
|
local CurTargetHandle = Var["KC_WhirlWind"]["CurTargetHandle"]
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ӽð<EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD>Ѵ<EFBFBD>. <EFBFBD> <EFBFBD>ൿ<EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
if Var["KingCrabProcess"]["SkillEndTime"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("<EFBFBD>ð<EFBFBD> <EFBFBD>ʰ<EFBFBD>! <EFBFBD>ൿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
|
|
|
|
|
local AbStateList = SkillInfo["AbState_To_KingCrab"]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cResetAbstate( Handle, AbStateList["SpinDamage"]["Index"] )
|
|
|
|
|
cResetAbstate( Handle, AbStateList["NotTargetted"]["Index"] )
|
|
|
|
|
|
|
|
|
|
Var["KC_WhirlWind"] = nil
|
|
|
|
|
|
|
|
|
|
Var[Handle]["IsProgressSpecialSkill"] = false
|
|
|
|
|
|
|
|
|
|
Var["KingCrabProcess"]["SkillStartTime"] = 0
|
|
|
|
|
Var["KingCrabProcess"]["SkillWorkTime"] = 0
|
|
|
|
|
Var["KingCrabProcess"]["SkillEndTime"] = 0
|
|
|
|
|
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> Ÿ<EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
|
|
|
|
|
if CurTargetNum <= Var["KC_WhirlWind"]["TargetListSize"]
|
|
|
|
|
then
|
|
|
|
|
-- Ÿ<EFBFBD><EFBFBD> <EFBFBD>ڵ鰪<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if CurTargetHandle == nil or CurTargetHandle == INVALID_HANDLE
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("<EFBFBD>ش<EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ڵ鰪 == nil or INVALID_HANDLE, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
Var["KC_WhirlWind"]["IsFollowState"] = false
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetNum"] = Var["KC_WhirlWind"]["CurTargetNum"] + 1
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetHandle"] = PopMyTarget( Var["KC_WhirlWind"]["TargetList"] )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>̹<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if cIsObjectDead( CurTargetHandle ) == 1 or cIsObjectAlreadyDead( CurTargetHandle ) == 1
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>װų<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
Var["KC_WhirlWind"]["IsFollowState"] = false
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetNum"] = Var["KC_WhirlWind"]["CurTargetNum"] + 1
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetHandle"] = PopMyTarget( Var["KC_WhirlWind"]["TargetList"] )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local PathList = Var["KC_WhirlWind"]["PathListEachTarget"]
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD>ش<EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> path <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
if PathList[CurTargetHandle] == nil
|
|
|
|
|
then
|
|
|
|
|
-- Ÿ<EFBFBD>ٰ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʹ<EFBFBD> <EFBFBD>ָ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local distanceWithTarget = cDistanceSquar( Handle, CurTargetHandle )
|
|
|
|
|
--DebugLog("Ÿ<EFBFBD>ٰ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ÿ<EFBFBD>["..CurTargetHandle.."] : "..distanceWithTarget)
|
|
|
|
|
|
|
|
|
|
if cDistanceSquar( Handle, CurTargetHandle ) > ( SkillInfo["Target_Distance"] * SkillInfo["Target_Distance"] )
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("Ÿ<EFBFBD>ٰ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʹ<EFBFBD> <EFBFBD>ִ<EFBFBD>.. <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
Var["KC_WhirlWind"]["IsFollowState"] = false
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetNum"] = Var["KC_WhirlWind"]["CurTargetNum"] + 1
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetHandle"] = PopMyTarget( Var["KC_WhirlWind"]["TargetList"] )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--DebugLog("Ÿ<EFBFBD><EFBFBD>"..CurTargetHandle.."<EFBFBD><EFBFBD> path <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
|
|
|
|
|
PathList[CurTargetHandle] = {}
|
|
|
|
|
PathList[CurTargetHandle]["CurPathNum"] = 1
|
|
|
|
|
|
|
|
|
|
-- ù<EFBFBD><EFBFBD>° path<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD>ڸ<EFBFBD>
|
|
|
|
|
PathList[CurTargetHandle][1] = {}
|
|
|
|
|
PathList[CurTargetHandle][1]["x"],
|
|
|
|
|
PathList[CurTargetHandle][1]["y"] = cObjectLocate( CurTargetHandle )
|
|
|
|
|
|
|
|
|
|
PathList[CurTargetHandle][1]["x"] = PathList[CurTargetHandle][1]["x"] + 5
|
|
|
|
|
PathList[CurTargetHandle][1]["y"] = PathList[CurTargetHandle][1]["y"] + 5
|
|
|
|
|
|
|
|
|
|
-- 2<EFBFBD><EFBFBD>° <EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> path<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ǥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ǥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
for i = 2, SkillInfo["PathListEachTarget"]["ListNum"]
|
|
|
|
|
do
|
|
|
|
|
local Dir = cRandomInt( 1, 90 ) * 4
|
|
|
|
|
local LocateX, LocateY = cGetAroundCoord( CurTargetHandle, Dir, SkillInfo["PathListEachTarget"]["Distance"] )
|
|
|
|
|
|
|
|
|
|
PathList[CurTargetHandle][i] = {}
|
|
|
|
|
PathList[CurTargetHandle][i]["x"] = LocateX
|
|
|
|
|
PathList[CurTargetHandle][i]["y"] = LocateY
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> PathList <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
for i = 1, SkillInfo["PathListEachTarget"]["ListNum"]
|
|
|
|
|
do
|
|
|
|
|
DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD> "..CurTargetHandle.."<EFBFBD><EFBFBD> [ "..i.." ][\"x\"]"..PathList[CurTargetHandle][i]["x"])
|
|
|
|
|
DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD> "..CurTargetHandle.."<EFBFBD><EFBFBD> [ "..i.." ][\"y\"]"..PathList[CurTargetHandle][i]["y"])
|
|
|
|
|
end
|
|
|
|
|
--]]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD>ش<EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> path <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִٸ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>°<EFBFBD> cRunTo<EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
if PathList[CurTargetHandle] ~= nil
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
local CurPathNum = PathList[CurTargetHandle]["CurPathNum"]
|
|
|
|
|
|
|
|
|
|
-- Ÿ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ°<EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
if CurPathNum <= SkillInfo["PathListEachTarget"]["ListNum"]
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> path<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>°<EFBFBD> <EFBFBD>ƴϸ<EFBFBD>, Ÿ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["KC_WhirlWind"]["IsFollowState"] == false
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> nil<EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!
|
|
|
|
|
-- cRunTo <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD> nil<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><EFBFBD> <EFBFBD>ȵ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>⼭ <EFBFBD≯<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
if PathList[CurTargetHandle][CurPathNum]["x"] == nil or PathList[CurTargetHandle][CurPathNum]["y"] == nil
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("CurTargetHandle<EFBFBD><EFBFBD> path<EFBFBD><EFBFBD> nil<EFBFBD>̶<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>̵<EFBFBD>")
|
|
|
|
|
PathList[CurTargetHandle] = nil
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetNum"] = Var["KC_WhirlWind"]["CurTargetNum"] + 1
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cRunTo( Handle, PathList[CurTargetHandle][CurPathNum]["x"], PathList[CurTargetHandle][CurPathNum]["y"], SkillInfo["SpeedRate"] ) == nil
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
Var["KC_WhirlWind"]["IsFollowState"] = true
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> path : "..CurPathNum)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> path<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>, <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD><EFBFBD>
|
|
|
|
|
if Var["KC_WhirlWind"]["IsFollowState"] == true
|
|
|
|
|
then
|
|
|
|
|
local myLocateX, myLocateY = cObjectLocate( Handle )
|
|
|
|
|
|
|
|
|
|
--DebugLog("ŷũ<EFBFBD><EFBFBD> x : "..myLocateX.."ŷũ<EFBFBD><EFBFBD> y : "..myLocateY )
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD>ǥ : "..PathList[CurTargetHandle][CurPathNum]["x"]..", "..PathList[CurTargetHandle][CurPathNum]["y"] )
|
|
|
|
|
|
|
|
|
|
local dist = cDistanceSquar( myLocateX, myLocateY, PathList[CurTargetHandle][CurPathNum]["x"], PathList[CurTargetHandle][CurPathNum]["y"] )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
if dist > SkillInfo["PathListEachTarget"]["Distance"]
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.."..dist)
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> path<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--DebugLog("<EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. <EFBFBD><EFBFBD><EFBFBD><EFBFBD> path<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
PathList[CurTargetHandle]["CurPathNum"] = PathList[CurTargetHandle]["CurPathNum"] + 1
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> path : "..PathList[CurTargetHandle]["CurPathNum"] )
|
|
|
|
|
|
|
|
|
|
Var["KC_WhirlWind"]["IsFollowState"] = false
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Ÿ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
|
|
|
|
|
PathList[CurTargetHandle] = nil
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetNum"] = Var["KC_WhirlWind"]["CurTargetNum"] + 1
|
|
|
|
|
Var["KC_WhirlWind"]["CurTargetHandle"] = PopMyTarget( Var["KC_WhirlWind"]["TargetList"] )
|
|
|
|
|
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> path<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"..CurTargetHandle)
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD>num<EFBFBD><EFBFBD> : "..Var["KC_WhirlWind"]["CurTargetNum"] )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> Ÿ<EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>")
|
|
|
|
|
|
|
|
|
|
local AbStateList = SkillInfo["AbState_To_KingCrab"]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cResetAbstate( Handle, AbStateList["SpinDamage"]["Index"] )
|
|
|
|
|
cResetAbstate( Handle, AbStateList["NotTargetted"]["Index"] )
|
|
|
|
|
|
|
|
|
|
Var["KC_WhirlWind"] = nil
|
|
|
|
|
|
|
|
|
|
Var[Handle]["IsProgressSpecialSkill"] = false
|
|
|
|
|
|
|
|
|
|
Var["KingCrabProcess"]["SkillStartTime"] = 0
|
|
|
|
|
Var["KingCrabProcess"]["SkillWorkTime"] = 0
|
|
|
|
|
Var["KingCrabProcess"]["SkillEndTime"] = 0
|
|
|
|
|
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- KingCrab :: <EFBFBD><EFBFBD>ȯ
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
function KC_SummonBubble( Handle, MapIndex )
|
|
|
|
|
cExecCheck "KC_SummonBubble"
|
|
|
|
|
|
|
|
|
|
local Var = InstanceField[ MapIndex ]
|
|
|
|
|
|
|
|
|
|
if Var["KingCrabProcess"]["SkillWorkTime"] > Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local SkillInfo = SkillInfo_KingCrab["KC_SummonBubble"]
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> KC_SummonBubble ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ϴ<EFBFBD> <EFBFBD>κ<EFBFBD>(<EFBFBD>ʱ<EFBFBD>ȭ)
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
if Var["KC_SummonBubble"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["KC_SummonBubble"] = {}
|
|
|
|
|
|
|
|
|
|
local AbStateList = SkillInfo["AbState_To_KingCrab"]
|
|
|
|
|
|
|
|
|
|
cSetAbstate( Handle, AbStateList["NotTargetted"]["Index"], AbStateList["NotTargetted"]["Strength"], AbStateList["NotTargetted"]["KeepTime"], Handle )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD≯<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD><EFBFBD>ִ<EFBFBD> <EFBFBD>÷<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local PlayerHandleList = { cGetPlayerList( Var["MapIndex"] ) }
|
|
|
|
|
--DebugLog( "<EFBFBD>ʿ<EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> : "..#PlayerHandleList )
|
|
|
|
|
for i = 1, #PlayerHandleList
|
|
|
|
|
do
|
|
|
|
|
cTargetChangeNull( PlayerHandleList[i], Handle )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD> x, y<EFBFBD><EFBFBD> SummonRegenLocate <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>
|
|
|
|
|
if Var["KC_SummonBubble"]["SummonRegenLocate"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["KC_SummonBubble"]["SummonRegenLocate"] = {}
|
|
|
|
|
|
|
|
|
|
local CurKingCrabX, CurKingCrabY = cObjectLocate( Handle )
|
|
|
|
|
|
|
|
|
|
for i = 1, SkillInfo["SummonNum"]
|
|
|
|
|
do
|
|
|
|
|
Var["KC_SummonBubble"]["SummonRegenLocate"][i] = {}
|
|
|
|
|
Var["KC_SummonBubble"]["SummonRegenLocate"][i]["x"],
|
|
|
|
|
Var["KC_SummonBubble"]["SummonRegenLocate"][i]["y"] = cGetCoord_Circle( CurKingCrabX, CurKingCrabY, SkillInfo["SummonRadius"] )
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ǥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
DebugLog("----["..i.."]----")
|
|
|
|
|
DebugLog("SummonRegenLocate X :"..Var["KC_SummonBubble"]["SummonRegenLocate"][i]["x"])
|
|
|
|
|
DebugLog("SummonRegenLocate Y :"..Var["KC_SummonBubble"]["SummonRegenLocate"][i]["y"])
|
|
|
|
|
--]]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʱ<EFBFBD>ȭ<EFBFBD>Ѵ<EFBFBD>
|
|
|
|
|
if Var["KC_SummonBubble"]["SummonTime"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["KC_SummonBubble"]["SummonTime"] = Var["CurSec"]
|
|
|
|
|
Var["KC_SummonBubble"]["CurSummonSequence"] = 1
|
|
|
|
|
|
|
|
|
|
--DebugLog("SummonTime : " ..Var["CurSec"])
|
|
|
|
|
--DebugLog("CurSummonSequence : " ..Var["KC_SummonBubble"]["CurSummonSequence"])
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> Var["KC_SummonBubble"] <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>κ<EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
if Var["KC_SummonBubble"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["KC_SummonBubble"]["SummonTime"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
if Var["KC_SummonBubble"]["SummonTime"] > Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["KC_SummonBubble"]["CurSummonSequence"] <= SkillInfo["SummonNum"]
|
|
|
|
|
then
|
|
|
|
|
local CurSummonMob = Var["KC_SummonBubble"]["SummonRegenLocate"][Var["KC_SummonBubble"]["CurSummonSequence"]]
|
|
|
|
|
|
|
|
|
|
local CurSummonHandle = cMobRegen_XY( MapIndex, SkillInfo["SummonIndex"], CurSummonMob["x"], CurSummonMob["y"] )
|
|
|
|
|
|
|
|
|
|
if CurSummonHandle == nil
|
|
|
|
|
then
|
|
|
|
|
-- DebugLog("<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>"..Var["KC_SummonBubble"]["CurSummonSequence"] )
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʴ´<EFBFBD>.
|
|
|
|
|
-- <EFBFBD>׳<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ѿ<EFBFBD><EFBFBD>.
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if CurSummonHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
if cSkillBlast( CurSummonHandle, CurSummonHandle, SkillInfo["SummonSkillIndex"] ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog("<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"..Var["KC_SummonBubble"]["CurSummonSequence"] )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["KC_SummonBubble"]["CurSummonSequence"] = Var["KC_SummonBubble"]["CurSummonSequence"] + 1
|
|
|
|
|
Var["KC_SummonBubble"]["SummonTime"] = Var["KC_SummonBubble"]["SummonTime"] + SkillInfo["SummonTick"]
|
|
|
|
|
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD> : "..Var["KC_SummonBubble"]["SummonTime"])
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>, <EFBFBD>ʱ<EFBFBD>ȭ
|
|
|
|
|
Var["KC_SummonBubble"]["SummonTime"] = nil
|
|
|
|
|
Var["KC_SummonBubble"]["CurSummonSequence"] = nil
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ <EFBFBD>۾<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ö<EFBFBD><EFBFBD>͵<EFBFBD> <EFBFBD>Ǵ<EFBFBD> <EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD>Ѵ<EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
if Var["KingCrabProcess"]["SkillEndTime"] > Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..")
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["KingCrabProcess"]["SkillEndTime"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD>!")
|
|
|
|
|
local AbStateList = SkillInfo["AbState_To_KingCrab"]
|
|
|
|
|
|
|
|
|
|
cResetAbstate( Handle, AbStateList["NotTargetted"]["Index"] )
|
|
|
|
|
|
|
|
|
|
Var["KC_SummonBubble"] = nil
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ų ó<EFBFBD><EFBFBD> <EFBFBD>ٳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
Var[Handle]["IsProgressSpecialSkill"] = false
|
|
|
|
|
|
|
|
|
|
Var["KingCrabProcess"]["SkillStartTime"] = 0
|
|
|
|
|
Var["KingCrabProcess"]["SkillWorkTime"] = 0
|
|
|
|
|
Var["KingCrabProcess"]["SkillEndTime"] = 0
|
|
|
|
|
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
|
|
|
|
|
end
|