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

196 lines
6.0 KiB
Lua

require('Actor/ActorCommon')
local questActorProxy = require('Actor/Quest/QuestActorProxy')
local Quest378 = class("Quest378", questActorProxy)
Quest378.defaultAlias = "Quest378"
local q378Cfg = require('Quest/Client/Q378ClientConfig')
local bbrData = q378Cfg.BarbaraData
local qinData = q378Cfg.QinData
-- Generated
function Quest378:OnSubStartHandlerBuild()
self.subStartHandlers = {}
self.subStartHandlers["37801"] = self.OnSubStart37801
self.subStartHandlers["37802"] = self.OnSubStart37802
self.subStartHandlers["37803"] = self.OnSubStart37803
self.subStartHandlers["37804"] = self.OnSubStart37804
self.subStartHandlers["37805"] = self.OnSubStart37805
end
function Quest378:OnSubFinishHandlerBuild()
self.subFinishHandlers = {}
self.subFinishHandlers["37801"] = self.OnSubFinish37801
self.subFinishHandlers["37802"] = self.OnSubFinish37802
self.subFinishHandlers["37803"] = self.OnSubFinish37803
self.subFinishHandlers["37804"] = self.OnSubFinish37804
self.subFinishHandlers["37805"] = self.OnSubFinish37805
end
-- local param begin
Quest378.warningTask = nil
Quest378.stayWarningTask = nil
-- local param end
-- local method begin
--@region sub start handlers
function Quest378:OnSubStart37801(quest)
print("37801 start")
end
function Quest378:OnSubStart37802(quest)
print("37802 start")
actorMgr:CreateActorWithPos("Q378Trigger", "Actor/Gadget/Q378Trigger", 70900002, 0, qinData.bornPos1, qinData.bornDir1, true)
end
function Quest378:OnSubStart37803(quest)
print("37803 start ")
if self.warningTask ~= nil then
self.warningTask:FinishTask()
end
if self.stayWarningTask ~= nil then
self.stayWarningTask:FinishTask()
end
end
function Quest378:OnSubStart37804(quest)
actorMgr:CreateActorWithPos(bbrData.Barbara, bbrData.BarbaraScript, bbrData.BarbaraID, 0, bbrData.bornPos, bbrData.bornDir, true)
print("37804 start:...")
local qin = actorMgr:GetActor(qinData.Qin)
if qin ~= nil then
qin:NarratorTask(q378Cfg.NarratorFlow, q378Cfg.FollowLen, q378Cfg.FollowLen, nil)
-------------------------------------------------------------------------------------------------
qin:BeFollowTaskByRoutePoints(q378Cfg.RoutePoints, q378Cfg.FollowLen, q378Cfg.FailLen,
function(self, task)
if self.BeFollowState == BeFollowState.FAILED then
local quest = actorMgr:GetActor(q378Cfg.ActorAlias)
if quest ~= nil then
quest:FinishQuest(true, nil)
print("37804 Follow UnFinish...")
end
self:StopPerformNarrator()
elseif self.BeFollowState == BeFollowState.SUCCESS then
self:Standby()
self:TurnTo(M.Euler2DirXZ(q378Cfg.QinData.bornDir2))
local quest = actorMgr:GetActor(q378Cfg.ActorAlias)
if quest ~= nil then
quest:FinishQuest(false, nil)
print("37804 Follow Success...")
end
end
end,
function(self, task)
self:Standby()
end,
nil, nil, nil,
function(self, task)
local quest = actorMgr:GetActor(q378Cfg.ActorAlias)
if quest ~= nil then
print("37804 Follow Failed...")
quest:FinishQuest(true, nil)
end
end
)
self.stayWarningTask = qin:WarningNarratorTask(0, q378Cfg.NarratorStayWarning, function(self)
local selfPos = self:GetPos()
local avatarPos = actorUtils.GetAvatarPos()
local currLen = M.Dist(selfPos, avatarPos)
return currLen > q378Cfg.FollowLen + 5 and currLen <= q378Cfg.FollowLen + 15 and qin:IsInIdle()
end, nil, "StoryWarning")
self.warningTask = qin:WarningNarratorTask(1, q378Cfg.NarratorWarning, function(self)
local selfPos = self:GetPos()
local avatarPos = actorUtils.GetAvatarPos()
local currLen = M.Dist(selfPos, avatarPos)
return currLen > q378Cfg.FollowLen + 15 and currLen <= q378Cfg.FollowLen + 1000
end, nil, "StoryWarning")
end
end
function Quest378:OnSubStart37805(quest)
print("37805 start:...")
end
--@endregion
--@region sub finish handlers
function Quest378:OnSubFinish37801(quest)
print("OnFinished 37801")
end
function Quest378:OnSubFinish37802(quest)
print("OnFinished 37802")
self:ShowBlackScreen(1.0, 0.5, 0.0, self.CreateQin, self.Interaction)
local q378Trigger = actorMgr:GetActor("Q378Trigger")
if q378Trigger ~= nil then
q378Trigger:Destroy(false)
end
end
function Quest378:OnSubFinish37803(quest)
print("OnFinished 37803")
end
function Quest378:OnSubFinish37804(quest)
print("OnFinished 37804")
if self.warningTask ~= nil then
self.warningTask:FinishTask()
end
if self.stayWarningTask ~= nil then
self.stayWarningTask:FinishTask()
end
end
function Quest378:OnSubFinish37805(quest)
print("OnFinished 37805")
self:ActionSafeCall(
function(self)
local paimon = actorMgr:GetActor("Paimon")
if paimon ~= nil then
paimon:DestroyWithDisappear(false)
end
end
)
-- self:ActionSafeCall(
-- function(self)
-- local qin = actorMgr:GetActor(qinData.Qin)
-- if qin ~= nil then
-- qin:Destroy(false)
-- end
-- end
-- )
-- self:ActionSafeCall(
-- function(self)
-- local bbr = actorMgr:GetActor(bbrData.Barbara)
-- if bbr ~= nil then
-- bbr:Destroy(false)
-- end
-- end
-- )
end
function Quest378:CreateQin()
actorMgr:CreateActorWithPos(qinData.Qin, qinData.QinScript, qinData.QinID, 0, qinData.bornPos1, qinData.bornDir1, true)
print("Qin Born")
end
function Quest378:Interaction()
self:RequestInteraction(qinData.Qin)
print("Black Callback NOW")
end
--@endregion
function Quest378:Start()
end
function Quest378:OnDestroy()
end
return Quest378