载入中...
搜索中...
未找到
CombatLoop.cpp
浏览该文件的文档.
9bool invulnerable(const CombatActionWindowState* windows, const CombatCharacterRuntime* characters,
20 return state && state.value().mode == CombatCharacterMode::Dodging && state.value().invulnerable;
28 Diagnostic::error(DiagnosticCode::NotFound, "combat loop requires character and melee runtimes", "loop"));
35 auto posed = enemies_->setPosition(state.subject, state.position.x, state.position.y, state.position.z);
42 auto moved = characters_->setMoveIntent(steer.subject, steer.moveDirection, steer.speedFraction);
135 Diagnostic::error(DiagnosticCode::NotFound, "loop damage target missing", hit.target.format()));
145 feel_ ? feel_->state(hit.target).hitstunRemaining : Duration::zero(), outcome.value().knockback);
174 return Result<CombatLoopFrame>::success(std::move(frame), Status::success(StatusCode::Applied));
Combat-owned active hitbox and invulnerability projections.
One-frame composition of character, melee, guard, feel and camera.
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
const std::string & format() const noexcept
Returns the canonical namespace:name representation.
Definition Identity.h:436
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
bool isValid() const noexcept
Return whether this reference is valid and non-nil.
Definition SubjectRef.h:38
Result< CombatCancelResolution > resolve(const CombatCancelResolveRequest &request)
Expire the buffer, consume the best allowed input, and optionally match the combo graph.
Definition CombatCancelResolver.cpp:5
Result< void > setFacing(SubjectRef subject, CombatVector3 facing)
Replace planar facing from a finite XZ vector; Y is ignored.
Definition CombatCharacter.cpp:267
Result< void > setTimeFrozen(SubjectRef subject, bool frozen)
Pause integration for hitstop while retaining the committed pose.
Definition CombatCharacter.cpp:281
Result< void > setRootMotionDelta(SubjectRef subject, CombatVector3 delta)
Queue one frame of authored root-motion delta consumed by the next advance.
Definition CombatCharacter.cpp:256
Result< CombatCharacterAdvance > advance(const SimulationStep &step)
Atomically advance every character using only the supplied deterministic step.
Definition CombatCharacter.cpp:290
std::vector< CombatCharacterState > states() const
Return owning states in stable subject-id order.
Definition CombatCharacter.cpp:406
Result< CombatCharacterState > state(SubjectRef subject) const
Return an owning state snapshot, or NotFound for a stale subject.
Definition CombatCharacter.cpp:74
Result< void > setMoveIntent(SubjectRef subject, CombatVector3 direction, double speedFraction)
Set normalized planar movement intent.
Definition CombatCharacter.cpp:82
Result< std::vector< CombatEnemySteering > > nextSteering(SimulationTick tick) const
Emit approach steering for Mid/Far enemies that are Idle (not punishing).
Definition CombatEnemyAI.cpp:122
Result< void > setPosition(SubjectRef subject, double x, double y, double z)
Provide world positions for band checks (enemies and their targets).
Definition CombatEnemyAI.cpp:48
Result< CombatLoopFrame > advance(const SimulationStep &step)
Advance every wired runtime with the supplied deterministic step.
Definition CombatLoop.cpp:25
static Result< CombatWarpResult > solve(const CombatWarpRequest &request)
Solve one warp step from owning request data.
Definition CombatMotionWarp.cpp:36
Result< CombatLockState > state(SubjectRef owner) const
Return owning lock state or NotFound.
Definition CombatTarget.cpp:118
bool isFrozen(SubjectRef subject) const noexcept
Whether the subject currently has positive hitstop remaining.
Definition HitFeel.cpp:121
Result< void > setHurtboxPose(SubjectRef subject, std::string_view hurtboxId, MeleePose pose)
Update the current world pose of one registered hurtbox.
Definition MeleeHit.cpp:203
Definition ActionDamageSink.cpp:9
@ Attacking
@ NotFound
@ NotFound
@ Applied
@ Conflict
Inputs for one deterministic cancel/combo resolution.
Definition CombatCancelResolver.h:17
SubjectRef subject
Definition CombatCancelResolver.h:18
std::vector< CombatEnemySteering > enemySteering
Definition CombatLoop.h:41
std::vector< CombatCancelResolution > cancels
Definition CombatLoop.h:40
Input for one deterministic motion-warp solve.
Definition CombatMotionWarp.h:12