Commit a43410e1ccce6e078e62299bc350eabaceb781ff

Authored by zhengshouren
1 parent e10edb5f

整理格式,使用tab替代空格

src/models/Daily.lua
... ... @@ -3,47 +3,47 @@
3 3 local Daily = class("Daily", require("shared.ModelBase"))
4 4  
5 5 function Daily:ctor(properties)
6   - Daily.super.ctor(self, properties)
  6 + Daily.super.ctor(self, properties)
7 7 end
8 8  
9 9 Daily.schema = {
10   - commentHero = {"string", ""}, --单日评论食灵记录 type=1
11   - hangQC ={"number", 0}, -- 挂机快速次数
  10 + commentHero = {"string", ""}, --单日评论食灵记录 type=1
  11 + hangQC ={"number", 0}, -- 挂机快速次数
12 12 }
13 13  
14 14 function Daily:updateProperty(params)
15   - local type, default = table.unpack(self.schema[params.field])
16   -
17   - if params.delta then
18   - self:setProperty(params.field, self:getProperty(paramsfield) + params.delta)
19   - self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
20   - return true
21   - end
22   - if params.value then
23   - self:setProperty(params.field, params.value)
24   - self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
25   - return true
26   - end
27   - return false
  15 + local type, default = table.unpack(self.schema[params.field])
  16 +
  17 + if params.delta then
  18 + self:setProperty(params.field, self:getProperty(paramsfield) + params.delta)
  19 + self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
  20 + return true
  21 + end
  22 + if params.value then
  23 + self:setProperty(params.field, params.value)
  24 + self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
  25 + return true
  26 + end
  27 + return false
28 28 end
29 29  
30 30 function Daily:refreshDailyData(notify)
31   - for field, schema in pairs(self.schema) do
32   - if field ~= "key" then
33   - local typ, def = table.unpack(schema)
34   - self:setProperty(field, def)
35   - end
36   - end
37   - if notify then
38   - self.owner:notifyUpdateProperties(self:data())
39   - end
  31 + for field, schema in pairs(self.schema) do
  32 + if field ~= "key" then
  33 + local typ, def = table.unpack(schema)
  34 + self:setProperty(field, def)
  35 + end
  36 + end
  37 + if notify then
  38 + self.owner:notifyUpdateProperties(self:data())
  39 + end
40 40 end
41 41  
42 42 function Daily:data()
43   - return {
44   - -- dailyTaskStatus = self:getProperty("dailyTaskStatus"),
45   - hangQC = self:getProperty("hangQC"),
46   - }
  43 + return {
  44 + -- dailyTaskStatus = self:getProperty("dailyTaskStatus"),
  45 + hangQC = self:getProperty("hangQC"),
  46 + }
47 47 end
48 48  
49 49 return Daily
50 50 \ No newline at end of file
... ...
src/models/Hero.lua
... ... @@ -6,15 +6,15 @@ HeroPlugin.bind(Hero)
6 6 Hero.schema = {
7 7 id = {"number"},
8 8 type = {"number", 0},
9   - level = {"number", 1}, -- 等级
10   - breakL = {"number", 0}, -- 突破等级
11   - wakeL = {"number", 0}, -- 觉醒等级
12   - skillL = {"string", ""}, -- 技能等级 1=1 2=1 3=1
13   - talent = {"string", ""}, -- 0=阶段 1=1 2=1 3=1 4=1 四个天赋当前阶段的等级 阶段默认为1 等级默认为0
  9 + level = {"number", 1}, -- 等级
  10 + breakL = {"number", 0}, -- 突破等级
  11 + wakeL = {"number", 0}, -- 觉醒等级
  12 + skillL = {"string", ""}, -- 技能等级 1=1 2=1 3=1
  13 + talent = {"string", ""}, -- 0=阶段 1=1 2=1 3=1 4=1 四个天赋当前阶段的等级 阶段默认为1 等级默认为0
14 14 battleV = {"number", 0}, -- 保存战斗力
15   - loveExp = {"number", 0}, --好感度经验
16   - loveL = {"number", 0}, --好感度等级
17   - skin = {"number", 0}, --皮肤 0 、 1、 2、 3
  15 + loveExp = {"number", 0}, --好感度经验
  16 + loveL = {"number", 0}, --好感度等级
  17 + skin = {"number", 0}, --皮肤 0 、 1、 2、 3
18 18 }
19 19  
20 20 function Hero:ctor( properties )
... ... @@ -22,65 +22,65 @@ function Hero:ctor( properties )
22 22 end
23 23  
24 24 function Hero:notifyUpdateProperty(field, newValue, oldValue)
25   - local updateData = {
26   - id = self:getProperty("id"),
27   - datas = {
28   - {
29   - key = field,
30   - newValue = newValue,
31   - oldValue = oldValue or "",
32   - },
33   - }
34   - }
  25 + local updateData = {
  26 + id = self:getProperty("id"),
  27 + datas = {
  28 + {
  29 + key = field,
  30 + newValue = newValue,
  31 + oldValue = oldValue or "",
  32 + },
  33 + }
  34 + }
