Commit 7c3dbe6d49e6108eaa2991cc50cb8ac8971111b8
1 parent
639bbdff
feat: 一番赏 扭蛋机信息-增加roleProgress字段,标识抽取进度。
Showing
1 changed file
with
30 additions
and
16 deletions
Show diff stats
src/models/Capsule.lua
@@ -621,24 +621,25 @@ function Capsule:checkIncentive(roleId, name, now) | @@ -621,24 +621,25 @@ function Capsule:checkIncentive(roleId, name, now) | ||
621 | end | 621 | end |
622 | 622 | ||
623 | local count = math.floor(amount / incentive["amount"]["np"]) | 623 | local count = math.floor(amount / incentive["amount"]["np"]) |
624 | - local tmpCount = count * incentive["amount"]["np"] | ||
625 | - notify["amount"] = {name = name, roleId= roleId, good_id = "amount", typ = RewardType.INCENTIVE, award = incentive["amount"]["award"], amount = count, quality = 2, create_time= now} | ||
626 | - | ||
627 | - --填充v.calculated 字段,标识已经用于每x抽的计算中。 | ||
628 | - for _, v in pairs(roleRecord) do | ||
629 | - if tmpCount <= 0 then break end | ||
630 | - | ||
631 | - v.calculated = v.calculated or 0 | ||
632 | - if v.calculated ~= v.amount then | ||
633 | - if tmpCount <= v.amount then | ||
634 | - v.calculated = tmpCount | ||
635 | - tmpCount = 0 | ||
636 | - else | ||
637 | - v.calculated = v.amount | ||
638 | - tmpCount = tmpCount - v.amount | 624 | + if count > 0 then |
625 | + local tmpCount = count * incentive["amount"]["np"] | ||
626 | + notify["amount"] = {name = name, roleId= roleId, good_id = "amount", typ = RewardType.INCENTIVE, award = incentive["amount"]["award"], amount = count, quality = 2, create_time= now} | ||
627 | + | ||
628 | + --填充v.calculated 字段,标识已经用于每x抽的计算中。 | ||
629 | + for _, v in pairs(roleRecord) do | ||
630 | + if tmpCount <= 0 then break end | ||
631 | + | ||
632 | + v.calculated = v.calculated or 0 | ||
633 | + if v.calculated ~= v.amount then | ||
634 | + if tmpCount <= v.amount then | ||
635 | + v.calculated = tmpCount | ||
636 | + tmpCount = 0 | ||
637 | + else | ||
638 | + v.calculated = v.amount | ||
639 | + tmpCount = tmpCount - v.amount | ||
640 | + end | ||
639 | end | 641 | end |
640 | end | 642 | end |
641 | - | ||
642 | end | 643 | end |
643 | end | 644 | end |
644 | 645 | ||
@@ -917,6 +918,18 @@ function Capsule:clearSpecialNty(roleId, good_ids) | @@ -917,6 +918,18 @@ function Capsule:clearSpecialNty(roleId, good_ids) | ||
917 | self:setProperty("specialsRecord", specialsRecord) | 918 | self:setProperty("specialsRecord", specialsRecord) |
918 | end | 919 | end |
919 | 920 | ||
921 | +function Capsule:getRoleProgress(roleId) | ||
922 | + local recordByRole = self:getProperty("recordByRole") or {} | ||
923 | + local roleRecord = recordByRole[roleId] or {} | ||
924 | + local amount = 0 | ||
925 | + for _, v in pairs(roleRecord) do | ||
926 | + v.calculated = v.calculated or 0 | ||
927 | + if v.calculated ~= v.amount then | ||
928 | + amount = amount + (v.amount - v.calculated) | ||
929 | + end | ||
930 | + end | ||
931 | + return amount | ||
932 | +end | ||
920 | 933 | ||
921 | function Capsule:data(roleId) | 934 | function Capsule:data(roleId) |
922 | return { | 935 | return { |
@@ -933,6 +946,7 @@ function Capsule:data(roleId) | @@ -933,6 +946,7 @@ function Capsule:data(roleId) | ||
933 | specials = self:getProperty("specials"), | 946 | specials = self:getProperty("specials"), |
934 | incentive = self:getProperty("incentive"), | 947 | incentive = self:getProperty("incentive"), |
935 | specialsRecord= self:getProperty("specialsRecord"), | 948 | specialsRecord= self:getProperty("specialsRecord"), |
949 | + roleProgress = self:getRoleProgress(roleId), | ||
936 | } | 950 | } |
937 | end | 951 | end |
938 | 952 |