Blame view

src/models/Daily.lua 4.97 KB
be9c9ca6   zhouahaihai   角色评论
1
2
  -- 日常数据
  
fa992c94   liuzujun   添加daily,diner,act...
3
  local Daily = class("Daily", require("shared.ModelBaseMysql"))
ecf87563   zhangqijia   feat: 挂机图鉴的扩展功能——...
4
5
  local DailyPlugin = import(".DailyPlugin")  --宝藏相关
  DailyPlugin.bind(Daily)
a85b344f   zhangqijia   feat: 挂机图鉴
6
  
be9c9ca6   zhouahaihai   角色评论
7
  function Daily:ctor(properties)
a43410e1   zhengshouren   整理格式,使用tab替代空格
8
  	Daily.super.ctor(self, properties)
be9c9ca6   zhouahaihai   角色评论
9
10
11
  end
  
  Daily.schema = {
fa992c94   liuzujun   添加daily,diner,act...
12
13
  	id 				= {"number", 0, "pri"},		-- 角色id
  	commentHero		= {"string", "", "blob"},		-- 单日评论食灵记录 type=1
87cc3a35   zhengshouren   餐厅建筑升级逻辑
14
15
  	hangQC			= {"number", 0},		-- 挂机快速次数
  	dinerQC			= {"number", 0},		-- 贩卖加速次数
e38b9c49   zhouhaihai   无尽次数
16
  	advElC			= {"number", 0},		-- 无尽次数(消耗体力)
09be9059   zhouhaihai   冒险接口
17
  	advBC			= {"number", 0},		-- 冒险次数购买次数(冒险体力购买次数)
e38b9c49   zhouhaihai   无尽次数
18
  	advElBC			= {"number", 0},		-- 无尽次数购买次数(冒险体力购买次数)
f60b89b1   zhouhaihai   奖励副本
19
  	advWs			= {"table", {}}, 		-- 冒险队工坊
62920af9   zhangqijia   fix: 奖励关卡挑战卡消耗逻辑调整
20
  	bonusC			= {"table", {}}, 		-- 奖励副本 次数 {[type] = {c = 0, b = 0}} 修改为 {c=0, b=0}
c384626d   zhouhaihai   好友
21
22
  	giveFP			= {"table", {}},		-- 给谁送过心心
  	getFP			= {"table", {}},		-- 领过谁的心心
4cf74232   zhouhaihai   pvp
23
  	pvpFree			= {"number", 0},		-- pvp使用免费次数
8641a577   zhangqijia   fix: 增加竞技场门票次数的字段
24
25
  	pvpFreeH		= {"number", 0},		-- 高级pvp使用免费次
  	pvpBought		= {"number", 0},		-- 门票购买次数
cccc9c70   zhouhaihai   商城
26
27
28
  
  	dailySDC		= {"table", {}},		-- daily shop diamond  count {[id] = count} -- 每日商城购买次数统计
  	dailySDD		= {"table", {}},		-- daily shop diamond  disount {[id] = 1} -- 每日商城折扣统计
9ced5432   zhouhaihai   冒险支援效果 保底事件
29
  
d51114bd   wangyujie   完成需求:每日金币购买
30
31
  	advSupRe		= {"number", 0}, 		-- 冒险支援效果刷新次数
  	goldBuyT		= {"number", 0}, 		-- 金币购买次数
317a46a9   liuzujun   添加特权卡
32
  
1a0b3c56   liuzujun   抽卡保底,切换定向卡池
33
34
  	unlockPool		= {"table", {}},		-- 解锁的属性卡池
  	curPool 		= {"number", 0},		-- 属性卡池当前索引
7113ad0c   liuzujun   每日抽卡次数触发礼包
35
  	drawHeroCnt		= {"number", 0},		-- 每日抽卡次数
a85b344f   zhangqijia   feat: 挂机图鉴
36
  
f0de8a60   zhangqijia   挖宝跨天,前一天天正在挖的宝被刷掉...
37
  	treasureBase	= {"number", 0}, 		-- 资源值
a85b344f   zhangqijia   feat: 挂机图鉴
38
  	treasureList 	= {"table", {}}, 		--挂机图鉴
171abf99   liuzujun   每日世界聊天上限
39
  
ecf87563   zhangqijia   feat: 挂机图鉴的扩展功能——...
40
  	treasureListExtra 	= {"table", {}}, 	--额外宝藏,挂机图鉴扩展功能
7597d623   zhangqijia   fix: 额外宝藏 Hang_ta...
41
42
43
  	treasureMapCount 	= {"number", 0}, 	--宝藏图,消耗一张宝藏图可以发现一次额外宝藏
  	treasureExtraCount 	= {"number", 0}, 	--每日发现额外宝藏使用次数(累计),隔天清零
  	treasureBaseExtra 	= {"number", 0}, 	--额外宝藏资源值
ecf87563   zhangqijia   feat: 挂机图鉴的扩展功能——...
44
  
171abf99   liuzujun   每日世界聊天上限
45
  	chatTimes 		= {"number", 0},		--每日发言次数
be9c9ca6   zhouahaihai   角色评论
46
47
  }
  
