BUFF系统

BUFF系统即为人物状态系统。根据不同的类型对人物进行一些属性值上的变更或者对其他系统的影响。

 

BUFF 系统设计为有时间限制的系统。比如道士的毒对实体的作用是有次数以及时间长度的。过了时间就失去效果。

 

BUFF 系统在实体LogicRun 内进行每一秒的检测。即buff 的最小单位时间为1。比如当策划想要一个500毫秒减少血量的buff 这个就无法实现。因为至少单位时间就是一秒。

 

Buff 系统类型参考buff类型作用.txt

         //¨´YbuffÁ¨¦°?¡ãbuff¤¨¤¨ª?¨?°??buff      

         inlineCDynamicBuff* GetBuff(constGAMEATTRTYPE buffType, constINT_PTR nGroup)

 

                                                梁凡2015-11-2

下线存储人物身上的buff.用人物德静态变量存储: CBuffSystem::SaveToScriptData()

人物上线加载静态变量中的buff: voidCBuffSystem::LoadFromScriptData()

检测人物身上buff是否过时,一秒一次: VOIDCBuffSystem::OnTimeCheck(TICKCOUNT nTickCount)

给人物加一个Buff的载入函数: constCDynamicBuffCBuffSystem::Append(INT_PTR buffType, constINT_PTR nGroup,

         GAMEATTRVALUE &value, INT_PTR dwTwice, INT_PTR btInterval ,LPCTSTR sBuffName,INT_PTR nAuxParam,bool timeOverlay,

         INT_PTR wActWait, EntityHandle giver,INT_PTR nEffectType,INT_PTR nEffectId,INT_PTR nColorPriority, INT_PTR nColor,bool bFullDel,byte nIcon)

Buff的属性计算: VOIDCBuffSystem::CalcAttributes(CAttrCalc &calc)(其属性不放在战力评分里面)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值