level 1
凝滞雪雾
楼主
(以下以最大生命值为例)
基本流程:
修正后生命值 = 行为修正 ( 修正前生命值 )
行为修正有两个乘区:
一般乘区,有应用后的数值修正
额外乘区,无应用后的数值修正
行为修正公式:
修正后生命值 = 额外乘区系数*( 一般乘区修正*修正前生命值 + 一般乘区修正值 )
其中,「xxx累加倍率」是额外乘区,「xxx系数」是一般乘区,此外能找到一个「额外xxx」是一般乘区的数值修正。
行为修正的运行流程:
行为修正后,会记录修正后的生命值(游戏要用),还会记录行为修正导致的生命值变化值,不会记录修正前的生命值。
游戏机制需要用到修正前的生命值时,会用修正后的生命值减去变化值,来计算得到修正前生命值。
如果使用触发器直接修改单位生命值,会触发行为修正矫正。这里很重要!具体流程为触发器修改后的生命值减去记录的行为修正生命值变化值,当作「行为修正前生命值」,然后再次计算行为修正。这里不是常见的乘区模型,会出现bug。
举例,行为修正生命值变化值:
《星际酒馆》旧版本,一个叉子100血
「金光闪闪」升级后是120(20)
根据角色「蟑螂」效果,用触发器增加当前生命的40%变为168(20)
行为修正矫正恢复血量为148
行为修正血量为177.6(29.6)
2023年05月20日 10点05分
1
基本流程:
修正后生命值 = 行为修正 ( 修正前生命值 )
行为修正有两个乘区:
一般乘区,有应用后的数值修正
额外乘区,无应用后的数值修正
行为修正公式:
修正后生命值 = 额外乘区系数*( 一般乘区修正*修正前生命值 + 一般乘区修正值 )
其中,「xxx累加倍率」是额外乘区,「xxx系数」是一般乘区,此外能找到一个「额外xxx」是一般乘区的数值修正。
行为修正的运行流程:
行为修正后,会记录修正后的生命值(游戏要用),还会记录行为修正导致的生命值变化值,不会记录修正前的生命值。
游戏机制需要用到修正前的生命值时,会用修正后的生命值减去变化值,来计算得到修正前生命值。
如果使用触发器直接修改单位生命值,会触发行为修正矫正。这里很重要!具体流程为触发器修改后的生命值减去记录的行为修正生命值变化值,当作「行为修正前生命值」,然后再次计算行为修正。这里不是常见的乘区模型,会出现bug。
举例,行为修正生命值变化值:
《星际酒馆》旧版本,一个叉子100血
「金光闪闪」升级后是120(20)
根据角色「蟑螂」效果,用触发器增加当前生命的40%变为168(20)
行为修正矫正恢复血量为148
行为修正血量为177.6(29.6)