drdplus/tables

Drd+ 表格及其单位转换

3.0.0 2021-09-22 07:48 UTC

README

Build Status License

关于 JumpsAndFallsTable 的警告

JumpsAndFallsTable 自动减少由于跌落(或跳跃)造成的伤害,尽管规则中 DM 应该自己决定减少伤害的部分。

描述

DrD+ 中用于计算和信息的有六十多个表格。

  • 表格是可选的。测量使其成为现实。
  • 如果有意义,加成通过实体表达。
  • 测量(除了伤害基数,它仅用于数值转换)必须存在
  • 测量必须实现 MeasurementInterface
  • 测量必须能够提供其当前单位
  • 测量可能是多单位的
    • 如果测量是多单位的
      • 它必须能够以任何这些单位获取新的自身
  • 测量可能基于加成
    • 如果测量有加成
      • 它必须实现 MeasurementWithBonusInterface
      • 并且它必须能够获取等效的加成,加成必须能够获取等效的测量
    • 每个加成都必须有获取相关测量的 getter(getFoo)
    • 每个带有加成的测量都必须有获取相关加成的 getter(getBar)
  • 测量可能使用表格
  • 测量可能同时使用加成和表格
    • 如果测量有一个加成和一个表格
      • 那么那个表格必须有一个将测量转换为加成的转换器(推荐为 toBonus)
      • 以及将加成转换为测量的转换器(推荐为 toFoo)
  • 测量可能提供转换辅助方法以不同单位的值(但必须提供在该单位中测量的 getter)
  • 表格不应有除测量到加成和相反之外的不同转换方法
  • 加成不应有除相关测量 getter 之外的不同转换方法
  • 测量类型可能有自己的异常
    • 如果测量类型有自己的异常,那些必须遵循异常层次结构

注意:价格伤害基数 是特殊案例。