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

185 lines
5.9 KiB
Lua

require('Actor/ActorCommon')
local questActorProxy = require('Actor/Quest/QuestActorProxy')
local Quest308 = class("Quest308", questActorProxy)
Quest308.defaultAlias = "Quest308"
local q308Cfg = require('Quest/Client/Q308ClientConfig')
local q359Cfg = require('Quest/Client/Q359ClientConfig')
local lisaData = q308Cfg.LisaData
local bookData = q308Cfg.BookData
-- Generated
function Quest308:OnSubStartHandlerBuild()
self.subStartHandlers = {}
self.subStartHandlers["30800"] = self.OnSubStart30800
self.subStartHandlers["30801"] = self.OnSubStart30801
self.subStartHandlers["30802"] = self.OnSubStart30802
self.subStartHandlers["30803"] = self.OnSubStart30803
self.subStartHandlers["30804"] = self.OnSubStart30804
-- self.subStartHandlers["30805"] = self.OnSubStart30805
-- self.subStartHandlers["30806"] = self.OnSubStart30806
self.subStartHandlers["30807"] = self.OnSubStart30807
self.subStartHandlers["30808"] = self.OnSubStart30808
self.subStartHandlers["30809"] = self.OnSubStart30809
self.subStartHandlers["30810"] = self.OnSubStart30810
self.subStartHandlers["30811"] = self.OnSubStart30811
self.subStartHandlers["30812"] = self.OnSubStart30812
self.subStartHandlers["30814"] = self.OnSubStart30814
end
function Quest308:OnSubFinishHandlerBuild()
self.subFinishHandlers = {}
self.subFinishHandlers["30800"] = self.OnSubFinish30800
self.subFinishHandlers["30801"] = self.OnSubFinish30801
self.subFinishHandlers["30802"] = self.OnSubFinish30802
self.subFinishHandlers["30803"] = self.OnSubFinish30803
self.subFinishHandlers["30804"] = self.OnSubFinish30804
-- self.subFinishHandlers["30805"] = self.OnSubFinish30805
-- self.subFinishHandlers["30806"] = self.OnSubFinish30806
self.subFinishHandlers["30807"] = self.OnSubFinish30807
self.subFinishHandlers["30808"] = self.OnSubFinish30808
self.subFinishHandlers["30809"] = self.OnSubFinish30809
self.subFinishHandlers["30810"] = self.OnSubFinish30810
self.subFinishHandlers["30811"] = self.OnSubFinish30811
self.subFinishHandlers["30812"] = self.OnSubFinish30812
self.subFinishHandlers["30814"] = self.OnSubFinish30814
end
---sub start & finish 内调用的函数
function Quest308:LisaIntoDungeon()
local LisaData = self.clientData.LisaData
local lisa = actorMgr:GetActor(self.clientData.LisaData.Lisa)
lisa:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
lisa:RunToTask(sceneData:GetDummyPoint(3,"Q308DungeonDoor").pos,
function(actor, task)
actor:ClearFollowTask()
actor:ClearPriorityInter(InterTimingType.BTN)
end
)
end
function Quest308:LisaDestroy(actor)
local lisa = actorMgr:GetActor(self.clientData.LisaData.Lisa)
lisa:EnableHeadCtrl(true)
if lisa ~= nil then
lisa:Destroy(false)
end
end
--@region sub start & finish handlers
---按流程触发顺序
function Quest308:OnSubFinish30800(quest)
local LisaData = self.clientData.LisaData
actorMgr:CreateActorWithPos(LisaData.Lisa, LisaData.LisaScript, LisaData.LisaID, 0, LisaData.DungeonPos, LisaData.DungeonDir, true, false)
end
function Quest308:OnSubStart30802(quest)
print("30801 Start : Creat Lisa & Environment")
local lisa = actorMgr:GetActor(self.clientData.LisaData.Lisa)
lisa:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
lisa:RunToRouteTask(q308Cfg.RoutePoints,
function(actor, task)
actor:ClearFollowTask()
actor:ClearPriorityInter(InterTimingType.BTN)
actor:Standby()
actor:TurnTo(M.Euler2DirXZ(self.clientData.LisaData.DoorDir))
end
)
self:ActionSafeCall(
function(self)
local paimon = actorMgr:GetActor("Paimon")
if paimon ~= nil then
paimon:DestroyWithDisappear(false)
end
end
)
end
function Quest308:OnSubStart30810(quest)
print("30810 Start : Creat Lisa In Dungeon")
local LisaData = self.clientData.LisaData
actorMgr:CreateActorWithPos(LisaData.Lisa, LisaData.LisaScript, LisaData.LisaID, 0, LisaData.Pos1, LisaData.Dir1, true, false, 20011)
local lisa = actorMgr:GetActor(self.clientData.LisaData.Lisa)
lisa:EnableHeadCtrl(false)
end
function Quest308:OnSubStart30814(quest)
print("30814 Start : talk to NPC")
self:ShowBlackScreen(0.5, 1, 0.5,
function (self)
actorMgr:CreateActorWithPos(lisaData.Lisa, lisaData.LisaScript, lisaData.LisaID, 0, lisaData.BornPos, lisaData.BornDir, true, false, 20011)
self:CallDelay(0.5,
function (self)
self:RequestInteraction(lisaData.Lisa)
end
)
end
)
end
function Quest308:OnSubFinish30804(quest)
local quest = actorMgr:GetActor(q359Cfg.ActorAlias)
if quest ~= nil then
quest:FinishQuestID(false, 35904)
end
end
function Quest308:OnSubFinish30810(quest)
print("30810 Finish : Destroy Lisa")
self:ActionSafeCall(self.LisaDestroy)
end
function Quest308:OnSubFinish30807(quest)
print("30807 Finish: Tutorial 1")
self:ShowTutorialDialog(109)
end
function Quest308:OnSubFinish30808(quest)
print("30807 Finish: Tutorial 2")
self:ShowTutorialDialog(110)
end
function Quest308:OnSubFinish30809(quest)
print("30807 Finish: Tutorial 3")
self:ShowTutorialDialog(111)
end
function Quest308:OnSubFinish30812(quest)
print("30812 Finish: Tutorial 4")
self:ShowTutorialDialog(149)
end
function Quest308:OnSubFinish30814(quest)
print("30814 Finish: Destroy Lisa")
self:ActionSafeCall(
self:ShowBlackScreen(0.5, 1, 0.5,
function(self)
local lisa = actorMgr:GetActor(lisaData.Lisa)
local paimon = actorMgr:GetActor("Paimon")
if lisa ~= nil then
lisa:Destroy(false)
end
if paimon ~= nil then
paimon:Destroy(false)
end
end
)
)
end
--@endregion
function Quest308:Start()
end
function Quest308:OnDestroy()
end
return Quest308