Commit 0df83fa90cfe071a3afb211234ee114c4e1df4ac
1 parent
ab57e0ab
料理解锁bug
Showing
4 changed files
with
61 additions
and
24 deletions
Show diff stats
config/develop.lua
1 | include("basic.lua") | 1 | include("basic.lua") |
2 | 2 | ||
3 | -logd = 0 -- 是否开启日志 | 3 | +logd = 1 -- 是否开启日志 |
4 | thread = 4 | 4 | thread = 4 |
5 | codeurl = "192.168.0.199:9090" | 5 | codeurl = "192.168.0.199:9090" |
6 | servId = 1 | 6 | servId = 1 |
@@ -20,4 +20,4 @@ redis_auth = nil | @@ -20,4 +20,4 @@ redis_auth = nil | ||
20 | mysql_host = "127.0.0.1" | 20 | mysql_host = "127.0.0.1" |
21 | mysql_port = 3306 | 21 | mysql_port = 3306 |
22 | mysql_user = "root" | 22 | mysql_user = "root" |
23 | -mysql_password = "123456" | ||
24 | \ No newline at end of file | 23 | \ No newline at end of file |
24 | +mysql_password = "123456" |
src/actions/DinerAction.lua
@@ -703,31 +703,41 @@ function _M.addWantFoodRpc(agent , data) | @@ -703,31 +703,41 @@ function _M.addWantFoodRpc(agent , data) | ||
703 | if #ids > buildingData.business then return 2 end | 703 | if #ids > buildingData.business then return 2 end |
704 | 704 | ||
705 | local had = {} | 705 | local had = {} |
706 | - for _, itemId in ipairs(ids) do | ||
707 | - if had[itemId] then return end | ||
708 | - had[itemId] = 1 | ||
709 | - local foodData = csvdb["diner_materialCsv"][itemId] | ||
710 | - if not foodData then return 3 end | ||
711 | - if foodData.unlock ~= 0 then | ||
712 | - -- 遍历adv_potion | ||
713 | - for potionId, _ in pairs(csvdb["adv_potionCsv"]) do | ||
714 | - local potionLv = role.dinerData:getProperty("dishTree"):getv(potionId, 0) | ||
715 | - if potionLv < 1 then return 4 end | ||
716 | - | ||
717 | - local potionSet = csvdb["adv_potionCsv"][potionId] | ||
718 | - if not potionSet then return 5 end | ||
719 | - | ||
720 | - local potionData = potionSet[potionLv] | ||
721 | - if not potionData then return 6 end | ||
722 | - | ||
723 | - local cost = potionData.material:toNumMap() | ||
724 | - if not cost[itemId] then return 7 end | 706 | + -- 遍历adv_potion |
707 | + for potionId, potionData in pairs(csvdb["adv_potionCsv"]) do | ||
708 | + local potionLv = role:getPotionLevel(potionId) | ||
709 | + if potionLv > 0 then | ||
710 | + local cfg = potionData[potionLv] | ||
711 | + if cfg then | ||
712 | + local cost = cfg.material:toNumMap() | ||
713 | + for id, _ in pairs(cost) do | ||
714 | + local itemData = csvdb["itemCsv"][id] | ||
715 | + local mData = csvdb["diner_materialCsv"][id] | ||
716 | + if itemData.type == ItemType.Cuisine and not had[id] then | ||
717 | + had[id] = true | ||
718 | + end | ||
719 | + end | ||
725 | end | 720 | end |
726 | - if not role:checkHangPass(foodData.unlock) then | ||
727 | - return 4 | 721 | + end |
722 | + end | ||
723 | + -- 遍历dish | ||
724 | + for id, lv in pairs(role.dinerData:getProperty("dishTree"):toNumMap()) do | ||
725 | + if csvdb["diner_dishCsv"][id] and csvdb["diner_dishCsv"][id][lv] then | ||
726 | + local data = csvdb["diner_dishCsv"][id][lv] | ||
727 | + local costs = data.material:toNumMap() | ||
728 | + for id, _ in pairs(costs) do | ||
729 | + local itemData = csvdb["itemCsv"][id] | ||
730 | + local mData = csvdb["diner_materialCsv"][id] | ||
731 | + if itemData.type == ItemType.Cuisine and not had[id] then | ||
732 | + had[id] = true | ||
733 | + end | ||
728 | end | 734 | end |
729 | end | 735 | end |
730 | end | 736 | end |
737 | + for _, itemId in ipairs(ids) do | ||
738 | + if not had[itemId] then return 3 end | ||
739 | + end | ||
740 | + | ||
731 | local gfood = {} | 741 | local gfood = {} |
732 | for slot, itemId in ipairs(ids) do | 742 | for slot, itemId in ipairs(ids) do |
733 | gfood[slot] = {id = itemId, st = skynet.timex()} | 743 | gfood[slot] = {id = itemId, st = skynet.timex()} |
src/models/RolePlugin.lua
@@ -2757,6 +2757,33 @@ function RolePlugin.bind(Role) | @@ -2757,6 +2757,33 @@ function RolePlugin.bind(Role) | ||
2757 | return towerBnous[SystemBnousType.SweepReward] or {} | 2757 | return towerBnous[SystemBnousType.SweepReward] or {} |
2758 | end | 2758 | end |
2759 | 2759 | ||
2760 | + function Role:getPotionLevel(id) | ||
2761 | + local level = self.dinerData:getProperty("dishTree"):getv(id, 1) | ||
2762 | + local talentSet = csvdb["diner_talentCsv"][id] | ||
2763 | + if not talentSet then return 0 end | ||
2764 | + local talentData = talentSet[level] | ||
2765 | + if not talentData then return 0 end | ||
2766 | + | ||
2767 | + if talentData.pointFront == "" then | ||
2768 | + if talentData.levelFront ~= "" and not self:checkHangPass(tonumber(talentData.levelFront)) then | ||
2769 | + if level == 0 then return 0 end | ||
2770 | + end | ||
2771 | + return level | ||
2772 | + end | ||
2773 | + | ||
2774 | + if talentData.levelFront ~= "" and not self:checkHangPass(tonumber(talentData.levelFront)) then | ||
2775 | + if level == 0 then return 0 end | ||
2776 | + end | ||
2777 | + | ||
2778 | + for preId, needV in pairs(talentData.pointFront:toNumMap()) do | ||
2779 | + if self.dinerData:getProperty("dishTree"):getv(preId, 0) < needV then | ||
2780 | + if level == 0 then return 0 end | ||
2781 | + if level == 1 then return 0 end | ||
2782 | + end | ||
2783 | + end | ||
2784 | + return level | ||
2785 | + end | ||
2786 | + | ||
2760 | end | 2787 | end |
2761 | 2788 | ||
2762 | return RolePlugin | 2789 | return RolePlugin |
2763 | \ No newline at end of file | 2790 | \ No newline at end of file |