|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
-- Secret Laboratory Progress Func --
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʱ<EFBFBD>ȭ
|
|
|
|
|
function InitDungeon( Var )
|
|
|
|
|
cExecCheck "InitDungeon"
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
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>.
|
|
|
|
|
if Var["bPlayerMapLogin"] == nil
|
|
|
|
|
then
|
|
|
|
|
if Var["InitialSec"] + WAIT_PLAYER_MAP_LOGIN_SEC_MAX <= cCurrentSecond()
|
|
|
|
|
then
|
|
|
|
|
GoToFail( Var )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var["InitDungeon"] == nil
|
|
|
|
|
then
|
|
|
|
|
DebugLog( "Start InitDungeon" )
|
|
|
|
|
|
|
|
|
|
Var["InitDungeon"] = {}
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD> <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
for i = 0, (#StepNameTable - 2)
|
|
|
|
|
do
|
|
|
|
|
local DoorTableIndex = nil
|
|
|
|
|
|
|
|
|
|
DoorTableIndex = "Door"..i
|
|
|
|
|
|
|
|
|
|
local CurRegenDoor = RegenInfo["Stuff"][ DoorTableIndex ]
|
|
|
|
|
|
|
|
|
|
if CurRegenDoor ~= nil
|
|
|
|
|
then
|
|
|
|
|
local nCurDoorHandle = cDoorBuild( Var["MapIndex"], CurRegenDoor["Index"], CurRegenDoor["x"], CurRegenDoor["y"], CurRegenDoor["dir"], CurRegenDoor["scale"] )
|
|
|
|
|
|
|
|
|
|
if nCurDoorHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
cDoorAction( nCurDoorHandle , CurRegenDoor["Block"], "close" )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["Door"][ nCurDoorHandle ] = CurRegenDoor
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ڵ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["Door"..i ] = nCurDoorHandle
|
|
|
|
|
else
|
|
|
|
|
ErrorLog( "InitDungeon::Door"..i.." was not created." )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ⱸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local RegenExitGate = RegenInfo["Stuff"]["StartExitGate"]
|
|
|
|
|
local nExitGateHandle = cDoorBuild( Var["MapIndex"], RegenExitGate["Index"], RegenExitGate["x"], RegenExitGate["y"], RegenExitGate["dir"], RegenExitGate["scale"] )
|
|
|
|
|
|
|
|
|
|
if nExitGateHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
if cSetAIScript ( MainLuaScriptPath, nExitGateHandle ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "InitDungeon::cSetAIScript ( MainLuaScriptPath, nExitGateHandle ) == nil" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cAIScriptFunc( nExitGateHandle, "NPCClick", "ExitGateClick" ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "InitDungeon::cAIScriptFunc( nExitGateHandle, \"NPCClick\", \"ExitGateClick\" ) == nil" )
|
|
|
|
|
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><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD≯<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ش<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD> ä<EFBFBD><EFBFBD>
|
|
|
|
|
<EFBFBD≯<EFBFBD> <EFBFBD>迭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD><EFBFBD> <EFBFBD>صּ<EFBFBD> <EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD> <EFBFBD>ʰ<EFBFBD> <EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>.
|
|
|
|
|
|
|
|
|
|
]]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><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 PatternSettingTable = {}
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><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 PatternPointerTable = {}
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
local nPatternCount = 0
|
|
|
|
|
for i = 1, #PatternNameTable
|
|
|
|
|
do
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local sPattern = PatternNameTable[i]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ī
|
|
|
|
|
for k = 1, #RegenInfo["Group"]["EachPattern"][ sPattern ]
|
|
|
|
|
do
|
|
|
|
|
PatternPointerTable[ nPatternCount + k ] = { PatternName = sPattern, PatternOrderNo = k }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
nPatternCount = nPatternCount + #RegenInfo["Group"]["EachPattern"][ sPattern ]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
DebugLog( "InitDungeon::Pattern pointer table was set - Size : "..#PatternPointerTable )
|
|
|
|
|
|
|
|
|
|
local CheckPatternSelected = {} -- <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>: üũ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true
|
|
|
|
|
local nCheckPatternSelectedCount = 0 -- <EFBFBD><EFBFBD><EFBFBD>ÿϷ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>( <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ŭ )
|
|
|
|
|
while nCheckPatternSelectedCount < #FloorPatternInfoTable
|
|
|
|
|
do
|
|
|
|
|
for i = 1, #PatternPointerTable
|
|
|
|
|
do
|
|
|
|
|
-- <EFBFBD>ش<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>´<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ȰŶ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <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 PatternPointerTable[ i ]["PatternName"] == FloorPatternInfoTable[ nCheckPatternSelectedCount + 1 ]
|
|
|
|
|
then
|
|
|
|
|
if CheckPatternSelected[ i ] ~= true
|
|
|
|
|
then
|
|
|
|
|
nCurPatternSelected = i
|
|
|
|
|
break
|
|
|
|
|
else
|
|
|
|
|
if i == #PatternPointerTable
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "InitDungeon::Pattern Setting is Failed(Logic or Data Error)" )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
if i == #PatternPointerTable
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "InitDungeon::Pattern Setting is Failed(Logic or Data Error)" )
|
|
|
|
|
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>
|
|
|
|
|
if PatternPointerTable[ nCurPatternSelected ] ~= nil
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD>̹<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if CheckPatternSelected[ nCurPatternSelected ] ~= true
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
PatternSettingTable[ nCheckPatternSelectedCount + 1 ] = PatternPointerTable[ nCurPatternSelected ]
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ
|
|
|
|
|
CheckPatternSelected[ nCurPatternSelected ] = true
|
|
|
|
|
DebugLog( "InitDungeon::Pattern is Selected ( "..PatternPointerTable[ nCurPatternSelected ]["PatternName"].." "..PatternPointerTable[ nCurPatternSelected ]["PatternOrderNo"].." )" )
|
|
|
|
|
-- ī<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
nCheckPatternSelectedCount = nCheckPatternSelectedCount + 1
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["bSpecialRewardMode"] = true
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["StageInfo"]["PatternSetting"] = PatternSettingTable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["InitDungeon"]["WaitSecDuringInit"] = Var["CurSec"] + DelayTime["AfterInit"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["InitDungeon"]["WaitSecDuringInit"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cDoorAction( Var["Door0"], Var["Door"][ Var["Door0"] ]["Block"], "open" )
|
|
|
|
|
GoToNextStep( Var )
|
|
|
|
|
Var["InitDungeon"] = nil
|
|
|
|
|
DebugLog( "End InitDungeon" )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function EachFloor( Var )
|
|
|
|
|
cExecCheck "EachFloor"
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["EachFloor"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"] = {}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ܰ<EFBFBD> <EFBFBD><EFBFBD>ȣ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["EachFloor"]["StepNumber"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"]["StepNumber"] = 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ܰ<EFBFBD><EFBFBD≯<EFBFBD> <EFBFBD>ƿ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local CurStepNo = Var["EachFloor"]["StepNumber"] -- ex) 1
|
|
|
|
|
local CurStep = StepNameTable[ CurStepNo ] -- ex) Floor01
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>߽<EFBFBD> <EFBFBD><EFBFBD>ǥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local CurRegenCoord = RegenInfo["Coord"][ CurStepNo ]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><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["StageInfo"]["PatternSetting"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["StageInfo"]["PatternSetting"][ CurStepNo ] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local CurPatternInfo = Var["StageInfo"]["PatternSetting"][ CurStepNo ]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ʱ<EFBFBD>ȭ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local bInitFlag = false
|
|
|
|
|
|
|
|
|
|
if Var["EachFloor"..CurStepNo ] == nil
|
|
|
|
|
then
|
|
|
|
|
bInitFlag = true
|
|
|
|
|
else
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bEntranceArea"] == false
|
|
|
|
|
then
|
|
|
|
|
bInitFlag = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD> <EFBFBD>ʱ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if bInitFlag == true
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var["EachFloor"..CurStepNo ] == nil
|
|
|
|
|
then
|
|
|
|
|
DebugLog( "Start EachFloor "..CurStepNo )
|
|
|
|
|
Var["EachFloor"..CurStepNo ] = {}
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>п<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BeforeDialogStepSec"] = Var["CurSec"]
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BeforeDialogStepNo"] = 1
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["SemiBossAwakenedDialogStepSec"] = Var["CurSec"]
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["SemiBossAwakenedDialogStepNo"] = 1
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BossSummonDialogStepSec"] = Var["CurSec"]
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BossSummonDialogStepNo"] = 1
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["HelpUsChatStepSec"] = Var["CurSec"]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bBeforeDialogEnd"] = false
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedDialogEnd"] = nil -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bBossSummonDialogEnd"] = nil -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD>ϸ<EFBFBD> false<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["nHP_BossSummonDialog"] = nil -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD>ϸ<EFBFBD> <EFBFBD>ش<EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD> HP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><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["EachFloor"..CurStepNo ]["bMobEliminated"] = false -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> True
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossWarned60Sec"] = false -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> true
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossWarned30Sec"] = false -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<EFBFBD><EFBFBD> 30<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> true
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedWarn"] = false -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>d<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> true
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossAwakened"] = false -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD>
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bCanGenerateMonsters"] = true
|
|
|
|
|
|
|
|
|
|
-- Ÿ<EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD> ù <EFBFBD><EFBFBD><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 CurPatternInfo["PatternName"] == "Pattern_TimeAttack"
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bCanGenerateMonsters"] = false
|
|
|
|
|
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bEntranceArea"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bEntranceArea"] = false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local EntranceArea = AreaIndexTable[ CurPatternInfo["PatternOrderNo"] ]
|
|
|
|
|
if EntranceArea ~= nil
|
|
|
|
|
then
|
|
|
|
|
local InBossAreaHandleList = { cGetAreaObjectList( Var["MapIndex"], EntranceArea, ObjectType["Player"] ) }
|
|
|
|
|
|
|
|
|
|
if #InBossAreaHandleList > 0
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bCanGenerateMonsters"] = true
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bEntranceArea"] = true
|
|
|
|
|
if cNoticeRedWarningCode( Var["MapIndex"], SemiBossWarning["Entrance"]["Code"] ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "EachFloor"..CurStepNo.."::cNoticeRedWarningCode is Failed - Entrance" )
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ش<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
ErrorLog( "EachFloor"..CurStepNo.."::Area Info does not exist!" )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if CurPatternInfo["PatternName"] == "Pattern_KillBoss"
|
|
|
|
|
then
|
|
|
|
|
if Var["BossBattle"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["BossBattle"] = {}
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
Var["BossBattle"] = nil
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bCanGenerateMonsters"] == true
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
local CurMobRegen = RegenInfo["Mob"]["EachPattern"][ CurPatternInfo["PatternName"] ][ CurPatternInfo["PatternOrderNo"] ]
|
|
|
|
|
|
|
|
|
|
if CurMobRegen ~= nil
|
|
|
|
|
then
|
|
|
|
|
for MobType, MobRegenInfo in pairs ( CurMobRegen )
|
|
|
|
|
do
|
|
|
|
|
local MobHandle = cMobRegen_XY( Var["MapIndex"], MobRegenInfo["Index"], RegenInfo["Coord"][ CurStepNo ]["x"], RegenInfo["Coord"][ CurStepNo ]["y"], MobRegenInfo["dir"] )
|
|
|
|
|
|
|
|
|
|
if MobHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
Var["Enemy"][ MobHandle ] = { Index = MobRegenInfo["Index"], x = RegenInfo["Coord"][ CurStepNo ]["x"], y = RegenInfo["Coord"][ CurStepNo ]["y"], radius = MobRegenInfo["radius"] }
|
|
|
|
|
|
|
|
|
|
Var["RoutineTime"][ MobHandle ] = cCurrentSecond()
|
|
|
|
|
cSetAIScript ( MainLuaScriptPath, MobHandle )
|
|
|
|
|
|
|
|
|
|
if MobType == "SemiBoss"
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["SemiBossHandle"] = MobHandle
|
|
|
|
|
|
|
|
|
|
-- Ÿ<EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if MobRegenInfo["Index"] == "Lab_Slime"
|
|
|
|
|
then
|
|
|
|
|
cSetAbstate( MobHandle, SemiBossAbstate["TimeAttackMini"]["Index"], SemiBossAbstate["TimeAttackMini"]["Strength"], SemiBossAbstate["TimeAttackMini"]["KeepTime"] )
|
|
|
|
|
else
|
|
|
|
|
cSetAbstate( MobHandle, SemiBossAbstate["TimeAttack"]["Index"], SemiBossAbstate["TimeAttack"]["Strength"], SemiBossAbstate["TimeAttack"]["KeepTime"] )
|
|
|
|
|
cAnimate( MobHandle, "start", "&TimeAttack_Stand" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
cAIScriptFunc( MobHandle, "Entrance", "SemiBossRoutine" )
|
|
|
|
|
elseif MobType == "MidBoss"
|
|
|
|
|
then
|
|
|
|
|
Var["StageInfo"]["BossTypeNo"] = 1
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["MidBossHandle"] = MobHandle
|
|
|
|
|
cAIScriptFunc( MobHandle, "Entrance", "BossRoutine" )
|
|
|
|
|
cAIScriptFunc( MobHandle, "MobDamaged", "BossDamaged" )
|
|
|
|
|
elseif MobType == "Boss"
|
|
|
|
|
then
|
|
|
|
|
Var["StageInfo"]["BossTypeNo"] = 2
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BossHandle"] = MobHandle
|
|
|
|
|
cAIScriptFunc( MobHandle, "Entrance", "BossRoutine" )
|
|
|
|
|
cAIScriptFunc( MobHandle, "MobDamaged", "BossDamaged" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
local CurGroupRegen = RegenInfo["Group"]["EachPattern"][ CurPatternInfo["PatternName"] ][ CurPatternInfo["PatternOrderNo"] ]
|
|
|
|
|
|
|
|
|
|
if CurGroupRegen ~= nil
|
|
|
|
|
then
|
|
|
|
|
for i = 1, #CurGroupRegen
|
|
|
|
|
do
|
|
|
|
|
cGroupRegenInstance( Var["MapIndex"], CurGroupRegen[ i ] )
|
|
|
|
|
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>
|
|
|
|
|
if CurStepNo == #StepNameTable - 1
|
|
|
|
|
then
|
|
|
|
|
local CurRegenPrison = RegenInfo["Stuff"]["Prison"]
|
|
|
|
|
local nCurPrisonHandle = cDoorBuild( Var["MapIndex"], CurRegenPrison["Index"], CurRegenPrison["x"], CurRegenPrison["y"], CurRegenPrison["dir"], CurRegenPrison["scale"] )
|
|
|
|
|
|
|
|
|
|
if nCurPrisonHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
cDoorAction( nCurPrisonHandle , CurRegenPrison["Block"], "close" )
|
|
|
|
|
|
|
|
|
|
Var["Prison"] = {}
|
|
|
|
|
Var["Prison"]["RegenInfo"] = CurRegenPrison
|
|
|
|
|
Var["Prison"]["Handle"] = nCurPrisonHandle
|
|
|
|
|
Var["Prison"]["bOpened"] = false
|
|
|
|
|
|
|
|
|
|
if cSetAIScript ( MainLuaScriptPath, nCurPrisonHandle ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "EachFloor "..CurStepNo.."::cSetAIScript ( MainLuaScriptPath, nCurPrisonHandle ) == nil" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cAIScriptFunc( nCurPrisonHandle, "NPCClick", "PrisonClick" ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "EachFloor "..CurStepNo.."::cAIScriptFunc( nCurPrisonHandle, \"NPCClick\", \"PrisonClick\" ) == nil" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
ErrorLog( "EachFloor "..CurStepNo.."::Prison"..i.." was not created." )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ð<EFBFBD> üũ
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["WaitMobGenSec"] = Var["CurSec"] + DelayTime["WaitAfterGenMob"]
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["TimeAttack_R60"] = Var["CurSec"] + SemiBossWarning["Remain_60_Sec"]["OccurSec"]
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["TimeAttack_R30"] = Var["CurSec"] + SemiBossWarning["Remain_30_Sec"]["OccurSec"]
|
|
|
|
|
|
|
|
|
|
end -- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> if<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ///////
|
|
|
|
|
|
|
|
|
|
end -- <EFBFBD>ʱ⼳<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Ÿ<EFBFBD>Ӿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD>ϴ<EFBFBD> <EFBFBD>κ<EFBFBD>
|
|
|
|
|
if CurPatternInfo["PatternName"] == "Pattern_TimeAttack"
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bEntranceArea"] == true
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
if Var["Enemy"][ Var["EachFloor"..CurStepNo ]["SemiBossHandle"] ] ~= nil
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bSemiBossAwakened"] == true
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedDialogEnd"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedDialogEnd"] = false
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- 1<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bSemiBossWarned60Sec"] == false
|
|
|
|
|
then
|
|
|
|
|
if Var["CurSec"] >= Var["EachFloor"..CurStepNo ]["TimeAttack_R60"]
|
|
|
|
|
then
|
|
|
|
|
if cNoticeRedWarningCode( Var["MapIndex"], SemiBossWarning["Remain_60_Sec"]["Code"] ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "EachFloor"..CurStepNo.."::cNoticeRedWarningCode is Failed - Remain1min" )
|
|
|
|
|
end
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossWarned60Sec"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- 30<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bSemiBossWarned30Sec"] == false
|
|
|
|
|
then
|
|
|
|
|
if Var["CurSec"] >= Var["EachFloor"..CurStepNo ]["TimeAttack_R30"]
|
|
|
|
|
then
|
|
|
|
|
if cNoticeRedWarningCode( Var["MapIndex"], SemiBossWarning["Remain_30_Sec"]["Code"] ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "EachFloor"..CurStepNo.."::cNoticeRedWarningCode is Failed - Remain30Sec" )
|
|
|
|
|
end
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossWarned30Sec"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedWarn"] == false
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bSemiBossAwakened"] == true
|
|
|
|
|
then
|
|
|
|
|
if cNoticeRedWarningCode( Var["MapIndex"], SemiBossWarning["Awakened"]["Code"] ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "EachFloor"..CurStepNo.."::cNoticeRedWarningCode is Failed - BeAwakened" )
|
|
|
|
|
end
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedWarn"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
--ErrorLog( "EachFloor"..CurStepNo.."::Egg Info does not exist." )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ä<EFBFBD><EFBFBD>
|
|
|
|
|
local CurChat = ChatInfo["EachPattern"][ CurPatternInfo["PatternName"] ][ CurPatternInfo["PatternOrderNo"] ]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
if CurChat["BeforeDialog"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bBeforeDialogEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
local nCurDialogNo = Var["EachFloor"..CurStepNo ]["BeforeDialogStepNo"]
|
|
|
|
|
|
|
|
|
|
if nCurDialogNo <= #CurChat["BeforeDialog"]
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["BeforeDialogStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cMobDialog( Var["MapIndex"], CurChat["BeforeDialog"][ nCurDialogNo ]["SpeakerIndex"], ChatInfo["ScriptFileName"], CurChat["BeforeDialog"][ nCurDialogNo ]["Index"] )
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BeforeDialogStepNo"] = Var["EachFloor"..CurStepNo ]["BeforeDialogStepNo"] + 1
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BeforeDialogStepSec"] = Var["CurSec"] + DelayTime["GapDialog"]
|
|
|
|
|
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>
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bBeforeDialogEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bBeforeDialogEnd"] = true
|
|
|
|
|
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>.
|
|
|
|
|
if CurPatternInfo["PatternName"] == "Pattern_TimeAttack"
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bEntranceArea"] ~= true
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
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 CurChat["HelpUsChat"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
local nCurDialogNo = cRandomInt( 1, #CurChat["HelpUsChat"] )
|
|
|
|
|
|
|
|
|
|
if nCurDialogNo <= #CurChat["HelpUsChat"]
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["HelpUsChatStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cMobChat( Var["Prison"]["Handle"], ChatInfo["ScriptFileName"], CurChat["HelpUsChat"][ nCurDialogNo ]["Index"], true )
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["HelpUsChatStepSec"] = Var["CurSec"] + DelayTime["GapHelpUsChat"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
if CurChat["SemiBossAwakenedDialog"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedDialogEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
local nCurDialogNo = Var["EachFloor"..CurStepNo ]["SemiBossAwakenedDialogStepNo"]
|
|
|
|
|
|
|
|
|
|
if nCurDialogNo <= #CurChat["SemiBossAwakenedDialog"]
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["SemiBossAwakenedDialogStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cMobDialog( Var["MapIndex"], CurChat["SemiBossAwakenedDialog"][ nCurDialogNo ]["SpeakerIndex"], ChatInfo["ScriptFileName"], CurChat["SemiBossAwakenedDialog"][ nCurDialogNo ]["Index"] )
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["SemiBossAwakenedDialogStepNo"] = Var["EachFloor"..CurStepNo ]["SemiBossAwakenedDialogStepNo"] + 1
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["SemiBossAwakenedDialogStepSec"] = Var["CurSec"] + DelayTime["GapDialog"]
|
|
|
|
|
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>
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedDialogEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bSemiBossAwakenedDialogEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["nHP_BossSummonDialog"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
local sDialogIndex = "Summon"..Var["EachFloor"..CurStepNo ]["nHP_BossSummonDialog"].."Dialog"
|
|
|
|
|
if CurChat[ sDialogIndex ] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bBossSummonDialogEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
local nCurDialogNo = Var["EachFloor"..CurStepNo ]["BossSummonDialogStepNo"]
|
|
|
|
|
|
|
|
|
|
if nCurDialogNo <= #CurChat[ sDialogIndex ]
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["BossSummonDialogStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cMobDialog( Var["MapIndex"], CurChat[ sDialogIndex ][ nCurDialogNo ]["SpeakerIndex"], ChatInfo["ScriptFileName"], CurChat[ sDialogIndex ][ nCurDialogNo ]["Index"] )
|
|
|
|
|
DebugLog( "EachFloor"..CurStepNo .."::SummonDialog-"..Var["EachFloor"..CurStepNo ]["nHP_BossSummonDialog"].."/"..nCurDialogNo )
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BossSummonDialogStepNo"] = Var["EachFloor"..CurStepNo ]["BossSummonDialogStepNo"] + 1
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BossSummonDialogStepSec"] = Var["CurSec"] + DelayTime["GapSummonDialog"]
|
|
|
|
|
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>
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BossSummonDialogStepNo"] = 1
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bBossSummonDialogEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["BossSummonDialogStepNo"] = 1
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bBossSummonDialogEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>üũ
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bMobEliminated"] == false
|
|
|
|
|
then
|
|
|
|
|
if cObjectCount( Var["MapIndex"], ObjectType["Mob"] ) <= 0
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bMobEliminated"] = true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if CurChat["AfterDialog"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bAfterDialogEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
local nCurDialogNo = Var["EachFloor"..CurStepNo ]["AfterDialogStepNo"]
|
|
|
|
|
|
|
|
|
|
if nCurDialogNo <= #CurChat["AfterDialog"]
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["AfterDialogStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cMobDialog( Var["MapIndex"], CurChat["AfterDialog"][ nCurDialogNo ]["SpeakerIndex"], ChatInfo["ScriptFileName"], CurChat["AfterDialog"][ nCurDialogNo ]["Index"] )
|
|
|
|
|
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["AfterDialogStepNo"] = Var["EachFloor"..CurStepNo ]["AfterDialogStepNo"] + 1
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["AfterDialogStepSec"] = Var["CurSec"] + DelayTime["GapDialog"]
|
|
|
|
|
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>
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bAfterDialogEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ]["bAfterDialogEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Next Case : <EFBFBD>ش<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> Ŭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <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["EachFloor"..CurStepNo ]["WaitMobGenSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
if Var["EachFloor"..CurStepNo ]["bAfterDialogEnd"] == true and Var["EachFloor"..CurStepNo ]["bMobEliminated"] == true
|
|
|
|
|
then
|
|
|
|
|
-- Ŭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
if Var["Door"..CurStepNo ] ~= nil
|
|
|
|
|
then
|
|
|
|
|
cDoorAction( Var["Door"..CurStepNo ], Var["Door"][ Var["Door"..CurStepNo ] ]["Block"], "open" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["EachFloor"..CurStepNo ] = nil
|
|
|
|
|
Var["EachFloor"]["StepNumber"] = CurStepNo + 1
|
|
|
|
|
|
|
|
|
|
DebugLog( "End EachFloor "..CurStepNo )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if CurStepNo == #StepNameTable - 1
|
|
|
|
|
then
|
|
|
|
|
Var["EachFloor"] = nil
|
|
|
|
|
GoToNextStep( Var )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function RescuedChildren( Var )
|
|
|
|
|
cExecCheck "RescuedChildren"
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local nBossType = Var["StageInfo"]["BossTypeNo"]
|
|
|
|
|
|
|
|
|
|
if Var["Prison"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Prison"]["bOpened"] == true
|
|
|
|
|
then
|
|
|
|
|
cQuestMobKill_AllInMap( Var["MapIndex"], QuestMobKillInfo["QuestID"], QuestMobKillInfo["MobIndex"], QuestMobKillInfo["MaxKillCount"] )
|
|
|
|
|
else
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var["RescuedChildren"] == nil
|
|
|
|
|
then
|
|
|
|
|
DebugLog( "RescuedChildren::Start" )
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"] = {}
|
|
|
|
|
|
|
|
|
|
-- Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
if Var["bSpecialRewardMode"] == true
|
|
|
|
|
then
|
|
|
|
|
local RewardBoxInfo = RegenInfo["Mob"]["RescuedChildren"]["SpecialRewardBox"]
|
|
|
|
|
local nRewardBoxHandle = cMobRegen_XY( Var["MapIndex"], RewardBoxInfo["Index"], RewardBoxInfo["x"], RewardBoxInfo["y"], RewardBoxInfo["dir"] )
|
|
|
|
|
if nRewardBoxHandle == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "RescuedChildren::SpecialRewardBox was not created - SpecialRewardMode" )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
for Index, ChildRegenInfo in pairs( RegenInfo["NPC"]["RescuedChildren"] )
|
|
|
|
|
do
|
|
|
|
|
if ChildRegenInfo ~= nil
|
|
|
|
|
then
|
|
|
|
|
local nChildHandle = cMobRegen_XY( Var["MapIndex"], ChildRegenInfo["Index"], ChildRegenInfo["x"], ChildRegenInfo["y"], ChildRegenInfo["dir"] )
|
|
|
|
|
if nChildHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
Var["Friend"][ ChildRegenInfo["Index"] ] = nChildHandle
|
|
|
|
|
DebugLog( "RescuedChildren::Child Gen : "..Index.."-"..ChildRegenInfo["Index"].."-"..nChildHandle )
|
|
|
|
|
else
|
|
|
|
|
ErrorLog( "RescuedChildren::Child Gen Failed" )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- ä<EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["RescuedChildren"]["PrisonVanishStepSec"] = Var["CurSec"] + DelayTime["BeforePrisonVanish"]
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"]["SequentialDialogStepSec"] = Var["CurSec"]
|
|
|
|
|
Var["RescuedChildren"]["SequentialDialogStepNo"] = 1
|
|
|
|
|
Var["RescuedChildren"]["AfterAnimationChatStepSec"] = Var["CurSec"]
|
|
|
|
|
Var["RescuedChildren"]["AfterAnimationChatStepNo"] = 1
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"]["ChildrenRunToExitStepSec"] = Var["CurSec"]
|
|
|
|
|
Var["RescuedChildren"]["ChildrenVanishStepSec"] = Var["CurSec"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"]["bPrisonVanishEnd"] = false
|
|
|
|
|
Var["RescuedChildren"]["bSequentialDialogEnd"] = false
|
|
|
|
|
Var["RescuedChildren"]["bAfterAnimationChatEnd"] = nil -- <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false<EFBFBD><EFBFBD> <EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["RescuedChildren"]["bChildrenRunToExitEnd"] = nil -- <EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> <EFBFBD>̾߱<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false<EFBFBD><EFBFBD> <EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["RescuedChildren"]["bChildrenVanishEnd"] = nil -- <EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false<EFBFBD><EFBFBD> <EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["RescuedChildren"]["bPrisonVanishEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
if Var["RescuedChildren"]["PrisonVanishStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Var["Prison"]["Handle"] )
|
|
|
|
|
cNPCVanish( Var["Prison"]["Handle"] )
|
|
|
|
|
Var["RescuedChildren"]["bPrisonVanishEnd"] = true
|
|
|
|
|
DebugLog( "RescuedChildren::Prison was vanished." )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD>
|
|
|
|
|
if Var["RescuedChildren"]["bSequentialDialogEnd"] == true and Var["RescuedChildren"]["bAfterAnimationChatEnd"] == nil
|
|
|
|
|
then
|
|
|
|
|
for Index, AnimationInfo in pairs ( NPC_Animation )
|
|
|
|
|
do
|
|
|
|
|
if AnimationInfo ~= nil
|
|
|
|
|
then
|
|
|
|
|
local nHandle = Var["Friend"][ AnimationInfo["ActorIndex"] ]
|
|
|
|
|
if nHandle == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "RescuedChildren::Animation NPC Handle does not exist." )
|
|
|
|
|
else
|
|
|
|
|
cAnimate( nHandle, "start", AnimationInfo["Index"] )
|
|
|
|
|
Var["RescuedChildren"]["AfterAnimationChatStepSec"] = Var["CurSec"] + DelayTime["AnimationTime"] -- <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD> <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
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"]["bAfterAnimationChatEnd"] = false
|
|
|
|
|
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>
|
|
|
|
|
if Var["RescuedChildren"]["bAfterAnimationChatEnd"] == true and Var["RescuedChildren"]["bChildrenRunToExitEnd"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["RescuedChildren"]["bChildrenRunToExitEnd"] = false
|
|
|
|
|
Var["RescuedChildren"]["ChildrenRunToExitStepSec"] = Var["CurSec"] + DelayTime["BeforeChildrenRun"]
|
|
|
|
|
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["RescuedChildren"]["bChildrenRunToExitEnd"] == true and Var["RescuedChildren"]["bChildrenVanishEnd"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["RescuedChildren"]["bChildrenVanishEnd"] = false
|
|
|
|
|
Var["RescuedChildren"]["ChildrenVanishStepSec"] = Var["CurSec"] + DelayTime["AfterChildrenRun"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
-- ä<EFBFBD><EFBFBD>
|
|
|
|
|
local CurChat = ChatInfo["RescuedChildren"]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if CurChat["SequentialDialog"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["RescuedChildren"]["bSequentialDialogEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
local nCurDialogNo = Var["RescuedChildren"]["SequentialDialogStepNo"]
|
|
|
|
|
|
|
|
|
|
if nCurDialogNo <= #CurChat["SequentialDialog"]
|
|
|
|
|
then
|
|
|
|
|
if Var["RescuedChildren"]["SequentialDialogStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cMobDialog( Var["MapIndex"], CurChat["SequentialDialog"][ nCurDialogNo ]["SpeakerIndex"], ChatInfo["ScriptFileName"], CurChat["SequentialDialog"][ nCurDialogNo ]["Index"] )
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"]["SequentialDialogStepNo"] = Var["RescuedChildren"]["SequentialDialogStepNo"] + 1
|
|
|
|
|
Var["RescuedChildren"]["SequentialDialogStepSec"] = Var["CurSec"] + DelayTime["GapDialog"]
|
|
|
|
|
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>
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["RescuedChildren"]["bSequentialDialogEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
Var["RescuedChildren"]["bSequentialDialogEnd"] = true
|
|
|
|
|
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>..
|
|
|
|
|
if CurChat["AfterAnimationChat"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["RescuedChildren"]["bAfterAnimationChatEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
local nCurDialogNo = Var["RescuedChildren"]["AfterAnimationChatStepNo"]
|
|
|
|
|
|
|
|
|
|
if nCurDialogNo <= #CurChat["AfterAnimationChat"]
|
|
|
|
|
then
|
|
|
|
|
if Var["RescuedChildren"]["AfterAnimationChatStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
local nHandle = Var["Friend"][ CurChat["AfterAnimationChat"][ nCurDialogNo ]["SpeakerIndex"] ]
|
|
|
|
|
if nHandle == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "RescuedChildren::Animation NPC Handle does not exist." )
|
|
|
|
|
else
|
|
|
|
|
if nCurDialogNo == 1
|
|
|
|
|
then
|
|
|
|
|
cAnimate( nHandle, "stop" )
|
|
|
|
|
end
|
|
|
|
|
cMobChat( nHandle, ChatInfo["ScriptFileName"], CurChat["AfterAnimationChat"][ nCurDialogNo ]["Index"], true )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"]["AfterAnimationChatStepNo"] = Var["RescuedChildren"]["AfterAnimationChatStepNo"] + 1
|
|
|
|
|
Var["RescuedChildren"]["AfterAnimationChatStepSec"] = Var["CurSec"] + DelayTime["GapChildrenChat"]
|
|
|
|
|
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>
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["RescuedChildren"]["bAfterAnimationChatEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
Var["RescuedChildren"]["bAfterAnimationChatEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if NPC_RunTo ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["RescuedChildren"]["bChildrenRunToExitEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
if Var["RescuedChildren"]["ChildrenRunToExitStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
for Index, RunInfo in pairs ( NPC_RunTo )
|
|
|
|
|
do
|
|
|
|
|
if RunInfo ~= nil
|
|
|
|
|
then
|
|
|
|
|
if Var["Friend"][ RunInfo["ActorIndex"] ] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if cRunTo( Var["Friend"][ RunInfo["ActorIndex"] ], RunInfo["x"], RunInfo["y"], 1000 ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "RescuedChildren::"..RunInfo["ActorIndex"].."-cRunTo was failed." )
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
ErrorLog( "RescuedChildren::RunMode - "..RunInfo["ActorIndex"].." does not exist." )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"]["bChildrenRunToExitEnd"] = true
|
|
|
|
|
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>
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
Var["RescuedChildren"]["bChildrenRunToExitEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD>Ͱ<EFBFBD><EFBFBD><EFBFBD>-_-;)
|
|
|
|
|
if Var["RescuedChildren"]["bChildrenVanishEnd"] == false
|
|
|
|
|
then
|
|
|
|
|
if Var["RescuedChildren"]["ChildrenVanishStepSec"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
for Index, ChildHandle in pairs ( Var["Friend"] )
|
|
|
|
|
do
|
|
|
|
|
cNPCVanish( ChildHandle )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"]["bChildrenVanishEnd"] = true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>Ͱ<EFBFBD> Ÿ<EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
return
|
|
|
|
|
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>
|
|
|
|
|
if Var["RescuedChildren"]["bChildrenVanishEnd"] == true
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD>ⱸ<EFBFBD><EFBFBD> <EFBFBD>ⱸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local RegenExitGate = RegenInfo["Stuff"]["EndExitGate"]
|
|
|
|
|
local nExitGateHandle = cDoorBuild( Var["MapIndex"], RegenExitGate["Index"], RegenExitGate["x"], RegenExitGate["y"], RegenExitGate["dir"], RegenExitGate["scale"] )
|
|
|
|
|
|
|
|
|
|
if nExitGateHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
if cSetAIScript ( MainLuaScriptPath, nExitGateHandle ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "ReturnToHome::cSetAIScript ( MainLuaScriptPath, nExitGateHandle ) == nil" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cAIScriptFunc( nExitGateHandle, "NPCClick", "ExitGateClick" ) == nil
|
|
|
|
|
then
|
|
|
|
|
ErrorLog( "ReturnToHome::cAIScriptFunc( nExitGateHandle, \"NPCClick\", \"ExitGateClick\" ) == nil" )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["RescuedChildren"] = nil
|
|
|
|
|
Var["Prison"] = nil
|
|
|
|
|
Var["Friend"] = nil
|
|
|
|
|
GoToNextStep( Var )
|
|
|
|
|
DebugLog( "RescuedChildren::End" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ŷ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ Ŭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <EFBFBD><EFBFBD> ID <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function QuestSuccess( Var )
|
|
|
|
|
cExecCheck "QuestSuccess"
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
GoToNextStep( Var )
|
|
|
|
|
DebugLog( "QuestSuccess::End" )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ŷ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> : ID <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function QuestFailed( Var )
|
|
|
|
|
cExecCheck "QuestFailed"
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
GoToNextStep( Var )
|
|
|
|
|
DebugLog( "QuestFailed::End" )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ȯ : ID <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function ReturnToHome( Var )
|
|
|
|
|
cExecCheck "ReturnToHome"
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
GoToNextStep( Var )
|
|
|
|
|
DebugLog( "End ReturnToHome" )
|
|
|
|
|
|
|
|
|
|
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>Ʈ
|
|
|
|
|
ID_StepsList =
|
|
|
|
|
{
|
|
|
|
|
{ Function = InitDungeon, Name = "InitDungeon", },
|
|
|
|
|
{ Function = EachFloor, Name = "EachFloor", },
|
|
|
|
|
{ Function = RescuedChildren, Name = "RescuedChildren", },
|
|
|
|
|
{ Function = QuestSuccess, Name = "QuestSuccess", },
|
|
|
|
|
{ Function = QuestFailed, Name = "QuestFailed", },
|
|
|
|
|
{ Function = ReturnToHome, Name = "ReturnToHome", },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
|
|
|
|
ID_StepsIndexList =
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for index, funcValue in pairs ( ID_StepsList )
|
|
|
|
|
do
|
|
|
|
|
ID_StepsIndexList[ funcValue["Name"] ] = index
|
|
|
|
|
end
|