mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2025-01-13 00:29:29 +03:00
363 lines
13 KiB
Lua
363 lines
13 KiB
Lua
require('Actor/ActorCommon')
|
|
local questActorProxy = require('Actor/Quest/QuestActorProxy')
|
|
|
|
local Quest353 = class("Quest353", questActorProxy)
|
|
|
|
Quest353.defaultAlias = "Quest353"
|
|
|
|
local q353Cfg = require('Quest/Client/Q353ClientConfig')
|
|
|
|
-- Generated
|
|
function Quest353:OnSubStartHandlerBuild()
|
|
self.subStartHandlers = {}
|
|
--self.subStartHandlers["35300"] = self.OnSubStart35300
|
|
self.subStartHandlers["35301"] = self.OnSubStart35301
|
|
self.subStartHandlers["35302"] = self.OnSubStart35302
|
|
self.subStartHandlers["35303"] = self.OnSubStart35303
|
|
self.subStartHandlers["35304"] = self.OnSubStart35304
|
|
--self.subStartHandlers["35305"] = self.OnSubStart35305
|
|
--self.subStartHandlers["35306"] = self.OnSubStart35306
|
|
--self.subStartHandlers["35307"] = self.OnSubStart35307
|
|
--self.subStartHandlers["35308"] = self.OnSubStart35308
|
|
self.subStartHandlers["35309"] = self.OnSubStart35309
|
|
self.subStartHandlers["35310"] = self.OnSubStart35310
|
|
self.subStartHandlers["35311"] = self.OnSubStart35311
|
|
self.subStartHandlers["35312"] = self.OnSubStart35312
|
|
end
|
|
|
|
function Quest353:OnSubFinishHandlerBuild()
|
|
self.subFinishHandlers = {}
|
|
--self.subFinishHandlers["35300"] = self.OnSubFinish35300
|
|
self.subFinishHandlers["35301"] = self.OnSubFinish35301
|
|
self.subFinishHandlers["35302"] = self.OnSubFinish35302
|
|
self.subFinishHandlers["35303"] = self.OnSubFinish35303
|
|
self.subFinishHandlers["35304"] = self.OnSubFinish35304
|
|
--self.subFinishHandlers["35305"] = self.OnSubFinish35305
|
|
--self.subFinishHandlers["35306"] = self.OnSubFinish35306
|
|
--self.subFinishHandlers["35307"] = self.OnSubFinish35307
|
|
--self.subFinishHandlers["35308"] = self.OnSubFinish35308
|
|
self.subFinishHandlers["35309"] = self.OnSubFinish35309
|
|
self.subFinishHandlers["35310"] = self.OnSubFinish35310
|
|
self.subFinishHandlers["35311"] = self.OnSubFinish35311
|
|
self.subFinishHandlers["35312"] = self.OnSubFinish35312
|
|
end
|
|
|
|
---sub start & finish 内调用的函数
|
|
function Quest353:ShowTutorial(actor)
|
|
--[[ self:ShowTutorialDialog(102)
|
|
self:NarratorOnlyTask(self.clientData.NarratorData.Story1) ]]
|
|
end
|
|
|
|
local goddessActor;
|
|
local goddessInitPos;
|
|
function Quest353:ShowGoddess()
|
|
if goddessActor ~= nil then
|
|
goddessActor:SetPos(goddessInitPos)
|
|
goddessActor = nil
|
|
end
|
|
end
|
|
|
|
function Quest353:HideGoddess()
|
|
goddessActor = actorMgr:GetActor("Goddess_3003")
|
|
if goddessActor == nil or goddessActor == actorMgr.dummyActor then
|
|
goddessActor = nil
|
|
print("can not find Goddess_3003")
|
|
else
|
|
goddessInitPos = goddessActor:GetPos()
|
|
goddessActor:SetPos(M.Pos(goddessInitPos.x, goddessInitPos.y + 100, goddessInitPos.z))
|
|
end
|
|
end
|
|
|
|
function Quest353:On35309CutsceneFinish()
|
|
local PaimonData = self.clientData.PaimonData
|
|
actorMgr:CreateActorWithPos(PaimonData.Paimon, PaimonData.PaimonScript, PaimonData.PaimonID, 0, PaimonData.Pos4, PaimonData.Dir4, true, false)
|
|
self:RequestInteraction(PaimonData.Paimon)
|
|
self:ShowGoddess() --还原女神像
|
|
print("Finish quest to unlock Goddess")
|
|
local quest = actorMgr:GetActor(q353Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
--show paimon
|
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
if paimon ~= nil then
|
|
paimon:SetVisible(true)
|
|
end
|
|
--spawn MengdeEff
|
|
self:SpawnGadget(70300051, sceneData:GetDummyPoint(3,"Q357Gaia1").pos, sceneData:GetDummyPoint(3,"Q357Gaia1").rot, "MengdeEff", 3)
|
|
end
|
|
|
|
function Quest353:On35309CutsceneDestroy()
|
|
print("On35309CutsceneDestroy")
|
|
self:ShowGoddess() --还原女神像
|
|
end
|
|
|
|
function Quest353:On35309CutsceneStart()
|
|
self:HideGoddess() --隐藏女神像,用导演自己的
|
|
--hide paimon
|
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
if paimon ~= nil then
|
|
paimon:SetVisible(false)
|
|
end
|
|
end
|
|
|
|
function Quest353:PlayerName()
|
|
--[[ local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
if paimon ~= nil then
|
|
paimon:SetVisible(false)
|
|
end ]]
|
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
paimon:VanishKeep()
|
|
self:ShowNameDialog(
|
|
function()
|
|
print("Finish Name Task")
|
|
local quest = actorMgr:GetActor(q353Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
)
|
|
end
|
|
|
|
function Quest353:PaimonVanish()
|
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
paimon:CallDelay(1, paimon.VanishKeep)
|
|
--self:NarratorOnlyTask(self.clientData.NarratorData.Story4)
|
|
--self:SetOpenState(OpenStateType.OPEN_STATE_PAIMON, true)
|
|
end
|
|
|
|
function Quest353:Cutscene35309()
|
|
self:PlayCutscene(self.clientData.InterData.Cutscene1, self.On35309CutsceneFinish, self.On35309CutsceneStart, self.On35309CutsceneDestroy)
|
|
end
|
|
|
|
--@region sub start & finish handlers
|
|
---按流程触发顺序
|
|
function Quest353:OnSubStart35301(quest)
|
|
print("35301 start: Paimon Create")
|
|
local PaimonData = self.clientData.PaimonData
|
|
actorMgr:CreateActorWithPos(PaimonData.Paimon, PaimonData.PaimonScript, PaimonData.PaimonID, 0, PaimonData.Pos1, PaimonData.Dir1, true, false)
|
|
globalActor:PlayerBackButtonOn(2, 3, "Q353Center", 30, 9)
|
|
end
|
|
|
|
function Quest353:OnSubFinish35301(quest)
|
|
print("35301 Finish: Tutorial")
|
|
self:ActionSafeCall(self.ShowTutorial)
|
|
self:ActionSafeCall(self.PaimonVanish)
|
|
end
|
|
|
|
function Quest353:OnSubStart35302(quest)
|
|
print("35302 start: Create questarea")
|
|
local TargetData = self.clientData.TargetData
|
|
globalActor:UnSpawn(TargetData.Target1)
|
|
globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos1, TargetData.Dir1, TargetData.Target1)
|
|
self:CallDelay(5, self.TargetDes1)
|
|
--self:ActionSafeCall(self.SkillTurorial)
|
|
self:CallDelay(1,self.Skill)
|
|
--[[ local PaimonData = self.clientData.PaimonData
|
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
paimon:RunToTask(self.clientData.PaimonData.Pos2,
|
|
function(actor, task)
|
|
actor:DoFreeStyle(1291)
|
|
actor:TurnTo(M.Euler2DirXZ(self.clientData.PaimonData.Dir2))
|
|
end
|
|
) ]]
|
|
--self:ActionSafeCall(self.ShowTutorial)
|
|
--self:EnterSceneLookCamera(sceneData:GetDummyPoint(3,"Q353Monster1").pos, 1, 2, true)
|
|
globalActor:PlayerBackButtonOff(2)
|
|
--[[ local questArea = gadgetFactory.CreateQuestArea("QuestCenter1", 0, sceneData:GetDummyPoint(3, "Q353Center").pos, 50, 10,
|
|
function(area)
|
|
print("ImIn")
|
|
end,
|
|
function(area)
|
|
print("ImOut")
|
|
actorUtils.ShowMessage("正在离开任务区域,请尽快返回")
|
|
end,
|
|
function(area)
|
|
print("ImDelayOut")
|
|
actorUtils.ShowMessage("已离开任务区域,任务失败")
|
|
local quest = actorMgr:GetActor(q353Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:UnFinishQuest(true, nil)
|
|
end
|
|
end) ]]
|
|
end
|
|
function Quest353:TargetDes1(quest)
|
|
local TargetData = self.clientData.TargetData
|
|
globalActor:UnSpawn(TargetData.Target1)
|
|
end
|
|
function Quest353:Skill(quest)
|
|
print("Skill")
|
|
self:ActionSafeCall(self.SkillTurorial)
|
|
end
|
|
function Quest353:SkillTurorial(quest)
|
|
print("SkillTurorial")
|
|
self:TransmitPlayer(3, sceneData:GetDummyPoint(3, "Q353SetAvatar").pos, sceneData:GetDummyPoint(3, "Q353SetAvatar").rot)
|
|
globalActor:StartGuide("GuideElementSkill")
|
|
end
|
|
|
|
function Quest353:OnSubStart35303(quest)
|
|
print("35303 start: Paimon to Act2")
|
|
--self:EnterSceneLookCamera(sceneData:GetDummyPoint(3,"Q353Monster2").pos, 1, 2, true)
|
|
--[[ local PaimonData = self.clientData.PaimonData
|
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
paimon:RunToTask(self.clientData.PaimonData.Pos3,
|
|
function(actor, task)
|
|
actor:DoFreeStyle(1291)
|
|
actor:TurnTo(M.Euler2DirXZ(self.clientData.PaimonData.Dir3))
|
|
end
|
|
) ]]
|
|
--self:NarratorOnlyTask(self.clientData.NarratorData.Story2)
|
|
local TargetData = self.clientData.TargetData
|
|
globalActor:UnSpawn(TargetData.Target2)
|
|
globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos2, TargetData.Dir2, TargetData.Target2)
|
|
self:CallDelay(5, self.TargetDes2)
|
|
self:CallDelay(1,
|
|
function()
|
|
globalActor:EndGuide("GuideElementSkill")
|
|
globalActor:EndGuide("GuideElementSkillPC")
|
|
globalActor:StartGuide("GuideElementSkillHold")
|
|
end
|
|
)
|
|
end
|
|
function Quest353:TargetDes2(quest)
|
|
local TargetData = self.clientData.TargetData
|
|
globalActor:UnSpawn(TargetData.Target2)
|
|
end
|
|
|
|
function Quest353:OnSubStart35304(quest)
|
|
print("35304 start: Paimon to Act3")
|
|
--[[ local PaimonData = self.clientData.PaimonData
|
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
paimon:RunToTask(self.clientData.PaimonData.Pos5,
|
|
function(actor, task)
|
|
actor:DoFreeStyle(1291)
|
|
actor:TurnTo(M.Euler2DirXZ(self.clientData.PaimonData.Dir5))
|
|
end
|
|
) ]]
|
|
--self:EnterSceneLookCamera(sceneData:GetDummyPoint(3,"Q353Monster3").pos, 1, 2, true)
|
|
--self:NarratorOnlyTask(self.clientData.NarratorData.Story3)
|
|
local BallData = self.clientData.BallData
|
|
globalActor:SpawnItem(BallData.BallID, BallData.BallPos,nil,"Ball")
|
|
globalActor:SpawnItem(BallData.BallID, BallData.BallPos,nil,"Ball")
|
|
globalActor:SpawnItem(BallData.BallID, BallData.BallPos,nil,"Ball")
|
|
local TargetData = self.clientData.TargetData
|
|
globalActor:UnSpawn(TargetData.Target3)
|
|
globalActor:SpawnGadget(TargetData.TargetID, TargetData.Pos3, TargetData.Dir3, TargetData.Target3)
|
|
self:CallDelay(5, self.TargetDes3)
|
|
self:CallDelay(1,
|
|
function()
|
|
globalActor:EndGuide("GuideElementSkillHold")
|
|
globalActor:EndGuide("GuideElementSkillHoldPC")
|
|
globalActor:StartGuide("GuideElementSkillBurst")
|
|
end
|
|
)
|
|
end
|
|
function Quest353:TargetDes3(quest)
|
|
local TargetData = self.clientData.TargetData
|
|
globalActor:UnSpawn(TargetData.Target3)
|
|
end
|
|
|
|
function Quest353:OnSubFinish35304(quest)
|
|
print("35304 Finish: Endguide")
|
|
globalActor:EndGuide("GuideElementSkillBurst")
|
|
globalActor:EndGuide("GuideElementSkillBurstPC")
|
|
end
|
|
-- function Quest353:OnSubStart35308(quest)
|
|
-- print("35308 start: Show Paimon")
|
|
-- --[[ local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
-- if paimon ~= nil then
|
|
-- paimon:SetVisible(true)
|
|
-- end ]]
|
|
-- local PaimonData = self.clientData.PaimonData
|
|
-- actorMgr:CreateActorWithPos(PaimonData.Paimon, PaimonData.PaimonScript, PaimonData.PaimonID, 0, PaimonData.Pos5, PaimonData.Dir5, true, false)
|
|
-- self:RequestInteraction(PaimonData.Paimon)
|
|
-- end
|
|
|
|
--[[ function Quest353:OnSubStart35309(quest)
|
|
print("35309 Start : Cs_MdGoddess_Lite01_CamMove")
|
|
self:ActionSafeCall(self.Cutscene35309)
|
|
--self:PlayCutscene(self.clientData.InterData.Cutscene1, self.On35309CutsceneFinish, self.On35309CutsceneStart)
|
|
end ]]
|
|
|
|
--[[ function Quest353:OnSubFinish35308(quest)
|
|
print("35308 Finish : Paimon Vanish")
|
|
self:ActionSafeCall(self.PaimonVanish)
|
|
end ]]
|
|
|
|
function Quest353:OnSubStart35312(quest)
|
|
print("35312 start: Questarea")
|
|
actorMgr:CreateActorWithPos("Q353Trigger1", "Actor/Gadget/Q353Trigger1", 70900002, 0, sceneData:GetDummyPoint(3,"Q353Center").pos, sceneData:GetDummyPoint(3,"Q353Center").rot, true, false)
|
|
actorMgr:CreateActorWithPos("Q353Trigger2", "Actor/Gadget/Q353Trigger2", 70900002, 0, sceneData:GetDummyPoint(3,"Q353Center").pos, sceneData:GetDummyPoint(3,"Q353Center").rot, true, false)
|
|
--[[ local PaimonData = self.clientData.PaimonData
|
|
local paimon = actorMgr:GetActor(self.clientData.PaimonData.Paimon)
|
|
paimon:RunToTask(self.clientData.PaimonData.Pos2,
|
|
function(actor, task)
|
|
actor:DoFreeStyle(1291)
|
|
actor:TurnTo(M.Euler2DirXZ(self.clientData.PaimonData.Dir2))
|
|
end
|
|
) ]]
|
|
--self:ActionSafeCall(self.ShowTutorial)
|
|
--[[ local questArea = gadgetFactory.CreateQuestArea("QuestCenter1", 0, sceneData:GetDummyPoint(3, "Q353Center").pos, 50, 10,
|
|
function(area)
|
|
print("ImIn")
|
|
end,
|
|
function(area)
|
|
print("ImOut")
|
|
actorUtils.ShowMessage("正在离开任务区域,请尽快返回")
|
|
end,
|
|
function(area)
|
|
print("ImDelayOut")
|
|
actorUtils.ShowMessage("已离开任务区域,任务失败")
|
|
local quest = actorMgr:GetActor(q353Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuestID(true, 35312)
|
|
end
|
|
end) ]]
|
|
local TargetData = self.clientData.TargetData
|
|
globalActor:UnSpawn(TargetData.Target1)
|
|
globalActor:UnSpawn(TargetData.Target2)
|
|
globalActor:UnSpawn(TargetData.Target3)
|
|
end
|
|
|
|
function Quest353:OnSubFinish35312(quest)
|
|
print("35312 Finish: Questarea Des")
|
|
globalActor:UnSpawn("Q353Trigger1")
|
|
globalActor:UnSpawn("Q353Trigger2")
|
|
local Q353Trigger1Actor = actorMgr:GetActor("Q353Trigger1")
|
|
Q353Trigger1Actor:DestroySelf()
|
|
local Q353Trigger2Actor = actorMgr:GetActor("Q353Trigger2")
|
|
Q353Trigger2Actor:DestroySelf()
|
|
end
|
|
|
|
function Quest353:OnSubFinish35311(quest)
|
|
print("35311 Finish: Story5")
|
|
self:NarratorOnlyTask(self.clientData.NarratorData.Story5, self.OnNarratorFinish)
|
|
globalActor:EndGuide("GuideElementSkillBurst")
|
|
globalActor:EndGuide("GuideElementSkillBurstPC")
|
|
end
|
|
|
|
function Quest353:OnNarratorFinish()
|
|
globalActor:StartGuide("GuideViewHotkey")
|
|
end
|
|
|
|
function Quest353:InvokeOnInteraction(param)
|
|
if param == 1 then
|
|
print("Now Spawn Tears")
|
|
--[[ local MonsterData = self.clientData.MonsterData
|
|
self:SpawnMonster(MonsterData.MonsterID, 1, MonsterData.Pos1) ]]
|
|
elseif param == 2 then
|
|
print("Show Name Dialog")
|
|
self:PlayerName()
|
|
--self:ActionSafeCall(self.PlayerName)
|
|
end
|
|
end
|
|
--@endregion
|
|
|
|
function Quest353:Start()
|
|
end
|
|
|
|
function Quest353:OnDestroy()
|
|
end
|
|
|
|
return Quest353
|