Skip to content

Commit 5ca4c8a

Browse files
Pyrhameclaude
andcommitted
Fix autowalk speed: remove SpeedMult boost, let AI handle run speed
SpeedMult was set to 250 causing unnaturally fast movement during autowalk. Now lets the AI pathfinding handle speed naturally. Also adds diagnostic logging for quest/dispatch debugging. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent aa10333 commit 5ca4c8a

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

autowalk/SkyrimTTS_AutoWalk.pex

-144 Bytes
Binary file not shown.

src/autowalk.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,10 @@ static void StartAutoWalk(RE::FormID targetFormID, float stopDistance = 100.0f,
190190

191191
task->AddTask([targetFormID, stopDistance, posX, posY, posZ, useCoords]() {
192192
// Forcer l'initialisation du mouvement avant de lancer l'IA
193-
// (corrige le bug de vitesse lente si autowalk lancé sans marcher après un chargement)
194193
auto* player = RE::PlayerCharacter::GetSingleton();
195194
if (player) {
195+
// Forcer l'initialisation du mouvement avant de lancer l'IA
196+
// (corrige le bug de vitesse lente si autowalk lancé sans marcher après un chargement)
196197
auto* avo = player->AsActorValueOwner();
197198
if (avo) {
198199
float base = avo->GetBaseActorValue(RE::ActorValue::kSpeedMult);
@@ -247,6 +248,9 @@ static void StartAutoWalk(RE::FormID targetFormID, float stopDistance = 100.0f,
247248
LOG("AutoWalk: coords mode FormID={:08X} pos=({:.0f},{:.0f},{:.0f})", targetFormID, posX, posY, posZ);
248249
}
249250

251+
LOG("AutoWalk: quest running={}, formID={:08X}, handle={:X}",
252+
quest->IsRunning(), quest->GetFormID(), handle);
253+
250254
RE::BSTSmartPointer<RE::BSScript::IStackCallbackFunctor> callback;
251255
bool ok = vm->DispatchMethodCall(
252256
handle,
@@ -256,6 +260,8 @@ static void StartAutoWalk(RE::FormID targetFormID, float stopDistance = 100.0f,
256260
callback
257261
);
258262

263+
LOG("AutoWalk: DispatchMethodCall returned {}", ok);
264+
259265
if (ok) {
260266
g_autoWalking.store(true);
261267
auto* p = RE::PlayerCharacter::GetSingleton();

0 commit comments

Comments
 (0)