Blame view

src/models/Hero.lua 3.36 KB
0a07bdd9   zhouahaihai   角色升级 。gm
1
2
  local Hero = class("Hero", require("shared.ModelBase"))
  
8c74292c   zhouahaihai   增加item 以及 角色突破
3
4
5
  local HeroPlugin = import(".HeroPlugin")
  HeroPlugin.bind(Hero)
  
0a07bdd9   zhouahaihai   角色升级 。gm
6
  Hero.schema = {
0a07bdd9   zhouahaihai   角色升级 。gm
7
8
  	id 			= {"number"},
  	type 		= {"number", 0},
87cc3a35   zhengshouren   餐厅建筑升级逻辑
9
10
  	level		= {"number", 1},		-- 等级
  	breakL		= {"number", 0},		-- 突破等级
b96f8839   gaofengduan   觉醒初始等级为 1
11
  	wakeL		= {"number", 1},		-- 觉醒等级
87cc3a35   zhengshouren   餐厅建筑升级逻辑
12
13
  	talent		= {"string", ""},		-- 0=阶段 1=1 2=1 3=1 4=1 四个天赋当前阶段的等级  阶段默认为1  等级默认为0
  	battleV		= {"number", 0},		-- 保存战斗力
14f1591b   zhouhaihai   删除好感度相关
14
15
  	-- loveExp		= {"number", 0},		--好感度经验
  	-- loveL		= {"number", 0},		--好感度等级
4ea1b5ac   zhouhaihai   穿戴零件
16
17
  	equip       = {"string",""},        --装备 type=level
  	rune       = {"string",""},        --零件 type=id
96d591f7   liuzujun   天赋升级修改,增加英雄信赖
18
  	faith	   = {"number", 0},			-- 信赖
0a07bdd9   zhouahaihai   角色升级 。gm
19
20
  }
  
0a07bdd9   zhouahaihai   角色升级 。gm
21
22
  function Hero:ctor( properties )
  	Hero.super.ctor(self, properties)
0a07bdd9   zhouahaihai   角色升级 。gm
23
24
25
  end
  
  function Hero:notifyUpdateProperty(field, newValue, oldValue)
87cc3a35   zhengshouren   餐厅建筑升级逻辑
26
  	local datas = {
ee999bde   zhouhaihai   零件优化
27
28
29
30
31
32
33
34
  		id = self:getProperty("id"),
  		datas = {
  			{
  				key = field,
  				newValue = newValue,
  				oldValue = oldValue,
  			}
  		}
a43410e1   zhengshouren   整理格式,使用tab替代空格
35
  	}
87cc3a35   zhengshouren   餐厅建筑升级逻辑
36
  	self:notifyUpdateProperties(datas)
0a07bdd9   zhouahaihai   角色升级 。gm
37
38
39
  end
  
  function Hero:notifyUpdateProperties(params)
a43410e1   zhengshouren   整理格式,使用tab替代空格
40
41
42
43
  	local updateData = {
  		id = self:getProperty("id"),
  		datas = params
  	}
a43410e1   zhengshouren   整理格式,使用tab替代空格
44
  	SendPacket(actionCodes.Hero_updateProperty, MsgPack.pack(updateData))
0a07bdd9   zhouahaihai   角色升级 。gm
45
46
  end
  
c7ecb87f   zhouhaihai   添加 测试账号 方法
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
  function Hero:updateProperties(params, notNotify)
  	self:setProperties(params)
  
  	local check = {level = true, breakL = true, wakeL = true, talent = true, loveL = true, equip = true, rune = true}
  	local datas = {}
  	local updateBV = false
  	for k , v in pairs(params) do
  		if check[k] then updateBV = true end
  		table.insert(datas, {key = k, newValue = self:getProperty(k)})
  	end
  	if updateBV then
  		local orginValue = self:getProperty("battleV")
  		local curValue = self:saveBattleValue()
  		if orginValue ~= curValue then
  			table.insert(datas, { key = "battleV", newValue = curValue })
  		end
  	end
  	if not notNotify then
  		self:notifyUpdateProperties(datas)
  	end
  end
  
0a07bdd9   zhouahaihai   角色升级 。gm
69
  function Hero:updateProperty(params)
a43410e1   zhengshouren   整理格式,使用tab替代空格
70
71
72
73
74
75
76
77
78
79
  	if not params.field or (not params.delta and not params.value) then
  		return
  	end
  	if params.delta then
  		self:incrProperty(params.field, params.delta)
  	elseif params.value then
  		self:setProperty(params.field, params.value)
  	end
  	local datas = {}
  	table.insert(datas, {key = params.field, newValue = self:getProperty(params.field)})
0a07bdd9   zhouahaihai   角色升级 。gm
80
  
f2fa488d   wangyujie   删除skin相关
81
  	local check = {level = true, breakL = true, wakeL = true, talent = true, loveL = true, equip = true, rune = true}
a43410e1   zhengshouren   整理格式,使用tab替代空格
82
83
84
85
86
87
88
  	if check[params.field] then
  		local orginValue = self:getProperty("battleV")
  		local curValue = self:saveBattleValue()
  		if orginValue ~= curValue then
  			table.insert(datas, { key = "battleV", newValue = curValue })
  		end
  	end
0a07bdd9   zhouahaihai   角色升级 。gm
89
  
a43410e1   zhengshouren   整理格式,使用tab替代空格
90
  	self:notifyUpdateProperties(datas)
0a07bdd9   zhouahaihai   角色升级 。gm
91
92
93
94
95
96
  end
  
  function Hero:data()
  	return {
  		id = self:getProperty("id"),
  		type = self:getProperty("type"),
a43410e1   zhengshouren   整理格式,使用tab替代空格
97
98
99
  		level = self:getProperty("level"),
  		breakL = self:getProperty("breakL"),
  		wakeL = self:getProperty("wakeL"),
a43410e1   zhengshouren   整理格式,使用tab替代空格
100
101
  		talent  = self:getProperty("talent"),
  		battleV = self:getProperty("battleV"),
14f1591b   zhouhaihai   删除好感度相关
102
103
  		-- loveExp = self:getProperty("loveExp"),
  		-- loveL = self:getProperty("loveL"),
24d77701   gaofengduan   fix equip
104
105
  		equip = self:getProperty("equip"),
  		rune = self:getProperty("rune"),
96d591f7   liuzujun   天赋升级修改,增加英雄信赖
106
  		faith = self:getProperty("faith")
0a07bdd9   zhouahaihai   角色升级 。gm
107
108
109
  	}
  end
  
15cba0bf   zhouhaihai   修改天赋升级消耗
110
  function Hero:getCamp()
e3c3a4f5   zhouhaihai   bug
111
      return csvdb["unitCsv"][self:getProperty("type")].camp
1c35c4cf   gaofengduan   fix hero awake
112
113
  end
  
00bf6029   liuzujun   限时礼包,抽卡ssr广播
114
115
116
117
  function Hero:getRare()
      return csvdb["unitCsv"][self:getProperty("type")].rare
  end
  
16634605   liuzujun   多队挂机,天赋道具合成
118
119
120
121
  function Hero:getPosition()
      return csvdb["unitCsv"][self:getProperty("type")].position
  end
  
0a07bdd9   zhouahaihai   角色升级 。gm
122
  return Hero