载入中...
搜索中...
未找到
BodyPartDamage.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
6#include "combat/Damage.h"
7
8#include <map>
9#include <string>
10
11namespace eve::combat {
12
21public:
23 [[nodiscard]] Result<void> setMultiplier(std::string bodyPart, double multiplier);
25 [[nodiscard]] double multiplier(std::string_view bodyPart) const noexcept;
28 [[nodiscard]] Result<DamageAmounts> evaluate(const DamageRequest& request,
29 const CombatState& target) const override;
34 [[nodiscard]] Result<DamageAmounts> evaluateForPart(const DamageRequest& request, const CombatState& target,
35 std::string_view bodyPart) const;
36
37private:
38 std::map<std::string, double, std::less<>> multipliers_;
39};
40
41} // namespace eve::combat
LogicalId target
Deterministic damage, poise, hit-reaction and knockback resolution.
#define EVENGINE_API_BACKENDS
Definition Export.h:108
const GltfImportRequest & request
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Optional damage rule that multiplies health damage by a body-part key.
Optional game-owned mitigation/amplification policy.
Definition Damage.h:79
Mutable combat state owned by the gameplay domain for one subject.
Definition Damage.h:37
Owning input for one damage transaction.
Definition Damage.h:49