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

151 lines
4.4 KiB
Lua

require('Actor/ActorCommon')
local questActorProxy = require('Actor/Quest/QuestActorProxy')
local Quest415 = class("Quest415", questActorProxy)
Quest415.defaultAlias = "Quest415"
local q415Cfg = require('Quest/Client/Q415ClientConfig')
local sneakAIData =
{
q415Cfg.SneakAI1Data,
q415Cfg.SneakAI2Data,
q415Cfg.SneakAI3Data,
q415Cfg.SneakAI4Data,
q415Cfg.SneakAI5Data,
q415Cfg.SneakAI6Data,
q415Cfg.SneakAI7Data,
q415Cfg.SneakAI8Data,
q415Cfg.SneakAI9Data,
q415Cfg.SneakAI10Data,
q415Cfg.SneakAI11Data,
q415Cfg.SneakAI12Data,
q415Cfg.SneakAI13Data,
q415Cfg.SneakAI14Data,
}
local subIDs = q415Cfg.SubIDs
-- Generated
function Quest415:OnSubStartHandlerBuild()
self.subStartHandlers = {}
self.subStartHandlers["41501"] = self.OnSubStart41501
self.subStartHandlers["41502"] = self.OnSubStart41502
self.subStartHandlers["41503"] = self.OnSubStart41503
self.subStartHandlers["41504"] = self.OnSubStart41504
self.subStartHandlers["41505"] = self.OnSubStart41505
self.subStartHandlers["41506"] = self.OnSubStart41506
end
function Quest415:OnSubFinishHandlerBuild()
self.subFinishHandlers = {}
self.subFinishHandlers["41501"] = self.OnSubFinish41501
self.subFinishHandlers["41502"] = self.OnSubFinish41502
self.subFinishHandlers["41503"] = self.OnSubFinish41503
self.subFinishHandlers["41504"] = self.OnSubFinish41504
self.subFinishHandlers["41505"] = self.OnSubFinish41505
self.subFinishHandlers["41506"] = self.OnSubFinish41506
end
function Quest415:MovePlayer()
self:TransmitPlayer(0, M.Pos(-4, 0, 4142), M.Euler(0, 0, 0))
self:ExitSneakMode()
self:TriggerLevelAbility("Level_Remove_Switch_SneakBtn")
end
function Quest415:SneakAIPrepare()
for i=1, q415Cfg.SneakAINum do
local SneakAI = actorMgr:CreateActorWithPos(sneakAIData[i].alias, sneakAIData[i].metaPath, sneakAIData[i].configID, sneakAIData[i].dataIndex, sneakAIData[i].bornPos, sneakAIData[i].bornDir, true, true, 1005)
SneakAI.PatrolPosNum = sneakAIData[i].PatrolPosNum
SneakAI.PatrolPos = sneakAIData[i].PatrolPos
SneakAI.PatrolDir = sneakAIData[i].PatrolDir
SneakAI.PatrolNext = 1
-- SneakAI:Start()
-- SneakAI:ThreatTask(SneakAI.Discover, SneakAI.Aware, SneakAI.ReturnToPatrol)
end
for i=1, #q415Cfg.TreasurePos do
self:SpawnItem(q415Cfg.TreasureID, q415Cfg.TreasurePos[i], nil, "Treasure" .. tostring(i), 1005)
end
end
function Quest415:SneakAIDestroy()
for i=1, q415Cfg.SneakAINum do
local SneakAI = actorMgr:GetActor(sneakAIData[i].alias)
if SneakAI ~= nil then
SneakAI:Destroy(false)
end
end
for i=1, #q415Cfg.TreasurePos do
self:UnSpawn("Treasure" .. tostring(i))
end
end
--@region sub start handlers
function Quest415:OnSubStart41501(quest)
-- TODO: Do sth on sub quest 41501 start
end
function Quest415:OnSubStart41502(quest)
print("41502 start: Spawn npc")
actorMgr:CreateActorWithPos(q415Cfg.SneakJudgeData.alias, q415Cfg.SneakJudgeData.metaPath, q415Cfg.SneakJudgeData.configID, 0, q415Cfg.SneakJudgeData.bornPos, q415Cfg.SneakJudgeData.bornDir, true, false, 1005)
-- self:ActionSafeCall(self.StartCount)
end
function Quest415:OnSubStart41503(quest)
print("OnStart41503:SneakStart")
self:SneakAIDestroy()
q415Cfg.gotKey = false
self:SneakAIPrepare()
self:SpawnItem(q415Cfg.KeyID, q415Cfg.KeyPos, nil, "Harp", 1005)
self:EnterSneakMode(11)
self:TriggerLevelAbility("Level_Apply_Switch_SneakBtn")
end
function Quest415:OnSubStart41504(quest)
print("OnStart41504:SneakFailed")
self:CallDelay(3,self.SneakAIDestroy)
self:CallDelay(3,self.MovePlayer)
self:UnSpawn("Harp")
end
function Quest415:OnSubStart41505(quest)
print("41505 start: Success Got Harp")
self:CallDelay(3,self.SneakAIDestroy)
self:CallDelay(3,self.MovePlayer)
end
--@endregion
--@region sub finish handlers
function Quest415:OnSubFinish41501(quest)
-- TODO: Do sth on sub quest 41501 finish
end
function Quest415:OnSubFinish41502(quest)
end
function Quest415:OnSubFinish41503(quest)
-- TODO: Do sth on sub quest 41503 finish
end
function Quest415:OnSubFinish41504(quest)
-- TODO: Do sth on sub quest 41504 finish
end
function Quest415:OnSubFinish41505(quest)
-- TODO: Do sth on sub quest 41505 finish
end
--@endregion
function Quest415:Start()
end
function Quest415:OnDestroy()
end
return Quest415