GSServer-CBT/soggy_resources/lua/Actor/Quest/AQ356.lua
Akbar Yahya e0d4d8040c melon
2022-11-21 16:30:31 +08:00

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