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

179 lines
5.0 KiB
Lua

require('Actor/ActorCommon')
local questActorProxy = require('Actor/Quest/QuestActorProxy')
local DailyNpcManager = require('Actor/DailyNPCManager')
local Quest372 = class("Quest372", questActorProxy)
Quest372.defaultAlias = "Quest372"
local q372Cfg = require('Quest/Client/Q372ClientConfig')
local subIDs = q372Cfg.SubIDs
local paimonData = q372Cfg.PaimonData
local wendyData = q372Cfg.WendyData
-- Generated
function Quest372:OnSubStartHandlerBuild()
self.subStartHandlers = {}
self.subStartHandlers["37201"] = self.OnSubStart37201
self.subStartHandlers["37202"] = self.OnSubStart37202
self.subStartHandlers["37203"] = self.OnSubStart37203
self.subStartHandlers["37204"] = self.OnSubStart37204
end
function Quest372:OnSubFinishHandlerBuild()
self.subFinishHandlers = {}
self.subFinishHandlers["37201"] = self.OnSubFinish37201
self.subFinishHandlers["37202"] = self.OnSubFinish37202
self.subFinishHandlers["37203"] = self.OnSubFinish37203
self.subFinishHandlers["37204"] = self.OnSubFinish37204
end
-- local param begin
-- local param end
-- local method begin
--@region sub start handlers
function Quest372:OnSubStart37201(quest)
print("37201 start ")
self:NotifyTo("MengdeInsomniaStand_10", DailyNpcManager.NpcEventType.HIDESELF, true)
-- actorMgr:CreateActorWithPos(paimonData.Paimon, paimonData.PaimonScript, paimonData.PaimonID, 0, paimonData.bornPos, paimonData.bornDir, true)
actorMgr:CreateActorWithPos(wendyData.Wendy, wendyData.WendyScript, wendyData.WendyID, 0, wendyData.bornPos, wendyData.bornDir, true)
end
function Quest372:OnSubStart37202(quest)
print("37202 start:...")
self:NotifyTo("MengdeInsomniaStand_10", DailyNpcManager.NpcEventType.HIDESELF, true)
-- self:ActionSafeCall(self.Play372Cutscene)
-- self:ActionSafeCall(self.RequestWendy)
local quest = actorMgr:GetActor(q372Cfg.ActorAlias)
if quest ~= nil then
quest:FinishQuest(false, nil)
end
end
function Quest372:OnSubStart37203(quest)
print("37203 start:...")
self:NotifyTo("MengdeInsomniaStand_10", DailyNpcManager.NpcEventType.HIDESELF, true)
-- self:ActionSafeCall(self.Play372Cutscene)
self:ActionSafeCall(self.RequestWendy)
end
function Quest372:OnSubStart37204(quest)
print("37204 start:...")
self:NotifyTo("MengdeInsomniaStand_10", DailyNpcManager.NpcEventType.HIDESELF, true)
-- self:ActionSafeCall(self.Play372Cutscene)
end
function Quest372:Play372Cutscene(quest)
self:PlayCutscene(q372Cfg.PurifyTearCfg, self.On372CutsceneFinish)
end
function Quest372:RequestPaimon(quest)
self:RequestInteraction(paimonData.Paimon)
end
function Quest372:RequestWendy(quest)
self:RequestInteraction(wendyData.Wendy)
end
--@endregion
--@region sub finish handlers
function Quest372:OnSubFinish37201(quest)
print("OnFinished 37201")
end
function Quest372:OnSubFinish37202(quest)
print("OnFinished 37202")
end
function Quest372:OnSubFinish37203(quest)
print("OnFinished 37203")
-- self:ActionSafeCall(self.BlackDoSth)
self:ActionSafeCall(
function(self)
local wendy = actorMgr:GetActor(wendyData.Wendy)
if wendy ~= nil then
wendy:Destroy(false)
end
end
)
self:ActionSafeCall(
function(self)
local paimon = actorMgr:GetActor("Paimon")
if paimon ~= nil then
paimon:DestroyWithDisappear(false)
end
end
)
end
function Quest372:OnSubFinish37204(quest)
print("OnFinished 37204")
end
function Quest372:BlackDoSth(quest)
print("OnFinished 37203")
self:ShowBlackScreen(1.0, 1.0, 1.0, self.DestroyNPC)
end
function Quest372:DestroyNPC(quest)
self:ActionSafeCall(
function(self)
local wendy = actorMgr:GetActor(wendyData.Wendy)
if wendy ~= nil then
wendy:Destroy(false)
end
end
)
self:ActionSafeCall(
function(self)
local paimon = actorMgr:GetActor("Paimon")
if paimon ~= nil then
paimon:DestroyWithDisappear(false)
end
end
)
end
function Quest372:InvokeOnInteraction(param)
if param == 3 then
print("Now Spawn Tears")
self:SpawnGadget(70300042, sceneData:GetDummyPoint(3,"Q372Tears").pos, sceneData:GetDummyPoint(3,"Q372Tears").rot, "Tears", 3)
elseif param == 4 then
print("Now Destroy Tears")
self:UnSpawn("Tears")
elseif param == 6 then
local wendy = actorMgr:GetActor(wendyData.Wendy)
if wendy ~= nil then
wendy:ClearFollowTask()
wendy:WalkToTask(wendyData.desPos, Quest372.wendyVanish)
end
end
end
function Quest372:wendyVanish()
-- self:ShowBlackScreen(0.5, 1.0, 0.5,
-- function(self)
local wendy = actorMgr:GetActor(wendyData.Wendy)
if wendy ~= nil then
wendy:SetVisible(false)
end
-- end
-- )
end
--@endregion
function Quest372:Start()
end
function Quest372:OnDestroy()
end
return Quest372