mirror of
https://gitlab.com/YuukiPS/GSServer-CBT.git
synced 2025-08-03 18:30:11 +03:00
melon
This commit is contained in:
316
soggy_resources/lua/Actor/Quest/Q352/Paimon.lua
Normal file
316
soggy_resources/lua/Actor/Quest/Q352/Paimon.lua
Normal file
@@ -0,0 +1,316 @@
|
||||
require('Actor/ActorCommon')
|
||||
local quest352 = require('Actor/Quest/MQ352')
|
||||
local npcActorProxy = require('Actor/Npc/NpcActorProxy')
|
||||
local Paimon = class("Paimon", npcActorProxy)
|
||||
Paimon.defaultAlias = "Paimon"
|
||||
|
||||
-- local config begin
|
||||
--local q351Cfg = require('Actor/Quest/Q351/Q351Config')
|
||||
--local q352Cfg = require('Quest/Client/Q352ClientConfig')
|
||||
-- local config end
|
||||
|
||||
function Paimon:TransPreCallBack(qCfg)
|
||||
print("TransPreCallBack")
|
||||
local avatarEular = self:GetEuler()
|
||||
self.uActor:SetAvatarEuler(avatarEular)
|
||||
self:AddPriorityInter(InterTimingType.BTN, qCfg.PlayerBackInter)
|
||||
local quest = actorMgr:GetActor(qCfg.ActorAlias)
|
||||
quest:RequestInteraction(qCfg.PaimonData.Paimon)
|
||||
self:ActionSafeCall(function (actor)
|
||||
self:ClearPriorityInter(InterTimingType.BTN)
|
||||
end)
|
||||
end
|
||||
|
||||
function Paimon:TransFinishCallBack(qCfg)
|
||||
print("TransFinishCallBack")
|
||||
end
|
||||
|
||||
-- local method
|
||||
--[[ function Paimon:FollowWater()
|
||||
print("FollowWater")
|
||||
self:ClearFollowTask()
|
||||
self:BeFollowTask(q352Cfg.ByWaterPos, q352Cfg.FollowLen, -1,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q352Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:StopPerformNarrator()
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:Standby()
|
||||
self:TurnTo(M.Euler2DirXZ(q352Cfg.ByWaterDir))
|
||||
local quest = actorMgr:GetActor(q352Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(false, nil)
|
||||
end
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
self:BeLockTask(q352Cfg.FollowTransLen, 1,
|
||||
function(self)
|
||||
self:TransFinishCallBack(q352Cfg)
|
||||
end,
|
||||
function(self)
|
||||
self:TransPreCallBack(q352Cfg)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function Paimon:Follow3()
|
||||
print("Follow3")
|
||||
self:ClearFollowTask()
|
||||
self:BeFollowTask(q352Cfg.PaimonFollow3Pos, q352Cfg.FollowLen,-1,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q352Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:StopPerformNarrator()
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:FollowWater()
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
self:BeLockTask(q352Cfg.FollowTransLen, 1,
|
||||
function(self)
|
||||
self:TransFinishCallBack(q352Cfg)
|
||||
end,
|
||||
function(self)
|
||||
self:TransPreCallBack(q352Cfg)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function Paimon:Follow2()
|
||||
print("Follow2")
|
||||
self:ClearFollowTask()
|
||||
self:BeFollowTask(q352Cfg.PaimonFollow2Pos, q352Cfg.FollowLen, -1,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q352Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:StopPerformNarrator()
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:Follow3()
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
self:BeLockTask(q352Cfg.FollowTransLen, 1,
|
||||
function(self)
|
||||
self:TransFinishCallBack(q352Cfg)
|
||||
end,
|
||||
function(self)
|
||||
self:TransPreCallBack(q352Cfg)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function Paimon:Follow1()
|
||||
print("Follow1")
|
||||
self:ClearFollowTask()
|
||||
self:BeFollowTask(q352Cfg.PaimonFollow1Pos, q352Cfg.FollowLen, -1,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q352Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:StopPerformNarrator()
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:Follow2()
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
self:BeLockTask(q352Cfg.FollowTransLen, 1,
|
||||
function(self)
|
||||
self:TransFinishCallBack(q352Cfg)
|
||||
end,
|
||||
function(self)
|
||||
self:TransPreCallBack(q352Cfg)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function Paimon:FirstStartFollow1()
|
||||
print("FirstStartFollow1")
|
||||
self:ClearFollowTask()
|
||||
--self:SwitchAirMode(true)
|
||||
self:BeFollowTask(q351Cfg.FirstStartFollow1Pos, q351Cfg.FollowLen, -1,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q351Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:StopPerformNarrator()
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:FirstStartFollow2()
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
self:BeLockTask(q351Cfg.FollowTransLen, 1,
|
||||
function(self)
|
||||
self:TransFinishCallBack(q351Cfg)
|
||||
end,
|
||||
function(self)
|
||||
self:TransPreCallBack(q351Cfg)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function Paimon:FirstStartFollow2()
|
||||
print("FirstStartFollow2")
|
||||
self:ClearFollowTask()
|
||||
self:BeFollowTask(q351Cfg.FirstStartFollow2Pos, q351Cfg.FollowLen, -1,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q351Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:StopPerformNarrator()
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:FirstStartFollow3()
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
self:BeLockTask(q351Cfg.FollowTransLen, 1,
|
||||
function(self)
|
||||
self:TransFinishCallBack(q351Cfg)
|
||||
end,
|
||||
function(self)
|
||||
self:TransPreCallBack(q351Cfg)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function Paimon:FirstStartFollow3()
|
||||
print("FirstStartFollow3")
|
||||
self:ClearFollowTask()
|
||||
self:AirModeOff()
|
||||
self:BeFollowTask(q351Cfg.FirstStartFollow3Pos, q351Cfg.FollowLen, -1,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q351Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:StopPerformNarrator()
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:FirstStartFollowFinish()
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end,
|
||||
nil
|
||||
)
|
||||
self:BeLockTask(q351Cfg.FollowTransLen, 1,
|
||||
function(self)
|
||||
self:TransFinishCallBack(q351Cfg)
|
||||
end,
|
||||
function(self)
|
||||
self:TransPreCallBack(q351Cfg)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function Paimon:FirstStartFollowFinish()
|
||||
print("FirstStartFollowFinish")
|
||||
self:ClearFollowTask()
|
||||
self:BeFollowTask(q351Cfg.FirstClimbPos, q351Cfg.FollowLen, -1,
|
||||
function(self, task)
|
||||
if self.BeFollowState == BeFollowState.FAILED then
|
||||
local quest = actorMgr:GetActor(q351Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(true, nil)
|
||||
end
|
||||
self:StopPerformNarrator()
|
||||
elseif self.BeFollowState == BeFollowState.SUCCESS then
|
||||
self:DoFreeStyle(0)
|
||||
self:TurnTo(M.Euler2DirXZ(q351Cfg.FirstClimbDir))
|
||||
local quest = actorMgr:GetActor(q351Cfg.ActorAlias)
|
||||
if quest ~= nil then
|
||||
quest:FinishQuest(false, nil)
|
||||
end
|
||||
end
|
||||
end,
|
||||
function(self, task)
|
||||
self:Standby()
|
||||
end
|
||||
)
|
||||
self:BeLockTask(q351Cfg.FollowTransLen, 1,
|
||||
function(self)
|
||||
self:TransFinishCallBack(q351Cfg)
|
||||
end,
|
||||
function(self)
|
||||
self:TransPreCallBack(q351Cfg)
|
||||
end
|
||||
)
|
||||
end ]]
|
||||
|
||||
function Paimon:Vanish(task)
|
||||
self:Destroy(false)
|
||||
end
|
||||
|
||||
function Paimon:VanishKeep(OnVanish)
|
||||
self:Disappear(OnVanish)
|
||||
end
|
||||
|
||||
function Paimon:ByQueen()
|
||||
self:RunToTask(sceneData:GetDummyPoint(3,"Q352Queen").pos,
|
||||
function(self)
|
||||
self:AirModeOff()
|
||||
self:Standby()
|
||||
self:TurnTo(M.Euler2DirXZ(sceneData:GetDummyPoint(3,"Q352Queen").rot))
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function Paimon:AirModeOn()
|
||||
self:SwitchAirMode(true)
|
||||
end
|
||||
|
||||
function Paimon:AirModeOff()
|
||||
self:SwitchAirMode(false)
|
||||
end
|
||||
|
||||
-- local method end
|
||||
|
||||
Paimon.TaskOnPauseReminder = 1001
|
||||
Paimon.TaskOnResumeReminder = 1002
|
||||
|
||||
function Paimon:Start()
|
||||
print("start!Paimon")
|
||||
self:RegisterTaskCB()
|
||||
end
|
||||
|
||||
function Paimon:OnDestroy()
|
||||
print("Paimon destroied")
|
||||
self:UnregisterTaskCB()
|
||||
end
|
||||
|
||||
|
||||
return Paimon
|
Reference in New Issue
Block a user