mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2024-12-25 15:29:22 +03:00
261 lines
8.1 KiB
Lua
261 lines
8.1 KiB
Lua
require('Actor/ActorCommon')
|
|
local questActorProxy = require('Actor/Quest/QuestActorProxy')
|
|
|
|
local Quest304 = class("Quest304", questActorProxy)
|
|
|
|
Quest304.defaultAlias = "Quest304"
|
|
|
|
local this = nil
|
|
local super = nil
|
|
local uActor = nil
|
|
local questID = 0
|
|
|
|
function Quest304:OnPreInit()
|
|
this = self
|
|
super = self.__super
|
|
questID = this.mainQuestID
|
|
super:OnPreInit()
|
|
end
|
|
function Quest304:OnPostInit()
|
|
uActor = self.uActor
|
|
super:OnPostInit()
|
|
end
|
|
|
|
-- local config begin
|
|
local q304Cfg = require('Actor/Quest/Q304/Q304Config')
|
|
local subIDs = q304Cfg.SubIDs
|
|
local amborData = q304Cfg.AmborData
|
|
local windData = q304Cfg.WindData
|
|
local featherData = q304Cfg.FeatherData
|
|
local dragonData = q304Cfg.DragonData
|
|
-- local config end
|
|
|
|
function Quest304: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 FlyByCutscene()
|
|
this:PlayFreeCutscene(q304Cfg.DragonCircleCutScene,nil, nil)
|
|
end
|
|
|
|
local function MengdeWindPrepare()
|
|
print("MengdeFeahterPrepare")
|
|
local RiseDir = {x=0,y=0,z=0}
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind1Pos, M.Dir2Euler(RiseDir), "Wind1")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind2Pos, M.Dir2Euler(RiseDir), "Wind2")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind3Pos, M.Dir2Euler(RiseDir), "Wind3")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind4Pos, M.Dir2Euler(RiseDir), "Wind4")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind5Pos, M.Dir2Euler(RiseDir), "Wind5")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind6Pos, M.Dir2Euler(RiseDir), "Wind6")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind7Pos, M.Dir2Euler(RiseDir), "Wind7")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind8Pos, M.Dir2Euler(RiseDir), "Wind8")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind9Pos, M.Dir2Euler(RiseDir), "Wind9")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind10Pos, M.Dir2Euler(RiseDir), "Wind10")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind11Pos, M.Dir2Euler(RiseDir), "Wind11")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind12Pos, M.Dir2Euler(RiseDir), "Wind12")
|
|
this:SpawnGadget(windData.WindGadgetID, windData.wind13Pos, M.Dir2Euler(RiseDir), "Wind13")
|
|
|
|
-- this:SpawnGadget(windData.WallGadgetID, windData.WallPos, M.Dir2Euler(RiseDir), "Wall")
|
|
this:SpawnLocalGadget("Wall", windData.WallGadgetID, windData.WallPos, M.Dir2Euler(RiseDir))
|
|
|
|
this:SpawnLocalGadget("Skybox", windData.SkyboxGadgetID, windData.SkyboxPos, M.Dir2Euler(RiseDir))
|
|
|
|
--local Dragon = actorMgr:CreateActorWithPos(dragonData.Dragon, dragonData.DragonScript, dragonData.DragonID, 0, dragonData.DragonPos[1], dragonData.DragonDir[1], true, false)
|
|
--Dragon:FlyCircle()
|
|
--Dragon:FlyByCutscene()
|
|
FlyByCutscene()
|
|
|
|
globalActor:ChangeWeather ("Blustery")
|
|
end
|
|
|
|
local function MengdeWindDestroy()
|
|
print("MengdeFeahterDestroy")
|
|
globalActor:UnSpawn("Wind1")
|
|
globalActor:UnSpawn("Wind2")
|
|
globalActor:UnSpawn("Wind3")
|
|
globalActor:UnSpawn("Wind4")
|
|
globalActor:UnSpawn("Wind5")
|
|
globalActor:UnSpawn("Wind6")
|
|
globalActor:UnSpawn("Wind7")
|
|
globalActor:UnSpawn("Wind8")
|
|
globalActor:UnSpawn("Wind9")
|
|
globalActor:UnSpawn("Wind10")
|
|
globalActor:UnSpawn("Wind11")
|
|
globalActor:UnSpawn("Wind12")
|
|
globalActor:UnSpawn("Wind13")
|
|
|
|
globalActor:UnSpawn("Wall")
|
|
globalActor:UnSpawn("Skybox")
|
|
|
|
this:StopFreeCutscene(q304Cfg.DragonCircleCutScene, false)
|
|
|
|
-- local Dragon = actorMgr:GetActor(dragonData.Dragon)
|
|
-- if Dragon ~= nil then
|
|
-- Dragon:Destroy(false)
|
|
-- end
|
|
|
|
globalActor:ChangeWeather ("ClearSky")
|
|
|
|
end
|
|
|
|
local function AmborHide(actor)
|
|
actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.hiddenPos, amborData.hiddenDir,
|
|
true, false, nil, false)
|
|
end
|
|
|
|
local function AmborFeather1(actor)
|
|
local Ambor = actorMgr:GetActor(amborData.Ambor)
|
|
-- local Ambor = actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.arguePos, amborData.argueDir, true, false)
|
|
-- actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.feather1Pos, amborData.feather1Dir, true, false)
|
|
Ambor:AddPriorityInter(InterTimingType.BTN, q304Cfg.AmborNoReplyInter)
|
|
Ambor:RunToTask(amborData.feather1Pos,
|
|
function(self, task)
|
|
self:ClearFollowTask()
|
|
self:ClearPriorityInter(InterTimingType.BTN)
|
|
-- actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.feather1Pos, amborData.feather1Dir, true, false)
|
|
end
|
|
)
|
|
end
|
|
|
|
local function OnStart30400()
|
|
MengdeWindPrepare()
|
|
end
|
|
|
|
local function OnFinished30400(quest)
|
|
this:ActionSafeCall(AmborFeather1)
|
|
end
|
|
|
|
local function OnStart30401(quest)
|
|
end
|
|
|
|
local function OnStart30402(quest)
|
|
this:ActionSafeCall(AmborHide)
|
|
this:SpawnGadget(featherData.FeatherGadgetID, featherData.feather1Pos, featherData.feather1Dir, "Feather1")
|
|
end
|
|
|
|
local function OnStart30403()
|
|
this:NarratorOnlyTask(q304Cfg.AmborNarratorFlow1)
|
|
local quest = actorMgr:GetActor(q304Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
|
|
local function OnStart30404(quest)
|
|
this:SpawnGadget(featherData.FeatherGadgetID, featherData.feather2Pos, featherData.feather2Dir, "Feather2")
|
|
end
|
|
|
|
local function OnStart30405()
|
|
this:NarratorOnlyTask(q304Cfg.AmborNarratorFlow2)
|
|
local quest = actorMgr:GetActor(q304Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
|
|
local function OnStart30406(quest)
|
|
this:SpawnGadget(featherData.FeatherGadgetID, featherData.feather3Pos, featherData.feather3Dir, "Feather3")
|
|
end
|
|
|
|
local function OnStart30407()
|
|
this:NarratorOnlyTask(q304Cfg.AmborNarratorFlow3)
|
|
local quest = actorMgr:GetActor(q304Cfg.ActorAlias)
|
|
if quest ~= nil then
|
|
quest:FinishQuest(false, nil)
|
|
end
|
|
end
|
|
|
|
local function OnStart30408(quest)
|
|
this:SpawnGadget(featherData.FeatherGadgetID, featherData.feather4Pos, featherData.feather4Dir, "Feather4")
|
|
end
|
|
|
|
local function OnStart30409()
|
|
actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.feather4Pos, amborData.feather4Dir, true, false)
|
|
MengdeWindDestroy()
|
|
end
|
|
|
|
local function OnRewind30401()
|
|
actorMgr:CreateActorWithPos(amborData.Ambor, amborData.AmborScript, amborData.AmborID, 0, amborData.feather1Pos, amborData.feather1Dir, true, false)
|
|
MengdeWindPrepare()
|
|
end
|
|
|
|
local function OnRewind30403()
|
|
MengdeWindPrepare()
|
|
end
|
|
|
|
local function OnRewind30405()
|
|
MengdeWindPrepare()
|
|
end
|
|
|
|
local function OnRewind30407()
|
|
MengdeWindPrepare()
|
|
end
|
|
|
|
-- local method end
|
|
|
|
|
|
function Quest304:OnMainStart(quest)
|
|
|
|
end
|
|
|
|
function Quest304:OnSubStart(quest)
|
|
local questID = quest.QuestId
|
|
if questID == subIDs.q30401 then
|
|
OnStart30401(quest)
|
|
elseif questID == subIDs.q30402 then
|
|
OnStart30402(quest)
|
|
elseif questID == subIDs.q30403 then
|
|
OnStart30403()
|
|
elseif questID == subIDs.q30404 then
|
|
OnStart30404(quest)
|
|
elseif questID == subIDs.q30405 then
|
|
OnStart30405()
|
|
elseif questID == subIDs.q30406 then
|
|
OnStart30406(quest)
|
|
elseif questID == subIDs.q30407 then
|
|
OnStart30407()
|
|
elseif questID == subIDs.q30408 then
|
|
OnStart30408(quest)
|
|
elseif questID == subIDs.q30409 then
|
|
OnStart30409()
|
|
elseif questID == subIDs.q30400 then
|
|
OnStart30400()
|
|
end
|
|
end
|
|
|
|
function Quest304:OnSubFinished(quest)
|
|
local questID = quest.QuestId
|
|
if questID == subIDs.q30400 then
|
|
OnFinished30400(quest)
|
|
end
|
|
end
|
|
|
|
function Quest304:OnRewind30403(quest)
|
|
local questID = quest.QuestId
|
|
if questID == subIDs.q30403 then
|
|
OnRewind30403()
|
|
elseif questID == subIDs.q30405 then
|
|
OnRewind30405()
|
|
elseif questID == subIDs.q30407 then
|
|
OnRewind30407()
|
|
elseif questID == subIDs.q30401 then
|
|
OnRewind30401()
|
|
end
|
|
end
|
|
|
|
function Quest304:OnMainFinished(quest)
|
|
end
|
|
|
|
function Quest304:Start()
|
|
end
|
|
|
|
function Quest304:OnDestroy()
|
|
end
|
|
|
|
return Quest304 |