You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SigFiesta/LuaScript/ID/SD_Vale01/Functions/Routine_MiniDragon.lua

208 lines
6.9 KiB

--------------------------------------------------------------------------------
-- MiniDragon :: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--------------------------------------------------------------------------------
function MD_ShowUp( Handle, MapIndex )
cExecCheck "MD_ShowUp"
local Var = InstanceField[ MapIndex ]
if Var["MiniDragonProcess"]["SkillEndTime"] > Var["CurSec"]
then
return ReturnAI["END"]
end
-- <EFBFBD><EFBFBD>ų ó<EFBFBD><EFBFBD> <EFBFBD>ٳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
Var[Handle]["IsProgressSpecialSkill"] = false
Var["MiniDragonProcess"]["SkillStartTime"] = 0
Var["MiniDragonProcess"]["SkillEndTime"] = 0
cAIScriptSet( Handle )
return ReturnAI["END"]
end
--------------------------------------------------------------------------------
-- MiniDragon :: <EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>ȯ
--------------------------------------------------------------------------------
function MD_SummonSoul( Handle, MapIndex )
cExecCheck "MD_SummonSoul"
local Var = InstanceField[ MapIndex ]
if Var["MiniDragonProcess"]["SkillWorkTime"] > Var["CurSec"]
then
return ReturnAI["END"]
end
local SkillInfo = SkillInfo_MiniDragon["MD_SummonSoul"]
--------------------------------------------------------------------------------
-- <EFBFBD><EFBFBD> MD_SummonSoul ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ϴ<EFBFBD> <EFBFBD>κ<EFBFBD>(<EFBFBD>ʱ<EFBFBD>ȭ)
--------------------------------------------------------------------------------
if Var["MD_SummonSoul"] == nil
then
Var["MD_SummonSoul"] = {}
--DebugLog("KS_BombSlimePiece <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
-- <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["MD_SummonSoul"]["SummonRegenLocate"] == nil
then
Var["MD_SummonSoul"]["SummonRegenLocate"] = {}
local CurDragonX, CurDragonY = cObjectLocate( Handle )
for i = 1, SkillInfo["SummonNum"]
do
Var["MD_SummonSoul"]["SummonRegenLocate"][i] = {}
Var["MD_SummonSoul"]["SummonRegenLocate"][i]["x"],
Var["MD_SummonSoul"]["SummonRegenLocate"][i]["y"] = cGetCoord_Circle( CurDragonX, CurDragonY, 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["MD_SummonSoul"]["SummonRegenLocate"][i]["x"])
DebugLog("SummonRegenLocate Y :"..Var["MD_SummonSoul"]["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["MD_SummonSoul"]["SummonTime"] == nil
then
Var["MD_SummonSoul"]["SummonTime"] = Var["CurSec"]
Var["MD_SummonSoul"]["CurSummonSequence"] = 1
--DebugLog("SummonTime : " ..Var["CurSec"])
--DebugLog("CurSummonSequence : " ..Var["MD_SummonSoul"]["CurSummonSequence"])
end
end
--------------------------------------------------------------------------------
-- <EFBFBD><EFBFBD> Var["KS_BombSlimePiece"] <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>κ<EFBFBD>
--------------------------------------------------------------------------------
if Var["MD_SummonSoul"] ~= nil
then
if Var["MD_SummonSoul"]["SummonTime"] ~= nil
then
if Var["MD_SummonSoul"]["SummonTime"] > Var["CurSec"]
then
return ReturnAI["END"]
end
if Var["MD_SummonSoul"]["CurSummonSequence"] <= SkillInfo["SummonNum"]
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 CurSummonMob = Var["MD_SummonSoul"]["SummonRegenLocate"][Var["MD_SummonSoul"]["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>.
local CurSummonMobIndex = nil
local CurSummonSkillIndex = nil
-- <EFBFBD>̴ϵ巡<EFBFBD><EFBFBD><EFBFBD><EFBFBD> SD_SpiritFire <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD>ϴ<EFBFBD> <EFBFBD><EFBFBD>ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
if Var["MiniDragonProcess"]["CurSkillIndex"] == SkillInfo["SkillIndex_Fire"]
then
--DebugLog("<EFBFBD>̴ϵ巡<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD>ų.."..SkillInfo["SkillIndex_Fire"] )
CurSummonMobIndex = SkillInfo["SummonFire"]["SummonIndex"]
CurSummonSkillIndex = SkillInfo["SummonFire"]["SummonSkillIndex"]
-- <EFBFBD>̴ϵ巡<EFBFBD><EFBFBD><EFBFBD><EFBFBD> SD_SpiritIce <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD>ϴ<EFBFBD> <EFBFBD><EFBFBD>ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
elseif Var["MiniDragonProcess"]["CurSkillIndex"] == SkillInfo["SkillIndex_Ice"]
then
--DebugLog("<EFBFBD>̴ϵ巡<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD>ų.."..SkillInfo["SkillIndex_Ice"] )
CurSummonMobIndex = SkillInfo["SummonIce"]["SummonIndex"]
CurSummonSkillIndex = SkillInfo["SummonIce"]["SummonSkillIndex"]
-- <EFBFBD>̴ϵ巡<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD>ϴ<EFBFBD> <EFBFBD><EFBFBD>ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.( ¦<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
elseif Var["MiniDragonProcess"]["CurSkillIndex"] == SkillInfo["SkillIndex_All"]
then
--DebugLog("<EFBFBD>̴ϵ巡<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD>ų.."..SkillInfo["SkillIndex_All"] )
if Var["MD_SummonSoul"]["CurSummonSequence"] % 2 == 0
then
CurSummonMobIndex = SkillInfo["SummonFire"]["SummonIndex"]
CurSummonSkillIndex = SkillInfo["SummonFire"]["SummonSkillIndex"]
elseif Var["MD_SummonSoul"]["CurSummonSequence"] % 2 == 1
then
CurSummonMobIndex = SkillInfo["SummonIce"]["SummonIndex"]
CurSummonSkillIndex = SkillInfo["SummonIce"]["SummonSkillIndex"]
end
-- <EFBFBD>̷<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>׽<EFBFBD>Ʈ<EFBFBD>뵵..
else
ErrorLog("MD_SummonSoul <EFBFBD><EFBFBD>ƾ, <EFBFBD>˼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..")
end
-- <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ڵ鰪<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
local CurSummonHandle = cMobRegen_XY( MapIndex, CurSummonMobIndex, CurSummonMob["x"], CurSummonMob["y"] )
if CurSummonHandle == nil
then
-- DebugLog("<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>"..Var["MD_SummonSoul"]["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, CurSummonSkillIndex ) == nil
then
ErrorLog("<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"..Var["MD_SummonSoul"]["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["MD_SummonSoul"]["CurSummonSequence"] = Var["MD_SummonSoul"]["CurSummonSequence"] + 1
Var["MD_SummonSoul"]["SummonTime"] = Var["MD_SummonSoul"]["SummonTime"] + SkillInfo["SummonTick"]
--DebugLog("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD> : "..Var["MD_SummonSoul"]["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["MD_SummonSoul"]["SummonTime"] = nil
Var["MD_SummonSoul"]["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>ų ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><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["MiniDragonProcess"]["SkillEndTime"] > Var["CurSec"]
then
--DebugLog("<EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..")
return ReturnAI["END"]
end
if Var["MiniDragonProcess"]["SkillEndTime"] <= Var["CurSec"]
then
--DebugLog("MD_SummonSoul <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ųó<EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>!")
Var["MD_SummonSoul"] = nil
-- <EFBFBD><EFBFBD>ų ó<EFBFBD><EFBFBD> <EFBFBD>ٳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
Var[Handle]["IsProgressSpecialSkill"] = false
Var["MiniDragonProcess"]["SkillStartTime"] = 0
Var["MiniDragonProcess"]["SkillWorkTime"] = 0
Var["MiniDragonProcess"]["SkillEndTime"] = 0
Var["MiniDragonProcess"]["CurSkillIndex"] = nil
cAIScriptSet( Handle )
return ReturnAI["END"]
end
end
return ReturnAI["END"]
end