35 35  
36   - SendPacket(actionCodes.Hero_updateProperty, MsgPack.pack(updateData))
  36 + SendPacket(actionCodes.Hero_updateProperty, MsgPack.pack(updateData))
37 37 end
38 38  
39 39 function Hero:notifyUpdateProperties(params)
40   - local updateData = {
41   - id = self:getProperty("id"),
42   - datas = params
43   - }
  40 + local updateData = {
  41 + id = self:getProperty("id"),
  42 + datas = params
  43 + }
44 44  
45   - SendPacket(actionCodes.Hero_updateProperty, MsgPack.pack(updateData))
  45 + SendPacket(actionCodes.Hero_updateProperty, MsgPack.pack(updateData))
46 46 end
47 47  
48 48 function Hero:updateProperty(params)
49   - if not params.field or (not params.delta and not params.value) then
50   - return
51   - end
52   - if params.delta then
53   - self:incrProperty(params.field, params.delta)
54   - elseif params.value then
55   - self:setProperty(params.field, params.value)
56   - end
57   - local datas = {}
58   - table.insert(datas, {key = params.field, newValue = self:getProperty(params.field)})
  49 + if not params.field or (not params.delta and not params.value) then
  50 + return
  51 + end
  52 + if params.delta then
  53 + self:incrProperty(params.field, params.delta)
  54 + elseif params.value then
  55 + self:setProperty(params.field, params.value)
  56 + end
  57 + local datas = {}
  58 + table.insert(datas, {key = params.field, newValue = self:getProperty(params.field)})
59 59  
60   - local check = {level = true, breakL = true, wakeL = true, talent = true, loveL = true, skin = true}
61   - if check[params.field] then
62   - local orginValue = self:getProperty("battleV")
63   - local curValue = self:saveBattleValue()
64   - if orginValue ~= curValue then
65   - table.insert(datas, { key = "battleV", newValue = curValue })
66   - end
67   - end
  60 + local check = {level = true, breakL = true, wakeL = true, talent = true, loveL = true, skin = true}
  61 + if check[params.field] then
  62 + local orginValue = self:getProperty("battleV")
  63 + local curValue = self:saveBattleValue()
  64 + if orginValue ~= curValue then
  65 + table.insert(datas, { key = "battleV", newValue = curValue })
  66 + end
  67 + end
68 68  
69   - self:notifyUpdateProperties(datas)
  69 + self:notifyUpdateProperties(datas)
