Commit 0df83fa90cfe071a3afb211234ee114c4e1df4ac

Authored by liuzujun
1 parent ab57e0ab

料理解锁bug

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()}
1 -Subproject commit c676c602628af1a3aa68b3d14b9bb80718ed4614 1 +Subproject commit bd3277759c409eff4355ef89ad2922db13bdd4db
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