-------------------------------------------------------------------------------- -- KingSlime :: ÃÖÃʳ«ÇÏ( ¸®Á¨ ÈÄ ½ºÅ³ ) -------------------------------------------------------------------------------- function KS_ShowUp( Handle, MapIndex ) cExecCheck "KS_ShowUp" local Var = InstanceField[ MapIndex ] if Var["KingSlimeProcess"]["SkillEndTime"] > Var["CurSec"] then return ReturnAI["END"] end -- ½ºÅ³ ó¸® ´Ù³¡³µÀ¸¸é, Var[Handle]["IsProgressSpecialSkill"] = false Var["KingSlimeProcess"]["SkillStartTime"] = 0 Var["KingSlimeProcess"]["SkillEndTime"] = 0 cAIScriptSet( Handle ) return ReturnAI["END"] end -------------------------------------------------------------------------------- -- KingSlime :: °­¸² -------------------------------------------------------------------------------- function KS_Warp( Handle, MapIndex ) cExecCheck "KS_Warp" local Var = InstanceField[ MapIndex ] if Var["KingSlimeProcess"]["SkillWorkTime"] > Var["CurSec"] then return ReturnAI["END"] end local SkillInfo = SkillInfo_KingSlime["KS_Warp"] local AbStateList = SkillInfo["AbState_To_KingSlime"] -------------------------------------------------------------------------------- -- ¡Ú KS_Warp 󸮻ó, Çѹø¸¸ ÇØÁà¾ß ÇÏ´Â ºÎºÐ(ÃʱâÈ­) -------------------------------------------------------------------------------- if Var["KS_Warp"] == nil then DebugLog("KS_Warp Å×ÀÌºí »ý¼º") Var["KS_Warp"] = {} -- Å·½½¶óÀÓ¿¡ »óÅÂÀÌ»ó °É¾îÁØ´Ù 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 -------------------------------------------------------------------------------- -- ¡Ú Var["KS_Warp"] Å×ÀÌºí »ý¼ºµÈ µÚ ó¸®ÇÒ ºÎºÐ -------------------------------------------------------------------------------- if Var["KS_Warp"] ~= nil then if Var["KingSlimeProcess"]["SkillEndTime"] > Var["CurSec"] then return ReturnAI["END"] end if Var["KingSlimeProcess"]["SkillEndTime"] <= Var["CurSec"] then DebugLog("KS_Warp ¸ðµç ½ºÅ³Ã³¸®¿Ï·á!") --»óÅÂÀÌ»ó ÇØÁ¦ cResetAbstate( Handle, AbStateList["NotTargetted"]["Index"] ) Var["KS_Warp"] = nil -- ½ºÅ³ ó¸® ´Ù³¡³µÀ¸¸é, Var[Handle]["IsProgressSpecialSkill"] = false Var["KingSlimeProcess"]["SkillStartTime"] = 0 Var["KingSlimeProcess"]["SkillWorkTime"] = 0 Var["KingSlimeProcess"]["SkillEndTime"] = 0 Var["KingSlimeProcess"]["CurSkillIndex"] = nil cAIScriptSet( Handle ) return ReturnAI["END"] end end end -------------------------------------------------------------------------------- -- KingSlime :: Æø°Ý( ¸÷ ¼Òȯ ) -------------------------------------------------------------------------------- function KS_BombSlimePiece( Handle, MapIndex ) cExecCheck "KS_BombSlimePiece" local Var = InstanceField[ MapIndex ] if Var["KingSlimeProcess"]["SkillWorkTime"] > Var["CurSec"] then return ReturnAI["END"] end local SkillInfo = SkillInfo_KingSlime["KS_BombSlimePiece"] -------------------------------------------------------------------------------- -- ¡Ú KS_BombSlimePiece 󸮻ó, Çѹø¸¸ ÇØÁà¾ß ÇÏ´Â ºÎºÐ(ÃʱâÈ­) -------------------------------------------------------------------------------- if Var["KS_BombSlimePiece"] == nil then Var["KS_BombSlimePiece"] = {} --DebugLog("KS_BombSlimePiece Å×ÀÌºí »ý¼º") -- ¸÷À» ¼ÒȯÇÒ ÁÂÇ¥°ª x, y¸¦ SummonRegenLocate Å×ÀÌºí¿¡ ÀúÀåÇÑ´Ù if Var["KS_BombSlimePiece"]["SummonRegenLocate"] == nil then Var["KS_BombSlimePiece"]["SummonRegenLocate"] = {} local CurKingSlimeX, CurKingSlimeY = cObjectLocate( Handle ) for i = 1, SkillInfo["SummonNum"] do Var["KS_BombSlimePiece"]["SummonRegenLocate"][i] = {} Var["KS_BombSlimePiece"]["SummonRegenLocate"][i]["x"], Var["KS_BombSlimePiece"]["SummonRegenLocate"][i]["y"] = cGetCoord_Circle( CurKingSlimeX, CurKingSlimeY, SkillInfo["SummonRadius"] ) --[[ -- µð¹ö±ë¿ë, ¸÷ÀÌ ¼ÒȯµÉ ÁÂÇ¥ Á¤º¸¸¦ Ãâ·Â DebugLog("----["..i.."]----") DebugLog("SummonRegenLocate X :"..Var["KS_BombSlimePiece"]["SummonRegenLocate"][i]["x"]) DebugLog("SummonRegenLocate Y :"..Var["KS_BombSlimePiece"]["SummonRegenLocate"][i]["y"]) --]] end end -- ¼ÒȯÇÒ ½Ã°£°ú, ¼ÒȯÇÒ ¸÷ ¼ø¼­Á¤º¸¸¦ ÃʱâÈ­ÇÑ´Ù if Var["KS_BombSlimePiece"]["SummonTime"] == nil then Var["KS_BombSlimePiece"]["SummonTime"] = Var["CurSec"] Var["KS_BombSlimePiece"]["CurSummonSequence"] = 1 --DebugLog("SummonTime : " ..Var["CurSec"]) --DebugLog("CurSummonSequence : " ..Var["KS_BombSlimePiece"]["CurSummonSequence"]) end end -------------------------------------------------------------------------------- -- ¡Ú Var["KS_BombSlimePiece"] Å×ÀÌºí »ý¼ºµÈ µÚ ó¸®ÇÒ ºÎºÐ -------------------------------------------------------------------------------- if Var["KS_BombSlimePiece"] ~= nil then if Var["KS_BombSlimePiece"]["SummonTime"] ~= nil then if Var["KS_BombSlimePiece"]["SummonTime"] > Var["CurSec"] then return ReturnAI["END"] end if Var["KS_BombSlimePiece"]["CurSummonSequence"] <= SkillInfo["SummonNum"] then -- ¼Òȯ¸÷ÀÌ ¸®Á¨µÉ ÁÂÇ¥¸¦ ÀúÀåÇÏ´Â º¯¼ö local CurSummonMob = Var["KS_BombSlimePiece"]["SummonRegenLocate"][Var["KS_BombSlimePiece"]["CurSummonSequence"]] -- ¼Òȯ¸÷ÀÇ À妽º¿Í ¼Òȯ¸÷ÀÌ »ç¿ëÇÒ ½ºÅ³À妽º. º¸½º¸÷ÀÌ »ç¿ëÇÑ ½ºÅ³À妽º¿¡ µû¶ó ´Ù¸£´Ù. local CurSummonMobIndex = nil local CurSummonSkillIndex = nil -- Å·½½¶óÀÓÀÌ SD_SlimeLump ¸¸ ¼ÒȯÇÏ´Â ½ºÅ³ »ç¿ë½Ã. if Var["KingSlimeProcess"]["CurSkillIndex"] == SkillInfo["SkillIndex_Lump"] then --DebugLog("Å·½½¶óÀÓ ¼Òȯ½ºÅ³.."..SkillInfo["SkillIndex_Lump"] ) CurSummonMobIndex = SkillInfo["SummonLump"]["SummonIndex"] CurSummonSkillIndex = SkillInfo["SummonLump"]["SummonSkillIndex"] -- Å·½½¶óÀÓÀÌ SD_SlimeIce ¸¸ ¼ÒȯÇÏ´Â ½ºÅ³ »ç¿ë½Ã. elseif Var["KingSlimeProcess"]["CurSkillIndex"] == SkillInfo["SkillIndex_Ice"] then --DebugLog("Å·½½¶óÀÓ ¼Òȯ½ºÅ³.."..SkillInfo["SkillIndex_Ice"] ) CurSummonMobIndex = SkillInfo["SummonIce"]["SummonIndex"] CurSummonSkillIndex = SkillInfo["SummonIce"]["SummonSkillIndex"] -- Å·½½¶óÀÓÀÌ µÑ ´Ù ¼ÒȯÇÏ´Â ½ºÅ³ »ç¿ë½Ã.( ¦¼ö/Ȧ¼ö ±³´ë·Î ¼Òȯ¸÷ Á¾·ùº¯°æ ) elseif Var["KingSlimeProcess"]["CurSkillIndex"] == SkillInfo["SkillIndex_All"] then --DebugLog("Å·½½¶óÀÓ ¼Òȯ½ºÅ³.."..SkillInfo["SkillIndex_All"] ) if Var["KS_BombSlimePiece"]["CurSummonSequence"] % 2 == 0 then CurSummonMobIndex = SkillInfo["SummonLump"]["SummonIndex"] CurSummonSkillIndex = SkillInfo["SummonLump"]["SummonSkillIndex"] elseif Var["KS_BombSlimePiece"]["CurSummonSequence"] % 2 == 1 then CurSummonMobIndex = SkillInfo["SummonIce"]["SummonIndex"] CurSummonSkillIndex = SkillInfo["SummonIce"]["SummonSkillIndex"] end -- ÀÌ·± °æ¿ì´Â ¾øÁö¸¸.. µð¹ö±ë Å×½ºÆ®¿ëµµ.. else ErrorLog("KS_BombSlimePiece ·çƾ, ¾Ë¼ö¾ø´Â ½ºÅ³ »ç¿ëÁß..") end -- ¼ÒȯÇÑ ¸÷ÀÇ Çڵ鰪À» °®´Â´Ù. local CurSummonHandle = cMobRegen_XY( MapIndex, CurSummonMobIndex, CurSummonMob["x"], CurSummonMob["y"] ) if CurSummonHandle == nil then -- DebugLog("¸÷ ¸®Á¨ ½ÇÆÐ"..Var["KS_BombSlimePiece"]["CurSummonSequence"] ) -- ·£´ýÀ¸·Î ÃßÃâÇÑ ÁÂÇ¥°¡ ºí·°ÀÎ °æ¿ì, ¸÷¸®Á¨ÀÌ ½ÇÆÐÇÏÁö¸¸ º°µµÀÇ ¿¹¿Ü󸮴 ÇÏÁö¾Ê´Â´Ù. -- ±×³É ´ÙÀ½ ¸÷ ¸®Á¨Çϵµ·Ï ³Ñ¾î°£´Ù. end if CurSummonHandle ~= nil then if cSkillBlast( CurSummonHandle, CurSummonHandle, CurSummonSkillIndex ) == nil then ErrorLog("¸÷ ½ºÅ³»ç¿ë½ÇÆÐ"..Var["KS_BombSlimePiece"]["CurSummonSequence"] ) end end -- ´ÙÀ½ ¸÷ ¸®Á¨À» À§ÇÑ Á¤º¸ ¼¼Æà Var["KS_BombSlimePiece"]["CurSummonSequence"] = Var["KS_BombSlimePiece"]["CurSummonSequence"] + 1 Var["KS_BombSlimePiece"]["SummonTime"] = Var["KS_BombSlimePiece"]["SummonTime"] + SkillInfo["SummonTick"] --DebugLog("´ÙÀ½ ¸®Á¨ÇÒ ½Ã°£Àº : "..Var["KS_BombSlimePiece"]["SummonTime"]) return ReturnAI["END"] end -- ¸®Á¨Å×ÀÌºí ´Ù µ¹¾ÒÀ¸´Ï±ñ, ÃʱâÈ­ Var["KS_BombSlimePiece"]["SummonTime"] = nil Var["KS_BombSlimePiece"]["CurSummonSequence"] = nil end -------------------------------------------------------------------------------- -- ¡å ¸÷ ¼Òȯ ÀÛ¾÷ÀÌ ³¡³µÀ¸¹Ç·Î, ½ºÅ³ Á¾·áÇصµ µÇ´Â ½Ã°£ÀÎÁö üũÇÑ´Ù -------------------------------------------------------------------------------- -- ½ºÅ³ 󸮴 ¿Ï·áÇßÁö¸¸, ¾ÆÁ÷ ¼Òȯ¾Ö´Ï¸ÞÀÌ¼Ç ÁßÀ̶ó¸é ´ë±â if Var["KingSlimeProcess"]["SkillEndTime"] > Var["CurSec"] then --DebugLog("¿Ã¶ó¿À±â ´ë±âÁß..") return ReturnAI["END"] end if Var["KingSlimeProcess"]["SkillEndTime"] <= Var["CurSec"] then --DebugLog("KS_BombSlimePiece ¸ðµç ½ºÅ³Ã³¸®¿Ï·á!") Var["KS_BombSlimePiece"] = nil -- ½ºÅ³ ó¸® ´Ù³¡³µÀ¸¸é, Var[Handle]["IsProgressSpecialSkill"] = false Var["KingSlimeProcess"]["SkillStartTime"] = 0 Var["KingSlimeProcess"]["SkillWorkTime"] = 0 Var["KingSlimeProcess"]["SkillEndTime"] = 0 Var["KingSlimeProcess"]["CurSkillIndex"] = nil cAIScriptSet( Handle ) return ReturnAI["END"] end end return ReturnAI["END"] end