Commit 24d77701b133518780e0b0b675ef5098e680ecd8
1 parent
e5a2ae07
fix equip
Showing
4 changed files
with
16 additions
and
13 deletions
Show diff stats
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)}) |
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 |