mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2024-12-25 15:29:22 +03:00
146 lines
4.1 KiB
Lua
146 lines
4.1 KiB
Lua
require('Actor/ActorCommon')
|
|
local questActorProxy = require('Actor/Quest/QuestActorProxy')
|
|
|
|
local Quest380 = class("Quest380", questActorProxy)
|
|
|
|
Quest380.defaultAlias = "Quest380"
|
|
|
|
local q380Cfg = require('Quest/Client/Q380ClientConfig')
|
|
local subIDs = q380Cfg.SubIDs
|
|
local qinData = q380Cfg.QinData
|
|
local dilucData = q380Cfg.DilucData
|
|
local paimonData = q380Cfg.PaimonData
|
|
local treasureData = q380Cfg.TreasureData
|
|
|
|
-- Generated
|
|
function Quest380:OnSubStartHandlerBuild()
|
|
self.subStartHandlers = {}
|
|
self.subStartHandlers["38001"] = self.OnSubStart38001
|
|
self.subStartHandlers["38002"] = self.OnSubStart38002
|
|
self.subStartHandlers["38003"] = self.OnSubStart38003
|
|
self.subStartHandlers["38004"] = self.OnSubStart38004
|
|
end
|
|
|
|
function Quest380:OnSubFinishHandlerBuild()
|
|
self.subFinishHandlers = {}
|
|
self.subFinishHandlers["38001"] = self.OnSubFinish38001
|
|
self.subFinishHandlers["38002"] = self.OnSubFinish38002
|
|
self.subFinishHandlers["38003"] = self.OnSubFinish38003
|
|
self.subFinishHandlers["38004"] = self.OnSubFinish38004
|
|
end
|
|
|
|
-- local param begin
|
|
-- local param end
|
|
|
|
-- local method begin
|
|
--@region sub start handlers
|
|
|
|
function Quest380:OnSubStart38001(quest)
|
|
print("38001 start:...")
|
|
-- local quest = actorMgr:GetActor(q380Cfg.ActorAlias)
|
|
-- if quest ~= nil then
|
|
-- quest:FinishQuest(false, nil)
|
|
-- end
|
|
actorMgr:CreateActorWithPos("Q380Trigger", "Actor/Gadget/Q380TriggerArea", 70900002, 0, sceneData:GetDummyPoint(3,"DUMMY_POS 3003390").pos, sceneData:GetDummyPoint(3,"DUMMY_POS 3003390").rot, true, false)
|
|
end
|
|
|
|
function Quest380:OnSubStart38002(quest)
|
|
print("38002 start:...")
|
|
-- TODO: Do sth on sub quest 38002 start
|
|
end
|
|
|
|
function Quest380:OnSubStart38003(quest)
|
|
print("38003 start:...")
|
|
-- TODO: Do sth on sub quest 38002 start
|
|
self:SpawnChest(treasureData.GadgetID, treasureData.bornPos, treasureData.bornDir, "Chest380", 3, treasureData.DropId ,treasureData.ShowCutscene)
|
|
end
|
|
|
|
function Quest380:OnSubStart38004(quest)
|
|
print("38004 start:...")
|
|
-- TODO: Do sth on sub quest 38002 start
|
|
self:CallDelay(1, self.EnterDialog)
|
|
end
|
|
|
|
function Quest380:CreateNPC()
|
|
actorMgr:CreateActorWithPos(paimonData.Paimon, paimonData.PaimonScript, paimonData.PaimonID, 0, paimonData.bornPos, paimonData.bornDir, true)
|
|
actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.bornPos, dilucData.bornDir, true)
|
|
actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, qinData.bornPos, qinData.bornDir, true)
|
|
end
|
|
|
|
|
|
function Quest380:StartDialog()
|
|
self:RequestInteraction(qinData.Qin)
|
|
end
|
|
|
|
function Quest380:EnterDialog()
|
|
self:ShowBlackScreen(0.5, 1.0, 0.5, self.CreateNPC, self.StartDialog)
|
|
end
|
|
|
|
--@endregion
|
|
|
|
--@region sub finish handlers
|
|
function Quest380:OnSubFinish38001(quest)
|
|
print("OnFinished 38001")
|
|
end
|
|
|
|
function Quest380:OnSubFinish38002(quest)
|
|
print("OnFinished 38002")
|
|
end
|
|
|
|
function Quest380:OnSubFinish38003(quest)
|
|
print("OnFinished 38002")
|
|
|
|
end
|
|
|
|
function Quest380:OnSubFinish38004(quest)
|
|
print("OnFinished 38004")
|
|
self:ActionSafeCall(self.ExitDialog)
|
|
end
|
|
|
|
function Quest380:DestroyNPC()
|
|
self:ActionSafeCall(
|
|
function(self)
|
|
local paimon = actorMgr:GetActor(paimonData.Paimon)
|
|
if paimon ~= nil then
|
|
paimon:Destroy(false)
|
|
end
|
|
end
|
|
)
|
|
self:ActionSafeCall(
|
|
function(self)
|
|
local qin = actorMgr:GetActor(qinData.Qin)
|
|
if qin ~= nil then
|
|
qin:Destroy(false)
|
|
end
|
|
end
|
|
)
|
|
self:ActionSafeCall(
|
|
function(self)
|
|
local diluc = actorMgr:GetActor(dilucData.Diluc)
|
|
if diluc ~= nil then
|
|
diluc:Destroy(false)
|
|
end
|
|
end
|
|
)
|
|
end
|
|
|
|
function Quest380:TellStory(quest)
|
|
self:CallDelay(1.5, self.StartStory)
|
|
end
|
|
|
|
function Quest380:StartStory(quest)
|
|
self:NarratorOnlyTask(q380Cfg.StoryNarrator, nil, "Story")
|
|
end
|
|
|
|
function Quest380:ExitDialog()
|
|
self:ShowBlackScreen(0.5, 1.0, 0.5, self.DestroyNPC, self.TellStory)
|
|
end
|
|
--@endregion
|
|
|
|
function Quest380:Start()
|
|
end
|
|
|
|
function Quest380:OnDestroy()
|
|
end
|
|
|
|
return Quest380 |