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

450 lines
15 KiB
Lua

require('Actor/ActorCommon')
local questActorProxy = require('Actor/Quest/QuestActorProxy')
local Quest463 = class("Quest463", questActorProxy)
Quest463.defaultAlias = "Quest463"
local q463Cfg = require('Quest/Client/Q463ClientConfig')
--local KaeyaData = Quest463.clientData.KaeyaData
local kaeyaData = q463Cfg.KaeyaData
local paimonData = q463Cfg.PaimonData
local npcBossData=q463Cfg.KaeyaNPCBossData
local DungeonData = q463Cfg.DungeonData
local Invisible=q463Cfg.Invisible
local SoldierData=q463Cfg.SoldierData
--local kaeya = actorMgr:GetActor(KaeyaData.kaeya)
--local NPCData=Quest463.clientData.NPCData
function Quest463:PaimonVanish()
--self:ShowTutorialDialog(113)
print("463 PaimonVanish")
local paimon = actorMgr:GetActor(paimonData.Alias)
paimon:AirModeOff()
--paimon:VanishKeep()
if paimon ~= nil then
paimon:DestroyWithDisappear(false)
end
end
-- Generated
function Quest463:OnSubStartHandlerBuild()
self.subStartHandlers = {}
self.subStartHandlers["46300"] = self.OnSubStart46300
self.subStartHandlers["46301"] = self.OnSubStart46301
self.subStartHandlers["46302"] = self.OnSubStart46302
self.subStartHandlers["46303"] = self.OnSubStart46303
self.subStartHandlers["46304"] = self.OnSubStart46304
self.subStartHandlers["46305"] = self.OnSubStart46305
self.subStartHandlers["46306"] = self.OnSubStart46306
self.subStartHandlers["46307"] = self.OnSubStart46307
self.subStartHandlers["46308"] = self.OnSubStart46308
end
function Quest463:OnSubFinishHandlerBuild()
self.subFinishHandlers = {}
self.subFinishHandlers["46300"] = self.OnSubFinish46300
self.subFinishHandlers["46301"] = self.OnSubFinish46301
self.subFinishHandlers["46302"] = self.OnSubFinish46302
self.subFinishHandlers["46303"] = self.OnSubFinish46303
self.subFinishHandlers["46304"] = self.OnSubFinish46304
self.subFinishHandlers["46305"] = self.OnSubFinish46305
self.subFinishHandlers["46306"] = self.OnSubFinish46306
self.subFinishHandlers["46307"] = self.OnSubFinish46307
self.subFinishHandlers["46308"] = self.OnSubFinish46308
end
function Quest463:PaimonEnter()
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.BornPos, paimonData.BornDir, true, false,3)
local paimon = actorMgr:GetActor(paimonData.Alias)
paimon:SetVisible(true)
--kaeya:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
print("463 PaimonEnter")
paimon:WalkToTask(paimonData.Pos3,
function(actor, task)
--actor:ClearFollowTask()
--actor:ClearPriorityInter(InterTimingType.BTN)
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true, false,3)
actor:Standby()
print("463 PaimonEnter TurnTo")
actor:TurnTo(M.Euler2DirXZ(paimonData.Dir3))
end
)
end
function Quest463:KaeyaLeave()
local kaeya = actorMgr:GetActor(kaeyaData.Kaeya)
kaeya:SetVisible(true)
--kaeya:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
kaeya:EnableInteraction(false)
print("463 KaeyaLeave")
kaeya:WalkToTask(paimonData.BornPos,
function(actor, task)
--actor:ClearFollowTask()
--actor:ClearPriorityInter(InterTimingType.BTN)
actor:EnableInteraction(true)
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true, false,3)
--actor:Destroy(false)
actor:Standby()
actor:SetVisible(false)
end
)
end
function Quest463:Soldier1Enter()
local soldier1 = actorMgr:GetActor(SoldierData.Alias1)
soldier1:SetVisible(true)
soldier1:WalkToTask(SoldierData.Pos1,
function(actor, task)
--actor:ClearFollowTask()
--actor:ClearPriorityInter(InterTimingType.BTN)
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true, false,3)
--actor:Destroy(false)
actor:Standby()
actor:TurnTo(M.Euler2DirXZ(SoldierData.Dir1))
end
)
end
function Quest463:Soldier2Enter()
local soldier2 = actorMgr:GetActor(SoldierData.Alias2)
soldier2:SetVisible(true)
soldier2:WalkToTask(SoldierData.Pos2,
function(actor, task)
--actor:ClearFollowTask()
--actor:ClearPriorityInter(InterTimingType.BTN)
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true, false,3)
--actor:Destroy(false)
--actor:Standby()
actor:TurnTo(M.Euler2DirXZ(SoldierData.Dir2))
end
)
end
function Quest463:KaeyaEnter()
local kaeya = actorMgr:GetActor(kaeyaData.Kaeya)
kaeya:SetVisible(true)
--kaeya:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
print("463 KaeyaEnter")
kaeya:WalkToTask(kaeyaData.InPos,
function(actor, task)
--actor:ClearFollowTask()
--actor:ClearPriorityInter(InterTimingType.BTN)
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true, false,3)
--actor:Destroy(false)
actor:Standby()
actor:TurnTo(M.Euler2DirXZ(kaeyaData.InDir))
end
)
self:CallDelay(0.1,self.Soldier1Enter)
self:CallDelay(0.2,self.Soldier2Enter)
end
function Quest463:NPCEnter()
local npc = actorMgr:GetActor(npcBossData.NpcBoss)
npc:SetVisible(true)
--kaeya:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
print("463 NPCEnter")
npc:WalkToTask(npcBossData.NpcBossPos,
function(actor, task)
--actor:ClearFollowTask()
--actor:ClearPriorityInter(InterTimingType.BTN)
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true, false,3)
--actor:Destroy(false)
actor:Standby()
print("463 NPCEnter TurnTo")
actor:TurnTo(M.Euler2DirXZ(npcBossData.NpcBossDir))
end
)
end
function Quest463:NPCRun()
local npc = actorMgr:GetActor(npcBossData.NpcBoss)
--kaeya:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
print("463 NPCRun")
npc:RunToTask(npcBossData.TrapPos,
function(actor, task)
--actor:ClearFollowTask()
--actor:ClearPriorityInter(InterTimingType.BTN)
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true, false,3)
--actor:Destroy(false)
actor:Standby()
actor:TurnTo(M.Euler2DirXZ(npcBossData.TrapDir))
print("Invoke 0 finish quest")
local quest = actorMgr:GetActor(q463Cfg.ActorAlias)
if quest ~= nil then
quest:FinishQuest(false, nil)
end
end
)
end
function Quest463:NPCRun2()
local npc = actorMgr:GetActor(npcBossData.NpcBoss)
--kaeya:AddPriorityInter(InterTimingType.BTN, self.clientData.InterData.NoReplyInter)
print("463 NPCRun")
npc:RunToTask(npcBossData.LastPos,
function(actor, task)
--actor:ClearFollowTask()
--actor:ClearPriorityInter(InterTimingType.BTN)
--actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true, false,3)
--actor:Destroy(false)
actor:Standby()
actor:PerformDither(false,2)
end
)
end
function Quest463:NPCTrans()
local npc = actorMgr:GetActor(npcBossData.NpcBoss)
print("463 NPCTrans")
npc:ClearAllTask()
npc:SetPosAndTurnTo(npcBossData.NpcBossPos,M.Euler2DirXZ(npcBossData.NpcBossDir),true)
--actorMgr:CreateActorWithPos(npcBossData.NpcBoss, npcBossData.NpcBossScript, npcBossData.NpcBossID, 0, npcBossData.NpcBossPos, npcBossData.NpcBossDir, true, false,20016)
end
function Quest463:PaiMonTrans()
local paimon = actorMgr:GetActor(paimonData.Alias)
print("463 PaiMonTrans")
paimon:ClearAllTask()
paimon:SetPosAndTurnTo(paimonData.Pos3,M.Euler2DirXZ(paimonData.Dir3),true)
end
function Quest463:KaeyaTrans()
local kaeya = actorMgr:GetActor(kaeyaData.Kaeya)
local soldier1 = actorMgr:GetActor(SoldierData.Alias1)
local soldier2 = actorMgr:GetActor(SoldierData.Alias2)
print("463 KaeyaTrans")
kaeya:ClearAllTask()
soldier1:ClearAllTask()
soldier2:ClearAllTask()
kaeya:SetPosAndTurnTo(kaeyaData.InPos,M.Euler2DirXZ(kaeyaData.InDir),true)
soldier1:SetPosAndTurnTo(SoldierData.Pos1,M.Euler2DirXZ(SoldierData.Dir1),true)
soldier2:SetPosAndTurnTo(SoldierData.Pos2,M.Euler2DirXZ(SoldierData.Dir2),true)
end
function Quest463:InvokeOnInteraction(param)
print("463 Invoke : ")
if param == 0 then
print("Invoke 0 finish quest")
local quest = actorMgr:GetActor(q463Cfg.ActorAlias)
if quest ~= nil then
quest:FinishQuest(false, nil)
end
elseif param == 1 then
print("Invoke 1 paimon born")
self:PaimonEnter()
elseif param == 2 then
self:NPCEnter()
elseif param == 3 then
self:KaeyaEnter()
elseif param == 4 then
self:CallDelay(0.5,self.NPCRun)
elseif param == 5 then
print("Invoke 5 kaeya leave")
self:KaeyaLeave()
elseif param == 6 then
print("Invoke 6 npc trans")
--self:CallDelay(0,self.NPCTrans)
self:NPCTrans()
elseif param == 7 then
print("Invoke 7 PaiMonTrans")
--self:CallDelay(0,self.PaiMonTrans)
self:PaiMonTrans()
elseif param == 8 then
print("Invoke 8 KaeyaTrans")
--self:CallDelay(0,self.KaeyaTrans)
self:KaeyaTrans()
elseif param == 10 then
print("Invoke 10 treasure")
self:ShowTutorialDialog(182)
elseif param == 11 then
print("Invoke 11 treasure")
self:NPCDisappear()
elseif param == 12 then
print("Invoke 12 treasure")
--self:NPCRun2()
self:CallDelay(3,self.NPCRun2)
end
end
function Quest463:NPCDisappear()
local npc = actorMgr:GetActor(npcBossData.NpcBoss)
local soldier1 = actorMgr:GetActor(SoldierData.Alias1)
local soldier2 = actorMgr:GetActor(SoldierData.Alias2)
npc:SetVisible(false)
soldier1:SetVisible(false)
soldier2:SetVisible(false)
end
function Quest463:OnSubFinish46306(quest)
print("46306 Finish : Creat Kaeya")
-- actorMgr:CreateActorWithPos(npcBossData.NpcBoss, npcBossData.NpcBossScript, npcBossData.NpcBossID, 0, npcBossData.TrapPos, npcBossData.TrapDir, true, false,20016)
--self:NPCEnter()
--self:NPCRun()
end
--@region sub start & finish handlers
---按流程触发顺序
function Quest463:StartTalk46300()
print("46302 Start : ")
actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos1, paimonData.Dir1, true, false,3)
self:CallDelay(0.2,
function(self)
self:RequestInteraction(paimonData.Alias)
end
)
end
function Quest463:StartTalk46301()
print("46302 Start : ")
actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos2, paimonData.Dir2, true, false,3)
self:CallDelay(0.2,
function(self)
print("46307 RequestInteraction : ")
self:RequestInteraction(paimonData.Alias)
end
)
end
function Quest463:OnSubStart46300(quest)
print("46300 Start : Creat paimon")
self:ShowBlackScreen(0.5,0.5,0.5, self.StartTalk46300)
end
function Quest463:OnSubFinish46300(quest)
print("46300 Finish : ")
self:ActionSafeCall(
function(self)
self:PaimonVanish()
end
)
end
function Quest463:OnSubStart46301(quest)
print("46301 Start : Creat door")
--self:SpawnGadget(DungeonData.DoorID, DungeonData.Pos, DungeonData.Dir, DungeonData.Alias, 3)
end
function Quest463:OnSubFinish46301(quest)
print("46301 Start : Creat Kaeya")
end
function Quest463:OnSubStart46302(quest)
print("46302 Start : ")
actorMgr:CreateActorWithPos(Invisible.Invisible, Invisible.NpcScript, Invisible.InvisibleID, 0, Invisible.InvisiblePos, Invisible.InvisibleDir, true, false,20016)
end
function Quest463:StartTalk()
print("46302 Start : ")
actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.BornPos, paimonData.BornDir, true, false,20016)
self:CallDelay(0.2,
function(self)
self:RequestInteraction(paimonData.Alias)
end
)
end
function Quest463:OnSubStart46303(quest)
print("46303 Start : ")
--actorMgr:CreateActorWithPos(Invisible.Invisible, Invisible.NpcScript, Invisible.InvisibleID, 0, Invisible.InvisiblePos, Invisible.InvisibleDir, true, false,20016)
self:ShowBlackScreen(0.5,0.5,0.5, self.StartTalk)
--[[self:CallDelay(0.5,
function(self)
self:RequestInteraction(Invisible.Invisible)
end
)]]--
-- actorMgr:CreateActorWithPos(paimonData.Alias, paimonData.Script, paimonData.ID, 0, paimonData.Pos3, paimonData.Dir3, true,false,20016)
end
function Quest463:OnSubStart46304(quest)
print("46304 Start : ")
self:ActionSafeCall(
function(self)
local npc = actorMgr:GetActor(npcBossData.NpcBoss)
local kaeya = actorMgr:GetActor(kaeyaData.Kaeya)
local soldier1 = actorMgr:GetActor(SoldierData.Alias1)
local soldier2 = actorMgr:GetActor(SoldierData.Alias2)
local paimon = actorMgr:GetActor(paimonData.Alias)
npc:Destroy(false)
kaeya:Destroy(false)
soldier1:Destroy(false)
soldier2:Destroy(false)
paimon:Destroy(false)
end
)
self:NarratorOnlyTask(q463Cfg.NarratorData.Story1)
end
function Quest463:OnSubStart46307(quest)
print("46307 Start : ")
self:ShowBlackScreen(0.5,0.5,0.5, self.StartTalk46301)
end
function Quest463:OnSubFinish46307(quest)
print("46307 Finish : ")
self:PaimonVanish()
end
function Quest463:OnSubStart46305(quest)
print("46305 Start : ")
--actorMgr:CreateActorWithPos(kaeyaData.Kaeya, kaeyaData.KaeyaScript, kaeyaData.KaeyaID, 0, kaeyaData.InPos, kaeyaData.InDir, true, false,20016)
--[[actorMgr:CreateActorWithPos(Invisible.Invisible, Invisible.NpcScript, Invisible.InvisibleID, 0, Invisible.InvisiblePos, Invisible.InvisibleDir, true, false,20016)
self:CallDelay(2,
function()
self:RequestInteraction(Invisible.Invisible)
end
)]]--
self:CallDelay(6,
function(self)
self:ShowBlackScreen(0.5,0.5,0.5,self.StartTalk)
end
)
--self:ShowBlackScreen(0.3, 0.3, 0.3, self.StartTalk)
end
function Quest463:OnSubFinish46305(quest)
print("46305 Finish : ")
self:ActionSafeCall(
function(self)
local npc = actorMgr:GetActor(npcBossData.NpcBoss)
local kaeya = actorMgr:GetActor(kaeyaData.Kaeya)
local soldier1 = actorMgr:GetActor(SoldierData.Alias1)
local soldier2 = actorMgr:GetActor(SoldierData.Alias2)
local paimon = actorMgr:GetActor(paimonData.Alias)
npc:Destroy(false)
kaeya:Destroy(false)
soldier1:Destroy(false)
soldier2:Destroy(false)
paimon:Destroy(false)
end
)
--self:PaimonVanish()
end
--@endregion
function Quest463:Start()
end
function Quest463:OnDestroy()
end
return Quest463