帮助:生物设计/计算实力
出自Meshal Lite
第20行: | 第20行: | ||
{{#vardefine:immunityMultiplier| | {{#vardefine:immunityMultiplier| | ||
30 | 30 | ||
+ | }} | ||
+ | |||
+ | <!--移速分系数--> | ||
+ | {{#vardefine:legerityMultiplier| | ||
+ | 1 | ||
+ | }} | ||
+ | |||
+ | <!--知觉分类型系数--> | ||
+ | {{#vardefine:intuitionMethodMultiplier| | ||
+ | 3 | ||
+ | }} | ||
+ | |||
+ | <!--知觉分距离系数--> | ||
+ | {{#vardefine:intuitionMultiplier| | ||
+ | 0.02 | ||
}} | }} | ||
第43行: | 第58行: | ||
</div> | </div> | ||
==计算[[生物]]的[[实力]]== | ==计算[[生物]]的[[实力]]== | ||
− | 在设计一个生物时,你需要计算出这个生物的[[实力]]水平,用以将之归入恰当的挑战难度中。一个生物的实力水平由[[#属性分|属性分]]、[[#防护分|防护分]](和[[#免疫分|免疫分]])、[[# | + | 在设计一个生物时,你需要计算出这个生物的[[实力]]水平,用以将之归入恰当的挑战难度中。一个生物的实力水平由[[#属性分|属性分]]、[[#防护分|防护分]](和[[#免疫分|免疫分]])、[[#感知分|感知分]]、[[#移速分|移速分]]、[[#机动分|机动分]]、[[#防御分|防御分]]、[[#能力分|能力分]]等构成(tbd:之后还将包括[[#物品分|物品分]])。 |
你可以直接使用 [http://www.necroz.com/project/smithy/widgets/meshalUtil/u_creatureStr.php 生物实力在线计算器] 来快速计算出生物的实力。 | 你可以直接使用 [http://www.necroz.com/project/smithy/widgets/meshalUtil/u_creatureStr.php 生物实力在线计算器] 来快速计算出生物的实力。 | ||
第85行: | 第100行: | ||
+ ($immunity['灵异'] == 0 ? array_sum(range(0, $prot['灵异'])) * $protM : 0) | + ($immunity['灵异'] == 0 ? array_sum(range(0, $prot['灵异'])) * $protM : 0) | ||
+ array_sum(range(0, $immunity['物理'] + $immunity['侵蚀'] + $immunity['灵异'])) * $immunityM; | + array_sum(range(0, $immunity['物理'] + $immunity['侵蚀'] + $immunity['灵异'])) * $immunityM; | ||
+ | </source> | ||
+ | }} | ||
+ | |||
+ | {{block|计算{{anchor|移速分|$strength['legerity']}}| | ||
+ | 每个移动方式都使生物的实力得到更多提升,因为这会拓展生物的行动维度。计算时,分别将每种移速都做等差数列求和,然后将结果相加并×[[#移速分系数|移速分系数]]。 | ||
+ | *移速不可能低于0,如果低于0则视作0 | ||
+ | ---- | ||
+ | 计算因子 | ||
+ | *{{anchor|移速分系数|$legerityM}}:{{#var:legerityMultiplier}} | ||
+ | ---- | ||
+ | 经过优化的PHP算法如下: | ||
+ | <source lang="php"> | ||
+ | /*计算移速分*/ | ||
+ | $strength['legerity'] = 0; | ||
+ | foreach ($move as $method => $speed) { | ||
+ | $strength['legerity'] += array_sum(range(0, $speed)) * $legerityM; | ||
+ | } | ||
+ | </source> | ||
+ | }} | ||
+ | |||
+ | {{block|计算{{anchor|知觉分|$strength['intuition']}}| | ||
+ | 计算时,统计生物的感知方式种类,然后将统计结果做等差数列求和,将结果×[[#知觉分类型系数|知觉分类型系数]]。在此结果上,再累加所有感知距离之和×[[#知觉分距离系数|知觉分距离系数]]。 | ||
+ | *知觉不可能低于0,如果低于0则视作0 | ||
+ | ---- | ||
+ | 计算因子 | ||
+ | *{{anchor|知觉分类型系数|$intuitionMethM}}:{{#var: intuitionMethodMultiplier}} | ||
+ | *{{anchor|知觉分距离系数|$intuitionDistM}}:{{#var: intuitionMultiplier}} | ||
+ | ---- | ||
+ | 经过优化的PHP算法如下: | ||
+ | <source lang="php"> | ||
+ | /*计算知觉分*/ | ||
+ | $strength['intuition'] = array_sum(range(0, count($intuition))) * $intuitionMethM | ||
+ | + array_sum($intuition) * $intuitionDistM; | ||
</source> | </source> | ||
}} | }} |