lockandkey: add portal summon queue, peace/magic combat states, 15min service check, add ah_recall nav
All checks were successful
/ test (push) Successful in 31s

This commit is contained in:
Erik 2026-04-14 22:05:08 +02:00
parent ac998c3872
commit 346409c284
4 changed files with 366 additions and 10 deletions

View file

@ -33,7 +33,7 @@ STATE: {Default}
IF: Not Expr {testvar[disableBellaServices]}
DO: DoExpr {setvar[disableBellaServices, 0]}
IF: Not Expr {testvar[serviceCheckInterval]}
DO: DoExpr {setvar[serviceCheckInterval, 43200]}
DO: DoExpr {setvar[serviceCheckInterval, 900]}
IF: Not Expr {testvar[serviceClock]}
DO: DoAll
DoExpr {setvar[serviceClock,stopwatchcreate[]]}
@ -53,7 +53,11 @@ STATE: {idle}
IF: Death
DO: SetState {death}
IF: Always
DO: Chat {/vt opt set enablebuffing false}
DO: DoAll
Chat {/vt opt set enablebuffing false}
DoExpr {setcombatstate[`peace`]}
DoExpr {clearvar[queuePrimary]}
DoExpr {clearvar[queueSecondary]}
~~ Listen for tells containing "primary"
IF: ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, ".*primary.*"$} {}
DO: SetState {summon_primary}
@ -76,7 +80,9 @@ STATE: {summon_primary}
DO: DoAll
Chat {/vt opt set enablecombat false}
Chat {/ub face 180}
DoExpr {setcombatstate[`magic`]}
DoExpr {actiontryequipanywand[]}
DoExpr {clearvar[queuePrimary]}
IF: SecsInStateGE 4
DO: DoExpr {actiontrycastbyid[157]}
~~ Fizzle: retry cast
@ -84,8 +90,13 @@ STATE: {summon_primary}
DO: DoAll
DoExpr {actiontrycastbyid[157]}
SetState {summon_primary}
~~ Queue incoming tells while casting
IF: ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, ".*primary.*"$} {}
DO: DoExpr {setvar[queuePrimary, 1]}
IF: ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, ".*secondary.*"$} {}
DO: DoExpr {setvar[queueSecondary, 1]}
IF: SecsInStateGE 17
DO: SetState {idle}
DO: SetState {summon_done}
STATE: {summon_secondary}
~~ Face 90, equip wand, cast Summon Secondary Portal I (2648), retry on fizzle
@ -95,7 +106,9 @@ STATE: {summon_secondary}
DO: DoAll
Chat {/vt opt set enablecombat false}
Chat {/ub face 90}
DoExpr {setcombatstate[`magic`]}
DoExpr {actiontryequipanywand[]}
DoExpr {clearvar[queueSecondary]}
IF: SecsInStateGE 4
DO: DoExpr {actiontrycastbyid[2648]}
~~ Fizzle: retry cast
@ -103,7 +116,21 @@ STATE: {summon_secondary}
DO: DoAll
DoExpr {actiontrycastbyid[2648]}
SetState {summon_secondary}
~~ Queue incoming tells while casting
IF: ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, ".*primary.*"$} {}
DO: DoExpr {setvar[queuePrimary, 1]}
IF: ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, ".*secondary.*"$} {}
DO: DoExpr {setvar[queueSecondary, 1]}
IF: SecsInStateGE 17
DO: SetState {summon_done}
STATE: {summon_done}
~~ Check queue: process next summon request or return to idle
IF: Expr {testvar[queuePrimary]}
DO: SetState {summon_primary}
IF: Expr {testvar[queueSecondary]}
DO: SetState {summon_secondary}
IF: Always
DO: SetState {idle}
STATE: {service_quest_refresh}