Update - 1.9.0.107

EN: 1.9.0.107
CN: 1.9.0.108
JP: 1.9.0.112
KR: 1.9.0.112
This commit is contained in:
SL1900
2026-05-14 16:00:00 +09:00
parent 4b880806ef
commit eafd8f4088
1034 changed files with 809589 additions and 23067 deletions
@@ -197,6 +197,19 @@ function ActivityAvgData:CacheAvgData(StoryInfo)
self.mapPersonalityFactor[sAvgId][StoryChoice.Group] = func_Parse(StoryChoice.Value, 3)
end
end
local chapterCfgData = ConfigTable.GetData("ActivityStoryChapter", mapCfgDataStory.ChapterId)
if chapterCfgData ~= nil and chapterCfgData.IsPersonalityTouchMainline then
if self.tbTouchMainlinePersonality == nil then
self.tbTouchMainlinePersonality = {}
end
local value = self.mapPersonality[mapCfgDataStory.AvgLuaName]
self.tbTouchMainlinePersonality[mapCfgDataStory.AvgLuaName] = value
if self.tbTouchMainlinePersonalityFactor == nil then
self.tbTouchMainlinePersonalityFactor = {}
end
local factor = self.mapPersonalityFactor[mapCfgDataStory.AvgLuaName]
self.tbTouchMainlinePersonalityFactor[mapCfgDataStory.AvgLuaName] = factor
end
end
self.mapRecentStoryId = decodeJson(LocalData.GetPlayerLocalData("ActivityRecentStoryId")) or {}
self:RefreshAvgRedDot()
@@ -485,7 +498,7 @@ function ActivityAvgData:MarkChoosedPersonality(sAvgId, nGroupId, nIndex, nFacto
nCurCnt = nCurCnt + 1
self.mapTempPersonalityCnt[sAvgId][nGroupId][nIndex] = nCurCnt
end
function ActivityAvgData:CalcPersonality(nId)
function ActivityAvgData:CalcPersonality(nId, nChapterId, bTouchMainline)
local cfgData_SRP = ConfigTable.GetData("StoryRolePersonality", nId)
local tbPersonalityBaseNum = cfgData_SRP.BaseValue
local nTotalCount = tbPersonalityBaseNum[1] + tbPersonalityBaseNum[2] + tbPersonalityBaseNum[3]
@@ -506,8 +519,39 @@ function ActivityAvgData:CalcPersonality(nId)
nPercent = 0
}
}
local tbPersonality = self.mapPersonality
local tbPersonalityFactor = self.mapPersonalityFactor
local tbPersonality = {}
local tbPersonalityFactor = {}
if nChapterId ~= nil then
for sAvgId, v in pairs(self.mapPersonality) do
local cfgData = self:GetStoryCfgData(sAvgId)
if cfgData ~= nil and cfgData.ChapterId == nChapterId then
tbPersonality[sAvgId] = v
if self.mapPersonalityFactor[sAvgId] ~= nil then
tbPersonalityFactor[sAvgId] = self.mapPersonalityFactor[sAvgId]
end
end
end
else
tbPersonality = self.mapPersonality
tbPersonalityFactor = self.mapPersonalityFactor
end
if bTouchMainline == true then
local mainlinePersonality, mainlinePersonalityFactor = PlayerData.Avg:GetPersonalityData()
if mainlinePersonality ~= nil then
for sAvgId, v in pairs(mainlinePersonality) do
if tbPersonality[sAvgId] == nil then
tbPersonality[sAvgId] = v
end
end
end
if mainlinePersonalityFactor ~= nil then
for sAvgId, v in pairs(mainlinePersonalityFactor) do
if tbPersonalityFactor[sAvgId] == nil then
tbPersonalityFactor[sAvgId] = v
end
end
end
end
local nFactor = 1
for sAvgId, v in pairs(tbPersonality) do
for nGroupId, vv in pairs(v) do
@@ -1076,6 +1120,12 @@ function ActivityAvgData:SendMsg_STORY_DONE(callBack, tbBattleEvents)
self.mapTempPersonalityCnt = {}
func_overwrite(self.mapTempPersonalityFactor, self.mapPersonalityFactor)
self.mapTempPersonalityFactor = {}
for avgId, v in pairs(self.mapPersonality) do
self.tbTouchMainlinePersonality[avgId] = v
end
for avgId, v in pairs(self.mapPersonalityFactor) do
self.tbTouchMainlinePersonalityFactor[avgId] = v
end
if callBack ~= nil then
callBack(mapChangeInfo)
end
@@ -1115,6 +1165,7 @@ function ActivityAvgData:SendMsg_STORY_DONE(callBack, tbBattleEvents)
TimerManager.Add(1, nDelayTime, self, delayOpen, true, true, true)
end
EventManager.Hit("Story_Done", bHasReward)
self:RefreshAvgRedDot()
printLog("通关结算完成")
end
printLog("发送通关消息")
@@ -1191,4 +1242,7 @@ end
function ActivityAvgData:OnEvent_UpdateWorldClass()
self:RefreshAvgRedDot()
end
function ActivityAvgData:GetTouchMainlinePersonalityData()
return self.tbTouchMainlinePersonality, self.tbTouchMainlinePersonalityFactor
end
return ActivityAvgData
@@ -209,12 +209,14 @@ function BreakOutData:RefreshRedDot()
end
function BreakOutData:IsActTimeEnd()
local isEnd = false
local LevelEndTime = CS.ClientManager.Instance:ISO8601StrToTimeStamp(ConfigTable.GetConfigValue("BreakOut_LevelClosed"))
local nCurTime = CS.ClientManager.Instance.serverTimeStamp
if LevelEndTime ~= nil then
return LevelEndTime < nCurTime
else
printError("config 表:" .. "BreakOut_LevelClosed" .. " Value数据为空")
if self.nActId then
local LevelEndTime = CS.ClientManager.Instance:ISO8601StrToTimeStamp(ConfigTable.GetData("Activity", self.nActId).EndTime)
local nCurTime = CS.ClientManager.Instance.serverTimeStamp
if LevelEndTime ~= nil then
return LevelEndTime < nCurTime
else
printError("config 表:" .. "BreakOut_LevelClosed" .. " Value数据为空")
end
end
return isEnd
end
@@ -311,6 +313,10 @@ function BreakOutData:RequestFinishLevel(arrayData, cb)
CharacterNid = arrayData.CharId
})
EventManager.Hit("SetPlayFinishState", true)
if self:IsActivityClosed() then
self:ShowActivityClosedAlert()
return
end
if not arrayData.Win then
local mapMsg = arrayData
local failCallback = function()
@@ -318,7 +324,7 @@ function BreakOutData:RequestFinishLevel(arrayData, cb)
cb()
end
end
EventManager.Hit(EventId.ClosePanel, PanelId.BreakOutLevelDetailPanel)
EventManager.Hit(EventId.ClosePanel, PanelId.BreakOutLevelDetailPanelS2)
HttpNetHandler.SendMsg(NetMsgId.Id.milkout_settle_req, mapMsg, nil, failCallback)
return
end
@@ -331,7 +337,7 @@ function BreakOutData:RequestFinishLevel(arrayData, cb)
FirstComplete = arrayData.Win
})
end
EventManager.Hit(EventId.ClosePanel, PanelId.BreakOutLevelDetailPanel)
EventManager.Hit(EventId.ClosePanel, PanelId.BreakOutLevelDetailPanelS2)
HttpNetHandler.SendMsg(NetMsgId.Id.milkout_settle_req, mapMsg, nil, successCallback)
end
function BreakOutData:CreateTempData(nLevelId, bResult)
@@ -368,4 +374,24 @@ function BreakOutData:OnEvent_GMClearAllLevels(mapMsgData)
self:CacheAllLevelData(mapMsgData.Levels)
end
end
function BreakOutData:IsActivityClosed()
if self == nil or self.CheckActivityOpen == nil then
return false
end
return not self:CheckActivityOpen()
end
function BreakOutData:ShowActivityClosedAlert()
local msg = {
nType = AllEnum.MessageBox.Alert,
sContent = ConfigTable.GetUIText("Activity_End_Notice"),
callbackConfirm = function()
self:ForceExitOnFinishFail()
end
}
EventManager.Hit(EventId.OpenMessageBox, msg)
end
function BreakOutData:ForceExitOnFinishFail()
EventManager.Hit(EventId.ClosePanel, PanelId.BreakOutPlayPanelS2)
EventManager.Hit(EventId.ClosePanel, PanelId.BreakOutLevelDetailPanelS2)
end
return BreakOutData
@@ -4,11 +4,10 @@ local BreakOutLevelData = class("BreakOutLevelData")
local mapEventConfig = {
LoadLevelRefresh = "OnEvent_LoadLevelRefresh",
AdventureModuleEnter = "OnEvent_AdventureModuleEnter",
BattlePause = "OnEvent_Pause",
ADVENTURE_LEVEL_UNLOAD_COMPLETE = "OnEvent_UnloadComplete",
InputEnable = "OnEvent_InputEnable",
BreakOut_Complete = "SetBreakOut_Complete",
SetPlayFinishState = "SetPlayFinishState"
SetPlayFinishState = "SetPlayFinishState",
Event_SetPopPlayTips = "Event_SetPopPlayTips"
}
function BreakOutLevelData:InitData(nLevelId, nCharacterNid, nActId)
self:UnBindEvent()
@@ -22,6 +21,7 @@ function BreakOutLevelData:InitData(nLevelId, nCharacterNid, nActId)
self.FloorId = ConfigTable.GetData("BreakOutLevel", nLevelId).FloorId
self.bShouldExit = true
self.bIsFinishGame = false
self.bCanPopTip = true
local sJson = LocalData.GetPlayerLocalData("BreakOutFloorDicId")
local tb = decodeJson(sJson)
if type(tb) == "table" then
@@ -106,7 +106,7 @@ function BreakOutLevelData:GetIsFinishGame()
return self.bIsFinishGame
end
function BreakOutLevelData:OnEvent_AdventureModuleEnter()
EventManager.Hit(EventId.OpenPanel, PanelId.BreakOutPlayPanel, self.nActId, self.nLevelId, self.nCharacterNid)
EventManager.Hit(EventId.OpenPanel, PanelId.BreakOutPlayPanelS2, self.nActId, self.nLevelId, self.nCharacterNid)
end
function BreakOutLevelData:GetFloorHasDic(nFloorId)
local bResult = true
@@ -125,4 +125,10 @@ function BreakOutLevelData:OnEvent_SetFloorHasDic(nFloorId)
LocalData.SetPlayerLocalData("BreakOutFloorDicId", RapidJson.encode(tbLocalSave))
end
end
function BreakOutLevelData:Event_SetPopPlayTips(bCanPop)
self.bCanPopTip = bCanPop
end
function BreakOutLevelData:GetPopPlayTips()
return self.bCanPopTip
end
return BreakOutLevelData
@@ -25,9 +25,12 @@ local Miracle_10103Data = require("GameCore.Data.DataClass.Activity.Miracle_1010
local SpringFestival_10104Data = require("GameCore.Data.DataClass.Activity.SpringFestival_10104Data")
local WinterNight_10105Data = require("GameCore.Data.DataClass.Activity.WinterNight_10105Data")
local Postal_10106Data = require("GameCore.Data.DataClass.Activity.Postal_10106Data")
local Viewfinder_10107Data = require("GameCore.Data.DataClass.Activity.Viewfinder_10107Data")
local Tech_10108Data = require("GameCore.Data.DataClass.Activity.Tech_10108Data")
local PenguinCardActData = require("GameCore.Data.DataClass.Activity.PenguinCardActData")
local GoldenSpyData = require("GameCore.Data.DataClass.Activity.GoldenSpyData")
local Solodance_20102Data = require("GameCore.Data.DataClass.Activity.Solodance_20102Data")
local SwimTheme_11100Data = require("GameCore.Data.DataClass.Activity.SwimTheme_11100Data")
function PlayerActivityData:Init()
self.bCacheActData = false
self.tbAllActivity = {}
@@ -321,7 +324,7 @@ function PlayerActivityData:CreateActivityGroupIns(actData)
actIns = OurRegiment_10101Data.new(actData)
elseif actCfg.ActivityThemeType == GameEnum.activityThemeType.Dream_10102 then
actIns = Dream_10102Data.new(actData)
elseif actCfg.ActivityThemeType == GameEnum.activityThemeType.BreakOut_30101 then
elseif actCfg.ActivityThemeType == GameEnum.activityThemeType.BreakOut_30101 or actCfg.ActivityThemeType == GameEnum.activityThemeType.BreakOut_30102 then
actIns = BreakOut_30101Data.new(actData)
elseif actCfg.ActivityThemeType == GameEnum.activityThemeType.Christmas_20101 then
actIns = Christmas_20101Data.new(actData)
@@ -335,6 +338,12 @@ function PlayerActivityData:CreateActivityGroupIns(actData)
actIns = Postal_10106Data.new(actData)
elseif actCfg.ActivityThemeType == GameEnum.activityThemeType.SoloDance_20102 then
actIns = Solodance_20102Data.new(actData)
elseif actCfg.ActivityThemeType == GameEnum.activityThemeType.Viewfinder_10107 then
actIns = Viewfinder_10107Data.new(actData)
elseif actCfg.ActivityThemeType == GameEnum.activityThemeType.Swim_11100 then
actIns = SwimTheme_11100Data.new(actData)
elseif actCfg.ActivityThemeType == GameEnum.activityThemeType.Tech_10108 then
actIns = Tech_10108Data.new(actData)
end
self.tbAllActivityGroup[actData.Id] = actIns
PlayerData.ActivityAvg:RefreshAvgRedDot()
@@ -0,0 +1,61 @@
local ActivityGroupDataBase = require("GameCore.Data.DataClass.Activity.ActivityGroupDataBase")
local SwimTheme_11100Data = class("SwimTheme_11100Data", ActivityGroupDataBase)
function SwimTheme_11100Data:Init()
self.tbAllActivity = {}
self.nCGActivityId = 0
self.sCGPath = ""
self.bPlayedCG = false
self:ParseActivity()
end
function SwimTheme_11100Data:ParseActivity()
if self.actGroupConfig == nil then
self.actGroupConfig = ConfigTable.GetData("ActivityGroup", self.nActGroupId)
end
local sJson = self.actGroupConfig.Enter
local tbJson = decodeJson(sJson)
for _, activity in pairs(tbJson) do
local data = {
ActivityId = activity[1],
Index = activity[2],
PanelId = activity[3]
}
table.insert(self.tbAllActivity, data)
end
local sCgJson = self.actGroupConfig.CG
if sCgJson ~= nil then
local tbCGJson = decodeJson(sCgJson)
self.nCGActivityId = tonumber(tbCGJson[1])
self.sCGPath = tbCGJson[2]
end
end
function SwimTheme_11100Data:GetActivityDataByIndex(nIndex)
for _, activity in pairs(self.tbAllActivity) do
if activity.Index == nIndex then
return activity
end
end
end
function SwimTheme_11100Data:PlayCG()
self:SendMsg_CG_READ(self.nCGActivityId)
end
function SwimTheme_11100Data:GetActivityGroupCGPlayed()
if self.bPlayedCG then
return true
end
return PlayerData.Activity:IsCGPlayed(self.nCGActivityId)
end
function SwimTheme_11100Data:IsActivityInActivityGroup(nActivityId)
for _, activity in pairs(self.tbAllActivity) do
if activity.ActivityId == nActivityId then
return true, self.nActGroupId
end
end
return false
end
function SwimTheme_11100Data:SendMsg_CG_READ(nActivityId)
local Callback = function()
self.bPlayedCG = true
end
HttpNetHandler.SendMsg(NetMsgId.Id.activity_cg_read_req, {nActivityId}, nil, Callback)
end
return SwimTheme_11100Data
@@ -0,0 +1,70 @@
local ActivityGroupDataBase = require("GameCore.Data.DataClass.Activity.ActivityGroupDataBase")
local Tech_10108Data = class("Tech_10108Data", ActivityGroupDataBase)
function Tech_10108Data:Init()
self.tbAllActivity = {}
self.nCGActivityId = 0
self.sCGPath = ""
self.bPlayedCG = false
self:ParseActivity()
end
function Tech_10108Data:ParseActivity()
if self.actGroupConfig == nil then
self.actGroupConfig = ConfigTable.GetData("ActivityGroup", self.nActGroupId)
end
if self.actGroupConfig == nil then
printError("ActivityGroup config not found for id: " .. tostring(self.nActGroupId))
return
end
local sJson = self.actGroupConfig.Enter
local tbJson = decodeJson(sJson)
if tbJson == nil then
printError("ActivityGroup Enter json is nil for id: " .. tostring(self.nActGroupId))
end
for _, activity in pairs(tbJson) do
local data = {
ActivityId = activity[1],
Index = activity[2],
PanelId = activity[3]
}
table.insert(self.tbAllActivity, data)
end
local sCgJson = self.actGroupConfig.CG
if sCgJson ~= nil then
local tbCGJson = decodeJson(sCgJson)
if tbCGJson and 2 <= #tbCGJson then
self.nCGActivityId = tonumber(tbCGJson[1])
self.sCGPath = tbCGJson[2]
end
end
end
function Tech_10108Data:GetActivityDataByIndex(nIndex)
for _, activity in pairs(self.tbAllActivity) do
if activity.Index == nIndex then
return activity
end
end
end
function Tech_10108Data:PlayCG()
self:SendMsg_CG_READ(self.nCGActivityId)
end
function Tech_10108Data:GetActivityGroupCGPlayed()
if self.bPlayedCG then
return true
end
return PlayerData.Activity:IsCGPlayed(self.nCGActivityId)
end
function Tech_10108Data:IsActivityInActivityGroup(nActivityId)
for _, activity in pairs(self.tbAllActivity) do
if activity.ActivityId == nActivityId then
return true, self.nActGroupId
end
end
return false
end
function Tech_10108Data:SendMsg_CG_READ(nActivityId)
local Callback = function()
self.bPlayedCG = true
end
HttpNetHandler.SendMsg(NetMsgId.Id.activity_cg_read_req, {nActivityId}, nil, Callback)
end
return Tech_10108Data
@@ -58,13 +58,20 @@ function TrekkerVersusData:RefreshTrekkerVersusData(nActId, msgData)
self:RefreshQusetRedDot()
PlayerData.State:RefreshTrekkerVersusIdleRewardRedDot()
end
function TrekkerVersusData:EnterTrekkerVersus(nLevelId, nBuildId, tbAffix)
function TrekkerVersusData:EnterTrekkerVersus(nActId, nLevelId, nBuildId, tbAffix)
if nActId == nil or nActId == 0 then
nActId = self.nActId
end
if nActId == 0 then
printWarn("TrekkerVersusData:EnterTrekkerVersus nActId is 0, skip")
return
end
local callback = function()
self:SetCachedBuildId(nBuildId)
self:EnterGame(nLevelId, nBuildId, tbAffix)
end
local msg = {
ActivityId = self.nActId,
ActivityId = nActId,
LevelId = nLevelId,
BuildId = nBuildId,
AffixIds = tbAffix
@@ -289,7 +296,14 @@ function TrekkerVersusData:SettleBattle(bSuccess, nLevelId, nTime, tbAffix, nBui
}
HttpNetHandler.SendMsg(NetMsgId.Id.activity_trekker_versus_settle_req, msg, nil, callback)
end
function TrekkerVersusData:RequestIdleRefresh(callback)
function TrekkerVersusData:RequestIdleRefresh(nActId, callback)
if nActId == nil or nActId == 0 then
nActId = self.nActId
end
if nActId == 0 then
printWarn("TrekkerVersusData:RequestIdleRefresh nActId is 0, skip")
return
end
local nElapsedTime = CS.ClientManager.Instance.serverTimeStamp - self.nTimerIdleRefresh
if nElapsedTime < 60 then
if callback ~= nil then
@@ -327,14 +341,17 @@ function TrekkerVersusData:RequestIdleRefresh(callback)
end
end
end
HttpNetHandler.SendMsg(NetMsgId.Id.activity_trekker_versus_idle_refresh_req, {
Value = self.nActId
}, nil, cb)
HttpNetHandler.SendMsg(NetMsgId.Id.activity_trekker_versus_idle_refresh_req, {Value = nActId}, nil, cb)
end
function TrekkerVersusData:RequestIdleRewardReceive(callback)
local msg = {
Value = self.nActId
}
function TrekkerVersusData:RequestIdleRewardReceive(nActId, callback)
if nActId == nil or nActId == 0 then
nActId = self.nActId
end
if nActId == 0 then
printWarn("TrekkerVersusData:RequestIdleRewardReceive nActId is 0, skip")
return
end
local msg = {Value = nActId}
local cb = function(_, msgData)
if msgData ~= nil then
if msgData.Change ~= nil then
@@ -355,11 +372,15 @@ function TrekkerVersusData:RequestIdleRewardReceive(callback)
end
HttpNetHandler.SendMsg(NetMsgId.Id.activity_trekker_versus_idle_reward_receive_req, msg, nil, cb)
end
function TrekkerVersusData:RequestSendStreamerGift(tbGift, nAddHotValue, callback)
local msg = {
ActivityId = self.nActId,
Items = tbGift
}
function TrekkerVersusData:RequestSendStreamerGift(nActId, tbGift, nAddHotValue, callback)
if nActId == nil or nActId == 0 then
nActId = self.nActId
end
if nActId == 0 then
printWarn("TrekkerVersusData:RequestSendStreamerGift nActId is 0, skip")
return
end
local msg = {ActivityId = nActId, Items = tbGift}
local cb = function(_, msgData)
if msgData ~= nil then
local nPrevFanLevel = self.nFanLevel
@@ -387,11 +408,15 @@ function TrekkerVersusData:RequestSendStreamerGift(tbGift, nAddHotValue, callbac
end
HttpNetHandler.SendMsg(NetMsgId.Id.activity_trekker_versus_rank_boost_req, msg, nil, cb)
end
function TrekkerVersusData:RequestReceiveScheduleReward(nScheduleType)
local msg = {
ActivityId = self.nActId,
ScheduleType = nScheduleType
}
function TrekkerVersusData:RequestReceiveScheduleReward(nActId, nScheduleType)
if nActId == nil or nActId == 0 then
nActId = self.nActId
end
if nActId == 0 then
printWarn("TrekkerVersusData:RequestReceiveScheduleReward nActId is 0, skip")
return
end
local msg = {ActivityId = nActId, ScheduleType = nScheduleType}
local callback = function(_, msgData)
if msgData ~= nil then
if msgData.Change ~= nil then
@@ -438,7 +463,14 @@ function TrekkerVersusData:RefreshQuestData(questData)
self.mapQuests[questData.Id] = questData
self:RefreshQusetRedDot()
end
function TrekkerVersusData:ReceiveQuestReward(callback)
function TrekkerVersusData:ReceiveQuestReward(nActId, callback)
if nActId == nil or nActId == 0 then
nActId = self.nActId
end
if nActId == 0 then
printWarn("TrekkerVersusData:ReceiveQuestReward nActId is 0, skip")
return
end
local bReceive = false
for _, mapQuest in pairs(self.mapQuests) do
if mapQuest.Status == 1 then
@@ -464,9 +496,7 @@ function TrekkerVersusData:ReceiveQuestReward(callback)
end
end
if bReceive then
local msg = {
Value = self.nActId
}
local msg = {Value = nActId}
HttpNetHandler.SendMsg(NetMsgId.Id.activity_trekker_versus_reward_receive_req, msg, nil, msgCallback)
else
local sTip = ConfigTable.GetUIText("Quest_ReceiveNone")
@@ -0,0 +1,70 @@
local ActivityGroupDataBase = require("GameCore.Data.DataClass.Activity.ActivityGroupDataBase")
local Viewfinder_10107Data = class("Viewfinder_10107Data", ActivityGroupDataBase)
function Viewfinder_10107Data:Init()
self.tbAllActivity = {}
self.nCGActivityId = 0
self.sCGPath = ""
self.bPlayedCG = false
self:ParseActivity()
end
function Viewfinder_10107Data:ParseActivity()
if self.actGroupConfig == nil then
self.actGroupConfig = ConfigTable.GetData("ActivityGroup", self.nActGroupId)
end
if self.actGroupConfig == nil then
printError("ActivityGroup config not found for id: " .. tostring(self.nActGroupId))
return
end
local sJson = self.actGroupConfig.Enter
local tbJson = decodeJson(sJson)
if tbJson == nil then
printError("ActivityGroup Enter json is nil for id: " .. tostring(self.nActGroupId))
end
for _, activity in pairs(tbJson) do
local data = {
ActivityId = activity[1],
Index = activity[2],
PanelId = activity[3]
}
table.insert(self.tbAllActivity, data)
end
local sCgJson = self.actGroupConfig.CG
if sCgJson ~= nil then
local tbCGJson = decodeJson(sCgJson)
if tbCGJson and 2 <= #tbCGJson then
self.nCGActivityId = tonumber(tbCGJson[1])
self.sCGPath = tbCGJson[2]
end
end
end
function Viewfinder_10107Data:GetActivityDataByIndex(nIndex)
for _, activity in pairs(self.tbAllActivity) do
if activity.Index == nIndex then
return activity
end
end
end
function Viewfinder_10107Data:PlayCG()
self:SendMsg_CG_READ(self.nCGActivityId)
end
function Viewfinder_10107Data:GetActivityGroupCGPlayed()
if self.bPlayedCG then
return true
end
return PlayerData.Activity:IsCGPlayed(self.nCGActivityId)
end
function Viewfinder_10107Data:IsActivityInActivityGroup(nActivityId)
for _, activity in pairs(self.tbAllActivity) do
if activity.ActivityId == nActivityId then
return true, self.nActGroupId
end
end
return false
end
function Viewfinder_10107Data:SendMsg_CG_READ(nActivityId)
local Callback = function()
self.bPlayedCG = true
end
HttpNetHandler.SendMsg(NetMsgId.Id.activity_cg_read_req, {nActivityId}, nil, Callback)
end
return Viewfinder_10107Data
+20 -1
View File
@@ -555,6 +555,21 @@ function AvgData:CalcPersonality(nId)
}
local tbPersonality = self.mapPersonality
local tbPersonalityFactor = self.mapPersonalityFactor
local personality, personalityFactor = PlayerData.ActivityAvg:GetTouchMainlinePersonalityData()
if personality ~= nil then
for sAvgId, v in pairs(personality) do
if tbPersonality[sAvgId] == nil then
tbPersonality[sAvgId] = v
end
end
end
if personalityFactor ~= nil then
for sAvgId, v in pairs(personalityFactor) do
if tbPersonalityFactor[sAvgId] == nil then
tbPersonalityFactor[sAvgId] = v
end
end
end
local nFactor = 1
for sAvgId, v in pairs(tbPersonality) do
for nGroupId, vv in pairs(v) do
@@ -692,7 +707,8 @@ function AvgData:IsStoryChapterUnlock(nChapterId)
for __, nPrevId in ipairs(tbPrevId) do
if not self:IsStoryReaded(self.CFG_Story[nPrevId]) then
local cfgData = ConfigTable.GetData_Story(self.CFG_Story[nPrevId])
return false, orderedFormat(ConfigTable.GetUIText("Story_UnlockPreId") or "", cfgData.Title)
local chapterConfig = ConfigTable.GetData("StoryChapter", cfgData.Chapter)
return false, orderedFormat(ConfigTable.GetUIText("Story_UnlockPreId") or "", chapterConfig.Name)
end
end
return true
@@ -1197,4 +1213,7 @@ function AvgData:CacheEvData()
end
ForEachTableLine(DataTable.Story, forEachLine_Story)
end
function AvgData:GetPersonalityData()
return self.mapPersonality, self.mapPersonalityFactor
end
return AvgData
@@ -256,6 +256,9 @@ function PlayerEquipmentData:GetEquipmentSelect()
self.mapSelect = nil
return mapSelect
end
function PlayerEquipmentData:ClearEquipmentSelect()
self.mapSelect = nil
end
function PlayerEquipmentData:CacheEquipmentUpgrade(nSlotId, nGemIndex, nCharId, nSelectUpgradeIndex)
self.mapUpgrade = {
nSlotId = nSlotId,
@@ -272,6 +275,9 @@ function PlayerEquipmentData:GetEquipmentUpgrade()
self.mapUpgrade = nil
return mapUpgrade
end
function PlayerEquipmentData:ClearEquipmentUpgrade()
self.mapUpgrade = nil
end
function PlayerEquipmentData:CheckAlterHighQualityAffix(tbAlterAffix, tbLockId)
for _, v in ipairs(tbAlterAffix) do
if v ~= 0 and table.indexof(tbLockId, v) == 0 then
@@ -286,6 +292,13 @@ end
function PlayerEquipmentData:UpdateRedDot()
end
function PlayerEquipmentData:SendCharGemEquipGemReq(nCharId, nSlotId, nGemIndex, nPresetId, callback)
if 0 < nGemIndex then
local mapEquipment = self.tbCharEquipment[nCharId][nSlotId][nGemIndex]
if mapEquipment == nil then
printError("纹章不存在")
return
end
end
local msgData = {
CharId = nCharId,
SlotId = nSlotId,
@@ -315,6 +328,11 @@ function PlayerEquipmentData:SendCharGemRenamePresetReq(nCharId, nPresetId, sNew
HttpNetHandler.SendMsg(NetMsgId.Id.char_gem_rename_preset_req, msgData, nil, successCallback)
end
function PlayerEquipmentData:SendCharGemReplaceAttributeReq(nCharId, nSlotId, nGemIndex, callback)
local mapEquipment = self.tbCharEquipment[nCharId][nSlotId][nGemIndex]
if mapEquipment == nil then
printError("纹章不存在")
return
end
local msgData = {
CharId = nCharId,
SlotId = nSlotId,
@@ -329,6 +347,11 @@ function PlayerEquipmentData:SendCharGemReplaceAttributeReq(nCharId, nSlotId, nG
HttpNetHandler.SendMsg(NetMsgId.Id.char_gem_replace_attribute_req, msgData, nil, successCallback)
end
function PlayerEquipmentData:SendCharGemUpdateGemLockStatusReq(nCharId, nSlotId, nGemIndex, bLock, callback)
local mapEquipment = self.tbCharEquipment[nCharId][nSlotId][nGemIndex]
if mapEquipment == nil then
printError("纹章不存在")
return
end
local msgData = {
CharId = nCharId,
SlotId = nSlotId,
@@ -357,6 +380,11 @@ function PlayerEquipmentData:SendCharGemUsePresetReq(nCharId, nPresetId, callbac
HttpNetHandler.SendMsg(NetMsgId.Id.char_gem_use_preset_req, msgData, nil, successCallback)
end
function PlayerEquipmentData:SendCharGemRefreshReq(nCharId, nSlotId, nGemIndex, tbLockAttrs, callback)
local mapEquipment = self.tbCharEquipment[nCharId][nSlotId][nGemIndex]
if mapEquipment == nil then
printError("纹章不存在")
return
end
local msgData = {
CharId = nCharId,
SlotId = nSlotId,
@@ -371,20 +399,27 @@ function PlayerEquipmentData:SendCharGemRefreshReq(nCharId, nSlotId, nGemIndex,
end
HttpNetHandler.SendMsg(NetMsgId.Id.char_gem_refresh_req, msgData, nil, successCallback)
end
function PlayerEquipmentData:SendCharGemGenerateReq(nCharId, nSlotId, callback)
function PlayerEquipmentData:SendCharGemGenerateReq(nCharId, nSlotId, nGemIndex, callback)
if self.tbCharEquipment[nCharId][nSlotId][nGemIndex] ~= nil then
printError("当前纹章已存在")
end
local msgData = {CharId = nCharId, SlotId = nSlotId}
local successCallback = function(_, mapMainData)
local nGemId = self:GetGemIdBySlot(nCharId, nSlotId)
local equipmentData = EquipmentData.new(mapMainData.CharGem, nCharId, nGemId)
table.insert(self.tbCharEquipment[nCharId][nSlotId], equipmentData)
local nNewIndex = #self.tbCharEquipment[nCharId][nSlotId]
self.tbCharEquipment[nCharId][nSlotId][nGemIndex] = equipmentData
if callback then
callback(nNewIndex)
callback()
end
end
HttpNetHandler.SendMsg(NetMsgId.Id.char_gem_generate_req, msgData, nil, successCallback)
end
function PlayerEquipmentData:SendCharGemOverlockReq(nCharId, nSlotId, nGemIndex, nAttrIndex, callback)
local mapEquipment = self.tbCharEquipment[nCharId][nSlotId][nGemIndex]
if mapEquipment == nil then
printError("纹章不存在")
return
end
local msgData = {
CharId = nCharId,
SlotId = nSlotId,
@@ -403,6 +438,11 @@ function PlayerEquipmentData:SendCharGemOverlockReq(nCharId, nSlotId, nGemIndex,
HttpNetHandler.SendMsg(NetMsgId.Id.char_gem_overlock_req, msgData, nil, successCallback)
end
function PlayerEquipmentData:SendCharGemOverlockRevertReq(nCharId, nSlotId, nGemIndex, nAttrIndex, callback)
local mapEquipment = self.tbCharEquipment[nCharId][nSlotId][nGemIndex]
if mapEquipment == nil then
printError("纹章不存在")
return
end
local msgData = {
CharId = nCharId,
SlotId = nSlotId,
@@ -4,6 +4,7 @@ local TimerManager = require("GameCore.Timer.TimerManager")
local LocalData = require("GameCore.Data.LocalData")
local ClientManager = CS.ClientManager.Instance
local ListInt = CS.System.Collections.Generic.List(CS.System.Int32)
local JointDrillContext = require("Game.UI.JointDrill.JointDrillContext")
function PlayerJointDrillData_1:Init()
self.bInit = false
end
@@ -407,7 +408,7 @@ function PlayerJointDrillData_1:JointDrillGameOver(callback, bSettle, bEditor)
if not self.bSimulate then
self.nTotalScore = self.nTotalScore + netMsg.FightScore + netMsg.HpScore + netMsg.DifficultyScore
end
EventManager.Hit(EventId.ClosePanel, PanelId.JointDrillBuildList_1)
EventManager.Hit(EventId.ClosePanel, JointDrillContext.GetPanelId(self.nActId, "BuildList"))
self.bResetLevelSelect = true
if callback ~= nil then
callback(netMsg)
@@ -433,7 +434,7 @@ function PlayerJointDrillData_1:JointDrillGameOver(callback, bSettle, bEditor)
nOld = netMsg.Old
nNew = netMsg.New
end
EventManager.Hit(EventId.OpenPanel, PanelId.JointDrillResult_1, nResultType, self.nCurLevel, 0, self.nCurLevelId, self.mapBossInfo, mapScore, mapItems, mapChange, nOld, nNew, self.bSimulate, #self.tbTeams)
EventManager.Hit(EventId.OpenPanel, JointDrillContext.GetPanelId(self.nActId, "Result"), nResultType, self.nCurLevel, 0, self.nCurLevelId, self.mapBossInfo, mapScore, mapItems, mapChange, nOld, nNew, self.bSimulate, #self.tbTeams)
end
self:EventUpload(4, 0)
self:ChallengeEnd()
@@ -449,7 +450,7 @@ function PlayerJointDrillData_1:JointDrillGameOver(callback, bSettle, bEditor)
local mapScore = {}
local mapChange, mapItems = {}, {}
local nOld, nNew = 0, 0
EventManager.Hit(EventId.OpenPanel, PanelId.JointDrillResult_1, nResultType, self.nCurLevel, 0, self.nCurLevelId, self.mapBossInfo, mapScore, mapItems, mapChange, nOld, nNew, self.bSimulate, #self.tbTeams)
EventManager.Hit(EventId.OpenPanel, JointDrillContext.GetPanelId(self.nActId, "Result"), nResultType, self.nCurLevel, 0, self.nCurLevelId, self.mapBossInfo, mapScore, mapItems, mapChange, nOld, nNew, self.bSimulate, #self.tbTeams)
end
self:ChallengeEnd()
end
@@ -519,7 +520,7 @@ function PlayerJointDrillData_1:JointDrillSettle(mapBuild, nTime, nDamage, callb
self.nTotalScore = self.nTotalScore + nScore
self.actDataIns:PassedLevel(self.nCurLevelId, nScore)
end
EventManager.Hit(EventId.ClosePanel, PanelId.JointDrillBuildList_1)
EventManager.Hit(EventId.ClosePanel, JointDrillContext.GetPanelId(self.nActId, "BuildList"))
self.bResetLevelSelect = true
if callback ~= nil then
callback(netMsg)
@@ -850,7 +851,7 @@ function PlayerJointDrillData_1:SendJointDrillSweepMsg(nLevelId, nCount, callbac
UTILS.OpenReceiveByDisplayItem(tbShowItem, netMsg.Change, callback)
end
end
EventManager.Hit(EventId.OpenPanel, PanelId.JointDrillRankUp_1, nRank, nRank, mapScore, AllEnum.JointDrillResultType.ChallengeEnd, panelCallback)
EventManager.Hit(EventId.OpenPanel, JointDrillContext.GetPanelId(self.nActId, "RankUp"), nRank, nRank, mapScore, AllEnum.JointDrillResultType.ChallengeEnd, panelCallback)
self.nTotalScore = netMsg.Score
self:EventUpload(5)
end
@@ -4,6 +4,7 @@ local TimerManager = require("GameCore.Timer.TimerManager")
local LocalData = require("GameCore.Data.LocalData")
local ClientManager = CS.ClientManager.Instance
local ListInt = CS.System.Collections.Generic.List(CS.System.Int32)
local JointDrillContext = require("Game.UI.JointDrill.JointDrillContext")
function PlayerJointDrillData_2:Init()
self.bInit = false
end
@@ -329,7 +330,7 @@ function PlayerJointDrillData_2:JointDrillGameOver(callback, bSettle, bEditor)
if not self.bSimulate then
self.nTotalScore = self.nTotalScore + netMsg.FightScore + netMsg.HpScore + netMsg.DifficultyScore
end
EventManager.Hit(EventId.ClosePanel, PanelId.JointDrillBuildList_2)
EventManager.Hit(EventId.ClosePanel, JointDrillContext.GetPanelId(self.nActId, "BuildList"))
self.bResetLevelSelect = true
if callback ~= nil then
callback(netMsg)
@@ -356,7 +357,7 @@ function PlayerJointDrillData_2:JointDrillGameOver(callback, bSettle, bEditor)
nNew = netMsg.New
end
local mapBossInfo = self.mapBossInfo[self.nCurLevel]
EventManager.Hit(EventId.OpenPanel, PanelId.JointDrillResult_2, nResultType, self.nCurLevel, 0, self.nCurLevelId, mapBossInfo, mapScore, mapItems, mapChange, nOld, nNew, self.bSimulate, #self.tbTeams)
EventManager.Hit(EventId.OpenPanel, JointDrillContext.GetPanelId(self.nActId, "Result"), nResultType, self.nCurLevel, 0, self.nCurLevelId, mapBossInfo, mapScore, mapItems, mapChange, nOld, nNew, self.bSimulate, #self.tbTeams)
end
self:EventUpload(4, 0)
self:ChallengeEnd()
@@ -373,7 +374,7 @@ function PlayerJointDrillData_2:JointDrillGameOver(callback, bSettle, bEditor)
local mapChange, mapItems = {}, {}
local nOld, nNew = 0, 0
local mapBossInfo = self.mapBossInfo[self.nCurLevel]
EventManager.Hit(EventId.OpenPanel, PanelId.JointDrillResult_2, nResultType, self.nCurLevel, 0, self.nCurLevelId, mapBossInfo, mapScore, mapItems, mapChange, nOld, nNew, self.bSimulate, #self.tbTeams)
EventManager.Hit(EventId.OpenPanel, JointDrillContext.GetPanelId(self.nActId, "Result"), nResultType, self.nCurLevel, 0, self.nCurLevelId, mapBossInfo, mapScore, mapItems, mapChange, nOld, nNew, self.bSimulate, #self.tbTeams)
end
self:ChallengeEnd()
end
@@ -451,7 +452,7 @@ function PlayerJointDrillData_2:JointDrillSettle(mapBuild, nTime, nDamage, callb
self.nTotalScore = self.nTotalScore + nScore
self.actDataIns:PassedLevel(self.nCurLevelId, nScore)
end
EventManager.Hit(EventId.ClosePanel, PanelId.JointDrillBuildList_2)
EventManager.Hit(EventId.ClosePanel, JointDrillContext.GetPanelId(self.nActId, "BuildList"))
self.bResetLevelSelect = true
if callback ~= nil then
callback(netMsg)
@@ -713,12 +714,15 @@ function PlayerJointDrillData_2:UploadRecordFile(sToken)
LocalData.SetPlayerLocalData("JointDrillRecordKey", "")
end
function PlayerJointDrillData_2:CheckActChallengeTime()
local nChallengeEndTime = self.actDataIns:GetChallengeEndTime()
local nCurTime = ClientManager.serverTimeStamp
if nChallengeEndTime <= nCurTime then
return false
if self.actDataIns ~= nil then
local nChallengeEndTime = self.actDataIns:GetChallengeEndTime()
local nCurTime = ClientManager.serverTimeStamp
if nChallengeEndTime <= nCurTime then
return false
end
return true
end
return true
return false
end
function PlayerJointDrillData_2:SetResetLevelSelect(bReset)
self.bResetLevelSelect = bReset
@@ -790,7 +794,7 @@ function PlayerJointDrillData_2:SendJointDrillSweepMsg(nLevelId, nCount, callbac
UTILS.OpenReceiveByDisplayItem(tbShowItem, netMsg.Change, callback)
end
end
EventManager.Hit(EventId.OpenPanel, PanelId.JointDrillRankUp_2, nRank, nRank, mapScore, AllEnum.JointDrillResultType.ChallengeEnd, panelCallback)
EventManager.Hit(EventId.OpenPanel, JointDrillContext.GetPanelId(self.nActId, "RankUp"), nRank, nRank, mapScore, AllEnum.JointDrillResultType.ChallengeEnd, panelCallback)
self.nTotalScore = netMsg.Score
self:EventUpload(5)
end
+3 -18
View File
@@ -85,33 +85,18 @@ function PlayerMailData:UpdateMailList(mapMsgData)
EventManager.Hit("GetAllMailList")
end
function PlayerMailData:ReceiveMailItem(mapData)
local tabItem = {}
local tmpTab = {}
if type(mapData.Ids) == "table" then
for i = 1, #mapData.Ids do
if self._mapMail[mapData.Ids[i]] ~= nil then
self._mapMail[mapData.Ids[i]].Read = true
self._mapMail[mapData.Ids[i]].Recv = true
if self._mapMail[mapData.Ids[i]].Attachments and #self._mapMail[mapData.Ids[i]].Attachments > 0 then
for k, v in pairs(self._mapMail[mapData.Ids[i]].Attachments) do
local itemCfg = ConfigTable.GetData("Item", v.Tid)
if itemCfg ~= nil and itemCfg.Type ~= GameEnum.itemType.CharacterSkin then
if tmpTab[v.Tid] == nil then
tmpTab[v.Tid] = v.Qty
else
tmpTab[v.Tid] = tmpTab[v.Tid] + v.Qty
end
end
end
end
end
end
for i, v in pairs(tmpTab) do
table.insert(tabItem, {Tid = i, Qty = v})
end
UTILS.OpenReceiveByDisplayItem(tabItem, mapData.Items, function()
UTILS.OpenReceiveByChangeInfo(mapData.Items, function()
PlayerData.Base:TryOpenWorldClassUpgrade()
end)
local mapDecodedChangeInfo = UTILS.DecodeChangeInfo(mapData.Items)
HttpNetHandler.ProcChangeInfo(mapDecodedChangeInfo)
end
self:RunCallBack()
self:UpdateMailUnReceiveRedDot()