lockandkey: replace marketplace bella entry with Primary Portal Recall via nav_lockandkeyjaw
All checks were successful
/ test (push) Successful in 19s

This commit is contained in:
Erik 2026-04-14 22:42:53 +02:00
parent 774932ae27
commit e70c1e0833
4 changed files with 411 additions and 710 deletions

View file

@ -18,10 +18,6 @@
STATE: {Default}
~~ Init variables then transition to service check
IF: Not Expr {testvar[bellaStartAttempts]}
DO: DoExpr {setvar[bellaStartAttempts, 0]}
IF: Not Expr {testvar[bellaMpPrimaryAttempts]}
DO: DoExpr {setvar[bellaMpPrimaryAttempts, 0]}
IF: Not Expr {testvar[bellaTurnInAttempts]}
DO: DoExpr {setvar[bellaTurnInAttempts, 0]}
IF: Not Expr {testvar[bellaJawRunRecoverAttempts]}
@ -179,8 +175,6 @@ STATE: {service_decide}
Expr {stopwatchelapsedseconds[getvar[bellaBackoffClock]]>=getvar[bellaBackoffSeconds]}
DO: DoAll
DoExpr {setvar[disableBellaServices, 0]}
DoExpr {setvar[bellaStartAttempts, 0]}
DoExpr {setvar[bellaMpPrimaryAttempts, 0]}
DoExpr {setvar[bellaTurnInAttempts, 0]}
DoExpr {setvar[bellaJawRunRecoverAttempts, 0]}
DoExpr {clearvar[bellaBackoffClock]}
@ -201,7 +195,7 @@ STATE: {service_decide}
IF: All
Expr {getvar[disableBellaServices]!=1}
Expr {getqueststatus[`insatiableeaterjaw`]==1}
DO: SetState {service_bella_start}
DO: SetState {service_bella_jaw_entry}
~~ Nothing to do, return to idle
IF: Always
DO: DoAll
@ -230,110 +224,39 @@ STATE: {service_stipend}
SecsInStateGE 2
DO: SetState {service_reset_main}
STATE: {service_bella_start}
~~ Enter marketplace for bella jaw run
STATE: {service_bella_jaw_entry}
~~ Primary Portal Recall into jaw dungeon, then run nav_lockandkeyjaw
IF: Death
DO: SetState {death}
IF: Always
DO: DoExpr {setvar[bellaStartAttempts,getvar[bellaStartAttempts]+1]}
IF: Expr {getvar[bellaStartAttempts]>=3}
DO: SetState {service_bella_backoff}
IF: Always
DO: DoAll
Chat {/a [bella] recalling to jaw dungeon via primary portal}
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablenav false}
Chat {/vt opt set enablenav true}
Chat {/vt opt set enablebuffing false}
IF: SecsInStateGE 2
DO: DoAll
Chat {/a [bella] starting marketplace entry}
Chat {/vt opt set enablenav false}
Chat {/mp}
IF: ExitPortal
DO: DoAll
DoExpr {setvar[bellaStartAttempts, 0]}
SetState {service_bella_mp_primary}
IF: SecsInStateGE 120
DO: SetState {service_bella_start}
STATE: {service_bella_mp_primary}
~~ Navigate through marketplace primary path to jaw dungeon portal
IF: Death
DO: SetState {death}
IF: Always
DO: DoExpr {setvar[bellaMpPrimaryAttempts,getvar[bellaMpPrimaryAttempts]+1]}
IF: Expr {getvar[bellaMpPrimaryAttempts]>=3}
DO: SetState {service_bella_backoff}
IF: Always
DO: DoAll
Chat {/vt opt set enablenav true}
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set NavPriorityBoost false}
Chat {/vt opt set navclosestoprange 0.008}
IF: Expr {getplayerlandblock[]==23855104}
DO: Chat {/vt nav load mp_primary}
DoExpr {touchvar[jawEntryNavLoaded]}
Chat {/vt nav load nav_lockandkeyjaw}
SetWatchdog 3 600 {service_bella_backoff}
IF: All
Expr {getplayerlandblock[]!=23855104}
SecsInStateGE 30
DO: DoAll
Chat {/a [bella] wrong mp_primary landblock, restarting marketplace entry}
SetState {service_bella_start}
IF: ExitPortal
DO: DoAll
Chat {/vt opt set enablenav false}
DoExpr {setvar[bellaMpPrimaryAttempts, 0]}
SetState {service_bella_jaw_run}
IF: SecsInStateGE 60
DO: DoAll
Chat {/a [bella] mp_primary timed out, restarting marketplace entry}
SetState {service_bella_start}
STATE: {service_bella_jaw_run}
~~ Run jaw dungeon nav
IF: Death
DO: SetState {death}
IF: Expr {getplayerlandblock[]==9830400}
DO: DoAll
Chat {/vt opt set enablenav true}
Chat {/vt nav load jaw_1}
IF: All
Expr {getplayerlandblock[]!=9830400}
SecsInStateGE 30
DO: DoAll
Chat {/a [bella] wrong jaw_run landblock, restarting marketplace entry}
SetState {service_bella_start}
IF: All
Expr {getplayerlandblock[]==9830400}
SecsInStateGE 30
Expr {testvar[jawEntryNavLoaded]}
NavEmpty
SecsInStateGE 2
DO: DoAll
DoExpr {setvar[bellaStartAttempts, 0]}
DoExpr {clearvar[jawEntryNavLoaded]}
DoExpr {setvar[bellaJawRunRecoverAttempts, 0]}
Chat {/vt nav load jaw_1_hunt}
Chat {/vt opt set enablecombat true}
Chat {/vt opt set enablelooting true}
Chat {/vt opt set lootonlyrarecorpses false}
SetState {service_bella_jaw_hunt}
IF: All
SecsInStateGE 300
Expr {getvar[bellaJawRunRecoverAttempts]<3}
DO: DoAll
DoExpr {chatbox[`/a [bella] jaw_run stuck, recall retry `+cstr[getvar[bellaJawRunRecoverAttempts]+1]+`/3`]}
DoExpr {setvar[bellaJawRunRecoverAttempts,getvar[bellaJawRunRecoverAttempts]+1]}
Chat {/vt nav load nav_portal_recall}
SetState {service_bella_jaw_run_recover}
IF: All
SecsInStateGE 300
Expr {getvar[bellaJawRunRecoverAttempts]>=3}
DO: SetState {service_bella_backoff}
STATE: {service_bella_jaw_run_recover}
~~ Recovery wait for jaw run stuck
IF: Death
DO: SetState {death}
IF: SecsInStateGE 20
DO: SetState {service_bella_jaw_run}
DO: SetState {service_bella_jaw_entry}
STATE: {service_bella_jaw_hunt}
~~ Hunt for jaw drop
@ -350,7 +273,7 @@ STATE: {service_bella_jaw_hunt}
Chat {/vt opt set enablecombat false}
Chat {/vt nav load to_fiun}
IF: SecsInStateGE 1200
DO: SetState {service_bella_start}
DO: SetState {service_bella_backoff}
STATE: {service_bella_turn_in_jaw}
~~ Turn in jaw to Fiun NPC, then return home (partial bella - no mp_trans/secondary/kill)
@ -390,8 +313,6 @@ STATE: {service_bella_backoff}
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablenav true}
DoExpr {setvar[disableBellaServices, 1]}
DoExpr {setvar[bellaStartAttempts, 0]}
DoExpr {setvar[bellaMpPrimaryAttempts, 0]}
DoExpr {setvar[bellaTurnInAttempts, 0]}
DoExpr {setvar[bellaJawRunRecoverAttempts, 0]}
DoExpr {setvar[bellaBackoffClock,stopwatchcreate[]]}