be9c9ca6   zhouahaihai   角色评论
48
  function Daily:updateProperty(params)
a43410e1   zhengshouren   整理格式,使用tab替代空格
49
50
51
  	local type, default = table.unpack(self.schema[params.field])
  
  	if params.delta then
4faef572   zhouhaihai   冒险任务,冒险扫荡, 冒险中继
52
  		self:incrProperty(params.field, params.delta)
440aa055   zhouhaihai   聊天
53
54
55
  		if not params.notNotify then
  			self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
  		end
a43410e1   zhengshouren   整理格式,使用tab替代空格
56
57
58
59
  		return true
  	end
  	if params.value then
  		self:setProperty(params.field, params.value)
440aa055   zhouhaihai   聊天
60
61
62
  		if not params.notNotify then
  			self.owner:notifyUpdateProperty(params.field, self:getProperty(params.field))
  		end
a43410e1   zhengshouren   整理格式,使用tab替代空格
63
64
65
  		return true
  	end
  	return false
be9c9ca6   zhouahaihai   角色评论
66
67
68
  end
  
  function Daily:refreshDailyData(notify)
c384626d   zhouhaihai   好友
69
  	redisproxy:del(FRIEND_POINT:format(self.owner:getProperty("id")))
cccc9c70   zhouhaihai   商城
70
  	local dataMap = {}
a43410e1   zhengshouren   整理格式,使用tab替代空格
71
  	for field, schema in pairs(self.schema) do
fc316d1f   zhouhaihai   冒险体力优化
72
  		if field == "advElC" then
6f3959ce   zhouhaihai   bug
73
  			if self:getProperty(field) > 0 then
0e3ab88d   zhouhaihai   中继层
74
75
  				dataMap[field] = 0
  			end
7104ee66   liuzujun   重复过新手bug, daily错误...
76
77
  		elseif field == "id" then
              -- skip
63c0245e   zhangqijia   fix: 跨天资源值未重置的bug
78
  		elseif field == "treasureBase" then
cea66efd   zhangqijia   fix: 等级效果的bug,
79
  			dataMap[field] = globalCsv.idle_treasure_base + self.owner:getBnousTreasureBaseMaximum()
a85b344f   zhangqijia   feat: 挂机图鉴
80
  		elseif field == "treasureList" then
ecf87563   zhangqijia   feat: 挂机图鉴的扩展功能——...
81
82
83
  			dataMap[field] = self:getTreasureList()
  		elseif field == "treasureExtraCount" then
  			dataMap[field] = 0
8641a577   zhangqijia   fix: 增加竞技场门票次数的字段
84
85
  		elseif field == "pvpBought" then
  			dataMap[field] = 0
0e3ab88d   zhouhaihai   中继层
86
  		elseif field ~= "key" then
a43410e1   zhengshouren   整理格式,使用tab替代空格
87
  			local typ, def = table.unpack(schema)
cccc9c70   zhouhaihai   商城
88
89
90
91
92
93
  			dataMap[field] = def
  		end
  	end
  	-- 每日折扣搞一下
  	local dailySDD = {}
  	local sddPool = {}
