bool ASCharacter::IsSprinting() const { if (!GetCharacterMovement()) return false; return bWantsToRun && !IsTargeting() && !GetVelocity().IsZero() // Don't allow sprint while strafing sideways or standing still (1.0 is straight forward, -1.0 is backward while near 0 is sideways or standing still) && (GetVelocity().GetSafeNormal2D() | GetActorRotation().Vector()) > 0.8; // Changing this value to 0.1 allows for diagonal sprinting. (holding W+A or W+D keys) }
void AAmethystCharacter::OnStartRunningToggle() { AamethystforestPlayerController* MyPC = Cast<AamethystforestPlayerController>(Controller); if (MyPC && MyPC->IsGameInputAllowed()) { if (IsTargeting()) { SetTargeting(false); } StopWeaponFire(); SetRunning(true, true); } }