Settles damage/healing against one RPG actor's AttributeSet. 更多...
#include <SettlementAdapter.h>
类 | |
| struct | Config |
| Attribute names used by the RPG policy. 更多... | |
Public 成员函数 | |
| RPGSettlementAdapter (RPGActor &target, SubjectRef targetRef) | |
| Bind a target actor with default RPG attribute names. | |
| RPGSettlementAdapter (RPGActor &target, SubjectRef targetRef, Config config) | |
| RPGSettlementAdapter (RPGActor &target, SubjectRef targetRef, RPGActor *source, SubjectRef sourceRef) | |
| Bind target and optional source actors with explicit identities. | |
| RPGSettlementAdapter (RPGActor &target, SubjectRef targetRef, RPGActor *source, SubjectRef sourceRef, Config config) | |
| RPGSettlementAdapter (const RPGSettlementAdapter &)=delete | |
| RPGSettlementAdapter & | operator= (const RPGSettlementAdapter &)=delete |
| const SubjectRef & | targetRef () const noexcept |
| Stable identity checked for the target side of the request. | |
| eve::Result< void > | validate (settlement::SettlementContext &context) override |
| Validate request and target-owned state without mutating it. | |
| eve::Result< void > | sourceModifiers (settlement::SettlementContext &context) override |
| Apply source-side modifiers such as critical or elemental power. | |
| eve::Result< void > | targetMitigation (settlement::SettlementContext &context) override |
| Apply target mitigation such as resistance or penetration rules. | |
| eve::Result< void > | armorShield (settlement::SettlementContext &context) override |
| Apply armor and shield policy, recording absorbed amount. | |
| eve::Result< void > | clamp (settlement::SettlementContext &context) override |
| Configure policy-specific amount bounds for the generic clamp. | |
| eve::Result< settlement::PreparedApply > | prepareApply (const settlement::SettlementContext &context) override |
| Build an atomic candidate mutation without publishing it. | |
| eve::Result< std::vector< settlement::SettlementRequest > > | prepareTrigger (const settlement::SettlementContext &context, const settlement::SettlementResult &result) override |
| Produce owning derived requests without mutating domain state. | |
Public 成员函数 继承自 eve::settlement::ISettlementPolicy | |
| virtual | ~ISettlementPolicy ()=default |
| I settlement policy. | |
| virtual eve::Result< void > | decide (SettlementContext &context) |
| Resolve deterministic hit, immunity, block or other supplied decisions. | |
详细描述
Settles damage/healing against one RPG actor's AttributeSet.
The target actor and optional source actor are borrowed for the synchronous call. targetRef and sourceRef are caller-owned stable identities; they are checked against the request and are never resolved by the pipeline.
在文件 SettlementAdapter.h 第 47 行定义.
构造及析构函数说明
◆ RPGSettlementAdapter() [1/5]
| eve::rpg::RPGSettlementAdapter::RPGSettlementAdapter | ( | RPGActor & | target, |
| SubjectRef | targetRef | ||
| ) |
Bind a target actor with default RPG attribute names.
在文件 SettlementAdapter.cpp 第 140 行定义.
◆ RPGSettlementAdapter() [2/5]
| eve::rpg::RPGSettlementAdapter::RPGSettlementAdapter | ( | RPGActor & | target, |
| SubjectRef | targetRef, | ||
| Config | config | ||
| ) |
在文件 SettlementAdapter.cpp 第 143 行定义.
◆ RPGSettlementAdapter() [3/5]
| eve::rpg::RPGSettlementAdapter::RPGSettlementAdapter | ( | RPGActor & | target, |
| SubjectRef | targetRef, | ||
| RPGActor * | source, | ||
| SubjectRef | sourceRef | ||
| ) |
Bind target and optional source actors with explicit identities.
在文件 SettlementAdapter.cpp 第 146 行定义.
◆ RPGSettlementAdapter() [4/5]
| eve::rpg::RPGSettlementAdapter::RPGSettlementAdapter | ( | RPGActor & | target, |
| SubjectRef | targetRef, | ||
| RPGActor * | source, | ||
| SubjectRef | sourceRef, | ||
| Config | config | ||
| ) |
在文件 SettlementAdapter.cpp 第 150 行定义.
◆ RPGSettlementAdapter() [5/5]
|
delete |
成员函数说明
◆ armorShield()
|
overridevirtual |
Apply armor and shield policy, recording absorbed amount.
实现了 eve::settlement::ISettlementPolicy.
在文件 SettlementAdapter.cpp 第 350 行定义.
引用了 eve::rpg::RPGSettlementAdapter::Config::armorAttribute, context, eve::Result< T >::failure(), eve::NotFound, eve::rpg::RPGSettlementAdapter::Config::shieldAttribute, status , 以及 eve::Result< T >::success().
◆ clamp()
|
overridevirtual |
Configure policy-specific amount bounds for the generic clamp.
实现了 eve::settlement::ISettlementPolicy.
在文件 SettlementAdapter.cpp 第 404 行定义.
引用了 context, eve::Result< T >::failure(), eve::rpg::RPGSettlementAdapter::Config::healthAttribute, eve::rpg::RPGSettlementAdapter::Config::maxHealthAttribute, maximum, status , 以及 eve::Result< T >::success().
◆ operator=()
|
delete |
◆ prepareApply()
|
overridevirtual |
Build an atomic candidate mutation without publishing it.
实现了 eve::settlement::ISettlementPolicy.
在文件 SettlementAdapter.cpp 第 428 行定义.
引用了 eve::Applied, context, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::rpg::RPGSettlementAdapter::Config::healthAttribute, eve::InvariantViolation, eve::rpg::RPGSettlementAdapter::Config::maxHealthAttribute, maximum, eve::NotFound, eve::Pending, pending, eve::rpg::RPGSettlementAdapter::Config::shieldAttribute, status, eve::Result< T >::success() , 以及 values.
◆ prepareTrigger()
|
overridevirtual |
Produce owning derived requests without mutating domain state.
- 返回
- Requests in deterministic execution order; empty is the common case.
重载 eve::settlement::ISettlementPolicy .
在文件 SettlementAdapter.cpp 第 487 行定义.
引用了 eve::settlement::SettlementResult::absorbed, eve::settlement::SettlementResult::applied, eve::settlement::SettlementRequest::chain, context, eve::settlement::SettlementRequest::decisions, eve::rpg::RPGSettlementAdapter::Config::emitLifeTransitions, eve::rpg::RPGSettlementAdapter::Config::healthAttribute, key, eve::settlement::SettlementRequest::kind, eve::settlement::SettlementRequest::magnitude, eve::NotFound, eve::settlement::SettlementRequest::resource, eve::rpg::RPGSettlementAdapter::Config::shieldAttribute, eve::settlement::SettlementRequest::tags , 以及 eve::settlement::SettlementRequest::trigger.
◆ sourceModifiers()
|
overridevirtual |
Apply source-side modifiers such as critical or elemental power.
实现了 eve::settlement::ISettlementPolicy.
在文件 SettlementAdapter.cpp 第 248 行定义.
引用了 context, eve::rpg::RPGSettlementAdapter::Config::criticalChanceAttribute, eve::rpg::RPGSettlementAdapter::Config::criticalMultiplierAttribute, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, roll, eve::rpg::RPGSettlementAdapter::Config::sourceMultiplierAttribute, status, eve::Result< T >::success() , 以及 value.
◆ targetMitigation()
|
overridevirtual |
Apply target mitigation such as resistance or penetration rules.
实现了 eve::settlement::ISettlementPolicy.
在文件 SettlementAdapter.cpp 第 320 行定义.
引用了 context, element, eve::Result< T >::failure(), eve::rpg::RPGSettlementAdapter::Config::resistancePrefix, status , 以及 eve::Result< T >::success().
◆ targetRef()
|
inlinenoexcept |
Stable identity checked for the target side of the request.
在文件 SettlementAdapter.h 第 77 行定义.
◆ validate()
|
overridevirtual |
Validate request and target-owned state without mutating it.
实现了 eve::settlement::ISettlementPolicy.
在文件 SettlementAdapter.cpp 第 214 行定义.
引用了 eve::Conflict, context, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::rpg::RPGSettlementAdapter::Config::healthAttribute, eve::InvariantViolation, eve::rpg::RPGSettlementAdapter::Config::maxHealthAttribute, maximum, status, eve::Result< T >::success() , 以及 eve::Unsupported.
该类的文档由以下文件生成:
- src/modules/rpg/SettlementAdapter.h
- src/modules/rpg/SettlementAdapter.cpp
Public 成员函数 继承自