Commit 98be031a95ed3dd5bee1ad553e5237d256c9d259
1 parent
c3c1b7e0
新年活动
Showing
9 changed files
with
159 additions
and
12 deletions
Show diff stats
src/ProtocolCode.lua
@@ -234,6 +234,8 @@ actionCodes = { | @@ -234,6 +234,8 @@ actionCodes = { | ||
234 | Activity_battleCommandRpc = 668, | 234 | Activity_battleCommandRpc = 668, |
235 | Activity_actCalendaTmpTaskRpc = 669, | 235 | Activity_actCalendaTmpTaskRpc = 669, |
236 | Activity_newSignRpc = 670, | 236 | Activity_newSignRpc = 670, |
237 | + Activity_advLevelRpc = 671, | ||
238 | + Activity_buyBattleCommandLvlRpc = 672, | ||
237 | 239 | ||
238 | Radio_startQuestRpc = 700, | 240 | Radio_startQuestRpc = 700, |
239 | Radio_finishQuestRpc = 701, | 241 | Radio_finishQuestRpc = 701, |
src/actions/ActivityAction.lua
@@ -1152,6 +1152,7 @@ function _M.battleCommandRpc(agent, data) | @@ -1152,6 +1152,7 @@ function _M.battleCommandRpc(agent, data) | ||
1152 | local actid = msg.actid -- 活动id | 1152 | local actid = msg.actid -- 活动id |
1153 | local index = msg.index -- 领取的阶段id | 1153 | local index = msg.index -- 领取的阶段id |
1154 | local pay = msg.pay -- 是否是超级奖励 | 1154 | local pay = msg.pay -- 是否是超级奖励 |
1155 | + print(actid, index, pay) | ||
1155 | 1156 | ||
1156 | if not role.activity:isOpenById(actid, "BattleCommand") then return 1 end | 1157 | if not role.activity:isOpenById(actid, "BattleCommand") then return 1 end |
1157 | local actCtrlData = csvdb["activity_ctrlCsv"][actid] | 1158 | local actCtrlData = csvdb["activity_ctrlCsv"][actid] |
@@ -1167,7 +1168,7 @@ function _M.battleCommandRpc(agent, data) | @@ -1167,7 +1168,7 @@ function _M.battleCommandRpc(agent, data) | ||
1167 | bpCfg = bpCfg[index] | 1168 | bpCfg = bpCfg[index] |
1168 | if not bpCfg then return 4 end | 1169 | if not bpCfg then return 4 end |
1169 | 1170 | ||
1170 | - if (actData["lvl"] or 0) < bpCfg["typeId"] then return 5 end | 1171 | + if (actData["lvl"] or 0) < bpCfg["type"] then return 5 end |
1171 | 1172 | ||
1172 | local record = "" | 1173 | local record = "" |
1173 | if pay then | 1174 | if pay then |
@@ -1179,7 +1180,7 @@ function _M.battleCommandRpc(agent, data) | @@ -1179,7 +1180,7 @@ function _M.battleCommandRpc(agent, data) | ||
1179 | local flag = string.char(string.getbit(record, index)) | 1180 | local flag = string.char(string.getbit(record, index)) |
1180 | 1181 | ||
1181 | if flag == "1" then | 1182 | if flag == "1" then |
1182 | - return 4 | 1183 | + return 6 |
1183 | end | 1184 | end |
1184 | 1185 | ||
1185 | record = string.setbit(record, index) | 1186 | record = string.setbit(record, index) |
@@ -1204,6 +1205,7 @@ function _M.buyBattleCommandLvlRpc(agent, data) | @@ -1204,6 +1205,7 @@ function _M.buyBattleCommandLvlRpc(agent, data) | ||
1204 | local role = agent.role | 1205 | local role = agent.role |
1205 | local msg = MsgPack.unpack(data) | 1206 | local msg = MsgPack.unpack(data) |
1206 | local actid = msg.actid -- 活动id | 1207 | local actid = msg.actid -- 活动id |
1208 | + local count = msg.count | ||
1207 | 1209 | ||
1208 | if not role.activity:isOpenById(actid, "BattleCommand") then return 1 end | 1210 | if not role.activity:isOpenById(actid, "BattleCommand") then return 1 end |
1209 | local actCtrlData = csvdb["activity_ctrlCsv"][actid] | 1211 | local actCtrlData = csvdb["activity_ctrlCsv"][actid] |
@@ -1216,13 +1218,13 @@ function _M.buyBattleCommandLvlRpc(agent, data) | @@ -1216,13 +1218,13 @@ function _M.buyBattleCommandLvlRpc(agent, data) | ||
1216 | local actData = role.activity:getActData("BattleCommand") or {} | 1218 | local actData = role.activity:getActData("BattleCommand") or {} |
1217 | 1219 | ||
1218 | local curLvl = actData["lvl"] or 0 | 1220 | local curLvl = actData["lvl"] or 0 |
1219 | - local nextLvl = curLvl + 1 | 1221 | + local nextLvl = curLvl + count |
1220 | if curLvl >= bpCfg[#bpCfg]["type"] then return 4 end | 1222 | if curLvl >= bpCfg[#bpCfg]["type"] then return 4 end |
1221 | local cost = 0 | 1223 | local cost = 0 |
1222 | for i = 1, #bpCfg do | 1224 | for i = 1, #bpCfg do |
1223 | local cfg = bpCfg[i] | 1225 | local cfg = bpCfg[i] |
1224 | - if cfg["type"] == curLvl then | ||
1225 | - cost = cfg["cost"] | 1226 | + if cfg["type"] > curLvl and cfg["type"] <= nextLvl then |
1227 | + cost = cost + cfg["cost"] | ||
1226 | break | 1228 | break |
1227 | end | 1229 | end |
1228 | end | 1230 | end |
@@ -1267,4 +1269,41 @@ function _M.newSignRpc(agent, data) | @@ -1267,4 +1269,41 @@ function _M.newSignRpc(agent, data) | ||
1267 | return true | 1269 | return true |
1268 | end | 1270 | end |
1269 | 1271 | ||
1272 | +-- 活动拾荒领取阶段奖励 | ||
1273 | +function _M.advLevelRpc(agent, data) | ||
1274 | + local role = agent.role | ||
1275 | + local msg = MsgPack.unpack(data) | ||
1276 | + local actid = msg.actid | ||
1277 | + local index = msg.index | ||
1278 | + | ||
1279 | + if not role.activity:isOpenById(actid, "AdvLevel") then return 1 end | ||
1280 | + | ||
1281 | + local actCfg = csvdb["activity_stagesAwardCsv"][actid] | ||
1282 | + if not actCfg then return 2 end | ||
1283 | + actCfg = actCfg[index] | ||
1284 | + if not actCfg then return 3 end | ||
1285 | + | ||
1286 | + local actData = role.activity:getActData("AdvLevel") or {} | ||
1287 | + local record = actData["r"] | ||
1288 | + local flag = string.char(string.getbit(record, index)) | ||
1289 | + | ||
1290 | + if flag == "1" then return 4 end | ||
1291 | + | ||
1292 | + local chapters = actCfg["condition2"]:toArray(true, "=") | ||
1293 | + local totalVal = 0 | ||
1294 | + for i = 1, #chapters do | ||
1295 | + local cid = chapters[i] | ||
1296 | + totalVal = totalVal + (actData[cid] or 0) | ||
1297 | + end | ||
1298 | + if totalVal < actCfg["condition1"] then return 5 end | ||
1299 | + | ||
1300 | + actData["r"] = string.setbit(record, index) | ||
1301 | + role.activity:updateActData("AdvLevel", actData) | ||
1302 | + | ||
1303 | + local reward, change = role:award(actCfg.reward, {log = {desc = "advLevelStage", int1 = actid, int2 = index}}) | ||
1304 | + | ||
1305 | + SendPacket(actionCodes.Activity_advLevelRpc, MsgPack.pack(role:packReward(reward, change))) | ||
1306 | + return true | ||
1307 | +end | ||
1308 | + | ||
1270 | return _M | 1309 | return _M |
src/actions/AdvAction.lua
@@ -86,6 +86,7 @@ function _M.startAdvRpc( agent, data ) | @@ -86,6 +86,7 @@ function _M.startAdvRpc( agent, data ) | ||
86 | local role = agent.role | 86 | local role = agent.role |
87 | local msg = MsgPack.unpack(data) | 87 | local msg = MsgPack.unpack(data) |
88 | local chapterId = msg.chapterId --关卡id | 88 | local chapterId = msg.chapterId --关卡id |
89 | + local actid = msg.actid --活动id | ||
89 | local layer = msg.layer or 1 --选择层数 | 90 | local layer = msg.layer or 1 --选择层数 |
90 | --local format = msg.format --编队 | 91 | --local format = msg.format --编队 |
91 | local supportIdx = msg.supportIdx --选择的支援效果 | 92 | local supportIdx = msg.supportIdx --选择的支援效果 |
@@ -96,6 +97,36 @@ function _M.startAdvRpc( agent, data ) | @@ -96,6 +97,36 @@ function _M.startAdvRpc( agent, data ) | ||
96 | local advHang = role:getProperty("advHang") | 97 | local advHang = role:getProperty("advHang") |
97 | -- if advHang[chapterId] then return 9 end --正在挂机 | 98 | -- if advHang[chapterId] then return 9 end --正在挂机 |
98 | 99 | ||
100 | + -- 检查活动正确性 | ||
101 | + if actid then | ||
102 | + if not role.activity:isOpenById(actid, "AdvLevel") then | ||
103 | + return 20 | ||
104 | + end | ||
105 | + local actCfg = csvdb["activity_adv_chapterCsv"][actid] | ||
106 | + if not actCfg then return 21 end | ||
107 | + actCfg = actCfg[chapterId] | ||
108 | + if not actCfg then return 22 end | ||
109 | + | ||
110 | + local st = toUnixtime(actCfg["unlockTime"]..string_format("%02x", RESET_TIME)) | ||
111 | + if st > skynet.timex() then return 23 end | ||
112 | + | ||
113 | + if actCfg["prepose"] ~= "" then | ||
114 | + local type, cid = actCfg["prepose"]:toArray(true, "=") | ||
115 | + if type == 1 then | ||
116 | + local actData = role.activity:getActData("ChallengeLevel") | ||
117 | + local battleInfo = actData[cid] or {} | ||
118 | + if (battleInfo["star"] or 0) == 0 then | ||
119 | + return 24 | ||
120 | + end | ||
121 | + elseif type == 2 then | ||
122 | + local actData = role.activity:getActData("AdvLevel") | ||
123 | + local advInfo = actData[cid] or {} | ||
124 | + if not advInfo["pass"] then | ||
125 | + return 25 | ||
126 | + end | ||
127 | + end | ||
128 | + end | ||
129 | + end | ||
99 | 130 | ||
100 | local chapterData = csvdb["adv_chapterCsv"][chapterId] | 131 | local chapterData = csvdb["adv_chapterCsv"][chapterId] |
101 | if not chapterData or layer < 1 then return 1 end | 132 | if not chapterData or layer < 1 then return 1 end |
@@ -174,6 +205,7 @@ function _M.startAdvRpc( agent, data ) | @@ -174,6 +205,7 @@ function _M.startAdvRpc( agent, data ) | ||
174 | isRelay = layer ~= 1, | 205 | isRelay = layer ~= 1, |
175 | isEnter = true, | 206 | isEnter = true, |
176 | support = support, | 207 | support = support, |
208 | + actid = actid | ||
177 | }) | 209 | }) |
178 | role:checkTaskEnter("AdvStart", {id = chapterId}) | 210 | role:checkTaskEnter("AdvStart", {id = chapterId}) |
179 | role:checkTaskEnter("AdvStartSelf", {id = chapterId}) | 211 | role:checkTaskEnter("AdvStartSelf", {id = chapterId}) |
src/adv/Adv.lua
@@ -41,6 +41,7 @@ function Adv:initByInfo(advInfo) | @@ -41,6 +41,7 @@ function Adv:initByInfo(advInfo) | ||
41 | 41 | ||
42 | self.chapterId = advInfo.chapterId | 42 | self.chapterId = advInfo.chapterId |
43 | self.level = advInfo.level or 1 | 43 | self.level = advInfo.level or 1 |
44 | + self.actid = advInfo.actid | ||
44 | self.round = advInfo.round or 0 | 45 | self.round = advInfo.round or 0 |
45 | self.score = advInfo.score or {} | 46 | self.score = advInfo.score or {} |
46 | self.isRelay = advInfo.isRelay | 47 | self.isRelay = advInfo.isRelay |
@@ -85,6 +86,7 @@ function Adv:initByChapter(params) | @@ -85,6 +86,7 @@ function Adv:initByChapter(params) | ||
85 | local isEnter = params.isEnter | 86 | local isEnter = params.isEnter |
86 | local support = params.support | 87 | local support = params.support |
87 | local debugMapId = params.debugMapId | 88 | local debugMapId = params.debugMapId |
89 | + local actid = params.actid | ||
88 | 90 | ||
89 | if not self.chapterId then -- 开始新的章节 | 91 | if not self.chapterId then -- 开始新的章节 |
90 | self.chapterId = chapterId | 92 | self.chapterId = chapterId |
@@ -95,6 +97,7 @@ function Adv:initByChapter(params) | @@ -95,6 +97,7 @@ function Adv:initByChapter(params) | ||
95 | 97 | ||
96 | self.level = level or 1 | 98 | self.level = level or 1 |
97 | self.round = 0 | 99 | self.round = 0 |
100 | + self.actid = self.actid or actid | ||
98 | self.score = self.score or {} | 101 | self.score = self.score or {} |
99 | self.lastEnemyId = 1 | 102 | self.lastEnemyId = 1 |
100 | self.mapStack = {1} -- 最后一个为当前的地图 | 103 | self.mapStack = {1} -- 最后一个为当前的地图 |
@@ -175,6 +178,7 @@ end | @@ -175,6 +178,7 @@ end | ||
175 | function Adv:clear() | 178 | function Adv:clear() |
176 | self.chapterId = nil | 179 | self.chapterId = nil |
177 | self.level = nil | 180 | self.level = nil |
181 | + self.actid = 0 | ||
178 | self.score = {} | 182 | self.score = {} |
179 | self.round = 0 | 183 | self.round = 0 |
180 | self.lastEnemyId = 1 | 184 | self.lastEnemyId = 1 |
@@ -197,6 +201,7 @@ function Adv:saveDB(notNotify) | @@ -197,6 +201,7 @@ function Adv:saveDB(notNotify) | ||
197 | advInfo.level = self.level | 201 | advInfo.level = self.level |
198 | advInfo.round = self.round | 202 | advInfo.round = self.round |
199 | advInfo.score = self.score | 203 | advInfo.score = self.score |
204 | + advInfo.actid = self.actid | ||
200 | advInfo.isRelay = self.isRelay | 205 | advInfo.isRelay = self.isRelay |
201 | advInfo.lastEId = self.lastEnemyId | 206 | advInfo.lastEId = self.lastEnemyId |
202 | advInfo.mstack = self.mapStack | 207 | advInfo.mstack = self.mapStack |
@@ -793,9 +798,55 @@ function Adv:over(success, rewardRatio, overType) | @@ -793,9 +798,55 @@ function Adv:over(success, rewardRatio, overType) | ||
793 | 798 | ||
794 | local score = self.owner:fixAdvScoreChange(self:getScore()) | 799 | local score = self.owner:fixAdvScoreChange(self:getScore()) |
795 | local scoreInfo = self.score | 800 | local scoreInfo = self.score |
801 | + | ||
802 | + local scoreCoef = chapterData.scoreAward | ||
803 | + local itemId = ItemId.OldCoin | ||
804 | + -- 拾荒活动关卡相关处理 | ||
805 | + if self.actid then | ||
806 | + while true do | ||
807 | + if not self.owner.activity:isOpenById(self.actid, "AdvLevel") then | ||
808 | + break | ||
809 | + end | ||
810 | + local actCfg = csvdb["activity_adv_chapterCsv"][self.actid] | ||
811 | + if not actCfg then break end | ||
812 | + actCfg = actCfg[self.chapterId] | ||
813 | + if not actCfg then break end | ||
814 | + itemId, scoreCoef = actCfg["transform"]:toArray(true, "=") | ||
815 | + local actData = self.owner.activity:getActData("AdvLevel") | ||
816 | + | ||
817 | + -- 计算活动积分up | ||
818 | + local upMap = actCfg["upCharacter"] | ||
819 | + local team = self.owner:getProperty("advTeam") | ||
820 | + local format = self.owner:getTeamHerosInfo(team).heros | ||
821 | + local upVal = 0 | ||
822 | + for _, hero in pairs(format) do | ||
823 | + local heroId = hero["type"] | ||
824 | + upVal = upVal + (upMap[heroId] or 0) | ||
825 | + end | ||
826 | + score = math.floor(score * (1 + upVal / 100)) | ||
827 | + | ||
828 | + local advInfo = actData[self.chapterId] or {} | ||
829 | + local maxScore = advInfo["max"] or 0 | ||
830 | + local flag = false | ||
831 | + if success then | ||
832 | + advInfo["pass"] = 1 | ||
833 | + flag = true | ||
834 | + end | ||
835 | + -- 更新活动最大积分 | ||
836 | + if score > maxScore then | ||
837 | + advInfo["max"] = score | ||
838 | + actData[self.chapterId] = advInfo | ||
839 | + flag = true | ||
840 | + end | ||
841 | + if flag then | ||
842 | + self.owner.activity:updateActData("AdvLevel", actData) | ||
843 | + end | ||
844 | + break | ||
845 | + end | ||
846 | + end | ||
796 | 847 | ||
797 | - local scoreReward = math.floor(score / chapterData.scoreAward) | ||
798 | - self.owner:award({[ItemId.OldCoin] = scoreReward}, {log = {desc = "advOver", int1 = self.chapterId}}) | 848 | + local scoreReward = math.floor(score / scoreCoef) |
849 | + self.owner:award({[itemId] = scoreReward}, {log = {desc = "advOver", int1 = self.chapterId}}) | ||
799 | 850 | ||
800 | -- 被动技会影响奖励 | 851 | -- 被动技会影响奖励 |
801 | self.battle.player:triggerPassive(Passive.ADV_OVER, {score = score, level = self.level}) | 852 | self.battle.player:triggerPassive(Passive.ADV_OVER, {score = score, level = self.level}) |
@@ -832,7 +883,7 @@ function Adv:over(success, rewardRatio, overType) | @@ -832,7 +883,7 @@ function Adv:over(success, rewardRatio, overType) | ||
832 | 883 | ||
833 | local roleId = self.owner:getProperty("id") | 884 | local roleId = self.owner:getProperty("id") |
834 | local oldMaxScore = tonum(redisproxy:zscore(self.owner:getAdvRankKey(), roleId)) | 885 | local oldMaxScore = tonum(redisproxy:zscore(self.owner:getAdvRankKey(), roleId)) |
835 | - if score > oldMaxScore then | 886 | + if score > oldMaxScore and not self.actid then |
836 | local team = self.owner:getProperty("advTeam") | 887 | local team = self.owner:getProperty("advTeam") |
837 | local curInfo = { | 888 | local curInfo = { |
838 | name = self.owner:getProperty("name"), | 889 | name = self.owner:getProperty("name"), |
@@ -918,6 +969,7 @@ function Adv:over(success, rewardRatio, overType) | @@ -918,6 +969,7 @@ function Adv:over(success, rewardRatio, overType) | ||
918 | scoreAward = scoreReward, | 969 | scoreAward = scoreReward, |
919 | chapterId = chapterId, | 970 | chapterId = chapterId, |
920 | backAdvCount = backAdvCount, | 971 | backAdvCount = backAdvCount, |
972 | + actid = self.actid | ||
921 | }) | 973 | }) |
922 | end | 974 | end |
923 | 975 |
src/models/Activity.lua
@@ -86,6 +86,8 @@ Activity.schema = { | @@ -86,6 +86,8 @@ Activity.schema = { | ||
86 | act28 = {"table", {}}, -- 每日活跃签到 {0=day, 1=1,2=1,3=1} | 86 | act28 = {"table", {}}, -- 每日活跃签到 {0=day, 1=1,2=1,3=1} |
87 | act30 = {"table", {}}, -- {magic = 0, limit = 0, reward = {id = 1, id = 1}, giveAE = {}, getAE = {}} 奖励字段1表示领取过奖励 | 87 | act30 = {"table", {}}, -- {magic = 0, limit = 0, reward = {id = 1, id = 1}, giveAE = {}, getAE = {}} 奖励字段1表示领取过奖励 |
88 | 88 | ||
89 | + act33 = {"table", {}}, -- 拾荒关卡活动 {id={max=最大积分, pass=1}, r=""} | ||
90 | + | ||
89 | act34 = {"table", {}}, -- 战令记录{unlock = 1, freeR = "", payR = "", lvl = 10, sum = 100} | 91 | act34 = {"table", {}}, -- 战令记录{unlock = 1, freeR = "", payR = "", lvl = 10, sum = 100} |
90 | act36 = {"table", {}}, -- 每日活跃签到 {0=day, 1=1,2=1,3=1} | 92 | act36 = {"table", {}}, -- 每日活跃签到 {0=day, 1=1,2=1,3=1} |
91 | } | 93 | } |
@@ -112,6 +114,8 @@ function Activity:data() | @@ -112,6 +114,8 @@ function Activity:data() | ||
112 | act28 = self:getProperty("act28"), | 114 | act28 = self:getProperty("act28"), |
113 | act30 = self:getProperty("act30"), | 115 | act30 = self:getProperty("act30"), |
114 | 116 | ||
117 | + act33 = self:getProperty("act33"), | ||
118 | + | ||
115 | act34 = self:getProperty("act34"), | 119 | act34 = self:getProperty("act34"), |
116 | act36 = self:getProperty("act36"), | 120 | act36 = self:getProperty("act36"), |
117 | } | 121 | } |
@@ -975,6 +979,7 @@ activityFunc[Activity.ActivityType.BattleCommand] = { | @@ -975,6 +979,7 @@ activityFunc[Activity.ActivityType.BattleCommand] = { | ||
975 | self:updateActData(actType, data, not notify) | 979 | self:updateActData(actType, data, not notify) |
976 | end, | 980 | end, |
977 | ["check"] = function(self, actType, notify, id, count) -- 检查 itemid, count | 981 | ["check"] = function(self, actType, notify, id, count) -- 检查 itemid, count |
982 | + print("babababa", id, count) | ||
978 | local isOpen, actId = self:isOpen(actType) | 983 | local isOpen, actId = self:isOpen(actType) |
979 | local actData = self:getActData(actType) or {} | 984 | local actData = self:getActData(actType) or {} |
980 | local actCfg = csvdb["activity_ctrlCsv"][actId] | 985 | local actCfg = csvdb["activity_ctrlCsv"][actId] |
@@ -1026,4 +1031,20 @@ activityFunc[Activity.ActivityType.NewSign] = { | @@ -1026,4 +1031,20 @@ activityFunc[Activity.ActivityType.NewSign] = { | ||
1026 | end, | 1031 | end, |
1027 | } | 1032 | } |
1028 | 1033 | ||
1034 | +activityFunc[Activity.ActivityType.AdvLevel] = { | ||
1035 | + -- ["check"] = function(self, actType, notify) -- 检查 | ||
1036 | + -- end, | ||
1037 | + ["init"] = function(self, actType, isCrossDay, notify) | ||
1038 | + end, | ||
1039 | + ["close"] = function(self, actType, notify, actid) | ||
1040 | + local actCfg = csvdb["activity_adv_chapterCsv"][actid] | ||
1041 | + if not actCfg then return end | ||
1042 | + for chapterId, _ in ipairs(actCfg) do | ||
1043 | + local advPass = self.owner:getProperty("advPass") | ||
1044 | + advPass[chapterId] = nil | ||
1045 | + self.owner:updateProperty({field="advPass", value=advPass}) | ||
1046 | + end | ||
1047 | + end, | ||
1048 | +} | ||
1049 | + | ||
1029 | return Activity | 1050 | return Activity |
src/models/RoleLog.lua
@@ -56,6 +56,7 @@ local ItemReason = { | @@ -56,6 +56,7 @@ local ItemReason = { | ||
56 | actBattleCommand = 140, -- 活动战令 | 56 | actBattleCommand = 140, -- 活动战令 |
57 | actBuyBpLevel = 141, -- 购买活动战令等级 | 57 | actBuyBpLevel = 141, -- 购买活动战令等级 |
58 | newSign = 142,-- 新的活动签到 | 58 | newSign = 142,-- 新的活动签到 |
59 | + advLevelStage = 143, -- 拾荒活动阶段奖励 | ||
59 | 60 | ||
60 | 61 | ||
61 | advHang = 301, -- 拾荒挂机 | 62 | advHang = 301, -- 拾荒挂机 |
src/models/Store.lua
@@ -222,17 +222,17 @@ function Store:onBuyCard(type, duration, id, actid) | @@ -222,17 +222,17 @@ function Store:onBuyCard(type, duration, id, actid) | ||
222 | bpInfo[index] = info | 222 | bpInfo[index] = info |
223 | self:updateProperty({field = "bpInfo", value = bpInfo}) | 223 | self:updateProperty({field = "bpInfo", value = bpInfo}) |
224 | elseif type == CardType.ActBattleCommandCard then | 224 | elseif type == CardType.ActBattleCommandCard then |
225 | - if not self.owner.activity:isOpenById(actid, "BattleCommand") then | 225 | + if not self.owner.activity:isOpenById(actid, "ActShopGoods") then |
226 | return | 226 | return |
227 | end | 227 | end |
228 | local actCfg = csvdb["activity_ctrlCsv"][actid] | 228 | local actCfg = csvdb["activity_ctrlCsv"][actid] |
229 | if not actCfg then return end | 229 | if not actCfg then return end |
230 | local actData = self.owner.activity:getActData("BattleCommand") or {} | 230 | local actData = self.owner.activity:getActData("BattleCommand") or {} |
231 | - if actData["unlock"] == 1 then return end | ||
232 | actData["unlock"] = 1 | 231 | actData["unlock"] = 1 |
233 | if actCfg.condition ~= 0 then | 232 | if actCfg.condition ~= 0 then |
234 | actData["lvl"] = (actData["lvl"] or 0) + actCfg.condition | 233 | actData["lvl"] = (actData["lvl"] or 0) + actCfg.condition |
235 | end | 234 | end |
235 | + self.owner.activity:updateActData("BattleCommand", actData) | ||
236 | end | 236 | end |
237 | end | 237 | end |
238 | 238 |
src/preload.lua
@@ -2,5 +2,5 @@ | @@ -2,5 +2,5 @@ | ||
2 | local skynet = require "skynet" | 2 | local skynet = require "skynet" |
3 | 3 | ||
4 | skynet.timex = function () | 4 | skynet.timex = function () |
5 | - return math.floor(skynet.time()) | 5 | + return math.floor(skynet.time()) + 2332771 |
6 | end | 6 | end |
7 | \ No newline at end of file | 7 | \ No newline at end of file |