mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2024-12-26 07:49:29 +03:00
222 lines
5.2 KiB
Lua
222 lines
5.2 KiB
Lua
|
require('Actor/ActorCommon')
|
||
|
local questActorProxy = require('Actor/Quest/QuestActorProxy')
|
||
|
local Quest408 = class("Quest408", questActorProxy)
|
||
|
Quest408.defaultAlias = "Quest408"
|
||
|
|
||
|
local this = nil
|
||
|
local super = nil
|
||
|
local uActor = nil
|
||
|
local questID = 0
|
||
|
|
||
|
function Quest408:OnPreInit()
|
||
|
this = self
|
||
|
super = self.__super
|
||
|
questID = this.mainQuestID
|
||
|
super:OnPreInit()
|
||
|
end
|
||
|
function Quest408:OnPostInit()
|
||
|
uActor = self.uActor
|
||
|
super:OnPostInit()
|
||
|
end
|
||
|
|
||
|
-- local config begin
|
||
|
local q408Cfg = require('Actor/Quest/Q408/Q408Config')
|
||
|
local subIDs = q408Cfg.SubIDs
|
||
|
local JudgeData = q408Cfg.JudgeData
|
||
|
-- local config end
|
||
|
|
||
|
function Quest408:CreateUActor(alias)
|
||
|
local uActor = actorUtils.CreateActor(self, ActorType.QUEST_ACTOR, alias)
|
||
|
uActor = actorUtils.CreateQuestActor(questID, uActor)
|
||
|
return uActor
|
||
|
end
|
||
|
|
||
|
local function BoardSeperatePrepare()
|
||
|
print("BoardSeperatePrepare")
|
||
|
this:SpawnGadget(q408Cfg.BoardSeperateGadgetID, q408Cfg.BoardPos, q408Cfg.BoardDir, "BoardSeperate")
|
||
|
end
|
||
|
|
||
|
local function BoardTogetherPrepare()
|
||
|
print("BoardTogetherPrepare")
|
||
|
this:SpawnGadget(q408Cfg.BoardTogetherGadgetID, q408Cfg.BoardPos, q408Cfg.BoardDir, "BoardTogether")
|
||
|
end
|
||
|
|
||
|
local function BoardDestroy()
|
||
|
print("BoardDestroy")
|
||
|
globalActor:UnSpawn("BoardSeperate")
|
||
|
globalActor:UnSpawn("BoardTogether")
|
||
|
end
|
||
|
|
||
|
local function CountDown()
|
||
|
print("CountDown Finished")
|
||
|
-- BoardDestroy()
|
||
|
if q408Cfg.gotKey == false then
|
||
|
local GoalMarker408 = actorMgr:GetActor("GoalMarker408")
|
||
|
if GoalMarker408 ~= nil then
|
||
|
GoalMarker408:DestroySelf()
|
||
|
end
|
||
|
local quest = actorMgr:GetActor(q408Cfg.ActorAlias)
|
||
|
if quest ~= nil then
|
||
|
print("isFinished == false")
|
||
|
quest:FinishQuest(true, nil)
|
||
|
end
|
||
|
this:ActionSafeCall(
|
||
|
function (this)
|
||
|
this:TransmitPlayer(0, q408Cfg.PlayerPos, q408Cfg.PlayerDir)
|
||
|
end
|
||
|
)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function StartCount(actor)
|
||
|
this:CountDownUIStart(q408Cfg.MatchTime, 5, 3)
|
||
|
this:CallDelay(q408Cfg.MatchTime+4, CountDown)
|
||
|
end
|
||
|
|
||
|
local function FailCount()
|
||
|
this:CountDownUITerminate()
|
||
|
this:UnCallFunc(this.CountDown)
|
||
|
BoardDestroy()
|
||
|
local GoalMarker408 = actorMgr:GetActor("GoalMarker408")
|
||
|
if GoalMarker408 ~= nil then
|
||
|
GoalMarker408:DestroySelf()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function SuccCount()
|
||
|
this:CountDownUITerminate()
|
||
|
this:UnCallFunc(this.CountDown)
|
||
|
BoardDestroy()
|
||
|
local GoalMarker408 = actorMgr:GetActor("GoalMarker408")
|
||
|
if GoalMarker408 ~= nil then
|
||
|
GoalMarker408:DestroySelf()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function OnStart40801(quest)
|
||
|
this:ActionSafeCall(
|
||
|
function (this)
|
||
|
actorMgr:CreateActorWithPos(JudgeData.Judge, JudgeData.JudgeScript, JudgeData.JudgeID, 0, JudgeData.JudgePos, JudgeData.JudgeDir, true, false)
|
||
|
end
|
||
|
)
|
||
|
end
|
||
|
|
||
|
local function OnFinished40801()
|
||
|
end
|
||
|
|
||
|
local function OnStart40802(quest)
|
||
|
end
|
||
|
|
||
|
local function OnFinished40802()
|
||
|
BoardTogetherPrepare()
|
||
|
end
|
||
|
|
||
|
local function OnFinished40803()
|
||
|
BoardSeperatePrepare()
|
||
|
end
|
||
|
|
||
|
local function OnFinished40804()
|
||
|
BoardDestroy()
|
||
|
end
|
||
|
|
||
|
local function OnStart40805()
|
||
|
print("40805 start: fail the task")
|
||
|
local quest = actorMgr:GetActor(q408Cfg.ActorAlias)
|
||
|
if quest ~= nil then
|
||
|
quest:FinishQuest(true, nil)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function OnStart40807(quest)
|
||
|
print("40807 start: Spawn Key")
|
||
|
q408Cfg.gotKey = false
|
||
|
actorMgr:CreateActorWithPos("GoalMarker408", "Actor/Gadget/GoalMarker408", 70300004, 0, q408Cfg.KeyPos, q408Cfg.KeyDir, true, false)
|
||
|
this:ActionSafeCall(StartCount)
|
||
|
end
|
||
|
|
||
|
local function OnFinished40807()
|
||
|
q408Cfg.gotKey = true
|
||
|
this:CountDownUITerminate()
|
||
|
this:UnCallFunc(CountDown)
|
||
|
BoardDestroy()
|
||
|
end
|
||
|
|
||
|
local function OnFinished40808()
|
||
|
BoardDestroy()
|
||
|
end
|
||
|
|
||
|
local function OnStart40810()
|
||
|
print("40810 start: fail the task")
|
||
|
local quest = actorMgr:GetActor(q408Cfg.ActorAlias)
|
||
|
if quest ~= nil then
|
||
|
quest:FinishQuest(true, nil)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function OnRewind40801()
|
||
|
end
|
||
|
|
||
|
local function OnRewind40804()
|
||
|
end
|
||
|
|
||
|
|
||
|
-- local method end
|
||
|
|
||
|
function Quest408:OnMainStart(quest)
|
||
|
|
||
|
end
|
||
|
|
||
|
function Quest408:OnSubStart(quest)
|
||
|
local questID = quest.QuestId
|
||
|
if questID == subIDs.q40807 then
|
||
|
OnStart40807(quest)
|
||
|
elseif questID == subIDs.q40805 then
|
||
|
OnStart40805()
|
||
|
elseif questID == subIDs.q40810 then
|
||
|
OnStart40810()
|
||
|
elseif questID == subIDs.q40801 then
|
||
|
OnStart40801()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function Quest408:OnSubFinished(quest)
|
||
|
local questID = quest.QuestId
|
||
|
if questID == subIDs.q40802 then
|
||
|
OnFinished40802()
|
||
|
elseif questID == subIDs.q40803 then
|
||
|
OnFinished40803()
|
||
|
elseif questID == subIDs.q40804 then
|
||
|
OnFinished40804()
|
||
|
elseif questID == subIDs.q40807 then
|
||
|
OnFinished40807()
|
||
|
elseif questID == subIDs.q40808 then
|
||
|
OnFinished40808()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- Quest408.OnSubFailed(quest)
|
||
|
-- local questID = quest.QuestId
|
||
|
-- if questID == subIDs.q40802 then
|
||
|
-- OnFailed40802()
|
||
|
-- end
|
||
|
-- end
|
||
|
|
||
|
function Quest408:OnRewind(quest)
|
||
|
local questID = quest.QuestId
|
||
|
if questID == subIDs.q40801 then
|
||
|
OnRewind40801()
|
||
|
elseif questID == subIDs.q40804 then
|
||
|
OnRewind40804()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function Quest408:OnMainFinished(quest)
|
||
|
end
|
||
|
|
||
|
function Quest408:Start()
|
||
|
end
|
||
|
|
||
|
function Quest408:OnDestroy()
|
||
|
end
|
||
|
|
||
|
return Quest408
|