mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2024-12-25 15:29:22 +03:00
211 lines
7.1 KiB
Lua
211 lines
7.1 KiB
Lua
require('Actor/ActorCommon')
|
|
local questActorProxy = require('Actor/Quest/QuestActorProxy')
|
|
local Quest411 = class("Quest411", questActorProxy)
|
|
Quest411.defaultAlias = "Quest411"
|
|
|
|
local this = nil
|
|
local super = nil
|
|
local uActor = nil
|
|
local questID = 0
|
|
|
|
|
|
function Quest411:OnPreInit()
|
|
this = self
|
|
super = self.__super
|
|
questID = this.mainQuestID
|
|
super:OnPreInit()
|
|
end
|
|
|
|
function Quest411:OnPostInit()
|
|
uActor = self.uActor
|
|
super:OnPostInit()
|
|
end
|
|
|
|
|
|
|
|
-- local config begin
|
|
local q411Cfg = require('Actor/Quest/Q411/Q411Config')
|
|
local subIDs = q411Cfg.SubIDs
|
|
local qinData = q411Cfg.QinData
|
|
local lisaData = q411Cfg.LisaData
|
|
local merchantData = q411Cfg.MerchantData
|
|
local paimonData = q411Cfg.PaimonData
|
|
|
|
-- local config end
|
|
|
|
function Quest411:CreateUActor(alias)
|
|
local uActor = actorUtils.CreateActor(self, ActorType.QUEST_ACTOR, alias)
|
|
uActor = actorUtils.CreateQuestActor(questID, uActor)
|
|
return uActor
|
|
end
|
|
|
|
function Quest411:EndSpeedField()
|
|
for i=1, #q411Cfg.SpeedFieldPos do
|
|
globalActor:UnSpawn("MuskSpeedField" .. tostring(i))
|
|
end
|
|
end
|
|
|
|
function Quest411:StartSpeedField()
|
|
print("StartSpeedField")
|
|
for i=1, #q411Cfg.SpeedFieldPos do
|
|
globalActor:SpawnGadget(70690001, q411Cfg.SpeedFieldPos[i], M.Dir2Euler(q411Cfg.SpeedFieldDir), "MuskSpeedField" .. tostring(i))
|
|
end
|
|
this:CallDelay(300,this.EndSpeedField)
|
|
end
|
|
|
|
-- local param begin
|
|
-- local param end
|
|
|
|
-- local method begin
|
|
local function OnStart41101()
|
|
actorMgr:CreateActorWithPos(lisaData.Lisa, lisaData.LisaScript, lisaData.LisaID, 0, lisaData.bornPos, lisaData.bornDir, true, false)
|
|
end
|
|
|
|
local function OnStart41102()
|
|
globalActor:UnSpawn("File")
|
|
globalActor:SpawnItem(q411Cfg.ItemFileID, sceneData:GetDummyPoint(3,"Q411QinFilesPos").pos,nil,"File")
|
|
end
|
|
|
|
local function OnStart41104()
|
|
globalActor:UnSpawn("JourneyNotes")
|
|
globalActor:SpawnItem(q411Cfg.ItemJourneyNotesID, sceneData:GetDummyPoint(3,"Q411JourneyNotes").pos,nil,"JourneyNotes")
|
|
end
|
|
|
|
local function OnFinished41106()
|
|
local paimonPos = actorUtils.GetAvatarPos()
|
|
paimonPos.z = paimonPos.z+1
|
|
local paimonRot = {x=0,y=0,z=-1}
|
|
local paimon = actorMgr:CreateActorWithPos(paimonData.Paimon, paimonData.PaimonScript, paimonData.PaimonID, 0, paimonPos, M.Dir2Euler(paimonRot), true, false)
|
|
paimon:NarratorTask(q411Cfg.NarratorFlow1, -1, 30, paimon.Vanish)
|
|
globalActor:StopLocalAvatar()
|
|
this:PlayCutscene(q411Cfg.LookTimeCfg)
|
|
end
|
|
|
|
local function OnStart41107()
|
|
local qin = actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, sceneData:GetDummyPoint(3,"Q411QingSing").pos, sceneData:GetDummyPoint(3,"Q411QingSing").rot, true, false)
|
|
|
|
end
|
|
|
|
local function OnFinished41107()
|
|
globalActor:StopLocalAvatar()
|
|
this:PlayCutscene(q411Cfg.QinSingTimeCfg)
|
|
end
|
|
|
|
local function OnFinished41108()
|
|
end
|
|
|
|
local function OnStart41109()
|
|
globalActor:UnSpawn("Music1stHalf")
|
|
globalActor:SpawnItem(q411Cfg.ItemMusic1stHalfID, sceneData:GetDummyPoint(3,"Q411QingSing").pos,nil,"Music1stHalf")
|
|
local qin = actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, sceneData:GetDummyPoint(3,"Q411QinBorn").pos, sceneData:GetDummyPoint(3,"Q411QinBorn").rot, true, false)
|
|
local paimonPos = actorUtils.GetAvatarPos()
|
|
paimonPos.z = paimonPos.z+1
|
|
local paimonRot = {x=0,y=0,z=-1}
|
|
local paimon = actorMgr:CreateActorWithPos(paimonData.Paimon, paimonData.PaimonScript, paimonData.PaimonID, 0, paimonPos, M.Dir2Euler(paimonRot), true, false)
|
|
paimon:NarratorTask(q411Cfg.NarratorFlow2, -1, 30, paimon.Vanish)
|
|
end
|
|
|
|
local function OnStart41113()
|
|
local qin = actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, sceneData:GetDummyPoint(3,"Q411QinWaitOnCape").pos, sceneData:GetDummyPoint(3,"Q411QinWaitOnCape").rot, true, false)
|
|
local merchant = actorMgr:CreateActorWithPos(merchantData.Merchant, merchantData.MerchantScript, merchantData.MerchantID, 0, sceneData:GetDummyPoint(3,"Q411Merchant").pos, sceneData:GetDummyPoint(3,"Q411Merchant").rot, true, false)
|
|
end
|
|
|
|
local function OnStart41114()
|
|
local qin = actorMgr:GetActor(qinData.Qin)
|
|
qin:RunToMerchant()
|
|
end
|
|
|
|
local function OnStart41115()
|
|
local qin = actorMgr:GetActor(qinData.Qin)
|
|
qin:RunToWatchSunRise()
|
|
end
|
|
|
|
local function OnFinished41115()
|
|
globalActor:StopLocalAvatar()
|
|
this:PlayCutscene(q411Cfg.SunRiseTimeCfg)
|
|
end
|
|
|
|
local function OnFinished41116()
|
|
local qin = actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, sceneData:GetDummyPoint(3,"Q411QinBorn").pos, sceneData:GetDummyPoint(3,"Q411QinBorn").rot, true, false)
|
|
end
|
|
|
|
local function OnRewind41108()
|
|
local qin = actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, sceneData:GetDummyPoint(3,"Q411QingSing").pos, sceneData:GetDummyPoint(3,"Q411QingSing").rot, true, false)
|
|
end
|
|
|
|
local function OnRewind41114()
|
|
local qin = actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, sceneData:GetDummyPoint(3,"Q411QinWaitOnCape").pos, sceneData:GetDummyPoint(3,"Q411QinWaitOnCape").rot, true, false)
|
|
local merchant = actorMgr:CreateActorWithPos(merchantData.Merchant, merchantData.MerchantScript, merchantData.MerchantID, 0, sceneData:GetDummyPoint(3,"Q411Merchant").pos, sceneData:GetDummyPoint(3,"Q411Merchant").rot, true, false)
|
|
end
|
|
|
|
local function OnRewind41115()
|
|
local qin = actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, sceneData:GetDummyPoint(3,"Q411QinBuyMusic").pos, sceneData:GetDummyPoint(3,"Q411QinBuyMusic").rot, true, false)
|
|
end
|
|
|
|
local function OnRewind41116()
|
|
local qin = actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, sceneData:GetDummyPoint(3,"Q411QinWatchSunRise").pos, sceneData:GetDummyPoint(3,"Q411QinWatchSunRise").rot, true, false)
|
|
end
|
|
|
|
-- local method end
|
|
|
|
function Quest411:OnMainStart(quest)
|
|
end
|
|
|
|
function Quest411:OnSubStart(quest)
|
|
local questID = quest.QuestId
|
|
if questID == subIDs.q41102 then
|
|
OnStart41102()
|
|
elseif questID == subIDs.q41104 then
|
|
OnStart41104()
|
|
elseif questID == subIDs.q41107 then
|
|
OnStart41107()
|
|
elseif questID == subIDs.q41109 then
|
|
OnStart41109()
|
|
elseif questID == subIDs.q41113 then
|
|
OnStart41113()
|
|
elseif questID == subIDs.q41114 then
|
|
OnStart41114()
|
|
elseif questID == subIDs.q41115 then
|
|
OnStart41115()
|
|
elseif questID == subIDs.q41101 then
|
|
OnStart41101()
|
|
end
|
|
end
|
|
|
|
function Quest411:OnSubFinished(quest)
|
|
local questID = quest.QuestId
|
|
if questID == subIDs.q41106 then
|
|
OnFinished41106()
|
|
elseif questID == subIDs.q41107 then
|
|
OnFinished41107()
|
|
elseif questID == subIDs.q41108 then
|
|
OnFinished41108()
|
|
elseif questID == subIDs.q41115 then
|
|
OnFinished41115()
|
|
end
|
|
end
|
|
|
|
function Quest411:OnRewind(quest)
|
|
local questID = quest.QuestId
|
|
if questID == subIDs.q41108 then
|
|
OnRewind41108()
|
|
elseif questID == subIDs.q41114 then
|
|
OnRewind41114()
|
|
elseif questID == subIDs.q41115 then
|
|
OnRewind41115()
|
|
elseif questID == subIDs.q41116 then
|
|
OnRewind41116()
|
|
end
|
|
end
|
|
|
|
function Quest411:OnMainFinished(quest)
|
|
OnFinished41116()
|
|
end
|
|
|
|
function Quest411:Start()
|
|
end
|
|
|
|
function Quest411:OnDestroy()
|
|
end
|
|
|
|
return Quest411 |