GSServer-CBT/soggy_resources/lua/Actor/Quest/LQ465.lua

252 lines
9.6 KiB
Lua
Raw Normal View History

2022-11-21 11:30:31 +03:00
require('Actor/ActorCommon')
local questActorProxy = require('Actor/Quest/QuestActorProxy')
local Quest465 = class("Quest465", questActorProxy)
Quest465.defaultAlias = "Quest465"
local q465Cfg = require('Quest/Client/Q465ClientConfig')
local dilucData = q465Cfg.DilucData
local hoffmanData = q465Cfg.HoffmanData
local kaeyaData = q465Cfg.KaeyaData
local abyssWaterData = q465Cfg.AbyssWaterData
local SAN = 100
local ESCAPE = 0
local WIN = 0
-- Generated
function Quest465:OnSubStartHandlerBuild()
self.subStartHandlers = {}
self.subStartHandlers["46501"] = self.OnSubStart46501
self.subStartHandlers["46502"] = self.OnSubStart46502
self.subStartHandlers["46503"] = self.OnSubStart46503
self.subStartHandlers["46504"] = self.OnSubStart46504
self.subStartHandlers["46505"] = self.OnSubStart46505
self.subStartHandlers["46506"] = self.OnSubStart46506
self.subStartHandlers["46507"] = self.OnSubStart46507
self.subStartHandlers["46508"] = self.OnSubStart46508
self.subStartHandlers["46509"] = self.OnSubStart46509
self.subStartHandlers["46510"] = self.OnSubStart46510
self.subStartHandlers["46511"] = self.OnSubStart46511
self.subStartHandlers["46512"] = self.OnSubStart46512
self.subStartHandlers["46513"] = self.OnSubStart46513
self.subStartHandlers["46514"] = self.OnSubStart46514
self.subStartHandlers["46515"] = self.OnSubStart46515
end
function Quest465:OnSubFinishHandlerBuild()
self.subFinishHandlers = {}
self.subFinishHandlers["46501"] = self.OnSubFinish46501
self.subFinishHandlers["46502"] = self.OnSubFinish46502
self.subFinishHandlers["46503"] = self.OnSubFinish46503
self.subFinishHandlers["46504"] = self.OnSubFinish46504
self.subFinishHandlers["46505"] = self.OnSubFinish46505
self.subFinishHandlers["46506"] = self.OnSubFinish46506
self.subFinishHandlers["46507"] = self.OnSubFinish46507
self.subFinishHandlers["46508"] = self.OnSubFinish46508
self.subFinishHandlers["46509"] = self.OnSubFinish46509
self.subFinishHandlers["46510"] = self.OnSubFinish46510
self.subFinishHandlers["46511"] = self.OnSubFinish46511
self.subFinishHandlers["46512"] = self.OnSubFinish46512
self.subFinishHandlers["46513"] = self.OnSubFinish46513
self.subFinishHandlers["46514"] = self.OnSubFinish46514
self.subFinishHandlers["46515"] = self.OnSubFinish46515
self.subFinishHandlers["46516"] = self.OnSubFinish46516
self.subFinishHandlers["46517"] = self.OnSubFinish46517
self.subFinishHandlers["46518"] = self.OnSubFinish46518
self.subFinishHandlers["46519"] = self.OnSubFinish46519
end
-- local method begin
-- local method end
--@region sub start & finish handlers
function Quest465:OnSubFinish46502(quest)
print("46502 Finish: Creat NPC")
self:NarratorOnlyTask(self.clientData.NarratorData.Story1)
actorMgr:CreateActorWithPos(hoffmanData.Hoffman, hoffmanData.HoffmanScript, hoffmanData.HoffmanID, 0, hoffmanData.Pos1, hoffmanData.Dir1, true, false, 1004)
end
function Quest465:OnSubFinish46503(quest)
print("46503 Finish: Creat NPC")
self:NarratorOnlyTask(self.clientData.NarratorData.Story2)
actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.Pos1, dilucData.Dir1, true)
end
function Quest465:OnSubFinish46505(quest)
print("46505 Finish: Move NPC")
self:ActionSafeCall(self.Finish46505Do)
--actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.Pos2, dilucData.Dir2, true)
end
function Quest465:Finish46505Do(quest)
actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.Pos2, dilucData.Dir2, true)
end
function Quest465:OnSubFinish46507(quest)
print("46507 Finish: TempDungeon")
local TempDungeonData = self.clientData.TempDungeonData
globalActor:SpawnItem(TempDungeonData.TempDungeonID, TempDungeonData.TempDungeonPos,nil,"TempDungeonData")
end
function Quest465:OnSubFinish46508(quest)
print("46508 Finish: Monster")
self:SpawnMonster(22010201, 1, sceneData:GetDummyPoint(3,"Q465DilucDungeon").pos)
end
function Quest465:OnSubFinish46509(quest)
print("46509 Finish: NPC")
actorMgr:CreateActorWithPos(abyssWaterData.AbyssWater, abyssWaterData.AbyssWaterScript, abyssWaterData.AbyssWaterID, 0, abyssWaterData.Pos1, abyssWaterData.Dir1, true, false, 3)
end
function Quest465:InvokeOnInteraction(param)
if param == 1 then
print("SAN-10/30,ESCAPE+20")
self:SANMinusi()
-- self:ShowMessage("SAN" .. SAN)
-- self:ShowMessage("ESCAPE" .. ESCAPE)
elseif param == 2 then
print("SAN-30/60,ESCAPE+20")
self:SANMinusj()
-- self:ShowMessage("SAN" .. SAN)
-- self:ShowMessage("ESCAPE" .. ESCAPE)
elseif param == 3 then
print("SAN-0,ESCAPE+20")
self:SANMinusk()
-- self:ShowMessage("SAN" .. SAN)
-- self:ShowMessage("ESCAPE" .. ESCAPE)
end
end
function Quest465:SANMinusi()
local i = math.random(10,30)
SAN = SAN-i
ESCAPE = ESCAPE+20
WIN = 100 - SAN
self:PlayEffect("Eff_Diluc_FireCross_Aoe", abyssWaterData.Pos1)
local quest = actorMgr:GetActor(q465Cfg.ActorAlias)
if quest ~= nil and SAN<=0 then
quest:FinishQuestID(false, 46517)
local AbyssWater = actorMgr:GetActor("AbyssWater")
AbyssWater:DoFreeStyle(302)
self:ShowMessage("犯人晕过去了!")
elseif quest ~= nil and SAN>0 then
self:ESC()
end
end
function Quest465:SANMinusj()
local j = math.random(30,60)
SAN = SAN-j
ESCAPE = ESCAPE+20
WIN = 100 - SAN
self:PlayEffect("Eff_Diluc_FireCross_Aoe", abyssWaterData.Pos1)
local quest = actorMgr:GetActor(q465Cfg.ActorAlias)
if quest ~= nil and SAN<=0 then
quest:FinishQuestID(false, 46517)
local AbyssWater = actorMgr:GetActor("AbyssWater")
AbyssWater:DoFreeStyle(302)
self:ShowMessage("犯人晕过去了!")
elseif quest ~= nil and SAN>0 then
self:ESC()
end
end
function Quest465:SANMinusk()
SAN = SAN
ESCAPE = ESCAPE+20
WIN = 100 - SAN
local quest = actorMgr:GetActor(q465Cfg.ActorAlias)
if quest ~= nil and SAN<=0 then
quest:FinishQuestID(false, 46517)
local AbyssWater = actorMgr:GetActor("AbyssWater")
AbyssWater:DoFreeStyle(302)
self:ShowMessage("犯人晕过去了!")
elseif quest ~= nil and SAN>0 then
self:SUC()
end
end
function Quest465:ESC()
local esc = math.random(1,100)
local quest = actorMgr:GetActor(q465Cfg.ActorAlias)
if quest ~= nil and esc < ESCAPE then
self:ShowMessage("犯人要逃走了!" .. esc..ESCAPE)
quest:FinishQuestID(false, 46516)
else
self:ShowMessage("犯人尝试逃走,但失败了!")
self:ShowMessage("犯人坚强度%" .. SAN)
self:ShowMessage("犯人逃跑概率%" .. ESCAPE)
self:ShowMessage("拷问成功概率%" .. WIN)
end
end
function Quest465:SUC()
local suc = math.random(1,100)
local quest = actorMgr:GetActor(q465Cfg.ActorAlias)
if quest ~= nil and suc > SAN then
self:ShowMessage("拷问成功!" .. suc)
quest:FinishQuestID(false, 46515)
else
self:ESC()
end
end
function Quest465:OnSubStart46510(quest)
print("46510 Start: Clear data")
actorMgr:CreateActorWithPos(abyssWaterData.AbyssWater, abyssWaterData.AbyssWaterScript, abyssWaterData.AbyssWaterID, 0, abyssWaterData.Pos1, abyssWaterData.Dir1, true, false, 3)
SAN = 100
ESCAPE = 0
WIN = 0
end
function Quest465:OnSubStart46514(quest)
print("46514 Start: Show UI")
self:ShowMessage("犯人坚强度%" .. SAN)
self:ShowMessage("犯人逃跑概率%" .. ESCAPE)
self:ShowMessage("拷问成功概率%" .. WIN)
end
function Quest465:OnSubFinish46518(quest)
print("46516 Finish: prisoner disappear")
self:ActionSafeCall(
function(self)
local AbyssWater = actorMgr:GetActor("AbyssWater")
if AbyssWater ~= nil then
AbyssWater:Destroy(false)
end
end
)
end
function Quest465:OnSubFinish46514(quest)
print("46514 Finish: Hide NPC")
self:ActionSafeCall(self.Finish46514Do)
--actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.hiddenPos, dilucData.hiddenDir, true)
end
function Quest465:Finish46514Do(quest)
actorMgr:CreateActorWithPos(abyssWaterData.AbyssWater, abyssWaterData.AbyssWaterScript, abyssWaterData.AbyssWaterID, 0, abyssWaterData.hiddenPos, abyssWaterData.hiddenDir, true, false, 3)
actorMgr:CreateActorWithPos(dilucData.Diluc, dilucData.DilucScript, dilucData.DilucID, 0, dilucData.hiddenPos, dilucData.hiddenDir, true)
local TempDungeonData = self.clientData.TempDungeonData
globalActor:SpawnItem(TempDungeonData.TempDungeonID, TempDungeonData.TempDungeonPos,nil,"TempDungeonData")
end
function Quest465:OnSubFinish46512(quest)
print("46512 Finish: Creat NPC")
actorMgr:CreateActorWithPos(hoffmanData.Hoffman, hoffmanData.HoffmanScript, hoffmanData.HoffmanID, 0, hoffmanData.Pos1, hoffmanData.Dir1, true, false, 1004)
end
function Quest465:OnSubFinish46513(quest)
print("46513 Finish: Hide NPC")
self:ActionSafeCall(self.Finish46513Do)
--actorMgr:CreateActorWithPos(hoffmanData.Hoffman, hoffmanData.HoffmanScript, hoffmanData.HoffmanID, 0, hoffmanData.hiddenPos, hoffmanData.hiddenDir, true)
end
function Quest465:Finish46513Do(quest)
actorMgr:CreateActorWithPos(hoffmanData.Hoffman, hoffmanData.HoffmanScript, hoffmanData.HoffmanID, 0, hoffmanData.hiddenPos, hoffmanData.hiddenDir, true)
end
--@endregion
function Quest465:Start()
end
function Quest465:OnDestroy()
end
return Quest465