Commit c756d4dfe5e61748b0a5fa288c2fe9e36f1a650b
1 parent
e6e49b45
新年将军令活动
Showing
7 changed files
with
60 additions
and
5 deletions
Show diff stats
src/GlobalVar.lua
@@ -290,6 +290,7 @@ CardType = { | @@ -290,6 +290,7 @@ CardType = { | ||
290 | BattleCard = 5, --赛季卡 | 290 | BattleCard = 5, --赛季卡 |
291 | PaySignCard = 6, -- 付费签到卡 | 291 | PaySignCard = 6, -- 付费签到卡 |
292 | BattlePassCard = 7, -- 探索指令 | 292 | BattlePassCard = 7, -- 探索指令 |
293 | + ActBattleCommandCard = 8, -- 战令活动卡 | ||
293 | } | 294 | } |
294 | 295 | ||
295 | ShopPackType = { | 296 | ShopPackType = { |
src/actions/GmAction.lua
@@ -659,15 +659,18 @@ function _M.drawHero(role, t, act) | @@ -659,15 +659,18 @@ function _M.drawHero(role, t, act) | ||
659 | elseif values[1] == HeroQuality.SSR then | 659 | elseif values[1] == HeroQuality.SSR then |
660 | weight = unitPool["up_ssr_weight"] | 660 | weight = unitPool["up_ssr_weight"] |
661 | up_pool = unitPool["up_ssr_id"] | 661 | up_pool = unitPool["up_ssr_id"] |
662 | + if btype == 5 then | ||
663 | + weight = 3 * weight | ||
664 | + end | ||
662 | end | 665 | end |
663 | --print(poolId, rand_v, weight, up_pool, values[1]) | 666 | --print(poolId, rand_v, weight, up_pool, values[1]) |
664 | if rand_v < weight and up_pool then | 667 | if rand_v < weight and up_pool then |
665 | up_pool = up_pool:toArray(true, "=") | 668 | up_pool = up_pool:toArray(true, "=") |
666 | if btype == 5 then -- 爱心卡池,使用玩家设置的备选池子 | 669 | if btype == 5 then -- 爱心卡池,使用玩家设置的备选池子 |
667 | up_pool = role:getProperty("wishPool") | 670 | up_pool = role:getProperty("wishPool") |
668 | - up_pool[1] = 606 | ||
669 | - up_pool[2] = 607 | ||
670 | - up_pool[3] = 608 | 671 | + up_pool[1] = 408 |
672 | + up_pool[2] = 409 | ||
673 | + up_pool[3] = 410 | ||
671 | end | 674 | end |
672 | for k, v in ipairs(up_pool) do | 675 | for k, v in ipairs(up_pool) do |
673 | resultPool[v] = {1} | 676 | resultPool[v] = {1} |
@@ -688,6 +691,14 @@ function _M.drawHero(role, t, act) | @@ -688,6 +691,14 @@ function _M.drawHero(role, t, act) | ||
688 | if heroData[field] ~= values[idx] then ok = false break end | 691 | if heroData[field] ~= values[idx] then ok = false break end |
689 | end | 692 | end |
690 | end | 693 | end |
694 | + if up_pool then | ||
695 | + for k, v in ipairs(up_pool) do | ||
696 | + if v == itemData.id then | ||
697 | + ok = false | ||
698 | + break | ||
699 | + end | ||
700 | + end | ||
701 | + end | ||
691 | if not ok then break end | 702 | if not ok then break end |
692 | if oneData[pool_str] > 0 then | 703 | if oneData[pool_str] > 0 then |
693 | resultPool[itemId] = {oneData[pool_str]} -- itemId, count, 概率 | 704 | resultPool[itemId] = {oneData[pool_str]} -- itemId, count, 概率 |
src/models/Activity.lua
@@ -33,6 +33,8 @@ Activity.ActivityType = { | @@ -33,6 +33,8 @@ Activity.ActivityType = { | ||
33 | 33 | ||
34 | CommonSignIn = 28, --通用签到 | 34 | CommonSignIn = 28, --通用签到 |
35 | FriendEnergy = 30, -- 好友互赠能量活动 | 35 | FriendEnergy = 30, -- 好友互赠能量活动 |
36 | + AdvLevel = 33, -- 拾荒关卡 | ||
37 | + BattleCommand = 34, -- 战令活动 | ||
36 | } | 38 | } |
37 | 39 | ||
38 | local function checkActivityType(activityType) | 40 | local function checkActivityType(activityType) |
@@ -79,6 +81,8 @@ Activity.schema = { | @@ -79,6 +81,8 @@ Activity.schema = { | ||
79 | 81 | ||
80 | act28 = {"table", {}}, -- 每日活跃签到 {0=day, 1=1,2=1,3=1} | 82 | act28 = {"table", {}}, -- 每日活跃签到 {0=day, 1=1,2=1,3=1} |
81 | act30 = {"table", {}}, -- {magic = 0, limit = 0, reward = {id = 1, id = 1}, giveAE = {}, getAE = {}} 奖励字段1表示领取过奖励 | 83 | act30 = {"table", {}}, -- {magic = 0, limit = 0, reward = {id = 1, id = 1}, giveAE = {}, getAE = {}} 奖励字段1表示领取过奖励 |
84 | + | ||
85 | + act34 = {"table", {}}, -- 战令记录{unlock = 1, freeR = "", payR = "", lvl = 10, sum = 100} | ||
82 | } | 86 | } |
83 | 87 | ||
84 | function Activity:data() | 88 | function Activity:data() |
@@ -102,6 +106,8 @@ function Activity:data() | @@ -102,6 +106,8 @@ function Activity:data() | ||
102 | 106 | ||
103 | act28 = self:getProperty("act28"), | 107 | act28 = self:getProperty("act28"), |
104 | act30 = self:getProperty("act30"), | 108 | act30 = self:getProperty("act30"), |
109 | + | ||
110 | + act34 = self:getProperty("act34"), | ||
105 | } | 111 | } |
106 | end | 112 | end |
107 | 113 | ||
@@ -890,4 +896,24 @@ activityFunc[Activity.ActivityType.CommonSignIn] = { | @@ -890,4 +896,24 @@ activityFunc[Activity.ActivityType.CommonSignIn] = { | ||
890 | end, | 896 | end, |
891 | } | 897 | } |
892 | 898 | ||
899 | +activityFunc[Activity.ActivityType.BattleCommand] = { | ||
900 | + ["init"] = function (self, actType, isCrossDay, notify, actId) | ||
901 | + local data = {unlock = 0, freeR = "", payR = "", lvl = 0, sum = 0} | ||
902 | + self:updateActData(actType, data, not notify) | ||
903 | + end, | ||
904 | + ["check"] = function(self, actType, notify, id, count) -- 检查 | ||
905 | + local isOpen, actId = self:isOpen(actType) | ||
906 | + local actData = self:getActData(actType) or {} | ||
907 | + local actCfg = csvdb["activity_ctrlCsv"][actId] | ||
908 | + if not actCfg then return end | ||
909 | + if actCfg.condition1 == "" then return end | ||
910 | + local itemId = tonumber(actCfg.condition2) | ||
911 | + if itemId == id and count > 0 then | ||
912 | + actData["sum"] = actData["sum"] + count | ||
913 | + self:updateActData(actType, actData) | ||
914 | + end | ||
915 | + end, | ||
916 | +} | ||
917 | + | ||
918 | + | ||
893 | return Activity | 919 | return Activity |
src/models/RolePlugin.lua
@@ -362,6 +362,9 @@ function RolePlugin.bind(Role) | @@ -362,6 +362,9 @@ function RolePlugin.bind(Role) | ||
362 | if not params.notNotify then | 362 | if not params.notNotify then |
363 | SendPacket(actionCodes.Role_updateItems, MsgPack.pack({[params.itemId] = nums})) | 363 | SendPacket(actionCodes.Role_updateItems, MsgPack.pack({[params.itemId] = nums})) |
364 | end | 364 | end |
365 | + if params.count > 0 then | ||
366 | + self:checkTaskEnter("AddItem", {id = params.itemId, count = params.count}) | ||
367 | + end | ||
365 | end | 368 | end |
366 | 369 | ||
367 | function Role:checkItemEnough(itemCountT) | 370 | function Role:checkItemEnough(itemCountT) |
src/models/RoleTask.lua
@@ -97,6 +97,7 @@ local TaskType = { | @@ -97,6 +97,7 @@ local TaskType = { | ||
97 | DailyTask = 904, -- 完成每日活跃任务 | 97 | DailyTask = 904, -- 完成每日活跃任务 |
98 | RadioTaskStart = 905, -- 电台任务开始 | 98 | RadioTaskStart = 905, -- 电台任务开始 |
99 | FinishSpeTask = 906, -- 指定任务完成 | 99 | FinishSpeTask = 906, -- 指定任务完成 |
100 | + AddItem = 907, -- 获得道具 | ||
100 | 101 | ||
101 | --功能未实现 todo | 102 | --功能未实现 todo |
102 | AdvShop = 1002, -- 冒险商城 | 103 | AdvShop = 1002, -- 冒险商城 |
@@ -238,6 +239,7 @@ local ActivityListener = { | @@ -238,6 +239,7 @@ local ActivityListener = { | ||
238 | [TaskType.AdvMineKill] = {{Activity.ActivityType.Crisis, 1}}, | 239 | [TaskType.AdvMineKill] = {{Activity.ActivityType.Crisis, 1}}, |
239 | [TaskType.AdvMineLayer] = {{Activity.ActivityType.Crisis, 2}}, | 240 | [TaskType.AdvMineLayer] = {{Activity.ActivityType.Crisis, 2}}, |
240 | [TaskType.DailyTask] = {{Activity.ActivityType.CommonSignIn, f("pre"), f("cur")}}, | 241 | [TaskType.DailyTask] = {{Activity.ActivityType.CommonSignIn, f("pre"), f("cur")}}, |
242 | + [TaskType.AddItem] = {{Activity.ActivityType.BattleCommand, f("id"), f("count")}}, | ||
241 | } | 243 | } |
242 | } | 244 | } |
243 | 245 |
src/models/Store.lua
@@ -186,7 +186,7 @@ end | @@ -186,7 +186,7 @@ end | ||
186 | 186 | ||
187 | 187 | ||
188 | -- 购买通行证 | 188 | -- 购买通行证 |
189 | -function Store:onBuyCard(type, duration, id) | 189 | +function Store:onBuyCard(type, duration, id, actid) |
190 | local timeNow = skynet.timex() | 190 | local timeNow = skynet.timex() |
191 | if type == CardType.NormalMonthCard then | 191 | if type == CardType.NormalMonthCard then |
192 | if self:isMonthCardExpire() then | 192 | if self:isMonthCardExpire() then |
@@ -221,6 +221,18 @@ function Store:onBuyCard(type, duration, id) | @@ -221,6 +221,18 @@ function Store:onBuyCard(type, duration, id) | ||
221 | info["flag"] = 1 | 221 | info["flag"] = 1 |
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 | ||
225 | + if not self.owner.activity:isOpenById(actid, "BattleCommand") then | ||
226 | + return | ||
227 | + end | ||
228 | + local actCfg = csvdb["activity_ctrlCsv"][actid] | ||
229 | + if not actCfg then return end | ||
230 | + local actData = self.owner.activity:getActData("BattleCommand") or {} | ||
231 | + if actData["unlock"] == 1 then return end | ||
232 | + actData["unlock"] = 1 | ||
233 | + if actCfg.condition ~= 0 then | ||
234 | + actData["lvl"] = (actData["lvl"] or 0) + actCfg.condition | ||
235 | + end | ||
224 | end | 236 | end |
225 | end | 237 | end |
226 | 238 |