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

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