Commit b57f0bae30fa4fe6fcdc2b4ad08de8535e0c45cb

Authored by gaofengduan
1 parent 1c35c4cf

fix hero talent

Showing 2 changed files with 11 additions and 13 deletions   Show diff stats
src/actions/HeroAction.lua
@@ -109,32 +109,30 @@ function _M.talentRpc(agent, data) @@ -109,32 +109,30 @@ function _M.talentRpc(agent, data)
109 local role = agent.role 109 local role = agent.role
110 local msg = MsgPack.unpack(data) 110 local msg = MsgPack.unpack(data)
111 local hero = role.heros[msg.id] 111 local hero = role.heros[msg.id]
112 - if not hero then return end 112 + if not hero then return 1 end
113 113
114 local index = msg.index -- 第几个天赋 114 local index = msg.index -- 第几个天赋
115 local need = {[1] = 1, [2] = 1, [3] = 1, [4] = 1} 115 local need = {[1] = 1, [2] = 1, [3] = 1, [4] = 1}
116 - if not need[index] then return end 116 + if not need[index] then return 2 end
117 117
118 local talent = hero:getProperty("talent") 118 local talent = hero:getProperty("talent")
119 local curStage = talent:getv(0, 1) 119 local curStage = talent:getv(0, 1)
120 - if curStage > csvdb["unit_breakCsv"][hero:getProperty("breakL")].talent then return end 120 + if curStage > csvdb["unit_breakCsv"][hero:getProperty("breakL")].talent then return 3 end
121 121
122 local curData = csvdb["unit_talentCsv"][curStage] 122 local curData = csvdb["unit_talentCsv"][curStage]
123 - if not curData then return end 123 + if not curData then return 4 end
124 124
125 local level = talent:getv(index, 0) 125 local level = talent:getv(index, 0)
126 - if level >= #curData then return end 126 + if level >= #curData then return 5 end
127 127
128 local talentData = curData[level] 128 local talentData = curData[level]
129 if not talentData then return end 129 if not talentData then return end
130 - local cost = {}  
131 - local needCost = talentData.cost:toTableArray(true)  
132 - cost[needCost[1][1]] = needCost[1][2]  
133 - if needCost[2] then  
134 - cost[globalCsv.unit_talent_cost[csvdb["unitCsv"][hero:getProperty("type")].camp][needCost[2][1]]] = needCost[2][2] 130 + local cost = talentData.money:toNumMap()
  131 + local cost2 = talentData.cost:toNumMap()
  132 + for k,v in pairs(cost2) do
  133 + cost[globalCsv.unit_talent_cost[csvdb["unitCsv"][hero:getProperty("type")].camp][k]] = v
135 end 134 end
136 -  
137 - if not role:checkItemEnough(cost) then return end 135 + if not role:checkItemEnough(cost) then return 6 end
138 role:costItems(cost) 136 role:costItems(cost)
139 talent = talent:incrv(index, 1) 137 talent = talent:incrv(index, 1)
140 138
1 -Subproject commit b4fb9d39bc675e3d277e308f6f7c5f4184f8b55e 1 +Subproject commit 6b0f915f5fcaf5f087661c42c75b669128d3b4cf