fix lockandkey: cast portal once with fizzle retry, disable buffing except during jaw hunt
All checks were successful
/ test (push) Successful in 36s

This commit is contained in:
Erik 2026-04-14 21:48:31 +02:00
parent 6780b985cb
commit ac998c3872
2 changed files with 64 additions and 115 deletions

View file

@ -44,16 +44,16 @@ STATE: {Default}
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablenav false}
Chat {/vt opt set enablebuffing true}
Chat {/vt opt set enablebuffing false}
SetState {service_quest_refresh}
~~ }
STATE: {idle}
~~ Main loop: listen for portal tells, check service timer, handle buffs
~~ Main loop: listen for portal tells, check service timer
IF: Death
DO: SetState {death}
IF: NeedToBuff
DO: SetState {buffing}
IF: Always
DO: Chat {/vt opt set enablebuffing false}
~~ Listen for tells containing "primary"
IF: ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, ".*primary.*"$} {}
DO: SetState {summon_primary}
@ -69,7 +69,7 @@ STATE: {idle}
DO: None
STATE: {summon_primary}
~~ Face 180, equip wand, cast Summon Primary Portal I (157) with retries
~~ Face 180, equip wand, cast Summon Primary Portal I (157), retry on fizzle
IF: Death
DO: SetState {death}
IF: Always
@ -79,15 +79,16 @@ STATE: {summon_primary}
DoExpr {actiontryequipanywand[]}
IF: SecsInStateGE 4
DO: DoExpr {actiontrycastbyid[157]}
IF: SecsInStateGE 7
DO: DoExpr {actiontrycastbyid[157]}
IF: SecsInStateGE 10
DO: DoExpr {actiontrycastbyid[157]}
~~ Fizzle: retry cast
IF: ChatMatch {Your spell fizzled.}
DO: DoAll
DoExpr {actiontrycastbyid[157]}
SetState {summon_primary}
IF: SecsInStateGE 17
DO: SetState {idle}
STATE: {summon_secondary}
~~ Face 90, equip wand, cast Summon Secondary Portal I (2648) with retries
~~ Face 90, equip wand, cast Summon Secondary Portal I (2648), retry on fizzle
IF: Death
DO: SetState {death}
IF: Always
@ -97,22 +98,14 @@ STATE: {summon_secondary}
DoExpr {actiontryequipanywand[]}
IF: SecsInStateGE 4
DO: DoExpr {actiontrycastbyid[2648]}
IF: SecsInStateGE 7
DO: DoExpr {actiontrycastbyid[2648]}
IF: SecsInStateGE 10
DO: DoExpr {actiontrycastbyid[2648]}
~~ Fizzle: retry cast
IF: ChatMatch {Your spell fizzled.}
DO: DoAll
DoExpr {actiontrycastbyid[2648]}
SetState {summon_secondary}
IF: SecsInStateGE 17
DO: SetState {idle}
STATE: {buffing}
~~ Wait for buffs to complete, then return to idle
IF: Death
DO: SetState {death}
IF: Not NeedToBuff
DO: SetState {idle}
IF: SecsInStateGE 120
DO: SetState {idle}
STATE: {service_quest_refresh}
~~ Request quest status refresh, wait for completion
IF: Death
@ -207,7 +200,7 @@ STATE: {service_bella_start}
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablenav false}
Chat {/vt opt set enablebuffing true}
Chat {/vt opt set enablebuffing false}
IF: SecsInStateGE 2
DO: DoAll
Chat {/a [bella] starting marketplace entry}
@ -230,7 +223,6 @@ STATE: {service_bella_mp_primary}
DO: SetState {service_bella_backoff}
IF: Always
DO: DoAll
Chat {/vt opt set enablebuffing true}
Chat {/vt opt set enablenav true}
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
@ -304,6 +296,8 @@ STATE: {service_bella_jaw_hunt}
~~ Hunt for jaw drop
IF: Death
DO: SetState {death}
IF: Always
DO: Chat {/vt opt set enablebuffing true}
IF: ExitPortal
DO: DoAll
Chat {/vt opt set enablenav true}
@ -374,7 +368,7 @@ STATE: {service_reset_main}
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablenav true}
Chat {/vt opt set enablebuffing true}
Chat {/vt opt set enablebuffing false}
DoExpr {setvar[serviceClock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[serviceClock]]}
DoExpr {touchvar[resetNavLoaded]}