From fb9342fcd5d587e309bd2a5ecb5d406098548783 Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 4 Aug 2026 23:31:12 +0200 Subject: [PATCH] Add viridian_rise meta with recorded circuit/run/getin navs Lean hunting meta based on neftet.af: fellowship leader/follower support, gas-cloud dodge, group-wide runback on fellow death, group recomp via the shared ah_recomp hub nav, and death recovery via Viridian Rise Recall. Includes the vr_circuit, vr_run, and vr_getin routes recorded in-game. Co-Authored-By: Claude Sonnet 5 --- af/viridian_rise.af | 187 ++++++ af/vr_circuit.af | 59 ++ af/vr_getin.af | 32 ++ af/vr_run.af | 44 ++ met/viridian_rise.met | 1262 +++++++++++++++++++++++++++++++++++++++++ nav/vr_circuit.nav | 153 +++++ nav/vr_getin.nav | 21 + nav/vr_run.nav | 127 ++--- 8 files changed, 1810 insertions(+), 75 deletions(-) create mode 100644 af/viridian_rise.af create mode 100644 af/vr_circuit.af create mode 100644 af/vr_getin.af create mode 100644 af/vr_run.af create mode 100644 met/viridian_rise.met create mode 100644 nav/vr_circuit.nav create mode 100644 nav/vr_getin.nav diff --git a/af/viridian_rise.af b/af/viridian_rise.af new file mode 100644 index 0000000..7bc451a --- /dev/null +++ b/af/viridian_rise.af @@ -0,0 +1,187 @@ +~~ +~~ viridian_rise.af +~~ Lean hunting loop for Viridian Rise, based on neftet.af with all economy/service +~~ states (Bella augment service, lum/seer cap, A'nekshay tokens, stipend, turn-in +~~ circuit, flower picking) stripped out except a simplified group recomp. All navs +~~ are external (recorded/saved in-game, loaded by name) -- nothing embedded here. +~~ +~~ ============================================================ +~~ Variables expected to be set externally (VTank Variables tab) before running: +~~ isLeader - 1 for leader, 0 for follower +~~ followTarget - leader character name (follower only) +~~ attackRange - attackdistance value, e.g. 0.0208333 +~~ ============================================================ +~~ External navs (recorded in-game, loaded by name): +~~ vr_circuit - main Viridian Rise hunting loop (leader) -- recorded, af/vr_circuit.af +~~ vr_run - retreat route to a safe rally point -- recorded, af/vr_run.af +~~ vr_getin - rally point through the portal back into the hunting area -- recorded, af/vr_getin.af +~~ vr_death_recall - cast "Viridian Rise Recall" then land somewhere safe -- STILL NEEDS RECORDING +~~ ah_recomp - shared hub restock run, same one neftet.af uses -- already committed, af/ah_recomp.af +~~ CONFIGURATION: Prismatic Taper threshold in Hunt matches neftet's recomp trigger -- adjust if needed +~~ ============================================================ + +STATE: {Default} + IF: All + Expr {getvar[isLeader]} + DO: DoAll + Chat {/vt opt set enablecombat true} + Chat {/vt opt set enablelooting true} + Chat {/vt opt set enablebuffing true} + Chat {/vt opt set enablenav true} + Chat {/vt opt set navpriorityboost false} + ChatExpr {\/vt opt set attackdistance +getvar[attackRange]} + Chat {/ub fellow create Viridian Rise Hunt} + SetState {vr_runback} + IF: All + Expr {getvar[isLeader]==0} + DO: DoAll + Chat {/vt opt set enablecombat true} + Chat {/vt opt set enablelooting true} + Chat {/vt opt set enablebuffing true} + Chat {/vt opt set enablenav true} + Chat {/vt opt set navpriorityboost true} + ChatExpr {\/vt opt set attackdistance +getvar[attackRange]} + SetState {vr_runback} + +STATE: {Hunt} + IF: Death + DO: SetState {death} + IF: Always + DO: DoAll + Chat {/vt opt set enablecombat true} + Chat {/vt opt set IdlePeaceMode false} + IF: All + Expr {getvar[isLeader]} + DO: DoAll + Chat {/vt opt set navpriorityboost false} + Chat {/vt nav load vr_circuit} + IF: All + Expr {getvar[isLeader]} + ChatMatch {cloud of dangerous gas!} + DO: CallState {vr_gas_dodge} {Hunt} + IF: ChatCapture {^Your fellow "(?[^"]+)" has died!$} {} + DO: SetState {vr_runback} + IF: All + ItemCountLE 100 {Prismatic Taper} + NoMobsInDist 5 + DO: DoAll + Chat {/fellowship #recompviridianrise} + SetState {recomp} + IF: ChatMatch {^\[Fellowship\].*(say|says), \"#recompviridianrise\"$} + DO: SetState {recomp} + IF: All + Expr {getvar[isLeader]==0} + Expr {wobjectfindnearestbynameandobjectclass[24, getvar[followTarget]]!=0} + DO: ChatExpr {\/ub follow +getvar[followTarget]} + IF: All + Expr {getvar[isLeader]==0} + Expr {getfellowshipstatus[]==0} + Expr {wobjectfindnearestbynameandobjectclass[24, getvar[followTarget]]!=0} + SecsInStateGE 5 + DO: DoAll + ChatExpr {\/t +getvar[followTarget]+`\, #recruitviridianrise`} + SetState {Hunt} + IF: All + Expr {getvar[isLeader]} + ChatCapture {(^(\[[A-z]+?\] |)You|.*\[^\<]*)\>.+\<\\Tell\>) .*, \"#recruitviridianrise\"$} {} + DO: ChatExpr {\/ub fellow recruit +getvar[capturegroup_who]} + IF: All + Expr {getvar[isLeader]} + DistToRteGE 100 + DO: SetState {stuck} + IF: Always + DO: SetWatchdog 10 600 {stuck} + IF: All + Expr {getvar[isLeader]==0} + ChatCapture {(?\w[\w ]*\w) has left your Fellowship} {} + Expr {getvar[capturegroup_who]==getvar[followTarget]} + DO: DoAll + Chat {/ub fellow quit} + SetState {Default} + +STATE: {vr_gas_dodge} + IF: Always + DO: Chat {/vt opt set navpriorityboost true} + IF: SecsInStateGE 2 + DO: DoAll + Chat {/vt opt set navpriorityboost false} + Return + +STATE: {vr_runback} + IF: Death + DO: SetState {death} + IF: All + Expr {testvar[vrRunbackNavLoaded]} + NavEmpty + DO: DoAll + DoExpr {clearvar[vrRunbackNavLoaded]} + SetState {vr_portal} + IF: Always + DO: DoAll + DoExpr {setvar[vrRunbackNavLoaded, 1]} + Chat {/vt opt set enablecombat false} + Chat {/vt nav load vr_run} + Chat {/vt opt set enablenav true} + IF: Always + DO: SetWatchdog 10 120 {stuck} + +STATE: {vr_portal} + IF: Death + DO: SetState {death} + IF: ExitPortal + DO: SetState {Hunt} + IF: SecsInStateGE 20 + DO: SetState {vr_portal} + IF: Always + DO: DoAll + Chat {/vt opt set enablenav true} + Chat {/vt nav load vr_getin} + +STATE: {recomp} + IF: Death + DO: SetState {death} + IF: All + Expr {testvar[vrRecompNavLoaded]} + NavEmpty + DO: DoAll + DoExpr {clearvar[vrRecompNavLoaded]} + SetState {Hunt} + IF: Always + DO: DoAll + DoExpr {setvar[diamondMissing, 100 - getitemcountininventorybyname[`Diamond Scarab`]]} + DoExpr {ifthen[$diamondMissing < 0, `setvar[diamondMissing, 0]`]} + DoExpr {setvar[manaMissing, 100 - getitemcountininventorybyname[`Mana Scarab`]]} + DoExpr {ifthen[$manaMissing < 0, `setvar[manaMissing, 0]`]} + DoExpr {setvar[vrRecompNavLoaded, 1]} + Chat {/vt opt set enablecombat false} + Chat {/vt opt set enablebuffing false} + Chat {/vt nav load ah_recomp} + Chat {/vt opt set enablenav true} + IF: Always + DO: SetWatchdog 3 300 {stuck} + +STATE: {death} + IF: ExitPortal + DO: DoAll + Chat {/vt opt set enablebuffing false} + Chat {/vt opt set enablenav true} + Chat {/vt opt set enablelooting false} + Chat {/vt opt set enablecombat false} + IF: All + Expr {testvar[vrDeathNavLoaded]} + NavEmpty + DO: DoAll + DoExpr {clearvar[vrDeathNavLoaded]} + SetState {Hunt} + IF: Always + DO: DoAll + DoExpr {setvar[vrDeathNavLoaded, 1]} + Chat {/vt nav load vr_death_recall} + IF: Always + DO: SetWatchdog 5 60 {stuck} + +STATE: {stuck} + IF: Always + DO: DoAll + Chat {/ub face} + SetState {Default} diff --git a/af/vr_circuit.af b/af/vr_circuit.af new file mode 100644 index 0000000..afb60de --- /dev/null +++ b/af/vr_circuit.af @@ -0,0 +1,59 @@ +~~ { +~~ 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 in a NAV-ONLY file: +~~ NAV: +~~ +~~ 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) +~~ + +~~ +~~ REMEMBER THAT NAV-ONLY FILES MUST CONTAIN EXACTLY ONE NAV! +~~ } + +NAV: nav0 linear ~~ { + pnt 41.9497105916341 -43.1529376983643 0.466687520345052 + pnt 41.9768287658691 -43.1087412198385 0.471158981323242 + pnt 41.9944297154744 -43.074902788798 0.474092483520508 + pnt 41.9724821090698 -43.031071917216 0.470434538523356 + pnt 41.9665438334147 -42.9931616465251 0.476160589853923 + pnt 41.9551170984904 -42.957892036438 0.482038847605387 + pnt 41.9450602213542 -42.9266560236613 0.482530879974365 + pnt 41.9375498453776 -42.9065367380778 0.481279150644938 + pnt 41.9325536727905 -42.8872996648153 0.480446434020996 + pnt 41.9093962351481 -42.8485040664673 0.476836204528809 + pnt 41.9018606185913 -42.8099236806234 0.482010332743327 + pnt 41.9058579762777 -42.7716864903768 0.483354187011719 + pnt 41.9010899861654 -42.7328478594621 0.483354187011719 + pnt 41.8793203353882 -42.7176856080691 0.483354187011719 + pnt 41.8689734141032 -42.6992350737254 0.483354187011719 + pnt 41.8453479766846 -42.6660248994827 0.483354187011719 + pnt 41.8427317301432 -42.6231523275375 0.483354187011719 + pnt 41.8676944096883 -42.5743356227875 0.483354187011719 + pnt 41.8945412317912 -42.5429576396942 0.483354187011719 + pnt 41.9451269785563 -42.4361155192057 0.483354187011719 + pnt 41.9191555658976 -42.3844134648641 0.483354187011719 + pnt 41.8893810272217 -42.3562530199687 0.483354187011719 + pnt 41.9242672602336 -42.3081885019938 0.483354187011719 + pnt 41.9368340174357 -42.2537010510763 0.483354187011719 + pnt 41.9128589630127 -42.1974157969157 0.483354187011719 + pnt 41.9383330027262 -42.1601594924927 0.483354187011719 + pnt 41.961719640096 -42.1321718215942 0.482336076100667 + pnt 42.0295560836792 -42.1295103708903 0.483354187011719 + pnt 42.0761412163575 -42.1443994522095 0.483354187011719 + pnt 42.0971206267675 -42.2140798568726 0.483354187011719 +~~ } diff --git a/af/vr_getin.af b/af/vr_getin.af new file mode 100644 index 0000000..785a5a6 --- /dev/null +++ b/af/vr_getin.af @@ -0,0 +1,32 @@ +~~ { +~~ 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 in a NAV-ONLY file: +~~ NAV: +~~ +~~ 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) +~~ + +~~ +~~ REMEMBER THAT NAV-ONLY FILES MUST CONTAIN EXACTLY ONE NAV! +~~ } + +NAV: nav0 once ~~ { + cht 41.5919195493062 -43.2347578048706 0.261777146657308 {/ub use Ancient Statue of the Viridian Rise} + pau 41.5919195493062 -43.2347578048706 0.261777146657308 2000 + cht 41.5919195493062 -43.2347578048706 0.261777146657308 {/ub use Viridian Portal} +~~ } diff --git a/af/vr_run.af b/af/vr_run.af new file mode 100644 index 0000000..041228b --- /dev/null +++ b/af/vr_run.af @@ -0,0 +1,44 @@ +~~ { +~~ 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 in a NAV-ONLY file: +~~ NAV: +~~ +~~ 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) +~~ + +~~ +~~ REMEMBER THAT NAV-ONLY FILES MUST CONTAIN EXACTLY ONE NAV! +~~ } + +NAV: nav0 once ~~ { + pau 41.5919195493062 -43.2347578048706 0.261777146657308 5000 + rcl 41.5919195493062 -43.2347578048706 0.261777146657308 {Portal Recall} + pau 41.5919195493062 -43.2347578048706 0.261777146657308 10000 + pnt 41.4723580996195 -46.4319018681844 0.101890261967977 + pnt 41.4406577428182 -46.2305841445923 0.100027084350586 + pnt 41.3348950306574 -44.6196473121643 0.0909247954686483 + pnt 41.3228840033213 -44.3698853810628 0.133613745371501 + pnt 41.3359585444133 -44.2358478864034 0.151073169708252 + pnt 41.3301803588867 -44.0594171841939 0.173300298055013 + pnt 41.3354294379552 -43.9641816457113 0.185788853963216 + pnt 41.3801766554515 -43.8420330365499 0.184290520350138 + pnt 41.5054226716359 -43.4965383489927 0.213555908203125 + pnt 41.5432651837667 -43.2737871487935 0.242695156733195 + pnt 41.5487318674723 -43.2477605501811 0.24947395324707 + pnt 41.5919195493062 -43.2347578048706 0.261777146657308 +~~ } diff --git a/met/viridian_rise.met b/met/viridian_rise.met new file mode 100644 index 0000000..51a9492 --- /dev/null +++ b/met/viridian_rise.met @@ -0,0 +1,1262 @@ +1 +CondAct +5 +CType +AType +CData +AData +State +n +n +n +n +n +34 +i +2 +i +3 +TABLE +2 +K +V +n +n +1 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader] +TABLE +2 +K +V +n +n +8 +i +2 +s +/vt opt set enablecombat true +i +2 +s +/vt opt set enablelooting true +i +2 +s +/vt opt set enablebuffing true +i +2 +s +/vt opt set enablenav true +i +2 +s +/vt opt set navpriorityboost false +i +8 +TABLE +2 +k +v +n +n +1 +s +e +s +\/vt opt set attackdistance +getvar[attackRange] +i +2 +s +/ub fellow create Viridian Rise Hunt +i +1 +s +vr_runback +s +Default +i +2 +i +3 +TABLE +2 +K +V +n +n +1 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader]==0 +TABLE +2 +K +V +n +n +7 +i +2 +s +/vt opt set enablecombat true +i +2 +s +/vt opt set enablelooting true +i +2 +s +/vt opt set enablebuffing true +i +2 +s +/vt opt set enablenav true +i +2 +s +/vt opt set navpriorityboost true +i +8 +TABLE +2 +k +v +n +n +1 +s +e +s +\/vt opt set attackdistance +getvar[attackRange] +i +1 +s +vr_runback +s +Default +i +8 +i +1 +i +0 +s +death +s +Hunt +i +1 +i +3 +i +0 +TABLE +2 +K +V +n +n +2 +i +2 +s +/vt opt set enablecombat true +i +2 +s +/vt opt set IdlePeaceMode false +s +Hunt +i +2 +i +3 +TABLE +2 +K +V +n +n +1 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader] +TABLE +2 +K +V +n +n +2 +i +2 +s +/vt opt set navpriorityboost false +i +2 +s +/vt nav load vr_circuit +s +Hunt +i +2 +i +5 +TABLE +2 +K +V +n +n +2 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader] +i +4 +s +cloud of dangerous gas! +TABLE +2 +k +v +n +n +2 +s +st +s +vr_gas_dodge +s +ret +s +Hunt +s +Hunt +i +28 +i +1 +TABLE +2 +k +v +n +n +2 +s +p +s +^Your fellow "(?[^"]+)" has died!$ +s +c +s + +s +vr_runback +s +Hunt +i +2 +i +3 +TABLE +2 +K +V +n +n +2 +i +11 +TABLE +2 +k +v +n +n +2 +s +n +s +Prismatic Taper +s +c +i +100 +i +16 +TABLE +2 +k +v +n +n +1 +s +r +d +5 +TABLE +2 +K +V +n +n +2 +i +2 +s +/fellowship #recompviridianrise +i +1 +s +recomp +s +Hunt +i +4 +i +1 +s +^\[Fellowship\].*(say|says), \"#recompviridianrise\"$ +s +recomp +s +Hunt +i +2 +i +8 +TABLE +2 +K +V +n +n +2 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader]==0 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +wobjectfindnearestbynameandobjectclass[24, getvar[followTarget]]!=0 +TABLE +2 +k +v +n +n +1 +s +e +s +\/ub follow +getvar[followTarget] +s +Hunt +i +2 +i +3 +TABLE +2 +K +V +n +n +4 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader]==0 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getfellowshipstatus[]==0 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +wobjectfindnearestbynameandobjectclass[24, getvar[followTarget]]!=0 +i +6 +i +5 +TABLE +2 +K +V +n +n +2 +i +8 +TABLE +2 +k +v +n +n +1 +s +e +s +\/t +getvar[followTarget]+`\, #recruitviridianrise` +i +1 +s +Hunt +s +Hunt +i +2 +i +8 +TABLE +2 +K +V +n +n +2 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader] +i +28 +TABLE +2 +k +v +n +n +2 +s +p +s +(^(\[[A-z]+?\] |)You|.*\[^\<]*)\>.+\<\\Tell\>) .*, \"#recruitviridianrise\"$ +s +c +s + +TABLE +2 +k +v +n +n +1 +s +e +s +\/ub fellow recruit +getvar[capturegroup_who] +s +Hunt +i +2 +i +1 +TABLE +2 +K +V +n +n +2 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader] +i +25 +TABLE +2 +k +v +n +n +1 +s +dist +d +100 +s +stuck +s +Hunt +i +1 +i +9 +i +0 +TABLE +2 +k +v +n +n +3 +s +s +s +stuck +s +r +d +10 +s +t +d +600 +s +Hunt +i +2 +i +3 +TABLE +2 +K +V +n +n +3 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[isLeader]==0 +i +28 +TABLE +2 +k +v +n +n +2 +s +p +s +(?\w[\w ]*\w) has left your Fellowship +s +c +s + +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +getvar[capturegroup_who]==getvar[followTarget] +TABLE +2 +K +V +n +n +2 +i +2 +s +/ub fellow quit +i +1 +s +Default +s +Hunt +i +1 +i +2 +i +0 +s +/vt opt set navpriorityboost true +s +vr_gas_dodge +i +6 +i +3 +i +2 +TABLE +2 +K +V +n +n +2 +i +2 +s +/vt opt set navpriorityboost false +i +6 +i +0 +s +vr_gas_dodge +i +8 +i +1 +i +0 +s +death +s +vr_runback +i +2 +i +3 +TABLE +2 +K +V +n +n +2 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +testvar[vrRunbackNavLoaded] +i +7 +i +0 +TABLE +2 +K +V +n +n +2 +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +clearvar[vrRunbackNavLoaded] +i +1 +s +vr_portal +s +vr_runback +i +1 +i +3 +i +0 +TABLE +2 +K +V +n +n +4 +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +setvar[vrRunbackNavLoaded, 1] +i +2 +s +/vt opt set enablecombat false +i +2 +s +/vt nav load vr_run +i +2 +s +/vt opt set enablenav true +s +vr_runback +i +1 +i +9 +i +0 +TABLE +2 +k +v +n +n +3 +s +s +s +stuck +s +r +d +10 +s +t +d +120 +s +vr_runback +i +8 +i +1 +i +0 +s +death +s +vr_portal +i +20 +i +1 +i +0 +s +Hunt +s +vr_portal +i +6 +i +1 +i +20 +s +vr_portal +s +vr_portal +i +1 +i +3 +i +0 +TABLE +2 +K +V +n +n +2 +i +2 +s +/vt opt set enablenav true +i +2 +s +/vt nav load vr_getin +s +vr_portal +i +8 +i +1 +i +0 +s +death +s +recomp +i +2 +i +3 +TABLE +2 +K +V +n +n +2 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +testvar[vrRecompNavLoaded] +i +7 +i +0 +TABLE +2 +K +V +n +n +2 +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +clearvar[vrRecompNavLoaded] +i +1 +s +Hunt +s +recomp +i +1 +i +3 +i +0 +TABLE +2 +K +V +n +n +9 +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +setvar[diamondMissing, 100 - getitemcountininventorybyname[`Diamond Scarab`]] +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +ifthen[$diamondMissing < 0, `setvar[diamondMissing, 0]`] +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +setvar[manaMissing, 100 - getitemcountininventorybyname[`Mana Scarab`]] +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +ifthen[$manaMissing < 0, `setvar[manaMissing, 0]`] +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +setvar[vrRecompNavLoaded, 1] +i +2 +s +/vt opt set enablecombat false +i +2 +s +/vt opt set enablebuffing false +i +2 +s +/vt nav load ah_recomp +i +2 +s +/vt opt set enablenav true +s +recomp +i +1 +i +9 +i +0 +TABLE +2 +k +v +n +n +3 +s +s +s +stuck +s +r +d +3 +s +t +d +300 +s +recomp +i +20 +i +3 +i +0 +TABLE +2 +K +V +n +n +4 +i +2 +s +/vt opt set enablebuffing false +i +2 +s +/vt opt set enablenav true +i +2 +s +/vt opt set enablelooting false +i +2 +s +/vt opt set enablecombat false +s +death +i +2 +i +3 +TABLE +2 +K +V +n +n +2 +i +26 +TABLE +2 +k +v +n +n +1 +s +e +s +testvar[vrDeathNavLoaded] +i +7 +i +0 +TABLE +2 +K +V +n +n +2 +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +clearvar[vrDeathNavLoaded] +i +1 +s +Hunt +s +death +i +1 +i +3 +i +0 +TABLE +2 +K +V +n +n +2 +i +7 +TABLE +2 +k +v +n +n +1 +s +e +s +setvar[vrDeathNavLoaded, 1] +i +2 +s +/vt nav load vr_death_recall +s +death +i +1 +i +9 +i +0 +TABLE +2 +k +v +n +n +3 +s +s +s +stuck +s +r +d +5 +s +t +d +60 +s +death +i +1 +i +3 +i +0 +TABLE +2 +K +V +n +n +2 +i +2 +s +/ub face +i +1 +s +Default +s +stuck diff --git a/nav/vr_circuit.nav b/nav/vr_circuit.nav new file mode 100644 index 0000000..a1c9cf7 --- /dev/null +++ b/nav/vr_circuit.nav @@ -0,0 +1,153 @@ +uTank2 NAV 1.2 +2 +30 +0 +41.9497105916341 +-43.1529376983643 +0.466687520345052 +0 +0 +41.9768287658691 +-43.1087412198385 +0.471158981323242 +0 +0 +41.9944297154744 +-43.074902788798 +0.474092483520508 +0 +0 +41.9724821090698 +-43.031071917216 +0.470434538523356 +0 +0 +41.9665438334147 +-42.9931616465251 +0.476160589853923 +0 +0 +41.9551170984904 +-42.957892036438 +0.482038847605387 +0 +0 +41.9450602213542 +-42.9266560236613 +0.482530879974365 +0 +0 +41.9375498453776 +-42.9065367380778 +0.481279150644938 +0 +0 +41.9325536727905 +-42.8872996648153 +0.480446434020996 +0 +0 +41.9093962351481 +-42.8485040664673 +0.476836204528809 +0 +0 +41.9018606185913 +-42.8099236806234 +0.482010332743327 +0 +0 +41.9058579762777 +-42.7716864903768 +0.483354187011719 +0 +0 +41.9010899861654 +-42.7328478594621 +0.483354187011719 +0 +0 +41.8793203353882 +-42.7176856080691 +0.483354187011719 +0 +0 +41.8689734141032 +-42.6992350737254 +0.483354187011719 +0 +0 +41.8453479766846 +-42.6660248994827 +0.483354187011719 +0 +0 +41.8427317301432 +-42.6231523275375 +0.483354187011719 +0 +0 +41.8676944096883 +-42.5743356227875 +0.483354187011719 +0 +0 +41.8945412317912 +-42.5429576396942 +0.483354187011719 +0 +0 +41.9451269785563 +-42.4361155192057 +0.483354187011719 +0 +0 +41.9191555658976 +-42.3844134648641 +0.483354187011719 +0 +0 +41.8893810272217 +-42.3562530199687 +0.483354187011719 +0 +0 +41.9242672602336 +-42.3081885019938 +0.483354187011719 +0 +0 +41.9368340174357 +-42.2537010510763 +0.483354187011719 +0 +0 +41.9128589630127 +-42.1974157969157 +0.483354187011719 +0 +0 +41.9383330027262 +-42.1601594924927 +0.483354187011719 +0 +0 +41.961719640096 +-42.1321718215942 +0.482336076100667 +0 +0 +42.0295560836792 +-42.1295103708903 +0.483354187011719 +0 +0 +42.0761412163575 +-42.1443994522095 +0.483354187011719 +0 +0 +42.0971206267675 +-42.2140798568726 +0.483354187011719 +0 diff --git a/nav/vr_getin.nav b/nav/vr_getin.nav new file mode 100644 index 0000000..617a888 --- /dev/null +++ b/nav/vr_getin.nav @@ -0,0 +1,21 @@ +uTank2 NAV 1.2 +4 +3 +4 +41.5919195493062 +-43.2347578048706 +0.261777146657308 +0 +/ub use Ancient Statue of the Viridian Rise +3 +41.5919195493062 +-43.2347578048706 +0.261777146657308 +0 +2000 +4 +41.5919195493062 +-43.2347578048706 +0.261777146657308 +0 +/ub use Viridian Portal diff --git a/nav/vr_run.nav b/nav/vr_run.nav index fe9c3a8..39ac6dc 100644 --- a/nav/vr_run.nav +++ b/nav/vr_run.nav @@ -1,104 +1,81 @@ uTank2 NAV 1.2 4 -20 +15 +3 +41.5919195493062 +-43.2347578048706 +0.261777146657308 +0 +5000 2 -58.7597544987996 --29.1851269404093 -0.0500208298365275 +41.5919195493062 +-43.2347578048706 +0.261777146657308 0 2645 +3 +41.5919195493062 +-43.2347578048706 +0.261777146657308 0 -41.4984416643779 --46.6043541590373 -0.116687496503194 +10000 +0 +41.4723580996195 +-46.4319018681844 +0.101890261967977 0 0 -41.4983984629313 --46.2900749842326 -0.104054037729899 +41.4406577428182 +-46.2305841445923 +0.100027084350586 0 0 -41.4916957537333 --46.0637755711873 -0.103495478630066 +41.3348950306574 +-44.6196473121643 +0.0909247954686483 0 0 -41.5522139867147 --45.771785847346 -0.116687496503194 +41.3228840033213 +-44.3698853810628 +0.133613745371501 0 0 -41.479167064031 --45.6494635264079 -0.0964592615763346 +41.3359585444133 +-44.2358478864034 +0.151073169708252 0 0 -41.4585995515188 --45.4640510559082 -0.0845250844955444 +41.3301803588867 +-44.0594171841939 +0.173300298055013 0 0 -41.4581401824951 --45.246081161499 -0.0597108642260234 +41.3354294379552 +-43.9641816457113 +0.185788853963216 0 0 -41.4800272305806 --44.9943890571594 -0.0499348918596903 +41.3801766554515 +-43.8420330365499 +0.184290520350138 0 0 -41.5319148381551 --44.7290088971456 -0.0363683621088664 +41.5054226716359 +-43.4965383489927 +0.213555908203125 0 0 -41.5680774688721 --44.4774719238281 -0.0227726101875305 +41.5432651837667 +-43.2737871487935 +0.242695156733195 0 0 -41.6128581682841 --44.1955205440521 -0.0600528637568156 +41.5487318674723 +-43.2477605501811 +0.24947395324707 0 0 -41.595930480957 --43.9731945355733 -0.101339117685954 -0 -0 -41.5541548411051 --43.7940656026204 -0.154632393519084 -0 -0 -41.5325356801351 --43.6801054636637 -0.17979195912679 -0 -0 -41.5343168258667 --43.5254372954369 -0.211141014099121 -0 -0 -41.5335787773132 --43.3942755063375 -0.224190807342529 -0 -0 -41.5396595319112 --43.2994728247325 -0.236605135599772 -0 -0 -41.5564040184021 --43.2579870859782 -0.250290664037069 -0 -0 -41.5827718734741 --43.236754322052 -0.259317604700724 +41.5919195493062 +-43.2347578048706 +0.261777146657308 0