属性cbt2后改版为卡牌类型属性设计
目录
简要说明
各个系统模块对自己模块对侠客所成长的属性(分属性)进行增加和翻倍。然后所有系统模块所加的属性汇总形成一套侠客的总的属性,
这套属性就是成长培养的属性的总和,称为总基础属性。
侠客进入副本,或者可战斗的场景,通过身上成长培养的总基础属性加上一些系数等加成,算出一套用于战斗的属性,
这套称为总属性。
修改前后对比
1.前后对比
修改前:
只有一套属性!所有加减改变都是对这套属性!
修改后:
出现多套属性!总体分为三部分:
多套分属性 + 总基础属性 + 总属性
2.优缺点
优点:
1.对比老版本,只有一套属性,策划所有的数值规划都是在这套属性做操作。
细粒度不够,数值成长规划不放便。新版属性,可以精确到某个系统做规划,
例如:坐骑、装备...更加精准和正确。
2.如果某个环节属性出问题了,只有一份总属性值参照,需要排查所有系统,代价非常大,
新版可以从分系统逐一对比排查,没个系统有数值参照,一出问题马上能知道,
哪个系统出问题,排查速度快速。
缺点:
1.分系统也有数值缓存到内存,每个分系统都有自己一套属性,占用内存增大。
2.分系统如果越来越多,管理成本增大。
一些代码细节
一.侠客界面学习技能提升属性,如果是非上阵侠客,能否立即收到性改变推送:
1.升星会解锁被动技能,技能改变会引起技能改变事件,引起分属性变化。
目前是所有侠客都会tickAttribute的,即使未上阵,那么最终会推送。
二.重新登录,分属性和总基础属性计算
三.分属性是否推送,推送过程:
1.分属性也会推送,推的是侠客属性。总的也推,一般推玩家的属性。
五.侠客非上阵和上阵属性刷新和推送:
1. knightModule下tickKnight()会拿所有拥有的侠客列表,剔除已上阵,进行tickAttribute(),还会进行技能和buff相关的tick
2.同个方法内,上阵侠客也会调tickAttribute()。
六:分属性模块,如果不在afterLoad里计算,在登录里进场景会发生什么情况?
1.没啥问题,重新计算一次分属性和总属性
七:心法增加属性:
1.以前是通过被动技能增加属性,现在是走表里直接配置添加的分属性。
八:什么属性值会存库,当前血量?
2.血、怒气、蓝(目前没有蓝概念,已废弃)