BUFF系统核心技术解析:状态叠加、优先级博弈与动态平衡(三)
时效控制:动态衰减与事件刷新1. 非线性持续时间算法
高阶BUFF采用分段式衰减(如护体神盾):
总时长 = 300秒
前100秒:效果100%
中100秒:效果70%
后100秒:效果40%
在QFunction-0.txt实现:
lua
[@OnBuffSecond]
#IF
EQUAL <$CURRRENTBUFF> 护体神盾
LARGE N$剩余时间 200
#ACT
SetBuffPower 100-- 100%效果
BREAK
2. 条件刷新机制
法师“魔法盾”受击刷新规则:
BLUE引擎:在Magic.DB设置HitRefresh=1
GOM引擎:需脚本判定
lua
[@OnAttack]
#IF
CheckBuff 魔法盾
#ACT
ResetBuffTime 魔法盾-- 重置持续时间
3. BUFF驱散的技术实现
道士“净化术”驱散敌方BUFF的两种方案:
驱散模式 实现命令 适用场景
概率驱散 REMOVEBUFFRANDOM 1 随机清除1个BUFF
指定类型驱散 REMOVEBUFFTYPE 3 清除控制类BUFF
页:
[1]