mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2024-12-25 15:29:22 +03:00
265 lines
8.6 KiB
Lua
265 lines
8.6 KiB
Lua
require('Actor/ActorCommon')
|
|
local questActorProxy = require('Actor/Quest/QuestActorProxy')
|
|
|
|
local Quest356 = class("Quest356", questActorProxy)
|
|
|
|
Quest356.defaultAlias = "Quest356"
|
|
|
|
local q356Cfg = require('Quest/Client/Q356ClientConfig')
|
|
local amborData = q356Cfg.AmborData
|
|
|
|
-- Generated
|
|
function Quest356:OnSubStartHandlerBuild()
|
|
self.subStartHandlers = {}
|
|
self.subStartHandlers["35601"] = self.OnSubStart35601
|
|
self.subStartHandlers["35602"] = self.OnSubStart35602
|
|
self.subStartHandlers["35603"] = self.OnSubStart35603
|
|
self.subStartHandlers["35604"] = self.OnSubStart35604
|
|
self.subStartHandlers["35605"] = self.OnSubStart35605
|
|
self.subStartHandlers["35606"] = self.OnSubStart35606
|
|
end
|
|
|
|
function Quest356:OnSubFinishHandlerBuild()
|
|
self.subFinishHandlers = {}
|
|
self.subFinishHandlers["35601"] = self.OnSubFinish35601
|
|
self.subFinishHandlers["35602"] = self.OnSubFinish35602
|
|
self.subFinishHandlers["35603"] = self.OnSubFinish35603
|
|
self.subFinishHandlers["35604"] = self.OnSubFinish35604
|
|
self.subFinishHandlers["35605"] = self.OnSubFinish35605
|
|
self.subFinishHandlers["35606"] = self.OnSubFinish35606
|
|
end
|
|
|
|
---sub start & finish 内调用的函数
|
|
--@region sub start & finish handlers
|
|
function Quest356:AmborRoute()
|
|
print("Ambor run to godless")
|
|
local ambor = actorMgr:GetActor(self.clientData.AmborData.Ambor)
|
|
ambor:BeFollowTaskByRoutePoints(self.clientData.AmborRouteData.routeConfig, self.clientData.AmborRouteData.beFollowLen, self.clientData.AmborRouteData.beFollowFailed)
|
|
end
|
|
|
|
function Quest356:Story1()
|
|
--self:NarratorOnlyTask(self.clientData.NarratorData.Story1, nil, "Story")
|
|
local AmborData = self.clientData.AmborData
|
|
--actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos3, AmborData.Dir3, true, false)
|
|
local ambor = actorMgr:GetActor(self.clientData.AmborData.Ambor)
|
|
ambor:NarratorTaskByData(self.clientData.NarratorData.Story1, nil)
|
|
ambor:ClearFollowTask()
|
|
--[[ ambor:BeFollowTaskByData(self.clientData.FollowData.Follow1,
|
|
function(ambor, task)
|
|
if ambor.BeFollowState == BeFollowState.FAILED then
|
|
local quest = actorMgr:GetActor(self.clientData.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(true, nil)
|
|
end
|
|
ambor:StopNarrator()
|
|
elseif ambor.BeFollowState == BeFollowState.SUCCESS then
|
|
ambor:Standby()
|
|
ambor:TurnTo(M.Euler2DirXZ(self.clientData.AmborData.Dir3))
|
|
local quest = actorMgr:GetActor(self.clientData.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
end,
|
|
function(ambor, task)
|
|
ambor:Standby()
|
|
end
|
|
) ]]
|
|
--ambor:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
|
|
ambor:RunToTask(self.clientData.AmborData.born4Pos,
|
|
function(actor, task)
|
|
actor:ClearFollowTask()
|
|
actor:ClearPriorityInter(InterTimingType.BTN)
|
|
actor:TurnTo(M.Euler2DirXZ(self.clientData.AmborData.born4Dir))
|
|
end
|
|
)
|
|
--[[ local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
paimon:DestroyWithDisappear(false) ]]
|
|
local paimon = actorMgr:GetActor("Paimon")
|
|
if paimon ~= nil then
|
|
paimon:DestroyWithDisappear(false)
|
|
end
|
|
end
|
|
|
|
--[[ function Quest356:On35602CutsceneFinish()
|
|
local AmborData = self.clientData.AmborData
|
|
self:RequestInteraction(AmborData.Ambor)
|
|
local StoneData = self.clientData.StoneData
|
|
globalActor:UnSpawn("Stone")
|
|
globalActor:SpawnGadget(StoneData.StoneID, StoneData.StonePos,StoneData.StoneDir,"Stone")
|
|
end ]]
|
|
|
|
function Quest356:OnBright()
|
|
local AmborData = self.clientData.AmborData
|
|
--globalActor:CreateActorWithPos(self.clientData.AmborData.Ambor, self.clientData.AmborData.AmborScript, self.clientData.AmborData.AmborID, 0, self.clientData.AmborData.Pos2, self.clientData.AmborData.Dir2, true, false)
|
|
actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos2, AmborData.Dir2, true, false)
|
|
end
|
|
|
|
-- function Quest356:On35601CutsceneFinish()
|
|
-- local AmborData = self.clientData.AmborData
|
|
-- actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos2, AmborData.Dir2, true, false)
|
|
-- end
|
|
|
|
function Quest356:OnEnableInput()
|
|
globalActor:EnablePlayerInput(true)
|
|
end
|
|
--@endregion
|
|
|
|
--@region sub start & finish handlers
|
|
---按流程触发顺序
|
|
function Quest356:OnSubStart35601(quest)
|
|
print("35601 Start : ......")
|
|
globalActor:PlayAudioState("StateGroup_musicEmotion", "State_musicNormal")
|
|
-- print("35601 Start : Creat Ambor")
|
|
-- local AmborData = self.clientData.AmborData
|
|
-- actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos2, AmborData.Dir2, true, false)
|
|
--[[ globalActor:StopLocalAvatar()
|
|
globalActor:EnablePlayerInput(false)
|
|
self:CallDelay(2, self.OnEnableInput)
|
|
self:ShowBlackScreen(1.0, 1.0, 2.0, self.OnBright) ]]
|
|
--[[ local AmborData = self.clientData.AmborData
|
|
actorMgr:CreateActorWithPos(AmborData.Ambor, AmborData.AmborScript, AmborData.AmborID, 0, AmborData.Pos1, AmborData.Dir1, true, false)
|
|
local ambor = actorMgr:GetActor(self.clientData.AmborData.Ambor)
|
|
ambor:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
|
|
ambor:RunToTask(self.clientData.AmborData.Pos2,
|
|
function(actor, task)
|
|
actor:ClearFollowTask()
|
|
actor:ClearPriorityInter(InterTimingType.BTN)
|
|
actor:Standby()
|
|
actor:TurnTo(M.Euler2DirXZ(self.clientData.AmborData.Dir2))
|
|
end
|
|
) ]]
|
|
end
|
|
|
|
function Quest356:OnSubStart35602(quest)
|
|
print("35602 Start : Follow Ambor")
|
|
--self:NarratorOnlyTask(self.clientData.NarratorData.Story1, nil, "Story")
|
|
-- globalActor:PlayAudioState("StateGroup_musicEmotion", "State_musicNormal")
|
|
-- self:ActionSafeCall(self.Story1)
|
|
--[[ local ambor = actorMgr:GetActor(self.clientData.AmborData.Ambor)
|
|
ambor:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
|
|
ambor:RunToTask(self.clientData.AmborData.Pos3,
|
|
function(actor, task)
|
|
actor:ClearFollowTask()
|
|
actor:ClearPriorityInter(InterTimingType.BTN)
|
|
actor:TurnTo(M.Euler2DirXZ(self.clientData.AmborData.Dir3))
|
|
end
|
|
) ]]
|
|
end
|
|
|
|
function Quest356:OnSubStart35603(quest)
|
|
print("35603 Start : Ambor Route")
|
|
end
|
|
|
|
function Quest356:OnSubStart35604(quest)
|
|
print("35604 Start : ...")
|
|
end
|
|
|
|
function Quest356:OnSubStart35605(quest)
|
|
print("35605 Start : ...")
|
|
local quest = actorMgr:GetActor(q356Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
|
|
function Quest356:OnSubStart35606(quest)
|
|
print("35606 Start : ...")
|
|
self:ActionSafeCall(
|
|
function (self)
|
|
self:TransmitPlayer(3, self.clientData.FlyTrainData.StartPos, self.clientData.FlyTrainData.StartDir, function ()
|
|
globalActor:StartGuide("GuideAvatarFly")
|
|
globalActor:StartGuide("GuideAvatarFlyPC")
|
|
globalActor:StartGuide("GuideAvatarFlyWarningInfo")
|
|
end,
|
|
function ()
|
|
local paimon = actorMgr:GetActor("Paimon")
|
|
if paimon ~= nil then
|
|
paimon:Destroy(false)
|
|
end
|
|
|
|
globalActor:ChangeToHero()
|
|
actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.born5Pos, amborData.born5Dir, true)
|
|
end
|
|
)
|
|
end
|
|
)
|
|
end
|
|
|
|
|
|
function Quest356:OnSubFinish35601(quest)
|
|
print("35601 Finish : ...")
|
|
self:ActionSafeCall(
|
|
function (self)
|
|
self:ShowBlackScreen(0.5, 1, 0.5,
|
|
function (self)
|
|
local ambor = actorMgr:GetActor(amborData.Ambor)
|
|
local paimon = actorMgr:GetActor("Paimon")
|
|
|
|
if ambor ~= nil then
|
|
ambor:Destroy(false)
|
|
end
|
|
|
|
if paimon ~= nil then
|
|
paimon:Destroy(false)
|
|
end
|
|
end
|
|
)
|
|
|
|
self:CallDelay(3,
|
|
function (self)
|
|
self:NarratorOnlyTask(q356Cfg.NarratorData.Story1.dialogList,
|
|
function (self)
|
|
globalActor:StartGuide("GuideQuestGuide")
|
|
end,
|
|
"Story")
|
|
end
|
|
)
|
|
end
|
|
)
|
|
end
|
|
|
|
function Quest356:OnSubFinish35602(quest)
|
|
print("35602 Finish : Play Cutscene & Creat Stone")
|
|
--self:PlayCutscene(self.clientData.InterData.Cutscene1)
|
|
--self:PlayCutscene(self.clientData.InterData.Cutscene1, self.On35602CutsceneFinish)
|
|
--[[ local StoneData = self.clientData.StoneData
|
|
globalActor:UnSpawn("Stone")
|
|
globalActor:SpawnGadget(StoneData.StoneID, StoneData.StonePos,StoneData.StoneDir,"Stone") ]]
|
|
end
|
|
|
|
function Quest356:OnSubFinish35603(quest)
|
|
print("35603 Finish : ...")
|
|
self:ShowBlackScreen(0.5, 1.0, 0.5,
|
|
function (self)
|
|
actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.born4Pos, amborData.born4Dir, true)
|
|
|
|
self:CallDelay(0.5,
|
|
function (slef)
|
|
self:RequestInteraction(amborData.Ambor)
|
|
end
|
|
)
|
|
end
|
|
)
|
|
end
|
|
|
|
function Quest356:OnSubFinish35604(quest)
|
|
print("35604 Finish : ...")
|
|
end
|
|
|
|
function Quest356:OnSubFinish35605(quest)
|
|
print("35605 Finish : ...")
|
|
end
|
|
|
|
function Quest356:OnSubFinish35606(quest)
|
|
print("35606 Finish : ...")
|
|
end
|
|
--@endregion
|
|
|
|
function Quest356:Start()
|
|
end
|
|
|
|
function Quest356:OnDestroy()
|
|
end
|
|
|
|
return Quest356 |