mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2025-01-26 06:59:22 +03:00
326 lines
11 KiB
Lua
326 lines
11 KiB
Lua
require('Actor/ActorCommon')
|
|
local questActorProxy = require('Actor/Quest/QuestActorProxy')
|
|
|
|
local Quest376 = class("Quest376", questActorProxy)
|
|
|
|
Quest376.defaultAlias = "Quest376"
|
|
|
|
local q376Cfg = require('Quest/Client/Q376ClientConfig')
|
|
local wendyData = q376Cfg.WendyData
|
|
local dilucData = q376Cfg.DilucData
|
|
local soldier1Data = q376Cfg.Soldier1Data
|
|
local soldier2Data = q376Cfg.Soldier2Data
|
|
local FailNum = 0
|
|
local EscapeTime = 50
|
|
|
|
-- Generated
|
|
function Quest376:OnSubStartHandlerBuild()
|
|
self.subStartHandlers = {}
|
|
self.subStartHandlers["37601"] = self.OnSubStart37601
|
|
self.subStartHandlers["37602"] = self.OnSubStart37602
|
|
self.subStartHandlers["37603"] = self.OnSubStart37603
|
|
self.subStartHandlers["37604"] = self.OnSubStart37604
|
|
self.subStartHandlers["37605"] = self.OnSubStart37605
|
|
self.subStartHandlers["37606"] = self.OnSubStart37606
|
|
self.subStartHandlers["37607"] = self.OnSubStart37607
|
|
self.subStartHandlers["37608"] = self.OnSubStart37608
|
|
end
|
|
|
|
function Quest376:OnSubFinishHandlerBuild()
|
|
self.subFinishHandlers = {}
|
|
self.subFinishHandlers["37601"] = self.OnSubFinish37601
|
|
self.subFinishHandlers["37602"] = self.OnSubFinish37602
|
|
self.subFinishHandlers["37603"] = self.OnSubFinish37603
|
|
self.subFinishHandlers["37604"] = self.OnSubFinish37604
|
|
self.subFinishHandlers["37605"] = self.OnSubFinish37605
|
|
self.subFinishHandlers["37606"] = self.OnSubFinish37606
|
|
self.subFinishHandlers["37607"] = self.OnSubFinish37607
|
|
self.subFinishHandlers["37608"] = self.OnSubFinish37608
|
|
end
|
|
|
|
-- local param begin
|
|
-- local param end
|
|
|
|
-- local method begin
|
|
--@region sub start handlers
|
|
|
|
function Quest376:WendyDis()
|
|
local wendy = actorMgr:GetActor(wendyData.Wendy)
|
|
if wendy ~= nil then
|
|
wendy:Destroy(false)
|
|
end
|
|
end
|
|
|
|
function Quest376:WendyDelay()
|
|
self:CallDelay(1, self.WendyDis)
|
|
end
|
|
|
|
function Quest376:EscapePrepare()
|
|
for i=1, #q376Cfg.EscapeRoute1-1 do
|
|
local AccDir = { x = q376Cfg.EscapeRoute1[i+1].x-q376Cfg.EscapeRoute1[i].x, y = q376Cfg.EscapeRoute1[i+1].y-q376Cfg.EscapeRoute1[i].y, z = q376Cfg.EscapeRoute1[i+1].z-q376Cfg.EscapeRoute1[i].z }
|
|
self:SpawnGadget(70690001, q376Cfg.EscapeRoute1[i], M.Dir2Euler(AccDir), "Acc1" .. tostring(i))
|
|
end
|
|
|
|
-- for i=1, #q376Cfg.EscapeRoute2-1 do
|
|
-- local AccDir = { x = q376Cfg.EscapeRoute2[i+1].x-q376Cfg.EscapeRoute2[i].x, y = q376Cfg.EscapeRoute2[i+1].y-q376Cfg.EscapeRoute2[i].y, z = q376Cfg.EscapeRoute2[i+1].z-q376Cfg.EscapeRoute2[i].z }
|
|
-- self:SpawnGadget(70690001, q376Cfg.EscapeRoute2[i], M.Dir2Euler(AccDir), "Acc2" .. tostring(i))
|
|
-- end
|
|
-- for i=1, #q376Cfg.EscapeRoute3-1 do
|
|
-- local AccDir = { x = q376Cfg.EscapeRoute3[i+1].x-q376Cfg.EscapeRoute3[i].x, y = q376Cfg.EscapeRoute3[i+1].y-q376Cfg.EscapeRoute3[i].y, z = q376Cfg.EscapeRoute3[i+1].z-q376Cfg.EscapeRoute3[i].z }
|
|
-- self:SpawnGadget(70690001, q376Cfg.EscapeRoute3[i], M.Dir2Euler(AccDir), "Acc3" .. tostring(i))
|
|
-- end
|
|
|
|
for i=1, #q376Cfg.EscapeRoute4-1 do
|
|
local AccDir = { x = q376Cfg.EscapeRoute4[i+1].x-q376Cfg.EscapeRoute4[i].x, y = q376Cfg.EscapeRoute4[i+1].y-q376Cfg.EscapeRoute4[i].y, z = q376Cfg.EscapeRoute4[i+1].z-q376Cfg.EscapeRoute4[i].z }
|
|
self:SpawnGadget(70690001, q376Cfg.EscapeRoute4[i], M.Dir2Euler(AccDir), "Acc4" .. tostring(i))
|
|
end
|
|
|
|
for i=1, #q376Cfg.EscapeRoute5-1 do
|
|
local AccDir = { x = q376Cfg.EscapeRoute5[i+1].x-q376Cfg.EscapeRoute5[i].x, y = q376Cfg.EscapeRoute5[i+1].y-q376Cfg.EscapeRoute5[i].y, z = q376Cfg.EscapeRoute5[i+1].z-q376Cfg.EscapeRoute5[i].z }
|
|
self:SpawnGadget(70690001, q376Cfg.EscapeRoute5[i], M.Dir2Euler(AccDir), "Acc5" .. tostring(i))
|
|
end
|
|
|
|
for i=1, #q376Cfg.EscapeRoute6-1 do
|
|
local AccDir = { x = q376Cfg.EscapeRoute6[i+1].x-q376Cfg.EscapeRoute6[i].x, y = q376Cfg.EscapeRoute6[i+1].y-q376Cfg.EscapeRoute6[i].y, z = q376Cfg.EscapeRoute6[i+1].z-q376Cfg.EscapeRoute6[i].z }
|
|
self:SpawnGadget(70690001, q376Cfg.EscapeRoute6[i], M.Dir2Euler(AccDir), "Acc6" .. tostring(i))
|
|
end
|
|
|
|
end
|
|
|
|
function Quest376:EscapeDestroy()
|
|
print("OnFinished 37602")
|
|
for i=1, #q376Cfg.EscapeRoute1-1 do
|
|
self:UnSpawn("Acc1" .. tostring(i))
|
|
end
|
|
-- for i=1, #q376Cfg.EscapeRoute2-1 do
|
|
-- self:UnSpawn("Acc2" .. tostring(i))
|
|
-- end
|
|
-- for i=1, #q376Cfg.EscapeRoute3-1 do
|
|
-- self:UnSpawn("Acc3" .. tostring(i))
|
|
-- end
|
|
for i=1, #q376Cfg.EscapeRoute4-1 do
|
|
self:UnSpawn("Acc4" .. tostring(i))
|
|
end
|
|
for i=1, #q376Cfg.EscapeRoute5-1 do
|
|
self:UnSpawn("Acc5" .. tostring(i))
|
|
end
|
|
for i=1, #q376Cfg.EscapeRoute6 do
|
|
self:UnSpawn("Acc6" .. tostring(i))
|
|
end
|
|
end
|
|
|
|
function Quest376:StartCount()
|
|
if FailNum < 2 then
|
|
EscapeTime = 50
|
|
else
|
|
EscapeTime = 60
|
|
end
|
|
self:CountDownUIStart(EscapeTime, 10, 3)
|
|
self:CallDelay(EscapeTime+4,self.CountDown)
|
|
end
|
|
|
|
function Quest376:CountDown()
|
|
print("CountDown Finished")
|
|
if q376Cfg.EscapeFlag == false then
|
|
FailNum = FailNum + 1
|
|
print("escape fail time is ",FailNum )
|
|
if FailNum < 3 then
|
|
local quest = actorMgr:GetActor(q376Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
print("escape fail")
|
|
quest:FinishQuest(true, nil)
|
|
end
|
|
else
|
|
local quest = actorMgr:GetActor(q376Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
print("escape fail omg")
|
|
quest:FinishQuest(true, nil)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function Quest376:AdvanceQuest()
|
|
local quest = actorMgr:GetActor(q376Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
|
|
|
|
function Quest376:OnSubStart37601(quest)
|
|
print("37601 start ")
|
|
local quest = actorMgr:GetActor(q376Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
|
|
function Quest376:OnSubStart37602(quest)
|
|
q376Cfg.EscapeFlag = false
|
|
self:EscapeDestroy()
|
|
self:EscapePrepare()
|
|
self:ActionSafeCall(self.StartCount)
|
|
globalActor:SpawnGadget(70900201, sceneData:GetDummyPoint(3,"QuestBarUI").pos, sceneData:GetDummyPoint(3,"QuestBarUI").rot , "Goal1", 3)
|
|
|
|
end
|
|
|
|
function Quest376:OnSubStart37603(quest)
|
|
print("37603 start:...")
|
|
self:EscapeDestroy()
|
|
self:CountDownUITerminate()
|
|
self:UnCallFunc(self.CountDown)
|
|
self:UnSpawn("Goal1")
|
|
-- local quest = actorMgr:GetActor(q376Cfg.ActorAlias)
|
|
-- if quest ~= nil then
|
|
-- quest:FinishQuest(false, nil)
|
|
-- end
|
|
-- self:TransmitPlayer(3, sceneData:GetDummyPoint(3,"Q375RunStart").pos, sceneData:GetDummyPoint(3,"Q375RunStart").rot, self.AdvanceQuest)
|
|
self:AdvanceQuest()
|
|
-- actorMgr:CreateActorWithPos(wendyData.Wendy, wendyData.WendyScript, wendyData.WendyID, 0, wendyData.bornPos1, wendyData.bornDir1, true)
|
|
end
|
|
|
|
function Quest376:OnSubStart37604(quest)
|
|
print("37604 start:...")
|
|
-- self:ActionSafeCall(self.WendyDelay)
|
|
self:UnSpawn("Goal1")
|
|
q376Cfg.EscapeFlag = true
|
|
self:CountDownUITerminate()
|
|
self:UnCallFunc(self.CountDown)
|
|
actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.bornPos, dilucData.bornDir, true, false,1009)
|
|
self:TransmitPlayer(1009, sceneData:GetDummyPoint(1009,"Q376SoldierDes").pos, sceneData:GetDummyPoint(1009,"Q376SoldierDes").rot)
|
|
end
|
|
|
|
function Quest376:OnSubStart37605(quest)
|
|
print("37605 start:...")
|
|
self:RequestInteraction(dilucData.Diluc)
|
|
end
|
|
|
|
function Quest376:OnSubStart37606(quest)
|
|
print("37606 start:...")
|
|
-- globalActor:SpawnGadget(70900201, sceneData:GetDummyPoint(1009,"Q376Hide").pos, sceneData:GetDummyPoint(1009,"Q376Hide").rot , "Goal2", 1009)
|
|
|
|
end
|
|
|
|
function Quest376:OnSubStart37607(quest)
|
|
print("37607 start:...")
|
|
actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.bornPos, dilucData.bornDir, true, false,1009)
|
|
actorMgr:CreateActorWithPos(soldier1Data.Soldier, soldier1Data.SoldierScript, soldier1Data.SoldierID, 0, soldier1Data.bornPos, soldier1Data.bornDir, true, false,1009)
|
|
actorMgr:CreateActorWithPos(soldier2Data.Soldier, soldier2Data.SoldierScript, soldier2Data.SoldierID, 0, soldier2Data.bornPos, soldier2Data.bornDir, true, false,1009)
|
|
self:RequestInteraction(dilucData.Diluc)
|
|
end
|
|
|
|
function Quest376:OnSubStart37608(quest)
|
|
print("37608 start:...")
|
|
end
|
|
|
|
--@endregion
|
|
|
|
--@region sub finish handlers
|
|
function Quest376:OnSubFinish37601(quest)
|
|
print("OnFinished 37601")
|
|
end
|
|
|
|
function Quest376:OnSubFinish37602(quest)
|
|
print("OnFinished 37602")
|
|
self:EscapeDestroy()
|
|
end
|
|
|
|
function Quest376:OnSubFinish37603(quest)
|
|
print("OnFinished 37603")
|
|
end
|
|
|
|
function Quest376:OnSubFinish37604(quest)
|
|
print("OnFinished 37604")
|
|
end
|
|
|
|
function Quest376:OnSubFinish37605(quest)
|
|
print("OnFinished 37605")
|
|
self:ActionSafeCall(
|
|
function(self)
|
|
local wendy = actorMgr:GetActor("Wendy")
|
|
if wendy ~= nil then
|
|
wendy:Destroy(false)
|
|
end
|
|
end
|
|
)
|
|
self:ActionSafeCall(
|
|
function(self)
|
|
local paimon = actorMgr:GetActor("Paimon")
|
|
if paimon ~= nil then
|
|
paimon:Destroy(false)
|
|
end
|
|
end
|
|
)
|
|
|
|
end
|
|
|
|
function Quest376:OnSubFinish37606(quest)
|
|
print("OnFinished 37606")
|
|
-- self:UnSpawn("Goal2")
|
|
|
|
end
|
|
|
|
function Quest376:OnSubFinish37607(quest)
|
|
print("OnFinished 37607")
|
|
self:ActionSafeCall(
|
|
function(self)
|
|
local soldier1 = actorMgr:GetActor(soldier1Data.Soldier)
|
|
if soldier1 ~= nil then
|
|
soldier1:ClearFollowTask()
|
|
soldier1:WalkToTask(soldier1Data.desPos,
|
|
function(soldier1, task)
|
|
soldier1:Destroy(false)
|
|
end
|
|
)
|
|
end
|
|
end
|
|
)
|
|
self:ActionSafeCall(
|
|
function(self)
|
|
local soldier2 = actorMgr:GetActor(soldier2Data.Soldier)
|
|
if soldier2 ~= nil then
|
|
soldier2:ClearFollowTask()
|
|
soldier2:WalkToTask(soldier1Data.desPos,
|
|
function(soldier2, task)
|
|
soldier2:Destroy(false)
|
|
actorMgr:CreateActorWithPos(wendyData.Wendy, wendyData.WendyScript, wendyData.WendyID, 0, wendyData.bornPos2, wendyData.bornDir2, true, false,1009)
|
|
actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.bornPos2, dilucData.bornDir2, true, false,1009)
|
|
end
|
|
)
|
|
end
|
|
end
|
|
)
|
|
end
|
|
|
|
function Quest376:OnSubFinish37608(quest)
|
|
print("OnFinished 37608")
|
|
self:ActionSafeCall(
|
|
function(self)
|
|
local paimon = actorMgr:GetActor("Paimon")
|
|
if paimon ~= nil then
|
|
paimon:DestroyWithDisappear(false)
|
|
end
|
|
end
|
|
)
|
|
end
|
|
|
|
function Quest376:InvokeOnInteraction(param)
|
|
if param == 101 then
|
|
print("Now Stop Talking")
|
|
BubbleCtrl_NpcMengdeInsomniaStand[13] = -1
|
|
elseif param == 102 then
|
|
print("Now Start Talking")
|
|
BubbleCtrl_NpcMengdeInsomniaStand[13] = 1
|
|
end
|
|
end
|
|
|
|
--@endregion
|
|
|
|
function Quest376:Start()
|
|
end
|
|
|
|
function Quest376:OnDestroy()
|
|
end
|
|
|
|
return Quest376 |