Commit 24d77701b133518780e0b0b675ef5098e680ecd8

Authored by gaofengduan
1 parent e5a2ae07

fix equip

src/actions/HeroAction.lua
@@ -452,7 +452,7 @@ function _M.createHeroRpc(agent, data) @@ -452,7 +452,7 @@ function _M.createHeroRpc(agent, data)
452 end 452 end
453 453
454 -- typ 位置,level等级对应唯一装备,level为0时为移除,不为0时无则装备,有则替换 454 -- typ 位置,level等级对应唯一装备,level为0时为移除,不为0时无则装备,有则替换
455 -function _M.referEquips(agent, data) 455 +function _M.referEquipsRpc(agent, data)
456 local role = agent.role 456 local role = agent.role
457 local msg = MsgPack.unpack(data) 457 local msg = MsgPack.unpack(data)
458 local hero = role.heros[msg.id] 458 local hero = role.heros[msg.id]
@@ -466,21 +466,21 @@ function _M.referEquips(agent, data) @@ -466,21 +466,21 @@ function _M.referEquips(agent, data)
466 if ownLv == 0 then return 2 end 466 if ownLv == 0 then return 2 end
467 else 467 else
468 if role:getEquipCount(typ,level) < 1 then return 3 end 468 if role:getEquipCount(typ,level) < 1 then return 3 end
  469 + local equipSet = csvdb["equipCsv"][typ]
  470 + if not equipSet then return 4 end
  471 + local equipData = equipSet[level]
  472 + if not equipData then return 5 end
469 end 473 end
470 - local equipSet = csvdb["equipCsv"][typ]  
471 - if not equipSet then return 4 end  
472 - local equipData = equipSet[level]  
473 - if not equipData then return 5 end  
474 end 474 end
475 475
476 for typ,level in pairs(equips) do 476 for typ,level in pairs(equips) do
477 local ownLv = hero:getProperty("equip"):getv(typ,0) 477 local ownLv = hero:getProperty("equip"):getv(typ,0)
478 if level == 0 then 478 if level == 0 then
479 - role:addEquip({{type=typ,level=ownLv,count=1}}) 479 + role:addEquip({type=typ,level=ownLv,count=1,isRefer=true})
480 else 480 else
481 - role:addEquip({{type=typ,level=level,count=-1}})  
482 - if ownLv ~= 0 then  
483 - role:addEquip({type=typ,level=ownLv,count=1}) 481 + role:addEquip({type=typ,level=level,count=-1,isRefer=true})
  482 + if ownLv > 0 then
  483 + role:addEquip({type=typ,level=ownLv,count=1,isRefer=true})
484 end 484 end
485 end 485 end
486 hero:updateProperty({field = "equip", value = hero:getProperty("equip"):setv(typ, level)}) 486 hero:updateProperty({field = "equip", value = hero:getProperty("equip"):setv(typ, level)})
1 -Subproject commit a7426f9183da7afcd6b2780d23a4f6241d3e3aab 1 +Subproject commit 67615e0a0a3ec5653f4b6e457d45c32dd3afed79
src/models/Hero.lua
@@ -16,6 +16,7 @@ Hero.schema = { @@ -16,6 +16,7 @@ Hero.schema = {
16 loveL = {"number", 0}, --好感度等级 16 loveL = {"number", 0}, --好感度等级
17 skin = {"number", 0}, --皮肤 0 、 1、 2、 3 17 skin = {"number", 0}, --皮肤 0 、 1、 2、 3
18 equip = {"string","1=0 2=0 3=0 4=0"}, --装备 type=level 18 equip = {"string","1=0 2=0 3=0 4=0"}, --装备 type=level
  19 + rune = {"string","1=0 2=0 3=0 4=0 5=0 6=0"}, --零件 type=id
19 } 20 }
20 21
21 function Hero:ctor( properties ) 22 function Hero:ctor( properties )
@@ -77,6 +78,8 @@ function Hero:data() @@ -77,6 +78,8 @@ function Hero:data()
77 loveExp = self:getProperty("loveExp"), 78 loveExp = self:getProperty("loveExp"),
78 loveL = self:getProperty("loveL"), 79 loveL = self:getProperty("loveL"),
79 skin = self:getProperty("skin"), 80 skin = self:getProperty("skin"),
  81 + equip = self:getProperty("equip"),
  82 + rune = self:getProperty("rune"),
80 } 83 }
81 end 84 end
82 85
src/models/RolePlugin.lua
@@ -386,13 +386,13 @@ function RolePlugin.bind(Role) @@ -386,13 +386,13 @@ function RolePlugin.bind(Role)
386 386
387 if equip then 387 if equip then
388 local originCount = equip:getProperty("count") 388 local originCount = equip:getProperty("count")
389 - if isRefer and count < 0 then 389 + if isRefer then
390 if count < 0 then 390 if count < 0 then
391 if count+originCount<0 then 391 if count+originCount<0 then
392 return 392 return
393 end 393 end
394 else 394 else
395 - if equip:getProperty("refer")-count<0 then 395 + if equip:getProperty("refer")+count<0 then
396 return 396 return
397 end 397 end
398 end 398 end
@@ -412,7 +412,7 @@ function RolePlugin.bind(Role) @@ -412,7 +412,7 @@ function RolePlugin.bind(Role)
412 end 412 end
413 equip:updateProperty({field = "count", value = count}) 413 equip:updateProperty({field = "count", value = count})
414 if isRefer then 414 if isRefer then
415 - equip:updateProperty({field = "refer", value = equip:getProperty("refer")+count}) 415 + equip:updateProperty({field = "refer", value = equip:getProperty("refer")+params.count})
416 end 416 end
417 self.equipBag[equipType][equipLv] = equip 417 self.equipBag[equipType][equipLv] = equip
418 end 418 end