metas/af/bore.af
Erik 76b08c0d87
All checks were successful
/ test (push) Successful in 26s
rework bella service state recovery
2026-03-12 19:23:48 +01:00

1107 lines
45 KiB
Text

~~ {
~~ FOR AUTO-COMPLETION ASSISTANCE: testvar getvar setvar touchvar clearallvars clearvar getcharintprop getchardoubleprop getcharquadprop getcharboolprop getcharstringprop getisspellknown getcancastspell_hunt getcancastspell_buff getcharvital_base getcharvital_current getcharvital_buffedmax getcharskill_traininglevel getcharskill_base getcharskill_buffed getplayerlandcell getplayercoordinates coordinategetns coordinategetwe coordinategetz coordinatetostring coordinateparse coordinatedistancewithz coordinatedistanceflat wobjectgetphysicscoordinates wobjectgetname wobjectgetobjectclass wobjectgettemplatetype wobjectgetisdooropen wobjectfindnearestmonster wobjectfindnearestdoor wobjectfindnearestbyobjectclass wobjectfindininventorybytemplatetype wobjectfindininventorybyname wobjectfindininventorybynamerx wobjectgetselection wobjectgetplayer wobjectfindnearestbynameandobjectclass actiontryselect actiontryuseitem actiontryapplyitem actiontrygiveitem actiontryequipanywand actiontrycastbyid actiontrycastbyidontarget chatbox chatboxpaste statushud statushudcolored uigetcontrol uisetlabel isfalse istrue iif randint cstr strlen getobjectinternaltype cstrf stopwatchcreate stopwatchstart stopwatchstop stopwatchelapsedseconds cnumber floor ceiling round abs getworldname getitemcountininventorybyname getheading getitemcountininventorybynamerx getheadingto actiontrygiveprofile vitae getfellowshipstatus getfellowshipname getfellowshipisopen getfellowshipisleader getfellowshipleaderid getfellowshipcanrecruit getfellowid getfellowshipcount getfellowshiplocked getfellowname getfellowshipisfull sin cos tan sqrt asin acos atan atan2 sinh cosh tanh vtsetmetastate getregexmatch echo chr ord wobjectgetid wobjectgethealth wobjectfindbyid wobjectgetintprop wobjectfindnearestbytemplatetype wobjectgetopencontainer testquestflag getquestktprogress isrefreshingquests getquestktrequired getqueststatus getisday getgamehour getgamehourname getisnight getgameday getgameticks getminutesuntilday getgamemonth getgamemonthname getminutesuntilnight getgameyear uisetvisible uiviewvisible uiviewexists getgvar touchgvar getpvar touchpvar setgvar cleargvar setpvar clearpvar testgvar clearallgvars testpvar clearallpvars dictgetitem dictcreate dicthaskey dictadditem dictkeys dictremovekey dictvalues dictclear dictsize dictcopy listgetitem listpop listcreate listcontains listremove listadd listindexof listremoveat listinsert listlastindexof listclear listcopy listcount listreverse
~~
~~ 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: {combat} ~~ {
IF: Always
DO: Chat {/vt opt set enablecombat true}
IF: SecsInStateGE 60
DO: SetState {ring_fail}
IF: NoMobsInDist 5
DO: SetState {hunt}
~~ }
STATE: {death} ~~ {
IF: Always
DO: Chat {/vt nav load death_pause}
IF: Always
DO: Chat {/vt opt set enablenav true}
IF: NavEmpty
DO: SetState {navbore}
~~ }
STATE: {hunt} ~~ {
IF: Always
DO: Chat {/vt opt set enablecombat false}
IF: Expr {getvar[lootTime] == 0}
DO: DoExpr {setvar[lootTime, 21600]}
IF: Not Expr {testvar[serviceCheckInterval]}
DO: DoExpr {setvar[serviceCheckInterval, 43200]}
IF: Not Expr {testvar[serviceClock]}
DO: DoAll
DoExpr {setvar[serviceClock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[serviceClock]]}
IF: Death
DO: DoAll
Chat {/a I died! But I will comeback!}
SetState {death}
IF: All
ItemCountLE 100 {Prismatic Taper}
NoMobsInDist 5
DO: DoAll
Chat {/a Out of tapers! Recomping.}
SetState {recomp}
IF: MainSlotsLE 4
DO: DoAll
Chat {/a Out of inventory slots! Recomping.}
SetState {recomp}
IF: All
Expr {getvar[serviceCheckInterval] > 0}
Expr {stopwatchelapsedseconds[getvar[serviceClock]]>=getvar[serviceCheckInterval]}
NoMobsInDist 5
DO: SetState {service_quest_refresh}
IF: Always
DO: SetWatchdog 3 120 {navbore}
IF: DistToRteGE 1000
DO: SetState {navbore}
IF: All
Expr {setvar[nearPortal, wobjectfindnearestbyobjectclass[14]]}
Expr {istrue[getvar[nearPortal]]}
Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[nearPortal]]]<=4}
Not Expr {wobjectgetname[getvar[nearPortal]]==Singularity Caul}
DO: DoAll
ChatExpr {\/me is to close to +wobjectgetname[getvar[nearPortal]]}
ChatExpr {\/me at +coordinatetostring[getplayercoordinates[]]}
IF: All
Any
Expr {getvar[mobsClose] == 0}
Expr {getvar[mobsClose] == 1}
MobsInDist_Name 1 6 {}
DO: SetState {combat}
IF: All
Expr {getvar[mobsClose] == 2}
MobsInDist_Name 2 6 {}
DO: SetState {combat}
IF: All
Expr {stopwatchelapsedseconds[getvar[lootclock]]>getvar[lootTime]}
DO: DoAll
Chat {/vt opt set enablecombat true}
SetState {loot}
IF: All
Expr {setvar[portal, wobjectfindnearestbyobjectclass[14]]}
Expr {istrue[getvar[portal]]}
Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8}
Not Expr {wobjectgetname[getvar[portal]]==Singularity Caul}
Not Expr {wobjectgetname[getvar[portal]]#Destroyed.*}
Expr {wobjectisvalid[getvar[portal]]}
Expr {setvar[portalHeading, getheadingto[getvar[portal]]]}
Expr {setvar[playerHeading, getheading[wobjectgetplayer[]]]}
Expr {setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]}
Expr {setvar[relativeAngle, iif[getvar[relativeAngle] > 180, 360 - getvar[relativeAngle], getvar[relativeAngle]]]}
Expr {setvar[turnDirection, iif[randint[0,2] == 0, -90, 90]]}
Expr {getvar[relativeAngle] <= 11.25}
Expr {setvar[newHeading, abs[getvar[playerHeading] + getvar[turnDirection]]]}
DO: DoAll
Chat {/vt opt set enablenav false}
Chat {/vt opt set enablecombat false}
SetState {avoid_portal}
~~ }
STATE: {loot_rare} ~~ {
IF: Always
DO: DoAll
Chat {/vt opt set enablelooting true}
Chat {/vt opt set enablenav false}
IF: SecsInStateGE 30
DO: DoAll
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablenav true}
SetState {hunt}
~~ }
STATE: {Default} ~~ {
IF: Not Expr {testvar[portalAvoidAngle]}
DO: DoExpr {setvar[portalAvoidAngle, 11.25]}
IF: Not Expr {testvar[augInnateStrengthTarget]}
DO: DoExpr {setvar[augInnateStrengthTarget, 0]}
IF: Not Expr {testvar[augInnateEnduranceTarget]}
DO: DoExpr {setvar[augInnateEnduranceTarget, 0]}
IF: Not Expr {testvar[augInnateCoordinationTarget]}
DO: DoExpr {setvar[augInnateCoordinationTarget, 0]}
IF: Not Expr {testvar[augInnateQuicknessTarget]}
DO: DoExpr {setvar[augInnateQuicknessTarget, 0]}
IF: Not Expr {testvar[augInnateFocusTarget]}
DO: DoExpr {setvar[augInnateFocusTarget, 0]}
IF: Not Expr {testvar[augInnateSelfTarget]}
DO: DoExpr {setvar[augInnateSelfTarget, 0]}
IF: Not Expr {testvar[augResistBluntTarget]}
DO: DoExpr {setvar[augResistBluntTarget, 0]}
IF: Not Expr {testvar[augResistSlashTarget]}
DO: DoExpr {setvar[augResistSlashTarget, 0]}
IF: Not Expr {testvar[augResistPierceTarget]}
DO: DoExpr {setvar[augResistPierceTarget, 0]}
IF: Not Expr {testvar[augResistLightningTarget]}
DO: DoExpr {setvar[augResistLightningTarget, 0]}
IF: Not Expr {testvar[augResistFireTarget]}
DO: DoExpr {setvar[augResistFireTarget, 0]}
IF: Not Expr {testvar[augResistFrostTarget]}
DO: DoExpr {setvar[augResistFrostTarget, 0]}
IF: Not Expr {testvar[augResistAcidTarget]}
DO: DoExpr {setvar[augResistAcidTarget, 0]}
IF: Not Expr {testvar[disableAugmentServices]}
DO: DoExpr {setvar[disableAugmentServices, 0]}
IF: Not Expr {testvar[bellaStartAttempts]}
DO: DoExpr {setvar[bellaStartAttempts, 0]}
IF: Not Expr {testvar[bellaMpPrimaryAttempts]}
DO: DoExpr {setvar[bellaMpPrimaryAttempts, 0]}
IF: Not Expr {testvar[bellaMpSecondaryAttempts]}
DO: DoExpr {setvar[bellaMpSecondaryAttempts, 0]}
IF: Not Expr {testvar[bellaTurnInAttempts]}
DO: DoExpr {setvar[bellaTurnInAttempts, 0]}
IF: Not Expr {testvar[bellaJawRunRecoverAttempts]}
DO: DoExpr {setvar[bellaJawRunRecoverAttempts, 0]}
IF: Not Expr {testvar[bellaBackoffSeconds]}
DO: DoExpr {setvar[bellaBackoffSeconds, 86400]}
IF: Not Expr {testvar[serviceCheckInterval]}
DO: DoExpr {setvar[serviceCheckInterval, 43200]}
IF: Not Expr {testvar[serviceClock]}
DO: DoAll
DoExpr {setvar[serviceClock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[serviceClock]]}
IF: Always
DO: DoAll
Chat {/ub opt set VTank.PatchExpressionEngine true}
Chat {/vt opt set autocram true}
ChatExpr {\/vt nav load bore_circuit+getvar[navNumber]}
Chat {/vt opt set enablenav true}
Chat {/vt opt set buffprofile_prots 2}
Chat {/vt opt set buffprofile_banes 5}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set navpriorityboost false}
Chat {/vt opt set lootpriorityboost true}
Chat {/vt opt set lootonlyrarecorpses true}
DoExpr {setvar[lootclock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[lootclock]]}
SetState {service_quest_refresh}
~~ }
STATE: {service_quest_refresh} ~~ {
IF: Death
DO: SetState {death}
IF: Always
DO: DoAll
Chat {/myquests}
DoExpr {touchvar[questsRequested]}
IF: All
Expr {testvar[questsRequested]}
Expr {isrefreshingquests[]==0}
SecsInStateGE 2
DO: SetState {service_pending_eval}
IF: SecsInStateGE 8
DO: SetState {service_pending_eval}
~~ }
STATE: {service_pending_eval} ~~ {
IF: Always
DO: DoAll
DoExpr {setvar[pendingAugments,0]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[230]<5,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[229]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[297]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[296]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[295]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[294]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[328]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[231]<3,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[232]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[234]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[237]<2,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[238]<5,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augInnateStrengthTarget]>0,iif[getcharintprop[217]<10,iif[getcharintprop[218]<getvar[augInnateStrengthTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augInnateEnduranceTarget]>0,iif[getcharintprop[217]<10,iif[getcharintprop[219]<getvar[augInnateEnduranceTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augInnateCoordinationTarget]>0,iif[getcharintprop[217]<10,iif[getcharintprop[220]<getvar[augInnateCoordinationTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augInnateQuicknessTarget]>0,iif[getcharintprop[217]<10,iif[getcharintprop[221]<getvar[augInnateQuicknessTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augInnateFocusTarget]>0,iif[getcharintprop[217]<10,iif[getcharintprop[222]<getvar[augInnateFocusTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augInnateSelfTarget]>0,iif[getcharintprop[217]<10,iif[getcharintprop[223]<getvar[augInnateSelfTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augResistBluntTarget]>0,iif[getcharintprop[239]<2,iif[getcharintprop[242]<getvar[augResistBluntTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augResistSlashTarget]>0,iif[getcharintprop[239]<2,iif[getcharintprop[240]<getvar[augResistSlashTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augResistPierceTarget]>0,iif[getcharintprop[239]<2,iif[getcharintprop[241]<getvar[augResistPierceTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augResistLightningTarget]>0,iif[getcharintprop[239]<2,iif[getcharintprop[246]<getvar[augResistLightningTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augResistFireTarget]>0,iif[getcharintprop[239]<2,iif[getcharintprop[244]<getvar[augResistFireTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augResistFrostTarget]>0,iif[getcharintprop[239]<2,iif[getcharintprop[245]<getvar[augResistFrostTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getvar[augResistAcidTarget]>0,iif[getcharintprop[239]<2,iif[getcharintprop[243]<getvar[augResistAcidTarget],1,getvar[pendingAugments]],getvar[pendingAugments]],getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[233]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[309]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[310]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[298]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[299]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[235]<4,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[236]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[226]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[225]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[227]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[228]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[224]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[300]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[302]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[301]<1,1,getvar[pendingAugments]]]}
DoExpr {setvar[pendingAugments, iif[getcharintprop[326]<1,1,getvar[pendingAugments]]]}
SetState {service_decide}
~~ }
STATE: {service_decide} ~~ {
IF: All
Expr {getvar[disableAugmentServices]==1}
Expr {testvar[bellaBackoffClock]}
Expr {stopwatchelapsedseconds[getvar[bellaBackoffClock]]>=getvar[bellaBackoffSeconds]}
DO: DoAll
DoExpr {setvar[disableAugmentServices, 0]}
DoExpr {setvar[bellaStartAttempts, 0]}
DoExpr {setvar[bellaMpPrimaryAttempts, 0]}
DoExpr {setvar[bellaMpSecondaryAttempts, 0]}
DoExpr {setvar[bellaTurnInAttempts, 0]}
DoExpr {setvar[bellaJawRunRecoverAttempts, 0]}
DoExpr {clearvar[bellaBackoffClock]}
IF: All
Expr {getqueststatus[`stipendtimer_0812`]==1}
DO: SetState {service_stipend}
IF: All
Expr {getvar[disableAugmentServices]!=1}
ItemCountGE 1 {Blank Augmentation Gem}
Expr {getvar[pendingAugments]==1}
DO: SetState {service_apply_augment}
IF: All
Expr {getvar[disableAugmentServices]!=1}
Expr {getqueststatus[`insatiableeaterjaw`]==1}
Expr {getvar[pendingAugments]==1}
DO: SetState {service_bella_start}
IF: Always
DO: DoAll
DoExpr {setvar[serviceClock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[serviceClock]]}
SetState {hunt}
~~ }
STATE: {service_stipend} ~~ {
IF: Death
DO: SetState {death}
IF: Always
DO: SetWatchdog 3 600 {service_reset_main}
IF: Always
DO: DoAll
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablenav true}
DoExpr {touchvar[stipendNavLoaded]}
EmbedNav nav0__stipend_nav {stipend.nav}
IF: All
Expr {testvar[stipendNavLoaded]}
NavEmpty
SecsInStateGE 2
DO: SetState {service_reset_main}
~~ }
STATE: {service_bella_start} ~~ {
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 {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablenav false}
Chat {/vt opt set enablebuffing true}
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_backoff} ~~ {
IF: Always
DO: DoAll
Chat {/a [bella] backoff tripped, disabling augment services for 24h}
Chat {/vt opt set enablecombat true}
Chat {/vt opt set enablenav true}
DoExpr {setvar[disableAugmentServices, 1]}
DoExpr {setvar[bellaStartAttempts, 0]}
DoExpr {setvar[bellaMpPrimaryAttempts, 0]}
DoExpr {setvar[bellaMpSecondaryAttempts, 0]}
DoExpr {setvar[bellaTurnInAttempts, 0]}
DoExpr {setvar[bellaJawRunRecoverAttempts, 0]}
DoExpr {setvar[bellaBackoffClock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[bellaBackoffClock]]}
SetState {Default}
~~ }
STATE: {service_bella_mp_primary} ~~ {
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 enablebuffing true}
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}
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} ~~ {
IF: Death
DO: SetState {death}
IF: Expr {getplayerlandblock[]==9830400}
DO: 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
NavEmpty
DO: DoAll
DoExpr {setvar[bellaStartAttempts, 0]}
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} ~~ {
IF: Death
DO: SetState {death}
IF: SecsInStateGE 20
DO: SetState {service_bella_jaw_run}
~~ }
STATE: {service_bella_jaw_hunt} ~~ {
IF: Death
DO: SetState {death}
IF: ExitPortal
DO: DoAll
Chat {/vt opt set enablenav true}
SetState {service_bella_turn_in_jaw}
IF: ItemCountGE 1 {Insatiable Eater Jaw}
DO: DoAll
Chat {/vt opt set enablecombat false}
Chat {/vt nav load to_fiun}
IF: SecsInStateGE 1200
DO: SetState {service_bella_start}
~~ }
STATE: {service_bella_turn_in_jaw} ~~ {
IF: Death
DO: SetState {death}
IF: ChatMatch {^.*One who obtains such as this is truly worthy of that which we would teach\. The highest peak of the deadliest isle contains that which you seek.*$}
DO: DoAll
Chat {/a [bella] jaw turned in, heading to secondary marketplace path}
DoExpr {setvar[bellaTurnInAttempts, 0]}
Chat {/mp}
SetState {service_bella_mp_trans}
IF: All
SecsInStateGE 300
ItemCountGE 1 {Insatiable Eater Jaw}
Expr {getvar[bellaTurnInAttempts]<3}
DO: DoAll
DoExpr {chatbox[`/a [bella] jaw turn-in timed out, retry `+cstr[getvar[bellaTurnInAttempts]+1]+`/3`]}
DoExpr {setvar[bellaTurnInAttempts,getvar[bellaTurnInAttempts]+1]}
Chat {/vt nav load to_fiun}
SetState {service_bella_turn_in_jaw}
IF: All
SecsInStateGE 300
ItemCountGE 1 {Insatiable Eater Jaw}
Expr {getvar[bellaTurnInAttempts]>=3}
DO: SetState {service_bella_backoff}
IF: SecsInStateGE 300
DO: DoAll
DoExpr {setvar[bellaTurnInAttempts, 0]}
SetState {service_reset_main}
~~ }
STATE: {service_bella_mp_trans} ~~ {
IF: Death
DO: SetState {death}
IF: ExitPortal
DO: SetState {service_bella_mp_secondary}
IF: SecsInStateGE 120
DO: SetState {service_bella_start}
~~ }
STATE: {service_bella_mp_secondary} ~~ {
IF: Death
DO: SetState {death}
IF: Always
DO: DoExpr {setvar[bellaMpSecondaryAttempts,getvar[bellaMpSecondaryAttempts]+1]}
IF: Expr {getvar[bellaMpSecondaryAttempts]>=3}
DO: SetState {service_bella_backoff}
IF: Expr {getplayerlandblock[]==23855104}
DO: Chat {/vt nav load mp_secondary}
IF: All
Expr {getplayerlandblock[]!=23855104}
SecsInStateGE 30
DO: DoAll
Chat {/a [bella] wrong mp_secondary landblock, restarting marketplace entry}
SetState {service_bella_start}
IF: ExitPortal
DO: DoAll
DoExpr {setvar[bellaMpSecondaryAttempts, 0]}
Chat {/vt opt set enablecombat true}
Chat {/vt nav load to_bella}
SetState {service_bella_kill_bella}
IF: SecsInStateGE 60
DO: SetState {service_bella_start}
~~ }
STATE: {service_bella_kill_bella} ~~ {
IF: Death
DO: SetState {death}
IF: All
Expr {getplayerlandblock[]!=5636096}
SecsInStateGE 30
DO: DoAll
Chat {/a [bella] wrong bella landblock, returning to mp_secondary}
Chat {/vt opt set enablenav false}
Chat {/mp}
SetState {service_bella_mp_secondary}
IF: ItemCountGE 1 {Blank Augmentation Gem}
DO: DoAll
Chat {/a [bella] blank gem acquired, escaping and preparing augment}
DoExpr {setvar[bellaStartAttempts, 0]}
DoExpr {setvar[bellaMpPrimaryAttempts, 0]}
DoExpr {setvar[bellaMpSecondaryAttempts, 0]}
DoExpr {setvar[bellaTurnInAttempts, 0]}
DoExpr {setvar[bellaJawRunRecoverAttempts, 0]}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablecombat false}
SetState {service_bella_escape}
IF: SecsInStateGE 600
DO: DoAll
Chat {/a [bella] kill_bella timed out, restarting marketplace entry}
SetState {service_bella_start}
~~ }
STATE: {service_bella_escape} ~~ {
IF: Death
DO: SetState {death}
IF: Always
DO: DoAll
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablecombat false}
IF: Always
DO: SetWatchdog 3 120 {service_reset_main}
IF: SecsInStateGE 1
DO: ChatExpr {\/ub setmotion forward 1}
IF: SecsInStateGE 4
DO: ChatExpr {\/ub setmotion forward 0}
IF: SecsInStateGE 6
DO: Chat {/vt opt set enablecombat false}
IF: SecsInStateGE 7
DO: Chat {/ah}
IF: SecsInStateGE 17
DO: SetState {service_apply_augment}
~~ }
STATE: {service_apply_augment} ~~ {
IF: Death
DO: SetState {death}
IF: ItemCountLE 0 {Blank Augmentation Gem}
DO: SetState {service_reset_main}
IF: Always
DO: DoAll
DoExpr {clearvar[augmentHub]}
DoExpr {clearvar[augmentHubLoaded]}
DoExpr {clearvar[augmentTargetLoaded]}
DoExpr {setvar[augmentStep,0]}
IF: Expr {getcharintprop[230]<5}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_husoon`]}
DoExpr {setvar[augmentItem,`Might of the Seventh Mule`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[229]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_dumidabintruminre`]}
DoExpr {setvar[augmentItem,`Shadow of the Seventh Mule`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[297]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_rapheldetante`]}
DoExpr {setvar[augmentItem,`Infused War Magic`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[296]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_akemifei`]}
DoExpr {setvar[augmentItem,`Infused Life Magic`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[295]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_ganfo`]}
DoExpr {setvar[augmentItem,`Infused Item Magic`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[294]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_gustuvlansdown`]}
DoExpr {setvar[augmentItem,`Infused Creature Magic`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[328]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_morathe`]}
DoExpr {setvar[augmentItem,`Infused Void Magic`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[231]<3}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_rohulabintludun`]}
DoExpr {setvar[augmentItem,`Clutch of the Miser`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[232]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_erikfestus`]}
DoExpr {setvar[augmentItem,`Enduring Enchantment`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[234]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_rickarddumalia`]}
DoExpr {setvar[augmentItem,`Quick Learner`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[237]<2}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_alisondulane`]}
DoExpr {setvar[augmentItem,`Innate Renewal`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[238]<5}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_nawamaraujio`]}
DoExpr {setvar[augmentItem,`Archmage's Endurance`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augInnateStrengthTarget]>0}
Expr {getcharintprop[217]<10}
Expr {getcharintprop[218]<getvar[augInnateStrengthTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_fiunluunere`]}
DoExpr {setvar[augmentItem,`Reinforcement of the Lugians`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augInnateEnduranceTarget]>0}
Expr {getcharintprop[217]<10}
Expr {getcharintprop[219]<getvar[augInnateEnduranceTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_fiunruun`]}
DoExpr {setvar[augmentItem,`Bleeargh's Fortitude`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augInnateCoordinationTarget]>0}
Expr {getcharintprop[217]<10}
Expr {getcharintprop[220]<getvar[augInnateCoordinationTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_fiunbayaas`]}
DoExpr {setvar[augmentItem,`Oswald's Enhancement`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augInnateQuicknessTarget]>0}
Expr {getcharintprop[217]<10}
Expr {getcharintprop[221]<getvar[augInnateQuicknessTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_fiunriish`]}
DoExpr {setvar[augmentItem,`Siraluun's Blessing`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augInnateFocusTarget]>0}
Expr {getcharintprop[217]<10}
Expr {getcharintprop[222]<getvar[augInnateFocusTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_fiunvasherr`]}
DoExpr {setvar[augmentItem,`Enduring Calm`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augInnateSelfTarget]>0}
Expr {getcharintprop[217]<10}
Expr {getcharintprop[223]<getvar[augInnateSelfTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_fiunnoress`]}
DoExpr {setvar[augmentItem,`Steadfast Will`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augResistBluntTarget]>0}
Expr {getcharintprop[239]<2}
Expr {getcharintprop[242]<getvar[augResistBluntTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_nawamaradia`]}
DoExpr {setvar[augmentItem,`Enhancement of the Mace Turner`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augResistSlashTarget]>0}
Expr {getcharintprop[239]<2}
Expr {getcharintprop[240]<getvar[augResistSlashTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_ilinwis`]}
DoExpr {setvar[augmentItem,`Enhancement of the Blade Turner`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augResistPierceTarget]>0}
Expr {getcharintprop[239]<2}
Expr {getcharintprop[241]<getvar[augResistPierceTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_kyujorujen`]}
DoExpr {setvar[augmentItem,`Enhancement of the Arrow Turner`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augResistLightningTarget]>0}
Expr {getcharintprop[239]<2}
Expr {getcharintprop[246]<getvar[augResistLightningTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_enliyuo`]}
DoExpr {setvar[augmentItem,`Storm's Enhancement`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augResistFireTarget]>0}
Expr {getcharintprop[239]<2}
Expr {getcharintprop[244]<getvar[augResistFireTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_rikshenri`]}
DoExpr {setvar[augmentItem,`Fiery Enhancement`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augResistFrostTarget]>0}
Expr {getcharintprop[239]<2}
Expr {getcharintprop[245]<getvar[augResistFrostTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_lubao`]}
DoExpr {setvar[augmentItem,`Icy Enhancement`]}
SetState {service_apply_augment_nav}
IF: All
Expr {getvar[augResistAcidTarget]>0}
Expr {getcharintprop[239]<2}
Expr {getcharintprop[243]<getvar[augResistAcidTarget]}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_shujiomilao`]}
DoExpr {setvar[augmentItem,`Caustic Enhancement`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[233]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_piersantilinante`]}
DoExpr {setvar[augmentItem,`Critical Protection`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[309]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_neelanashua`]}
DoExpr {setvar[augmentItem,`Frenzy of the Slayer`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[310]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_emilyyarow`]}
DoExpr {setvar[augmentItem,`Iron Skin of the Invincible`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[298]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_anframmellow`]}
DoExpr {setvar[augmentItem,`Eye of the Remorseless`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[299]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_alishiabintaldan`]}
DoExpr {setvar[augmentItem,`Hand of the Remorseless`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[235]<4}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_kriscennis`]}
DoExpr {setvar[augmentItem,`Ciandra's Fortune`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[236]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_lug`]}
DoExpr {setvar[augmentItem,`Charmed Smith`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[226]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_joshunfelden`]}
DoExpr {setvar[augmentItem,`Jibril's Essence`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[225]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_briennecarlus`]}
DoExpr {setvar[augmentItem,`Yoshi's Essence`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[227]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_burrellsammrun`]}
DoExpr {setvar[augmentItem,`Celdiseth's Essence`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[228]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_lenorturk`]}
DoExpr {setvar[augmentItem,`Koga's Essence`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[224]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_robertcrow`]}
DoExpr {setvar[augmentItem,`Ciandra's Essence`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[300]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_carlitogallo`]}
DoExpr {setvar[augmentItem,`Master of the Steel Circle`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[302]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_rahinabintzalanis`]}
DoExpr {setvar[augmentItem,`Master of the Five Fold Path`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[301]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_kilaf`]}
DoExpr {setvar[augmentItem,`Master of the Focused Eye`]}
SetState {service_apply_augment_nav}
IF: Expr {getcharintprop[326]<1}
DO: DoAll
DoExpr {setvar[augmentNav,`nav_ariannatheadept`]}
DoExpr {setvar[augmentItem,`Jack of All Trades`]}
SetState {service_apply_augment_nav}
IF: Always
DO: SetState {service_reset_main}
~~ }
STATE: {service_apply_augment_nav} ~~ {
IF: Death
DO: SetState {death}
IF: Not Expr {testvar[augmentStep]}
DO: DoExpr {setvar[augmentStep,0]}
IF: All
Expr {getvar[augmentStep]==0}
Any
Expr {getvar[augmentNav]==`nav_husoon`}
Expr {getvar[augmentNav]==`nav_dumidabintruminre`}
Expr {getvar[augmentNav]==`nav_rahinabintzalanis`}
Expr {getvar[augmentNav]==`nav_kilaf`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_zaikhal`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Any
Expr {getvar[augmentNav]==`nav_rapheldetante`}
Expr {getvar[augmentNav]==`nav_rickarddumalia`}
Expr {getvar[augmentNav]==`nav_carlitogallo`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_silyun`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Any
Expr {getvar[augmentNav]==`nav_akemifei`}
Expr {getvar[augmentNav]==`nav_ganfo`}
Expr {getvar[augmentNav]==`nav_nawamaradia`}
Expr {getvar[augmentNav]==`nav_ilinwis`}
Expr {getvar[augmentNav]==`nav_kyujorujen`}
Expr {getvar[augmentNav]==`nav_enliyuo`}
Expr {getvar[augmentNav]==`nav_rikshenri`}
Expr {getvar[augmentNav]==`nav_lubao`}
Expr {getvar[augmentNav]==`nav_shujiomilao`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_hebianto`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Any
Expr {getvar[augmentNav]==`nav_gustuvlansdown`}
Expr {getvar[augmentNav]==`nav_emilyyarow`}
Expr {getvar[augmentNav]==`nav_kriscennis`}
Expr {getvar[augmentNav]==`nav_joshunfelden`}
Expr {getvar[augmentNav]==`nav_briennecarlus`}
Expr {getvar[augmentNav]==`nav_burrellsammrun`}
Expr {getvar[augmentNav]==`nav_lenorturk`}
Expr {getvar[augmentNav]==`nav_robertcrow`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_cragstone`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Any
Expr {getvar[augmentNav]==`nav_rohulabintludun`}
Expr {getvar[augmentNav]==`nav_erikfestus`}
Expr {getvar[augmentNav]==`nav_anframmellow`}
Expr {getvar[augmentNav]==`nav_alishiabintaldan`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_ab`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Any
Expr {getvar[augmentNav]==`nav_alisondulane`}
Expr {getvar[augmentNav]==`nav_neelanashua`}
Expr {getvar[augmentNav]==`nav_ariannatheadept`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_bandit`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Any
Expr {getvar[augmentNav]==`nav_fiunluunere`}
Expr {getvar[augmentNav]==`nav_fiunruun`}
Expr {getvar[augmentNav]==`nav_fiunbayaas`}
Expr {getvar[augmentNav]==`nav_fiunriish`}
Expr {getvar[augmentNav]==`nav_fiunvasherr`}
Expr {getvar[augmentNav]==`nav_fiunnoress`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_fiun`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Expr {getvar[augmentNav]==`nav_piersantilinante`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_sanamar`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Expr {getvar[augmentNav]==`nav_lug`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_oolutangasrefuge`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Expr {getvar[augmentNav]==`nav_nawamaraujio`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_mayoi`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==0}
Expr {getvar[augmentNav]==`nav_morathe`}
DO: DoAll
DoExpr {setvar[augmentHub,`nav_candeth`]}
DoExpr {setvar[augmentStep,1]}
IF: All
Expr {getvar[augmentStep]==1}
Expr {testvar[augmentHub]}
Not Expr {testvar[augmentHubLoaded]}
DO: DoAll
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablelooting false}
Chat {/vt opt set enablebuffing true}
DoExpr {touchvar[augmentHubLoaded]}
ChatExpr {\/vt nav load +getvar[augmentHub]}
Chat {/vt opt set enablenav true}
IF: All
Expr {getvar[augmentStep]==1}
Expr {testvar[augmentHubLoaded]}
NavEmpty
SecsInStateGE 2
DO: DoExpr {setvar[augmentStep,2]}
IF: All
Expr {getvar[augmentStep]==2}
Not Expr {testvar[augmentTargetLoaded]}
DO: DoAll
DoExpr {touchvar[augmentTargetLoaded]}
ChatExpr {\/vt nav load +getvar[augmentNav]}
Chat {/vt opt set enablenav true}
DoExpr {setvar[augmentStep,3]}
IF: All
Expr {getvar[augmentStep]==3}
Expr {testvar[augmentTargetLoaded]}
NavEmpty
SecsInStateGE 2
DO: SetState {service_use_augment}
IF: Always
DO: SetWatchdog 3 600 {service_reset_main}
~~ }
STATE: {service_use_augment} ~~ {
IF: Death
DO: SetState {death}
IF: Not Expr {testvar[augmentItem]}
DO: SetState {service_reset_main}
IF: Always
DO: SetWatchdog 3 120 {service_reset_main}
IF: SecsInStateGE 3
DO: Chat {/ub prepclick yes 10}
IF: SecsInStateGE 7
DO: ChatExpr {\/ub use +getvar[augmentItem]}
IF: SecsInStateGE 15
DO: SetState {service_reset_main}
~~ }
STATE: {service_reset_main} ~~ {
IF: Always
DO: DoAll
DoExpr {clearvar[questsRequested]}
DoExpr {clearvar[stipendNavLoaded]}
DoExpr {clearvar[augmentNav]}
DoExpr {clearvar[augmentHub]}
DoExpr {clearvar[augmentHubLoaded]}
DoExpr {clearvar[augmentTargetLoaded]}
DoExpr {clearvar[augmentStep]}
DoExpr {clearvar[augmentItem]}
DoExpr {setvar[bellaJawRunRecoverAttempts, 0]}
DoExpr {setvar[serviceClock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[serviceClock]]}
SetState {Default}
~~ }
STATE: {avoid_portal} ~~ {
IF: SecsInStateGE 1
DO: ChatExpr {\/me portalHeading \= +getvar[portalHeading]}
IF: SecsInStateGE 2
DO: ChatExpr {\/me playerHeading \= +getvar[playerHeading]}
IF: SecsInStateGE 3
DO: ChatExpr {\/me relativeAngle \= +getvar[relativeAngle]}
IF: SecsInStateGE 4
DO: ChatExpr {\/me Portal detected ahead\! Avoiding now\!}
IF: SecsInStateGE 5
DO: ChatExpr {\/me is too close to +wobjectgetname[wobjectfindnearestbyobjectclass[14]]}
IF: SecsInStateGE 6
DO: ChatExpr {\/me at +coordinatetostring[getplayercoordinates[]]}
IF: SecsInStateGE 7
DO: ChatExpr {\/ub face +getvar[newHeading]}
IF: SecsInStateGE 9
DO: ChatExpr {\/ub setmotion forward 1}
IF: SecsInStateGE 11
DO: ChatExpr {\/ub setmotion forward 0}
IF: SecsInStateGE 12
DO: ChatExpr {\/ub face +getvar[playerHeading]}
IF: SecsInStateGE 14
DO: ChatExpr {\/ub setmotion forward 1}
IF: SecsInStateGE 16
DO: ChatExpr {\/ub setmotion forward 0}
IF: SecsInStateGE 17
DO: ChatExpr {\/mm nextwp}
IF: SecsInStateGE 18
DO: ChatExpr {\/vt opt set enablenav true}
IF: SecsInStateGE 19
DO: ChatExpr {\/vt setmetastate hunt}
~~ }
STATE: {navbore} ~~ {
IF: Always
DO: DoAll
Chat {/vt opt set enablecombat false}
Chat {/vt opt set lootonlyrarecorpses true}
IF: Always
DO: ChatExpr {\/vt nav load bore_route+getvar[navNumber]}
IF: Always
DO: Chat {/vt opt set enablebuffing true}
IF: Always
DO: SetWatchdog 3 300 {navbore}
IF: NavEmpty
DO: DoAll
ChatExpr {\/vt nav load bore_circuit+getvar[navNumber]}
SetState {hunt}
~~ }
STATE: {recomp} ~~ {
IF: NavEmpty
DO: SetState {navbore}
IF: Always
DO: SetWatchdog 3 300 {navbore}
IF: Always
DO: DoAll
Chat {/vt opt set enablecombat false}
Chat {/vt opt set enablebuffing false}
Chat {/vt nav load ah_rarecomp}
~~ }
STATE: {ring_fail} ~~ {
IF: Always
DO: DoAll
Chat {/vt opt set enablecombat false}
SetWatchdog 100 3 {hunt}
~~ }
STATE: {loot} ~~ {
IF: Always
DO: DoAll
Chat {/vt opt set enablelooting true}
Chat {/vt opt set lootonlyrarecorpses false}
Chat {/vt opt set lootpriorityboost false}
IF: SecsInStateGE 300
DO: DoAll
Chat {/vt opt set lootonlyrarecorpses true}
Chat {/vt opt set lootpriorityboost true}
Chat {/vt opt set enablelooting false}
DoExpr {setvar[lootclock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[lootclock]]}
SetState {hunt}
IF: All
Expr {setvar[portal, wobjectfindnearestbyobjectclass[14]]}
Expr {istrue[getvar[portal]]}
Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8}
Not Expr {wobjectgetname[getvar[portal]]==Singularity Caul}
Not Expr {wobjectgetname[getvar[portal]]#Destroyed.*}
Expr {wobjectisvalid[getvar[portal]]}
Expr {setvar[portalHeading, getheadingto[getvar[portal]]]}
Expr {setvar[playerHeading, getheading[wobjectgetplayer[]]]}
Expr {setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]}
Expr {setvar[relativeAngle, iif[getvar[relativeAngle] > 180, 360 - getvar[relativeAngle], getvar[relativeAngle]]]}
Expr {setvar[turnDirection, iif[randint[0,2] == 0, -90, 90]]}
Expr {getvar[relativeAngle] <= 11.25}
Expr {setvar[newHeading, abs[getvar[playerHeading] + getvar[turnDirection]]]}
DO: DoAll
Chat {/vt opt set enablenav false}
Chat {/vt opt set lootonlyrarecorpses true}
Chat {/vt opt set lootpriorityboost true}
Chat {/vt opt set enablelooting false}
DoExpr {setvar[lootclock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[lootclock]]}
SetState {avoid_portal}
~~ }
~~========================= ONLY NAVS APPEAR BELOW THIS LINE =========================~~
NAV: nav0__stipend_nav once ~~ {
cht -101.597905190786 -96.6216093699137 2.08333134651184E-05 {/ah}
pnt 59.3590666453044 -28.7057823816935 0.0500208298365275
pnt 59.3771680514018 -28.7152192115784 0.0500208298365275
ptl -101.597905190786 -96.6216093699137 2.08333134651184E-05 59.3936458587647 -28.7256083488464 0.0508250035345554 14 {Portal to Town Network}
pnt -101.615851815542 -96.6388638178507 2.08333134651184E-05
pnt -101.657751337687 -96.5832635879517 2.08333134651184E-05
pnt -101.658352184296 -96.5325949986776 2.08333134651184E-05
pnt -101.605949529012 -96.519695186615 2.08333134651184E-05
ptl -101.597905190786 -96.6216093699137 2.08333134651184E-05 -101.588099161784 -96.5166525046031 -0.000262499845121056 14 {Portal to Arwic}
pnt 56.6498762130737 33.416518386205 0.175020837783813
pnt 56.655900033315 33.5368880271912 0.175020837783813
pnt 56.7470087051392 33.5495386441549 0.175020837783813
pnt 56.7795230229696 33.6337207794189 0.175020837783813
tlk -101.597905190786 -96.6216093699137 2.08333134651184E-05 56.7816291809082 33.6455291748047 0.175020843744278 37 {Monroe}
~~ }