Optional damage rule that multiplies health damage by a body-part key. 更多...
#include <BodyPartDamage.h>
Public 成员函数 | |
| Result< void > | setMultiplier (std::string bodyPart, double multiplier) |
| Register or replace one finite non-negative body-part multiplier. | |
| double | multiplier (std::string_view bodyPart) const noexcept |
| Return the multiplier for a part, or 1.0 when unregistered. | |
| Result< DamageAmounts > | evaluate (const DamageRequest &request, const CombatState &target) const override |
| Resolve final non-negative amounts without mutating target state. | |
| Result< DamageAmounts > | evaluateForPart (const DamageRequest &request, const CombatState &target, std::string_view bodyPart) const |
| Evaluate with an explicit body-part key. | |
Public 成员函数 继承自 eve::combat::IDamageRule | |
| virtual | ~IDamageRule ()=default |
| Releases IDamageRule resources. | |
详细描述
Optional damage rule that multiplies health damage by a body-part key.
The damage request's damageType suffix after the final '.' may encode a part override, but the preferred path sets incomingDamageMultiplier before apply or uses evaluateForPart. Missing parts use multiplier 1.0.
在文件 BodyPartDamage.h 第 20 行定义.
成员函数说明
◆ evaluate()
|
overridevirtual |
Resolve final non-negative amounts without mutating target state.
Evaluate.
在文件 BodyPartDamage.cpp 第 23 行定义.
引用了 eve::Diagnostic::error(), eve::combat::DamageAmounts::healthDamage, eve::InvalidArgument, eve::combat::DamageAmounts::knockbackScale, eve::combat::DamageAmounts::poiseDamage, request, eve::Result< T >::success() , 以及 target.
被这些函数引用 evaluateForPart().
◆ evaluateForPart()
| Result< DamageAmounts > eve::combat::BodyPartDamageRule::evaluateForPart | ( | const DamageRequest & | request, |
| const CombatState & | target, | ||
| std::string_view | bodyPart | ||
| ) | const |
Evaluate with an explicit body-part key.
- 备注
- Multiplies request.healthDamage by the part multiplier and leaves poise unchanged.
在文件 BodyPartDamage.cpp 第 36 行定义.
引用了 evaluate(), eve::combat::DamageRequest::incomingDamageMultiplier, multiplier(), request , 以及 target.
◆ multiplier()
|
noexcept |
Return the multiplier for a part, or 1.0 when unregistered.
在文件 BodyPartDamage.cpp 第 18 行定义.
引用了 found.
被这些函数引用 evaluateForPart() , 以及 setMultiplier().
◆ setMultiplier()
| Result< void > eve::combat::BodyPartDamageRule::setMultiplier | ( | std::string | bodyPart, |
| double | multiplier | ||
| ) |
Register or replace one finite non-negative body-part multiplier.
在文件 BodyPartDamage.cpp 第 9 行定义.
引用了 eve::Applied, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, multiplier(), eve::Status::success() , 以及 eve::Result< T >::success().
该类的文档由以下文件生成:
- src/modules/combat/BodyPartDamage.h
- src/modules/combat/BodyPartDamage.cpp
Public 成员函数 继承自