-------------------------------------------------------------------------------- -- KingCrab :: ÈÙÀ©µå -------------------------------------------------------------------------------- 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"] -------------------------------------------------------------------------------- -- ¡Ú ÈÙÀ©µå 󸮻ó, Çѹø¸¸ ÇØÁà¾ß ÇÏ´Â ºÎºÐ(ÃʱâÈ­) -------------------------------------------------------------------------------- if Var["KC_WhirlWind"] == nil then Var["KC_WhirlWind"] ={} --DebugLog("KC_WhirlWind Å×ÀÌºí »ý¼º") ------------------------------------------------------------------------------------------ -- 1. Àӽà Ÿ°Ù ¸®½ºÆ® »ý¼º -- Å·Å©·¦°ú ÀÏÁ¤°Å¸® ¾È¿¡ ÀÖ´Â Ç÷¹ÀÌ¾î ¸®½ºÆ® ¹Þ¾Æ¿È Var["KC_WhirlWind"]["TargetList_Temp"] = { cNearObjectList( Handle, SkillInfo["Target_SearchArea"], ObjectType["Player"] ) } --[[ DebugLog("========================================================") DebugLog("TargetList_Temp Ÿ°Ù¸®½ºÆ®") for i = 1, #Var["KC_WhirlWind"]["TargetList_Temp"] do DebugLog("Ÿ°Ù ÇÚµé[ "..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"] = {} -- Ÿ°Ùº°·Î path ÀúÀåÇÏ´Â Å×À̺í ------------------------------------------------------------------------------------------ -- 2. Á¶°Ç¿¡ ¸Â´Â Ç÷¹À̾½ºÆ® ´Ù½Ã »ý¼º( ¿ì¼±¼øÀ§ Á¶°Ç¿¡ ¸Â°Ô ) Var["KC_WhirlWind"]["TargetList"] = {} -- TargetList_Temp µ¹¸ç, À¯Àúº° ¿ì¼±¼øÀ§ Á¡¼ö¸¦ ºÎ¿©ÇÑ´Ù. for i, v in pairs( Var["KC_WhirlWind"]["TargetList_Temp"] ) do -- ¿ì¼±¼øÀ§ Á¡¼ö ÃʱâÈ­ Var["KC_WhirlWind"]["TargetList"][v] = 0 ------------------------------------------------------------------------------------------ -- 1 ) À¯ÀúÀÇ Á÷¾÷ üũ. 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("À¯ÀúÁ÷¾÷Àº "..charBaseClassNum..", µû¶ó¼­ +"..Priority_Class[i]["arg"].." = "..Var["KC_WhirlWind"]["TargetList"][v] ) break end end ------------------------------------------------------------------------------------------ -- 2 ) À¯ÀúÀÇ »óÅÂÀÌ»ó üũ. 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("À¯Àú»óÅ´ "..Priority_AbState[i]["Index"]..", µû¶ó¼­ +"..Priority_AbState[i]["arg"].." = "..Var["KC_WhirlWind"]["TargetList"][v]) end end end -- »õ·Î ¸¸µé¾îÁø Ÿ°Ù¸®½ºÆ® TargetListÀÇ Å©±â¸¦ °è»ê, °ªÀ» °®´Â´Ù. --DebugLog("Ÿ°Ù¸®½ºÆ® Ãâ·Â") 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 Å©±â´Â.. "..Var["KC_WhirlWind"]["TargetListSize"] ) --DebugLog("ù Ÿ°ÙÀº .."..Var["KC_WhirlWind"]["CurTargetHandle"]) ------------------------------------------------------------------------------------------ -- 3. Å·Å©·¦¿¡ »óÅÂÀÌ»ó °É¾îÁØ´Ù( µ¥ÀÌÅͷΠó¸®µÊ ) -- StaSDVale01_Wheel : µµ´Â ¾Ö´Ï¸ÞÀÌ¼Ç ¹× ÁÖº¯ µ¥¹ÌÁö ÁÜ local AbStateList = SkillInfo["AbState_To_KingCrab"] -- ½ºÅ³µ¥ÀÌÅÍ¿¡ »óÅÂÀÌ»ó °Éµµ·Ï ¼³Á¤µÇ¾îÀÖÁö¸¸, keeptime º¸´Ù ´õ ¿À·¡ ÈÙÀ©µå ½ºÅ³ ½ÃÀüÇÒ ¼ö ÀÖ´Â °æ¿ì¸¦ °í·ÁÇØ, ´Ù½Ã ¼¼Æà cSetAbstate( Handle, AbStateList["SpinDamage"]["Index"], AbStateList["SpinDamage"]["Strength"], AbStateList["SpinDamage"]["KeepTime"], Handle ) cSetAbstate( Handle, AbStateList["NotTargetted"]["Index"], AbStateList["NotTargetted"]["Strength"], AbStateList["NotTargetted"]["KeepTime"], Handle ) -- ¹Ì¸® ¸÷À» Ÿ°ÙÆÃÇÏ°íÀÖ´ø Ç÷¹À̾îµéÀÇ Å¸°ÙÆà ÇØÁ¦ local PlayerHandleList = { cGetPlayerList( Var["MapIndex"] ) } -- DebugLog( "¸Ê¿¡ ÀÖ´Â À¯ÀúÀÇ ¼ö : "..#PlayerHandleList ) for i = 1, #PlayerHandleList do cTargetChangeNull( PlayerHandleList[i], Handle ) end end ------------------------------------------------------------------------------------------ -- 4. Ÿ°ÙµðÅ×Àϸ®½ºÆ®[1] = {}À» »ý¼º, Ÿ°Ù¸®½ºÆ®[1]ÀÇ Çڵ鰪À» ÀÌ¿ëÇØ 5°³ÀÇ ·£´ýÁÂÇ¥°ªÀ» ¾ò´Â´Ù. -- Ÿ°ÙµðÅ×Àϸ®½ºÆ®[1][1]["x"] = 2, -- Ÿ°ÙµðÅ×Àϸ®½ºÆ®[1][1]["y"] = 2, -- ..... -- Ÿ°ÙµðÅ×Àϸ®½ºÆ®[1][5]["x"] = 2, -- Ÿ°ÙµðÅ×Àϸ®½ºÆ®[1][5]["y"] = 2, -- Ÿ°ÙµðÅ×Àϸ®½ºÆ® °³¼ö´Â #Ÿ°Ù¸®½ºÆ® ¸¸Å­ Á¸Àç -------------------------------------------------------------------------------- -- ¡Ú Var["KC_WhirlWind"] Å×ÀÌºí »ý¼ºµÈ µÚ ó¸®ÇÒ ºÎºÐ -------------------------------------------------------------------------------- if Var["KC_WhirlWind"] ~= nil then local CurTargetNum = Var["KC_WhirlWind"]["CurTargetNum"] local CurTargetHandle = Var["KC_WhirlWind"]["CurTargetHandle"] -------------------------------------------------------------------------------- -- ¡å ÈÙÀ©µå ÃÖ´ë Áö¼Ó½Ã°£À» üũÇÑ´Ù. ¾î¶² ÇൿÁßÀÌ´õ¶óµµ, ÀÌ ½Ã°£ÀÌ ³ÑÀ¸¸é ¹«Á¶°Ç ÈÙÀ©µå ½ºÅ³À» ¸¶¹«¸®Áþ´Â´Ù. -------------------------------------------------------------------------------- if Var["KingCrabProcess"]["SkillEndTime"] <= Var["CurSec"] then --DebugLog("½Ã°£ ÃÊ°ú! ÇൿÁßÁö!") local AbStateList = SkillInfo["AbState_To_KingCrab"] -- ÈÙÀ©µå »óÅÂÀÌ»ó ÇØÁ¦ 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 -------------------------------------------------------------------------------- -- ¡å Ÿ°Ù¸®½ºÆ®¿¡ ¾ÆÁ÷ ÃßÀûÇÒ À¯Àú°¡ ÀÖ´Â °æ¿ì -------------------------------------------------------------------------------- -- ÃßÀûÇÒ Å¸°ÙÀÌ ³²¾ÆÀÖÀ¸¸é, if CurTargetNum <= Var["KC_WhirlWind"]["TargetListSize"] then -- Ÿ°Ù Çڵ鰪ÀÌ ¾øÀ¸¹Ç·Î, ´ÙÀ½ Ÿ°ÙÀ¸·Î º¯°æ if CurTargetHandle == nil or CurTargetHandle == INVALID_HANDLE then --DebugLog("ÇØ´ç Ÿ°ÙÀÇ Çڵ鰪 == nil or INVALID_HANDLE, ´ÙÀ½ Ÿ°ÙÀ¸·Î º¯°æ") 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 -- Ÿ°ÙÀÌ ÀÌ¹Ì Á×¾úÀ¸¹Ç·Î, ´ÙÀ½ Ÿ°ÙÀ¸·Î º¯°æ if cIsObjectDead( CurTargetHandle ) == 1 or cIsObjectAlreadyDead( CurTargetHandle ) == 1 then --DebugLog("Ÿ°ÙÀÌ Áװųª ¾øÀ½, ´ÙÀ½ Ÿ°ÙÀ¸·Î º¯°æ") 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"] -------------------------------------------------------------------------------- -- ¢Á ÇØ´ç Ÿ°ÙÀÇ °³º° path ¸®½ºÆ®°¡ ¸¸µé¾îÁ® ÀÖÁö ¾ÊÀ¸¸é, ¸®½ºÆ®¸¦ »ý¼ºÇÑ´Ù. -------------------------------------------------------------------------------- if PathList[CurTargetHandle] == nil then -- Ÿ°Ù°úÀÇ °Å¸®°¡ ³Ê¹« ¸Ö¸é, ´ÙÀ½ Ÿ°ÙÀ¸·Î º¯°æ local distanceWithTarget = cDistanceSquar( Handle, CurTargetHandle ) --DebugLog("Ÿ°Ù°úÀÇ °Å¸®["..CurTargetHandle.."] : "..distanceWithTarget) if cDistanceSquar( Handle, CurTargetHandle ) > ( SkillInfo["Target_Distance"] * SkillInfo["Target_Distance"] ) then --DebugLog("Ÿ°Ù°úÀÇ °Å¸®°¡ ³Ê¹« ¸Ö´Ù.. ´ÙÀ½ Ÿ°ÙÀ¸·Î º¯°æ") 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("Ÿ°Ù"..CurTargetHandle.."ÀÇ path »ý¼º½ÃÀÛ") PathList[CurTargetHandle] = {} PathList[CurTargetHandle]["CurPathNum"] = 1 -- ù¹ø° path´Â À¯Àú°¡ ÀÖ´ø ÀÚ¸® 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¹ø° ÀÌÈĺÎÅÍÀÇ path´Â ÇöÀç À¯Àú ÁÂÇ¥ ±âÁØ ·£´ý ÁÂÇ¥ ÃßÃâ 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 --[[ -- µð¹ö±ë¿ë. ÇöÀç Ÿ°ÙÀÇ PathList Ãâ·Â for i = 1, SkillInfo["PathListEachTarget"]["ListNum"] do DebugLog("ÇöÀç Ÿ°Ù "..CurTargetHandle.."ÀÇ [ "..i.." ][\"x\"]"..PathList[CurTargetHandle][i]["x"]) DebugLog("ÇöÀç Ÿ°Ù "..CurTargetHandle.."ÀÇ [ "..i.." ][\"y\"]"..PathList[CurTargetHandle][i]["y"]) end --]] end -------------------------------------------------------------------------------- -- ¢Á ÇØ´ç Ÿ°ÙÀÇ °³º° path ¸®½ºÆ®°¡ ¸¸µé¾îÁ® ÀÖÀ¸¸é -------------------------------------------------------------------------------- -- ÇöÀç Ÿ°ÙÀÇ °³º°¸®½ºÆ®°¡ ¸¸µé¾îÁ® ÀÖ´Ù¸é, ¼ø¼­¿¡ ¸Â°Ô cRunToÇÑ´Ù. if PathList[CurTargetHandle] ~= nil then local CurPathNum = PathList[CurTargetHandle]["CurPathNum"] -- Ÿ°Ù °³º°¸®½ºÆ® °³¼ö ³»¿¡¼­ Á¤»óÀûÀ¸·Î µ¹°íÀִ°æ¿ì, if CurPathNum <= SkillInfo["PathListEachTarget"]["ListNum"] then -- ÇöÀç pathÀ» ÃßÀûÇÏ°í ÀÖ´Â »óÅ°¡ ¾Æ´Ï¸é, Ÿ°Ù ÃßÀû ½ÃÀÛ if Var["KC_WhirlWind"]["IsFollowState"] == false then -- ¸ñÀûÁö ÁÂÇ¥°ªÀÌ nilÀ̶ó¸é, ´ÙÀ½ Ÿ°ÙÀ¸·Î! -- cRunTo ¿¡¼­ ¸ñÀûÁö ÁÂÇ¥°ª nil·Î ÇßÀ»¶§ ¿¹¿Üó¸® ¾ÈµÇÀÖµå¶ó°í...±×·¡¼­ ¿ä±â¼­ ¹Ì¸® ÇØÁà¾ßÇÔ, if PathList[CurTargetHandle][CurPathNum]["x"] == nil or PathList[CurTargetHandle][CurPathNum]["y"] == nil then --DebugLog("CurTargetHandleÀÇ path°¡ nilÀ̶ó, ´ÙÀ½ Ÿ°ÙÀ¸·Î À̵¿") 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("´Þ·Á°¡±â ½ÇÆÐ") return ReturnAI["END"] end Var["KC_WhirlWind"]["IsFollowState"] = true --DebugLog("Ãâ¹ß path : "..CurPathNum) end -- ÇöÀç pathÀ» ÃßÀûÇÏ°í ÀÖ´Â »óŸé, °Å¸®¸¦ üũÇÔ if Var["KC_WhirlWind"]["IsFollowState"] == true then local myLocateX, myLocateY = cObjectLocate( Handle ) --DebugLog("Å·Å©·¦ x : "..myLocateX.."Å·Å©·¦ y : "..myLocateY ) --DebugLog("¸ñÇ¥ÁÂÇ¥ : "..PathList[CurTargetHandle][CurPathNum]["x"]..", "..PathList[CurTargetHandle][CurPathNum]["y"] ) local dist = cDistanceSquar( myLocateX, myLocateY, PathList[CurTargetHandle][CurPathNum]["x"], PathList[CurTargetHandle][CurPathNum]["y"] ) -- °Å¸®°¡ ÃæºÐÈ÷ °¡±î¿öÁöÁö ¾Ê¾ÒÀ¸¸é, if dist > SkillInfo["PathListEachTarget"]["Distance"] then --DebugLog("°¡´ÂÁß.."..dist) return ReturnAI["END"] end -- °Å¸®°¡ ÃæºÐÈ÷ °¡±î¿öÁ³À¸¸é, ´ÙÀ½ path·Î º¯°æ --DebugLog("°Å¸®°¡ ÃæºÐÈ÷ °¡±î¿öÁ³À½.. ´ÙÀ½ path·Î º¯°æ") PathList[CurTargetHandle]["CurPathNum"] = PathList[CurTargetHandle]["CurPathNum"] + 1 --DebugLog("´ÙÀ½ path : "..PathList[CurTargetHandle]["CurPathNum"] ) Var["KC_WhirlWind"]["IsFollowState"] = false return ReturnAI["END"] end end -- Ÿ°Ù °³º°¸®½ºÆ® °³¼ö¸¦ ´Ù µ¹¾Æ¼­ ºüÁ®³ª¿Â »óÅÂ, -- ´ÙÀ½ Ÿ°ÙÀ¸·Î º¯°æÇÑ´Ù. PathList[CurTargetHandle] = nil Var["KC_WhirlWind"]["CurTargetNum"] = Var["KC_WhirlWind"]["CurTargetNum"] + 1 Var["KC_WhirlWind"]["CurTargetHandle"] = PopMyTarget( Var["KC_WhirlWind"]["TargetList"] ) --DebugLog("ÇöÀç Ÿ°ÙÀÇ path´Â ¸ðµÎ µ¹¾ÒÀ½!"..CurTargetHandle) --DebugLog("´ÙÀ½ Ÿ°ÙnumÀº : "..Var["KC_WhirlWind"]["CurTargetNum"] ) return ReturnAI["END"] end end -------------------------------------------------------------------------------- -- ¡å Ÿ°Ù¸®½ºÆ®¿¡ ÀÖ´Â À¯Àú¸¦ ¸ðµÎ ÃßÀû¿Ï·áÇÑ °æ¿ì -------------------------------------------------------------------------------- --DebugLog("¸ðµç Ÿ°Ù ÃßÀû¿Ï·á") local AbStateList = SkillInfo["AbState_To_KingCrab"] -- ÈÙÀ©µå »óÅÂÀÌ»ó ÇØÁ¦ 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 :: ¼Òȯ -------------------------------------------------------------------------------- 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"] -------------------------------------------------------------------------------- -- ¡Ú KC_SummonBubble 󸮻ó, Çѹø¸¸ ÇØÁà¾ß ÇÏ´Â ºÎºÐ(ÃʱâÈ­) -------------------------------------------------------------------------------- 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 ) -- ¹Ì¸® ¸÷À» Ÿ°ÙÆÃÇÏ°íÀÖ´ø Ç÷¹À̾îµéÀÇ Å¸°ÙÆà ÇØÁ¦ local PlayerHandleList = { cGetPlayerList( Var["MapIndex"] ) } --DebugLog( "¸Ê¿¡ ÀÖ´Â À¯ÀúÀÇ ¼ö : "..#PlayerHandleList ) for i = 1, #PlayerHandleList do cTargetChangeNull( PlayerHandleList[i], Handle ) end -- ¸÷À» ¼ÒȯÇÒ ÁÂÇ¥°ª x, y¸¦ SummonRegenLocate Å×ÀÌºí¿¡ ÀúÀåÇÑ´Ù 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"] ) --[[ -- µð¹ö±ë¿ë, ¸÷ÀÌ ¼ÒȯµÉ ÁÂÇ¥ Á¤º¸¸¦ Ãâ·Â DebugLog("----["..i.."]----") DebugLog("SummonRegenLocate X :"..Var["KC_SummonBubble"]["SummonRegenLocate"][i]["x"]) DebugLog("SummonRegenLocate Y :"..Var["KC_SummonBubble"]["SummonRegenLocate"][i]["y"]) --]] end end -- ¼ÒȯÇÒ ½Ã°£°ú, ¼ÒȯÇÒ ¸÷ ¼ø¼­Á¤º¸¸¦ ÃʱâÈ­ÇÑ´Ù 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 -------------------------------------------------------------------------------- -- ¡Ú Var["KC_SummonBubble"] Å×ÀÌºí »ý¼ºµÈ µÚ ó¸®ÇÒ ºÎºÐ -------------------------------------------------------------------------------- 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("¸÷ ¸®Á¨ ½ÇÆÐ"..Var["KC_SummonBubble"]["CurSummonSequence"] ) -- ·£´ýÀ¸·Î ÃßÃâÇÑ ÁÂÇ¥°¡ ºí·°ÀÎ °æ¿ì, ¸÷¸®Á¨ÀÌ ½ÇÆÐÇÏÁö¸¸ º°µµÀÇ ¿¹¿Ü󸮴 ÇÏÁö¾Ê´Â´Ù. -- ±×³É ´ÙÀ½ ¸÷ ¸®Á¨Çϵµ·Ï ³Ñ¾î°£´Ù. end if CurSummonHandle ~= nil then if cSkillBlast( CurSummonHandle, CurSummonHandle, SkillInfo["SummonSkillIndex"] ) == nil then ErrorLog("¸÷ ½ºÅ³»ç¿ë½ÇÆÐ"..Var["KC_SummonBubble"]["CurSummonSequence"] ) end end -- ´ÙÀ½ ¸÷ ¸®Á¨À» À§ÇÑ Á¤º¸ ¼¼Æà Var["KC_SummonBubble"]["CurSummonSequence"] = Var["KC_SummonBubble"]["CurSummonSequence"] + 1 Var["KC_SummonBubble"]["SummonTime"] = Var["KC_SummonBubble"]["SummonTime"] + SkillInfo["SummonTick"] --DebugLog("´ÙÀ½ ¸®Á¨ÇÒ ½Ã°£Àº : "..Var["KC_SummonBubble"]["SummonTime"]) return ReturnAI["END"] end -- ¸®Á¨Å×ÀÌºí ´Ù µ¹¾ÒÀ¸´Ï±ñ, ÃʱâÈ­ Var["KC_SummonBubble"]["SummonTime"] = nil Var["KC_SummonBubble"]["CurSummonSequence"] = nil end -------------------------------------------------------------------------------- -- ¡å ¸÷ ¼Òȯ ÀÛ¾÷ÀÌ ³¡³µÀ¸¹Ç·Î, ¶¥ À§·Î ¿Ã¶ó¿Íµµ µÇ´Â ½Ã°£ÀÎÁö üũÇÑ´Ù -------------------------------------------------------------------------------- if Var["KingCrabProcess"]["SkillEndTime"] > Var["CurSec"] then --DebugLog("¿Ã¶ó¿À±â ´ë±âÁß..") return ReturnAI["END"] end if Var["KingCrabProcess"]["SkillEndTime"] <= Var["CurSec"] then --DebugLog("ÀÌÁ¦ ¶¥À§·Î ¿Ã¶ó¿Ã ½Ã°£!") local AbStateList = SkillInfo["AbState_To_KingCrab"] cResetAbstate( Handle, AbStateList["NotTargetted"]["Index"] ) Var["KC_SummonBubble"] = nil -- ½ºÅ³ ó¸® ´Ù³¡³µÀ¸¸é, 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