载入中...
搜索中...
未找到
CombatMotionWarp.cpp
浏览该文件的文档.
8bool finite3(CombatVector3 value) { return std::isfinite(value.x) && std::isfinite(value.y) && std::isfinite(value.z); }
26 Diagnostic::error(DiagnosticCode::InvalidArgument, "desired warp distance is invalid", "desiredDistance"));
29 Diagnostic::error(DiagnosticCode::InvalidArgument, "max warp translation is invalid", "maxTranslation"));
32 Diagnostic::error(DiagnosticCode::InvalidArgument, "warp budget is invalid", "remainingBudget"));
42 CombatVector3 delta{request.target.x - request.attacker.x, 0.0, request.target.z - request.attacker.z};
49 if (std::abs(error) <= 1e-6) return Result<CombatWarpResult>::success(result, Status::success(StatusCode::NoOp));
57 Diagnostic::error(DiagnosticCode::Conflict, "motion warp would exceed remaining budget", "budget"));
Bounded attack translation/facing correction toward a lock target.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
static Result< CombatWarpResult > solve(const CombatWarpRequest &request)
Solve one warp step from owning request data.
Definition CombatMotionWarp.cpp:36
Definition ActionDamageSink.cpp:9
@ InvalidArgument
@ Conflict
@ NoOp
@ Applied
Input for one deterministic motion-warp solve.
Definition CombatMotionWarp.h:12
double desiredDistance
Definition CombatMotionWarp.h:16
CombatVector3 attackerFacing
Definition CombatMotionWarp.h:15
Result< void > validate() const
Reject non-finite poses, distances or budgets.
Definition CombatMotionWarp.cpp:20
double remainingBudget
Definition CombatMotionWarp.h:18
Owning warp delta that callers add to root motion or position.
Definition CombatMotionWarp.h:27