lockandkey: add chat feedback for portal summoning, fizzle retries, and queue status
All checks were successful
/ test (push) Successful in 35s

This commit is contained in:
Erik 2026-04-14 22:10:22 +02:00
parent 346409c284
commit f88481f0d1
2 changed files with 124 additions and 14 deletions

View file

@ -78,6 +78,7 @@ STATE: {summon_primary}
DO: SetState {death}
IF: Always
DO: DoAll
Chat {/a Summoning 125 Eaters portal...}
Chat {/vt opt set enablecombat false}
Chat {/ub face 180}
DoExpr {setcombatstate[`magic`]}
@ -88,13 +89,18 @@ STATE: {summon_primary}
~~ Fizzle: retry cast
IF: ChatMatch {Your spell fizzled.}
DO: DoAll
Chat {/a Fizzled! Retrying 125 Eaters portal...}
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]}
DO: DoAll
Chat {/a Queued 125 Eaters portal, will summon shortly.}
DoExpr {setvar[queuePrimary, 1]}
IF: ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, ".*secondary.*"$} {}
DO: DoExpr {setvar[queueSecondary, 1]}
DO: DoAll
Chat {/a Queued Bellas portal, will summon shortly.}
DoExpr {setvar[queueSecondary, 1]}
IF: SecsInStateGE 17
DO: SetState {summon_done}
@ -104,6 +110,7 @@ STATE: {summon_secondary}
DO: SetState {death}
IF: Always
DO: DoAll
Chat {/a Summoning Bellas portal...}
Chat {/vt opt set enablecombat false}
Chat {/ub face 90}
DoExpr {setcombatstate[`magic`]}
@ -114,22 +121,31 @@ STATE: {summon_secondary}
~~ Fizzle: retry cast
IF: ChatMatch {Your spell fizzled.}
DO: DoAll
Chat {/a Fizzled! Retrying Bellas portal...}
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]}
DO: DoAll
Chat {/a Queued 125 Eaters portal, will summon shortly.}
DoExpr {setvar[queuePrimary, 1]}
IF: ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, ".*secondary.*"$} {}
DO: DoExpr {setvar[queueSecondary, 1]}
DO: DoAll
Chat {/a Queued Bellas portal, will summon shortly.}
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}
DO: DoAll
Chat {/a Processing queued 125 Eaters portal...}
SetState {summon_primary}
IF: Expr {testvar[queueSecondary]}
DO: SetState {summon_secondary}
DO: DoAll
Chat {/a Processing queued Bellas portal...}
SetState {summon_secondary}
IF: Always
DO: SetState {idle}