220 lines
5.6 KiB
Text
220 lines
5.6 KiB
Text
~~ {
|
|
~~ Hunting Meta - Solo lifestone grinding with death recovery, restock, and stuck detection
|
|
~~
|
|
~~ File auto-generated by metaf, a program created by Eskarina of Morningthaw/Coldeve.
|
|
~~ Get metaf here: https://github.com/JJEII/metaf/
|
|
~~
|
|
~~ All recognized structural designators:
|
|
~~ STATE: DO:
|
|
~~ IF: NAV:
|
|
~~
|
|
~~ All recognized CONDITION (IF:) operation keywords:
|
|
~~ Never NavEmpty MobsInDist_Priority Not
|
|
~~ Always Death NeedToBuff PSecsInStateGE
|
|
~~ All VendorOpen NoMobsInDist SecsOnSpellGE
|
|
~~ Any VendorClosed BlockE BuPercentGE
|
|
~~ ChatMatch ItemCountLE CellE DistToRteGE
|
|
~~ MainSlotsLE ItemCountGE IntoPortal Expr
|
|
~~ SecsInStateGE MobsInDist_Name ExitPortal ChatCapture
|
|
~~
|
|
~~ All recognized ACTION (DO:) operation keywords:
|
|
~~ None EmbedNav ChatExpr SetOpt
|
|
~~ SetState CallState SetWatchdog CreateView
|
|
~~ Chat Return ClearWatchdog DestroyView
|
|
~~ DoAll DoExpr GetOpt DestroyAllViews
|
|
~~
|
|
~~ All recognized NAV types:
|
|
~~ circular follow
|
|
~~ linear once
|
|
~~
|
|
~~ All recognized NAV NODE types:
|
|
~~ flw vnd
|
|
~~ pnt ptl
|
|
~~ rcl tlk
|
|
~~ pau chk
|
|
~~ cht jmp
|
|
~~ prt (deprecated in VTank)
|
|
~~ }
|
|
|
|
STATE: {Default} ~~ {
|
|
IF: Always
|
|
DO: DoAll
|
|
Chat {/vt opt set enablebuffing true}
|
|
Chat {/vt opt set enablenav true}
|
|
Chat {/vt opt set enablecombat true}
|
|
Chat {/vt opt set enablelooting true}
|
|
Chat {/vt opt set navpriorityboost false}
|
|
Chat {/vt opt set lootpriorityboost true}
|
|
Chat {/vt nav load hunt_circuit}
|
|
SetState {Hunt}
|
|
~~ }
|
|
STATE: {Hunt} ~~ {
|
|
IF: Death
|
|
DO: SetState {Death}
|
|
IF: All
|
|
ItemCountLE 20 {Prismatic Taper}
|
|
NoMobsInDist 5
|
|
DO: DoAll
|
|
Chat {/a Low on tapers, heading to vendor.}
|
|
SetState {Restock}
|
|
IF: All
|
|
ItemCountLE 20 {Scarab}
|
|
NoMobsInDist 5
|
|
DO: DoAll
|
|
Chat {/a Low on scarabs, heading to vendor.}
|
|
SetState {Restock}
|
|
IF: MainSlotsLE 3
|
|
DO: DoAll
|
|
Chat {/a Inventory full, heading to vendor.}
|
|
SetState {Restock}
|
|
IF: NeedToBuff
|
|
DO: DoAll
|
|
Chat {/vt opt set enablenav false}
|
|
Chat {/vt opt set enablecombat false}
|
|
SetState {Buffing}
|
|
IF: Always
|
|
DO: SetWatchdog 3 120 {Stuck}
|
|
IF: DistToRteGE 500
|
|
DO: SetState {Stuck}
|
|
IF: MobsInDist_Name 1 12 {}
|
|
DO: DoAll
|
|
Chat {/vt opt set enablecombat true}
|
|
IF: NoMobsInDist 12
|
|
DO: DoAll
|
|
Chat {/vt opt set enablecombat false}
|
|
IF: NavEmpty
|
|
DO: DoAll
|
|
Chat {/vt nav load hunt_circuit}
|
|
Chat {/vt opt set enablenav true}
|
|
~~ }
|
|
STATE: {Death} ~~ {
|
|
IF: Always
|
|
DO: DoAll
|
|
Chat {/vt opt set enablecombat false}
|
|
Chat {/vt opt set enablenav false}
|
|
Chat {/a I died! Recovering...}
|
|
IF: SecsInStateGE 5
|
|
DO: DoAll
|
|
Chat {/vt opt set enablebuffing true}
|
|
SetState {DeathRecovery}
|
|
~~ }
|
|
STATE: {DeathRecovery} ~~ {
|
|
IF: Always
|
|
DO: DoAll
|
|
Chat {/vt nav load ls_to_hunt}
|
|
Chat {/vt opt set enablenav true}
|
|
Chat {/vt opt set enablecombat false}
|
|
IF: NeedToBuff
|
|
DO: DoAll
|
|
Chat {/vt opt set enablenav false}
|
|
SetState {Buffing}
|
|
IF: NavEmpty
|
|
DO: DoAll
|
|
Chat {/vt nav load hunt_circuit}
|
|
Chat {/vt opt set enablecombat true}
|
|
SetState {Hunt}
|
|
IF: Always
|
|
DO: SetWatchdog 3 300 {Stuck}
|
|
~~ }
|
|
STATE: {Buffing} ~~ {
|
|
IF: Always
|
|
DO: DoAll
|
|
Chat {/vt opt set enablebuffing true}
|
|
Chat {/vt opt set enablecombat false}
|
|
Chat {/vt opt set enablenav false}
|
|
IF: All
|
|
Not NeedToBuff
|
|
NoMobsInDist 5
|
|
DO: DoAll
|
|
Chat {/vt opt set enablenav true}
|
|
Chat {/vt opt set enablecombat true}
|
|
SetState {Hunt}
|
|
IF: SecsInStateGE 180
|
|
DO: DoAll
|
|
Chat {/vt opt set enablenav true}
|
|
Chat {/vt opt set enablecombat true}
|
|
SetState {Hunt}
|
|
~~ }
|
|
STATE: {Restock} ~~ {
|
|
IF: Death
|
|
DO: SetState {Death}
|
|
IF: Always
|
|
DO: DoAll
|
|
Chat {/vt opt set enablecombat false}
|
|
Chat {/vt opt set enablelooting false}
|
|
Chat {/vt nav load hunt_to_vendor}
|
|
Chat {/vt opt set enablenav true}
|
|
IF: Always
|
|
DO: SetWatchdog 3 300 {Stuck}
|
|
IF: NavEmpty
|
|
DO: SetState {AtVendor}
|
|
~~ }
|
|
STATE: {AtVendor} ~~ {
|
|
IF: Death
|
|
DO: SetState {Death}
|
|
IF: VendorOpen
|
|
DO: DoAll
|
|
Chat {/vt opt set enablenav false}
|
|
IF: All
|
|
VendorClosed
|
|
ItemCountGE 200 {Prismatic Taper}
|
|
ItemCountGE 200 {Scarab}
|
|
DO: DoAll
|
|
Chat {/a Restocked, heading back to hunt.}
|
|
Chat {/vt nav load vendor_to_hunt}
|
|
Chat {/vt opt set enablenav true}
|
|
SetState {ReturnToHunt}
|
|
IF: SecsInStateGE 120
|
|
DO: DoAll
|
|
Chat {/a Vendor timeout, returning to hunt.}
|
|
Chat {/vt nav load vendor_to_hunt}
|
|
Chat {/vt opt set enablenav true}
|
|
SetState {ReturnToHunt}
|
|
~~ }
|
|
STATE: {ReturnToHunt} ~~ {
|
|
IF: Death
|
|
DO: SetState {Death}
|
|
IF: Always
|
|
DO: DoAll
|
|
Chat {/vt opt set enablecombat false}
|
|
IF: Always
|
|
DO: SetWatchdog 3 300 {Stuck}
|
|
IF: NeedToBuff
|
|
DO: DoAll
|
|
Chat {/vt opt set enablenav false}
|
|
SetState {Buffing}
|
|
IF: NavEmpty
|
|
DO: DoAll
|
|
Chat {/vt nav load hunt_circuit}
|
|
Chat {/vt opt set enablecombat true}
|
|
Chat {/vt opt set enablelooting true}
|
|
SetState {Hunt}
|
|
~~ }
|
|
STATE: {Stuck} ~~ {
|
|
IF: Always
|
|
DO: DoAll
|
|
Chat {/a I appear to be stuck, attempting recovery.}
|
|
Chat {/vt opt set enablenav false}
|
|
Chat {/vt opt set enablecombat false}
|
|
IF: SecsInStateGE 3
|
|
DO: DoAll
|
|
Chat {/vt nav load ls_to_hunt}
|
|
Chat {/vt opt set enablenav true}
|
|
SetState {StuckRecovery}
|
|
~~ }
|
|
STATE: {StuckRecovery} ~~ {
|
|
IF: Death
|
|
DO: SetState {Death}
|
|
IF: Always
|
|
DO: SetWatchdog 3 300 {Stuck}
|
|
IF: NeedToBuff
|
|
DO: DoAll
|
|
Chat {/vt opt set enablenav false}
|
|
SetState {Buffing}
|
|
IF: NavEmpty
|
|
DO: DoAll
|
|
Chat {/vt nav load hunt_circuit}
|
|
Chat {/vt opt set enablecombat true}
|
|
Chat {/vt opt set enablelooting true}
|
|
SetState {Hunt}
|
|
~~ }
|