轻轻松松改成定点数咯

This commit is contained in:
DESKTOP-5RP3AKU\Jisol
2024-10-21 04:04:13 +08:00
parent 0371576f87
commit 930911e7df
46 changed files with 1070 additions and 317 deletions
@@ -20,17 +20,17 @@ GameplayEffectModifier
AttributeNameAS_Fight.Health
ModifierMagnitude50
OperationAdd
MMCScalableFloatModCalculation -> k=-1,b=0 (下文会介绍ScalableFloatModCalculation的k,b含义)
MMCScalableLFloatModCalculation -> k=-1,b=0 (下文会介绍ScalableLFloatModCalculation的k,b含义)
```
## MMC的类型
MMC的基类为抽象类ModifierMagnitudeCalculation,它的子类有以下几种:
- ScalableFloatModCalculation:可缩放浮点数计算
- ScalableLFloatModCalculation:可缩放浮点数计算
- 该类型是根据ModifierMagnitude计算Modifier模值的,计算公式为:`ModifierMagnitude * k + b`
实际上就是一个线性函数,k和b为可编辑参数,可以在编辑器中设置。
- AttributeBasedModCalculation:基于属性的计算
- 该类型是根据属性值计算Modifier模值的,计算公式为:`AttributeValue * k + b`
计算逻辑与ScalableFloatModCalculation一致。
计算逻辑与ScalableLFloatModCalculation一致。
- 重点在于属性值的来源,确定属性值来源的参数有3个:
- attributeFromType:属性值从谁身上取?是从游戏效果的来源(创建者),还是目标(拥有者)。
- attributeName:属性值的名称,比如战斗属性集里的生命值:AS_Fight.Health