From 6aaadd36ba46c037da9a93d744a05179d586db7e Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 5 Aug 2026 11:26:19 +0200 Subject: [PATCH] Route recomp and death recovery through vr_runback recomp and death now transition through stuck/vr_runback instead of jumping straight to Hunt, so the character properly retraces vr_run -> vr_portal back into the hunting area rather than assuming it's still standing in Viridian Rise after a vendor trip or a Viridian Rise Recall. recomp's watchdog fallback now matches neftet's SetWatchdog 3 300 {Default}. Co-Authored-By: Claude Sonnet 5 --- af/viridian_rise.af | 14 ++++++++------ met/viridian_rise.met | 25 +++++++++++++++++++------ 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/af/viridian_rise.af b/af/viridian_rise.af index 7bc451a..2ce83f9 100644 --- a/af/viridian_rise.af +++ b/af/viridian_rise.af @@ -59,7 +59,7 @@ STATE: {Hunt} Expr {getvar[isLeader]} ChatMatch {cloud of dangerous gas!} DO: CallState {vr_gas_dodge} {Hunt} - IF: ChatCapture {^Your fellow "(?[^"]+)" has died!$} {} + IF: ChatCapture {(?\w[\w ]*\w) has died!$} {} DO: SetState {vr_runback} IF: All ItemCountLE 100 {Prismatic Taper} @@ -84,7 +84,9 @@ STATE: {Hunt} IF: All Expr {getvar[isLeader]} ChatCapture {(^(\[[A-z]+?\] |)You|.*\[^\<]*)\>.+\<\\Tell\>) .*, \"#recruitviridianrise\"$} {} - DO: ChatExpr {\/ub fellow recruit +getvar[capturegroup_who]} + DO: DoAll + ChatExpr {\/ub fellow recruit +getvar[capturegroup_who]} + SetState {Hunt} IF: All Expr {getvar[isLeader]} DistToRteGE 100 @@ -102,7 +104,7 @@ STATE: {Hunt} STATE: {vr_gas_dodge} IF: Always DO: Chat {/vt opt set navpriorityboost true} - IF: SecsInStateGE 2 + IF: SecsInStateGE 5 DO: DoAll Chat {/vt opt set navpriorityboost false} Return @@ -145,7 +147,7 @@ STATE: {recomp} NavEmpty DO: DoAll DoExpr {clearvar[vrRecompNavLoaded]} - SetState {Hunt} + SetState {stuck} IF: Always DO: DoAll DoExpr {setvar[diamondMissing, 100 - getitemcountininventorybyname[`Diamond Scarab`]]} @@ -158,7 +160,7 @@ STATE: {recomp} Chat {/vt nav load ah_recomp} Chat {/vt opt set enablenav true} IF: Always - DO: SetWatchdog 3 300 {stuck} + DO: SetWatchdog 3 300 {Default} STATE: {death} IF: ExitPortal @@ -172,7 +174,7 @@ STATE: {death} NavEmpty DO: DoAll DoExpr {clearvar[vrDeathNavLoaded]} - SetState {Hunt} + SetState {vr_runback} IF: Always DO: DoAll DoExpr {setvar[vrDeathNavLoaded, 1]} diff --git a/met/viridian_rise.met b/met/viridian_rise.met index 51a9492..cb4fab4 100644 --- a/met/viridian_rise.met +++ b/met/viridian_rise.met @@ -289,7 +289,7 @@ n s p s -^Your fellow "(?[^"]+)" has died!$ +(?\w[\w ]*\w) has died!$ s c s @@ -499,7 +499,7 @@ Hunt i 2 i -8 +3 TABLE 2 K @@ -537,6 +537,15 @@ s c s +TABLE +2 +K +V +n +n +2 +i +8 TABLE 2 k @@ -548,6 +557,10 @@ s e s \/ub fellow recruit +getvar[capturegroup_who] +i +1 +s +Hunt s Hunt i @@ -704,7 +717,7 @@ i i 3 i -2 +5 TABLE 2 K @@ -967,7 +980,7 @@ clearvar[vrRecompNavLoaded] i 1 s -Hunt +stuck s recomp i @@ -1082,7 +1095,7 @@ n s s s -stuck +Default s r d @@ -1175,7 +1188,7 @@ clearvar[vrDeathNavLoaded] i 1 s -Hunt +vr_runback s death i