70 70 end
71 71  
72 72 function Hero:data()
73 73 return {
74 74 id = self:getProperty("id"),
75 75 type = self:getProperty("type"),
76   - level = self:getProperty("level"),
77   - breakL = self:getProperty("breakL"),
78   - wakeL = self:getProperty("wakeL"),
79   - skillL = self:getProperty("skillL"),
80   - talent = self:getProperty("talent"),
81   - battleV = self:getProperty("battleV"),
82   - loveExp = self:getProperty("loveExp"),
83   - loveL = self:getProperty("loveL"),
  76 + level = self:getProperty("level"),
  77 + breakL = self:getProperty("breakL"),
  78 + wakeL = self:getProperty("wakeL"),
  79 + skillL = self:getProperty("skillL"),
  80 + talent = self:getProperty("talent"),
  81 + battleV = self:getProperty("battleV"),
  82 + loveExp = self:getProperty("loveExp"),
  83 + loveL = self:getProperty("loveL"),
84 84 skin = self:getProperty("skin"),
85 85 }
86 86 end
... ...
src/models/HeroPlugin.lua
... ... @@ -3,144 +3,144 @@ local HeroPlugin = {}
3 3  
4 4 function HeroPlugin.bind(Hero)
5 5  
6   - function Hero:getMaxLevel()
7   - return math.min(#csvdb["unit_expCsv"], csvdb["unit_breakCsv"][self:getProperty("breakL")].levelLimit)
8   - end
9   -
10   - function Hero:getSPoint()
11   - local point = 0
12   - for i = 0, self:getProperty("wakeL") do
13   - if csvdb["unit_wakeCsv"][i] then
14   - point = point + csvdb["unit_wakeCsv"][i].sp
15   - end
16   - end
17   - return point
18   - end
19   -
20   - function Hero:getLSPoint()
21   - local point = self:getSPoint()
22   - for skill, level in pairs(self:getProperty("skillL"):toNumMap()) do
23   - point = point - (level - 1)
24   - end
25   - return point
26   - end
27   - --角色属性值 = 基础属性值(unit)* [ 1 + 升级属性(unit_exp)+ 突破属性(unit_break)] * [ 1 + 觉醒属性(unit_wake)+ 天赋属性(unit_talent)]
28   - function Hero:getBaseAttrs(params)
29   - params = params or {}
30   - local unitData = csvdb["unitCsv"][self:getProperty("type")]
31   - local level = params.level or self:getProperty("level")
32   - local breakL = params.breakL or self:getProperty("breakL")
33   - local wakeL = params.wakeL or self:getProperty("wakeL")
34   - local talent = params.talent or self:getProperty("talent")
35   -
36   -
37   - local attrs = {}
38   - for _, attName in pairs(AttsEnumEx) do
39   - attrs[attName] = unitData[attName] or 0
40   - end
41   - local lData = csvdb["unit_expCsv"][level]
42   - local blData = csvdb["unit_breakCsv"][breakL]
43   - -- core
44   - for attr, value in pairs(attrs) do
45   - attrs[attr] = attrs[attr] * (100 + (lData[attr .. "Level"] or 0) + (blData[attr .. "Level"] or 0)) / 100
46   - end
47   -
48   - local talentAttrS = {}
49   - -- 天赋阶段属性
50   - for i = 1, (talent:getv(0, 1) - 1) do
51   - local curData = csvdb["unit_talentCsv"][i]
52   - local effect = curData[#curData].effect:toArray(true, "=")
53   - talentAttrS[AttsEnumEx[effect[1]]] = (talentAttrS[AttsEnumEx[effect[1]]] or 0) + effect[2]
54   - end
55   - -- 四个基础属性
56   - local curData = csvdb["unit_talentCsv"][talent:getv(0, 1)]
57   - if not curData then -- 已经满阶段了
58   - curData = csvdb["unit_talentCsv"][#csvdb["unit_talentCsv"]]
59   - local strength = curData[#curData].strength
60   - for i = 1, 4 do
61   - talentAttrS[AttsEnumEx[i]] = (talentAttrS[AttsEnumEx[i]] or 0) + strength
62   - end
63   - else
64   - for i = 1, 4 do --4个天赋
65   - talentAttrS[AttsEnumEx[i]] = (talentAttrS[AttsEnumEx[i]] or 0) + curData[talent:getv(i, 0)].strength
66   - end
67   - end
68   -
69   - --好感度
70   - local loveUp = {}
71   - for i = 0, self:getProperty("loveL") do
72   - local reward = csvdb["unit_love_effectCsv"][i]["reward"]
73   - for attrId, value in pairs(reward:toNumMap()) do
74   - loveUp[AttsEnumEx[attrId]] = (loveUp[AttsEnumEx[attrId]] or 0) + value
75   - end
76   - end
77   -
78   - --皮肤
79   - local skinUp = {}
80   - local reward = (csvdb["unit_skinCsv"][self:getSkinId()] or {})["reward"] or ""
81   - for attrId, value in pairs(reward:toNumMap()) do
82   - skinUp[AttsEnumEx[attrId]] = (skinUp[AttsEnumEx[attrId]] or 0) + value
83   - end
84   -
85   - --觉醒
86   - local wData = csvdb["unit_wakeCsv"][wakeL]
87   - for attr, value in pairs(attrs) do
88   - attrs[attr] = attrs[attr] * (100 + (wData[attr .. "Level"] or 0) + (talentAttrS[attr] or 0) + (loveUp[attr] or 0) + (skinUp[attr] or 0)) / 100
89   - end
90   -
91   - return attrs
92   - end
93   -
94   - --当前属性 = [ 角色属性值 + 基础装备(固定)+ 专属装备(固定)] * [ 1 + 基础装备(百分比) + 专属装备(百分比)]
95   - function Hero:getTotalAttrs(params)
96   - local attrs = self:getBaseAttrs()
97   - return attrs
98   - end
99   - -- 战斗力(当前属性)= POWER[(生命 + 防御 * 7 + 闪避 * 4)*(攻击 + 命中 * 4)*(1 + 暴击几率/100 * 暴击伤害/100)* 攻击速度 / 60000 ,0.8 ]
100   - function Hero:getBattleValue()
101   - local attrs = self:getTotalAttrs()
102   - local battleValue = ((attrs["hp"] + attrs["def"] * 7 + attrs["miss"] * 4) * (attrs["atk"] + attrs["hit"] * 4) * (1 + attrs["crit"]/100 * attrs["critHurt"]/100) * attrs["atkSpeed"] / 60000) ^ 0.8
103   - return math.floor(battleValue)
104   - end
105   -
106   - function Hero:saveBattleValue()
107   - local battleValue = self:getBattleValue()
108   - if battleValue ~= self:getProperty("battleV") then
109   - self:setProperty("battleV", battleValue)
110   - end
111   - return battleValue
112   - end
113   -
114   - function Hero:getSkillLevel(idx)
115   - return self:getProperty("skillL"):getv(idx, 1)
116   - end
117   -
118   - function Hero:getSkillData(idx, skin)
119   - local unitData = csvdb["unitCsv"][self:getSkinId(skin)]
120   - if idx == 1 then
121   - return csvdb["skill_blockCsv"][unitData.block]
122   - elseif idx == 2 then
123   - return csvdb["skill_specialCsv"][unitData.special]
124   - elseif idx == 3 then
125   - return csvdb["skill_passiveCsv"][unitData.passive]
126   - elseif idx == 4 then --冒险技能
127   - if unitData.adv > 1000 then
128   - return csvdb["adv_skill_passiveCsv"][unitData.adv]
129   - else
130   - return csvdb["adv_skillCsv"][unitData.adv]
131   - end
132   - end
133   - return {}
134   - end
135   -
136   - function Hero:getSkinId(skin)
137   - skin = skin or self:getProperty("skin")
138   - if skin == 0 then
139   - return self:getProperty("type")
140   - else
141   - return 30000 + self:getProperty("type") * 10 + skin
142   - end
143   - end
  6 + function Hero:getMaxLevel()
  7 + return math.min(#csvdb["unit_expCsv"], csvdb["unit_breakCsv"][self:getProperty("breakL")].levelLimit)
  8 + end
  9 +
  10 + function Hero:getSPoint()
  11 + local point = 0
  12 + for i = 0, self:getProperty("wakeL") do
  13 + if csvdb["unit_wakeCsv"][i] then
  14 + point = point + csvdb["unit_wakeCsv"][i].sp
  15 + end
  16 + end
  17 + return point
  18 + end
  19 +
  20 + function Hero:getLSPoint()
  21 + local point = self:getSPoint()
  22 + for skill, level in pairs(self:getProperty("skillL"):toNumMap()) do
  23 + point = point - (level - 1)
  24 + end
  25 + return point
  26 + end
  27 + --角色属性值 = 基础属性值(unit)* [ 1 + 升级属性(unit_exp)+ 突破属性(unit_break)] * [ 1 + 觉醒属性(unit_wake)+ 天赋属性(unit_talent)]
  28 + function Hero:getBaseAttrs(params)
  29 + params = params or {}
  30 + local unitData = csvdb["unitCsv"][self:getProperty("type")]
  31 + local level = params.level or self:getProperty("level")
  32 + local breakL = params.breakL or self:getProperty("breakL")
  33 + local wakeL = params.wakeL or self:getProperty("wakeL")
  34 + local talent = params.talent or self:getProperty("talent")
  35 +
  36 +
  37 + local attrs = {}
  38 + for _, attName in pairs(AttsEnumEx) do
  39 + attrs[attName] = unitData[attName] or 0
  40 + end
  41 + local lData = csvdb["unit_expCsv"][level]
  42 + local blData = csvdb["unit_breakCsv"][breakL]
  43 + -- core
  44 + for attr, value in pairs(attrs) do
  45 + attrs[attr] = attrs[attr] * (100 + (lData[attr .. "Level"] or 0) + (blData[attr .. "Level"] or 0)) / 100
  46 + end
  47 +
  48 + local talentAttrS = {}
  49 + -- 天赋阶段属性
  50 + for i = 1, (talent:getv(0, 1) - 1) do
  51 + local curData = csvdb["unit_talentCsv"][i]
  52 + local effect = curData[#curData].effect:toArray(true, "=")
  53 + talentAttrS[AttsEnumEx[effect[1]]] = (talentAttrS[AttsEnumEx[effect[1]]] or 0) + effect[2]
  54 + end
  55 + -- 四个基础属性
  56 + local curData = csvdb["unit_talentCsv"][talent:getv(0, 1)]
  57 + if not curData then -- 已经满阶段了
  58 + curData = csvdb["unit_talentCsv"][#csvdb["unit_talentCsv"]]
  59 + local strength = curData[#curData].strength
  60 + for i = 1, 4 do
  61 + talentAttrS[AttsEnumEx[i]] = (talentAttrS[AttsEnumEx[i]] or 0) + strength
  62 + end
  63 + else
  64 + for i = 1, 4 do --4个天赋
  65 + talentAttrS[AttsEnumEx[i]] = (talentAttrS[AttsEnumEx[i]] or 0) + curData[talent:getv(i, 0)].strength
  66 + end
  67 + end
  68 +
  69 + --好感度
  70 + local loveUp = {}
  71 + for i = 0, self:getProperty("loveL") do
  72 + local reward = csvdb["unit_love_effectCsv"][i]["reward"]
  73 + for attrId, value in pairs(reward:toNumMap()) do
  74 + loveUp[AttsEnumEx[attrId]] = (loveUp[AttsEnumEx[attrId]] or 0) + value
  75 + end
  76 + end
  77 +
  78 + --皮肤
  79 + local skinUp = {}
  80 + local reward = (csvdb["unit_skinCsv"][self:getSkinId()] or {})["reward"] or ""
  81 + for attrId, value in pairs(reward:toNumMap()) do
  82 + skinUp[AttsEnumEx[attrId]] = (skinUp[AttsEnumEx[attrId]] or 0) + value
  83 + end
  84 +
  85 + --觉醒
  86 + local wData = csvdb["unit_wakeCsv"][wakeL]
  87 + for attr, value in pairs(attrs) do
  88 + attrs[attr] = attrs[attr] * (100 + (wData[attr .. "Level"] or 0) + (talentAttrS[attr] or 0) + (loveUp[attr] or 0) + (skinUp[attr] or 0)) / 100
  89 + end
  90 +
  91 + return attrs
  92 + end
  93 +
  94 + --当前属性 = [ 角色属性值 + 基础装备(固定)+ 专属装备(固定)] * [ 1 + 基础装备(百分比) + 专属装备(百分比)]
  95 + function Hero:getTotalAttrs(params)
  96 + local attrs = self:getBaseAttrs()
  97 + return attrs
  98 + end
  99 + -- 战斗力(当前属性)= POWER[(生命 + 防御 * 7 + 闪避 * 4)*(攻击 + 命中 * 4)*(1 + 暴击几率/100 * 暴击伤害/100)* 攻击速度 / 60000 ,0.8 ]
  100 + function Hero:getBattleValue()
  101 + local attrs = self:getTotalAttrs()
  102 + local battleValue = ((attrs["hp"] + attrs["def"] * 7 + attrs["miss"] * 4) * (attrs["atk"] + attrs["hit"] * 4) * (1 + attrs["crit"]/100 * attrs["critHurt"]/100) * attrs["atkSpeed"] / 60000) ^ 0.8
  103 + return math.floor(battleValue)
  104 + end
  105 +
  106 + function Hero:saveBattleValue()
  107 + local battleValue = self:getBattleValue()
  108 + if battleValue ~= self:getProperty("battleV") then
  109 + self:setProperty("battleV", battleValue)
  110 + end
  111 + return battleValue
  112 + end
  113 +
  114 + function Hero:getSkillLevel(idx)
  115 + return self:getProperty("skillL"):getv(idx, 1)
  116 + end
  117 +
  118 + function Hero:getSkillData(idx, skin)
  119 + local unitData = csvdb["unitCsv"][self:getSkinId(skin)]
  120 + if idx == 1 then
  121 + return csvdb["skill_blockCsv"][unitData.block]
  122 + elseif idx == 2 then
  123 + return csvdb["skill_specialCsv"][unitData.special]
  124 + elseif idx == 3 then
  125 + return csvdb["skill_passiveCsv"][unitData.passive]
  126 + elseif idx == 4 then --冒险技能
  127 + if unitData.adv > 1000 then
  128 + return csvdb["adv_skill_passiveCsv"][unitData.adv]
  129 + else
  130 + return csvdb["adv_skillCsv"][unitData.adv]
  131 + end
  132 + end
  133 + return {}
  134 + end
  135 +
  136 + function Hero:getSkinId(skin)
  137 + skin = skin or self:getProperty("skin")
  138 + if skin == 0 then
  139 + return self:getProperty("type")
  140 + else
  141 + return 30000 + self:getProperty("type") * 10 + skin
  142 + end
  143 + end
144 144  
145 145 end
146 146  
... ...