属性cbt2后改版为卡牌类型属性设计

2021/12/03 Mmo-Game

属性cbt2后改版为卡牌类型属性设计

目录

简要说明

各个系统模块对自己模块对侠客所成长的属性(分属性)进行增加和翻倍。然后所有系统模块所加的属性汇总形成一套侠客的总的属性,

这套属性就是成长培养的属性的总和,称为总基础属性。
侠客进入副本,或者可战斗的场景,通过身上成长培养的总基础属性加上一些系数等加成,算出一套用于战斗的属性,

这套称为总属性。

修改前后对比

1.前后对比

修改前:
    只有一套属性!所有加减改变都是对这套属性!
修改后:
    出现多套属性!总体分为三部分:
        多套分属性 + 总基础属性 + 总属性

2.优缺点

优点:
    1.对比老版本,只有一套属性,策划所有的数值规划都是在这套属性做操作。
      细粒度不够,数值成长规划不放便。新版属性,可以精确到某个系统做规划,
      例如:坐骑、装备...更加精准和正确。
    2.如果某个环节属性出问题了,只有一份总属性值参照,需要排查所有系统,代价非常大,
      新版可以从分系统逐一对比排查,没个系统有数值参照,一出问题马上能知道,
      哪个系统出问题,排查速度快速。

缺点:
    1.分系统也有数值缓存到内存,每个分系统都有自己一套属性,占用内存增大。
    2.分系统如果越来越多,管理成本增大。

一些代码细节

一.侠客界面学习技能提升属性,如果是非上阵侠客,能否立即收到性改变推送:
     1.升星会解锁被动技能,技能改变会引起技能改变事件,引起分属性变化。
       目前是所有侠客都会tickAttribute的,即使未上阵,那么最终会推送。

二.重新登录,分属性和总基础属性计算
  
三.分属性是否推送,推送过程:
    1.分属性也会推送,推的是侠客属性。总的也推,一般推玩家的属性。

五.侠客非上阵和上阵属性刷新和推送:
    1. knightModule下tickKnight()会拿所有拥有的侠客列表,剔除已上阵,进行tickAttribute(),还会进行技能和buff相关的tick
    2.同个方法内,上阵侠客也会调tickAttribute()。

六:分属性模块,如果不在afterLoad里计算,在登录里进场景会发生什么情况?
    1.没啥问题,重新计算一次分属性和总属性

七:心法增加属性:
    1.以前是通过被动技能增加属性,现在是走表里直接配置添加的分属性。

八:什么属性值会存库,当前血量?
    2.血、怒气、蓝(目前没有蓝概念,已废弃)

Search

    Table of Contents