From 9912e064288419742242ebe8002f940e83ceeddb Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Mon, 2 Mar 2020 16:51:16 +0800 Subject: [PATCH] 新增3个每日任务类型 --- src/actions/AdvAction.lua | 1 + src/actions/RoleAction.lua | 6 +++--- src/models/RoleTask.lua | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------- 3 files changed, 78 insertions(+), 79 deletions(-) diff --git a/src/actions/AdvAction.lua b/src/actions/AdvAction.lua index aa83f20..b8878d3 100644 --- a/src/actions/AdvAction.lua +++ b/src/actions/AdvAction.lua @@ -634,6 +634,7 @@ function _M.wheelSurfRpc(agent, data) table.insert(backReward, gift) end role:award(reward) + role:checkTaskEnter("AdvDraw", {count = count, ptype = ptype}) SendPacket(actionCodes.Adv_wheelSurfRpc, MsgPack.pack({reward = backReward})) return true end diff --git a/src/actions/RoleAction.lua b/src/actions/RoleAction.lua index dadbd7d..f14f034 100644 --- a/src/actions/RoleAction.lua +++ b/src/actions/RoleAction.lua @@ -474,8 +474,8 @@ function _M.openTimeBoxRpc(agent, data) if not role:checkItemEnough({[ItemId.BoxKey] = costD}) then return end role:costItems({[ItemId.BoxKey] = costD}) end - - local itemData = csvdb["itemCsv"][boxL[slot].id] + local boxId = boxL[slot].id + local itemData = csvdb["itemCsv"][boxId] local randomData = csvdb["item_randomCsv"][itemData.id] reward = randomData.gift:toNumMap() -- 固定奖励 -- 随机奖励 @@ -511,7 +511,7 @@ function _M.openTimeBoxRpc(agent, data) boxL[slot] = nil reward = role:award(reward) - role:checkTaskEnter("OpenBox") + role:checkTaskEnter("OpenBox", {id = boxId}) else return end diff --git a/src/models/RoleTask.lua b/src/models/RoleTask.lua index 0d0b2e4..5893ab3 100644 --- a/src/models/RoleTask.lua +++ b/src/models/RoleTask.lua @@ -43,6 +43,7 @@ local TaskType = { AdvUsePotion = 408, -- 使用营养剂 AdvStartSelf = 409, -- 手动冒险 - id AdvScore = 410, -- 冒险分数 - score + AdvDraw = 411, -- 冒险资助 - count ptype --爬塔相关 TowerPass = 501, -- 爬塔通关 - level @@ -62,7 +63,7 @@ local TaskType = { -- 车厢相关 PotionMake = 701, -- 营养剂制作 - id count - OpenBox = 702, -- 拆解时间箱 + OpenBox = 702, -- 拆解时间箱 - id -- pvp相关 @@ -86,10 +87,6 @@ local TaskType = { ShopAll = 1013, -- 在任意商店购买 } -local function v(value) - return {type = "value", value = value} -end - local function f(field) return {type = "field", value = field} end @@ -98,11 +95,11 @@ end local StoryListener = { func = "checkStoryStatus", listen = { - [TaskType.HangPass] = {{v(1), f("id")}}, - [TaskType.AdvPass] = {{v(4), f("id")}}, - [TaskType.LoveBreak] = {{v(2), f("heroType")}}, - [TaskType.Wake] = {{v(3), f("heroType"), f("wakeL")}}, - [TaskType.AddHero] = {{v(3), f("heroType"), f("wakeL")}}, + [TaskType.HangPass] = {{1, f("id")}}, + [TaskType.AdvPass] = {{4, f("id")}}, + [TaskType.LoveBreak] = {{2, f("heroType")}}, + [TaskType.Wake] = {{3, f("heroType"), f("wakeL")}}, + [TaskType.AddHero] = {{3, f("heroType"), f("wakeL")}}, } } @@ -110,32 +107,35 @@ local StoryListener = { local CommonListener = { func = "checkCommonTasks", listen = { - [TaskType.HangGet] = {{v(1)}}, - [TaskType.HangQuick] = {{v(2)}}, - [TaskType.HangBattle] = {{v(3)}}, - [TaskType.DrawHero] = {{v(4), f("count"), f("pool")}}, - [TaskType.TowerBattle] = {{v(5)}}, - [TaskType.PvpBattle] = {{v(6)}}, - [TaskType.PvpWin] = {{v(7)}}, - [TaskType.AdvStart] = {{v(8)}}, - [TaskType.AdvBattleWin] = {{v(9)}}, - [TaskType.AdvShop] = {{v(10)}}, - [TaskType.GetOderTask] = {{v(11)}}, - [TaskType.OverOderTask] = {{v(12)}}, - [TaskType.MakeFood] = {{v(13), f("count")}}, - [TaskType.FoodSell] = {{v(14), f("count")}}, - [TaskType.FoodSellQuick] = {{v(15)}}, - [TaskType.FoodMGet] = {{v(16)}}, - [TaskType.HeroLevelUp] = {{v(17)}}, - [TaskType.Wake] = {{v(18)}}, - [TaskType.EquipUp] = {{v(19), f("count")}}, - [TaskType.GiveFriendP] = {{v(20), f("count")}}, - [TaskType.UnionBoss] = {{v(21)}}, - [TaskType.GetFriendP] = {{v(22), f("count")}}, - [TaskType.BonusPass] = {{v(23)}}, - [TaskType.AdvStartSelf] = {{v(24)}}, - [TaskType.ShopAll] = {{v(25)}}, - [TaskType.RuneUp] = {{v(26)}}, + [TaskType.HangGet] = {{1}}, + [TaskType.HangQuick] = {{2}}, + [TaskType.HangBattle] = {{3}}, + [TaskType.DrawHero] = {{4, f("count"), f("pool")}}, + [TaskType.TowerBattle] = {{5}}, + [TaskType.PvpBattle] = {{6}}, + [TaskType.PvpWin] = {{7}}, + [TaskType.AdvStart] = {{8}}, + [TaskType.AdvBattleWin] = {{9}}, + [TaskType.AdvShop] = {{10}}, + [TaskType.GetOderTask] = {{11}}, + [TaskType.OverOderTask] = {{12}}, + [TaskType.MakeFood] = {{13, f("count")}}, + [TaskType.FoodSell] = {{14, f("count")}}, + [TaskType.FoodSellQuick] = {{15}}, + [TaskType.FoodMGet] = {{16}}, + [TaskType.HeroLevelUp] = {{17}}, + [TaskType.Wake] = {{18}}, + [TaskType.EquipUp] = {{19, f("count")}}, + [TaskType.GiveFriendP] = {{20, f("count")}}, + [TaskType.UnionBoss] = {{21}}, + [TaskType.GetFriendP] = {{22, f("count")}}, + [TaskType.BonusPass] = {{23}}, + [TaskType.AdvStartSelf] = {{24}}, + [TaskType.ShopAll] = {{25}}, + [TaskType.RuneUp] = {{26}}, + [TaskType.OpenBox] = {{27, 1, f("id")}}, + [TaskType.AdvDraw] = {{28, f("count"), f("ptype")}}, + [TaskType.PotionMake] = {{29, f("count"), f("id")}}, } } @@ -143,43 +143,43 @@ local CommonListener = { local AchievListener = { func = "checkAchievTask", listen = { - [TaskType.HangPass] = {{v(1), f("id")}}, - [TaskType.UnionBattle] = {{v(2)}}, - [TaskType.PvpWin] = {{v(3)}, {v(4), f("score")}}, - [TaskType.AdvAllPass] = {{v(5), f("id")}}, - [TaskType.AdvLevel] = {{v(6), f("level")}}, - [TaskType.AdvScore] = {{v(7), f("score")}}, - [TaskType.AdvBattleWin] = {{v(8)}}, - [TaskType.AdvOverTask] = {{v(9)}}, - [TaskType.AdvOpenBlock] = {{v(10)}}, - [TaskType.AdvUsePotion] = {{v(11)}}, - [TaskType.AdvStart] = {{v(12)}}, - [TaskType.FoodSell] = {{v(13), f("count")}}, - [TaskType.OverOderTask] = {{v(14)}}, - [TaskType.FoodSellGold] = {{v(15), f("count")}}, - [TaskType.DinerPopular] = {{v(16), f("count")}}, - [TaskType.TowerPass] = {{v(17), f("level")}}, - [TaskType.OpenBox] = {{v(18)}}, - [TaskType.DinerLevelUp] = {{v(19), f("level"), f("type")}}, - [TaskType.DinerTalentUp] = {{v(20), v(1), f("type")}}, - [TaskType.HangGetGold] = {{v(21), f("count")}}, - [TaskType.HeroLevelUp] = {{v(22), f("level")}}, - [TaskType.Wake] = {{v(23), f("wakeL")}}, - [TaskType.WakeCG] = {{v(24)}}, - [TaskType.HeroTalent] = {{v(25), f("alv")}}, - [TaskType.AddHero] = {{v(26), f("heroType")}, {v(27)}}, - [TaskType.DrawSSR] = {{v(28), f("count")}}, - [TaskType.DrawHero] = {{v(29), f("count"), f("pool")}}, - [TaskType.AddEquip] = {{v(30), f("rarity")}, {v(34), 1, f("rarity")}}, - [TaskType.AddRune] = {{v(31), f("rarity")}, {v(35), 1, f("rarity")}}, - [TaskType.EquipUp] = {{v(32), f("count")}}, - [TaskType.RuneUp] = {{v(33)}}, - [TaskType.AddUnion] = {{v(36)}}, - [TaskType.AddFriend] = {{v(37), f("count")}}, - [TaskType.BindPhone] = {{v(38), 1}}, - [TaskType.WeChat] = {{v(38), 2}}, - [TaskType.WeBlog] = {{v(38), 3}}, - [TaskType.SignIn] = {{v(39)}}, + [TaskType.HangPass] = {{1, f("id")}}, + [TaskType.UnionBattle] = {{2}}, + [TaskType.PvpWin] = {{3}, {4, f("score")}}, + [TaskType.AdvAllPass] = {{5, f("id")}}, + [TaskType.AdvLevel] = {{6, f("level")}}, + [TaskType.AdvScore] = {{7, f("score")}}, + [TaskType.AdvBattleWin] = {{8}}, + [TaskType.AdvOverTask] = {{9}}, + [TaskType.AdvOpenBlock] = {{10}}, + [TaskType.AdvUsePotion] = {{11}}, + [TaskType.AdvStart] = {{12}}, + [TaskType.FoodSell] = {{13, f("count")}}, + [TaskType.OverOderTask] = {{14}}, + [TaskType.FoodSellGold] = {{15, f("count")}}, + [TaskType.DinerPopular] = {{16, f("count")}}, + [TaskType.TowerPass] = {{17, f("level")}}, + [TaskType.OpenBox] = {{18}}, + [TaskType.DinerLevelUp] = {{19, f("level"), f("type")}}, + [TaskType.DinerTalentUp] = {{20, 1, f("type")}}, + [TaskType.HangGetGold] = {{21, f("count")}}, + [TaskType.HeroLevelUp] = {{22, f("level")}}, + [TaskType.Wake] = {{23, f("wakeL")}}, + [TaskType.WakeCG] = {{24}}, + [TaskType.HeroTalent] = {{25, f("alv")}}, + [TaskType.AddHero] = {{26, f("heroType")}, {27}}, + [TaskType.DrawSSR] = {{28, f("count")}}, + [TaskType.DrawHero] = {{29, f("count"), f("pool")}}, + [TaskType.AddEquip] = {{30, f("rarity")}, {34, 1, f("rarity")}}, + [TaskType.AddRune] = {{31, f("rarity")}, {35, 1, f("rarity")}}, + [TaskType.EquipUp] = {{32, f("count")}}, + [TaskType.RuneUp] = {{33}}, + [TaskType.AddUnion] = {{36}}, + [TaskType.AddFriend] = {{37, f("count")}}, + [TaskType.BindPhone] = {{38, 1}}, + [TaskType.WeChat] = {{38, 2}}, + [TaskType.WeBlog] = {{38, 3}}, + [TaskType.SignIn] = {{39}}, } } @@ -206,9 +206,7 @@ function RoleTask.bind(Role) local pms = {} for __, v in ipairs(vs) do if type(v) == "table" and v.type then - if v.type == "value" then - table.insert(pms, v.value) - elseif v.type == "field" then + if v.type == "field" then table.insert(pms, params[v.value]) else table.insert(pms, v) -- libgit2 0.21.2