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

146 lines
4.3 KiB
Lua

require('Actor/ActorCommon')
local questActorProxy = require('Actor/Quest/QuestActorProxy')
local Quest305 = class("Quest305", questActorProxy)
Quest305.defaultAlias = "Quest305"
local this = nil
local super = nil
local uActor = nil
local questID = 0
function Quest305:OnPreInit()
this = self
super = self.__super
questID = this.mainQuestID
super:OnPreInit()
end
function Quest305:OnPostInit()
uActor = self.uActor
super:OnPostInit()
end
-- local config begin
local q305Cfg = require('Actor/Quest/Q305/Q305Config')
local subIDs = q305Cfg.SubIDs
local amborData = q305Cfg.AmborData
local wendyData = q305Cfg.WendyData
local lisaData = q305Cfg.LisaData
local gaiaData = q305Cfg.GaiaData
local qinData = q305Cfg.QinData
local blackData = q305Cfg.BlackData
-- local config end
function Quest305:CreateUActor(alias)
local uActor = actorUtils.CreateActor(self, ActorType.QUEST_ACTOR, alias)
uActor = actorUtils.CreateQuestActor(questID, uActor)
return uActor
end
-- local param begin
-- local param end
-- local method begin
local function AllMoveKnight(actor)
actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.KnightPos, amborData.KnightDir, true, false)
actorMgr:CreateActorWithPos(wendyData.Wendy, wendyData.WendyScript, wendyData.WendyID, 0, wendyData.KnightPos, wendyData.KnightDir, true, false)
actorMgr:CreateActorWithPos(gaiaData.Gaia, gaiaData.GaiaScript, gaiaData.GaiaID, 0, gaiaData.KnightPos, gaiaData.KnightDir, true, false)
actorMgr:CreateActorWithPos(lisaData.Lisa, lisaData.LisaScript, lisaData.LisaID, 0, lisaData.KnightPos, lisaData.KnightDir, true, false)
end
local function OnStart30502()
-- actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.StartPos, amborData.StartDir, true, false)
local wendy = actorMgr:CreateActorWithPos(wendyData.Wendy, wendyData.WendyScript, wendyData.WendyID, 0, wendyData.RoofPos, wendyData.RoofDir, true, false)
wendy:DoFreeStyle(3)
this:SpawnMonster(blackData.MonsterID, 1, blackData.Black1Pos, nil, nil, nil, "Black1")
this:SpawnMonster(blackData.MonsterID, 1, blackData.Black2Pos, nil, nil, nil, "Black2")
end
local function OnStart30503()
local wendy = actorMgr:GetActor(wendyData.Wendy)
wendy:Standby()
actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.RoofPos, amborData.RoofDir, true, false)
end
local function OnStart30504()
local gaia = actorMgr:CreateActorWithPos(gaiaData.Gaia, gaiaData.GaiaScript, gaiaData.GaiaID, 0, gaiaData.RoofShowPos, gaiaData.RoofShowDir, true, false)
gaia:ClearFollowTask()
gaia:WalkToTask(gaiaData.RoofTalkPos,
function(gaia, task)
local quest = actorMgr:GetActor(q305Cfg.ActorAlias)
if quest ~= nil then
quest:FinishQuest(false, nil)
end
gaia:TurnTo(M.Euler2DirXZ(gaiaData.RoofTalkDir))
gaia:Standby()
end
)
end
local function OnStart30506(quest)
this:ActionSafeCall(AllMoveKnight)
end
local function OnRewind30501()
actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.StartPos, amborData.StartDir, true, false)
end
local function OnRewind30502()
-- local wendy = actorMgr:CreateActorWithPos(wendyData.Wendy, wendyData.WendyScript, wendyData.WendyID, 0, wendyData.RoofPos, wendyData.RoofDir, true, false)
-- wendy:DoFreeStyle(3)
-- this:UnSpawn("Black1")
-- this:SpawnMonster(blackData.MonsterID, 1, blackData.Black1Pos)
-- this:UnSpawn("Black2")
-- this:SpawnMonster(blackData.MonsterID, 1, blackData.Black2Pos)
end
local function OnRewind30505()
end
local function OnRewind30507()
end
-- local method end
function Quest305:OnMainStart(quest)
end
function Quest305:OnSubStart(quest)
local questID = quest.QuestId
if questID == subIDs.q30502 then
OnStart30502()
elseif questID == subIDs.q30503 then
OnStart30503()
elseif questID == subIDs.q30504 then
OnStart30504()
elseif questID == subIDs.q30506 then
OnStart30506(quest)
end
end
function Quest305:OnSubFinished(quest)
end
function Quest305:OnRewind(quest)
local questID = quest.QuestId
if questID == subIDs.q30502 then
OnRewind30502()
elseif questID == subIDs.q30501 then
OnRewind30501()
end
end
function Quest305:OnMainFinished(quest)
end
function Quest305:Start()
end
function Quest305:OnDestroy()
end
return Quest305