c5825110   saicom   新增用户商城相关数据
94
95
  	for id, data in pairs(csvdb["shop_normalCsv"]) do
  		if data.shop == 1 and data.disount ~= 0 then
cccc9c70   zhouhaihai   商城
96
  			table.insert(sddPool, id)
a43410e1   zhengshouren   整理格式,使用tab替代空格
97
98
  		end
  	end
cccc9c70   zhouhaihai   商城
99
100
101
102
103
104
105
  	for i = 1, math.min(#sddPool, globalCsv.shop_diamond_disount_count) do
  		local idx = math.randomInt(1, #sddPool)
  		dailySDD[sddPool[idx]] = 1
  		table.remove(sddPool, idx)
  	end
  	dataMap["dailySDD"] = dailySDD
  	self:setProperties(dataMap)
a43410e1   zhengshouren   整理格式,使用tab替代空格
106
107
108
  	if notify then
  		self.owner:notifyUpdateProperties(self:data())
  	end
be9c9ca6   zhouahaihai   角色评论
109
110
  end
  
be9c9ca6   zhouahaihai   角色评论
111
  function Daily:data()
a43410e1   zhengshouren   整理格式,使用tab替代空格
112
  	return {
a43410e1   zhengshouren   整理格式,使用tab替代空格
113
  		hangQC = self:getProperty("hangQC"),
87cc3a35   zhengshouren   餐厅建筑升级逻辑
114
  		dinerQC = self:getProperty("dinerQC"),
09be9059   zhouhaihai   冒险接口
115
  		advBC = self:getProperty("advBC"),
e38b9c49   zhouhaihai   无尽次数
116
117
  		advElC = self:getProperty("advElC"),
  		advElBC = self:getProperty("advElBC"),
bab30666   zhouhaihai   增加通用功能等级 字段
118
  		advWs = self:getProperty("advWs"),
f60b89b1   zhouhaihai   奖励副本
119
  		bonusC = self:getProperty("bonusC"),
c384626d   zhouhaihai   好友
120
121
  		giveFP = self:getProperty("giveFP"),
  		getFP = self:getProperty("getFP"),
4cf74232   zhouhaihai   pvp
122
  		pvpFree = self:getProperty("pvpFree"),
4c5d72ab   zhouhaihai   高级pvp
123
  		pvpFreeH = self:getProperty("pvpFreeH"),
8641a577   zhangqijia   fix: 增加竞技场门票次数的字段
124
  		pvpBought = self:getProperty("pvpBought"),
cccc9c70   zhouhaihai   商城
125
126
  		dailySDC = self:getProperty("dailySDC"),
  		dailySDD = self:getProperty("dailySDD"),
9ced5432   zhouhaihai   冒险支援效果 保底事件
127
  		advSupRe = self:getProperty("advSupRe"),
d51114bd   wangyujie   完成需求:每日金币购买
128
  		goldBuyT = self:getProperty("goldBuyT"),
1a0b3c56   liuzujun   抽卡保底,切换定向卡池
129
130
  		unlockPool = self:getProperty("unlockPool"),
  		curPool = self:getProperty("curPool"),
63c0245e   zhangqijia   fix: 跨天资源值未重置的bug
131
  		treasureBase = self:getProperty("treasureBase"),
a85b344f   zhangqijia   feat: 挂机图鉴
132
  		treasureList = self:getProperty("treasureList"),
ecf87563   zhangqijia   feat: 挂机图鉴的扩展功能——...
133
134
135
136
  		treasureListExtra = self:getProperty("treasureListExtra"),
  		treasureMapCount = self:getProperty("treasureMapCount"),
  		treasureExtraCount = self:getProperty("treasureExtraCount"),
  		treasureBaseExtra = self:getProperty("treasureBaseExtra"),
c8981ed2   liuzujun   chatTimes数据下发
137
  		chatTimes = self:getProperty("chatTimes"),
a43410e1   zhengshouren   整理格式,使用tab替代空格
138
  	}
be9c9ca6   zhouahaihai   角色评论
139
140
141
  end
  
  return Daily