restructure metas and add augment service support
All checks were successful
/ test (push) Successful in 24s
All checks were successful
/ test (push) Successful in 24s
This commit is contained in:
parent
af672e6a3b
commit
7a37c0d5b0
156 changed files with 32527 additions and 14558 deletions
|
|
@ -1,293 +0,0 @@
|
||||||
~~
|
|
||||||
~~ Nalicana's Test Quest Meta
|
|
||||||
~~ Talk to Nalicana → Gurog Ice Cave → Kill Battle Lord Gregor
|
|
||||||
~~ → Loot Mnemosyne → Return to Nalicana
|
|
||||||
~~
|
|
||||||
~~ NAV FILES REQUIRED (record in-game):
|
|
||||||
~~ nav_nalicana.nav - Start location → Nalicana at Asheron's Castle
|
|
||||||
~~ nal_to_cave.nav - Nalicana → Gurog Ice Cave → first room → locked door
|
|
||||||
~~ nal_to_tomb_portal.nav - Past door → Frozen Tomb portal
|
|
||||||
~~ nal_dungeon_run.nav - Frozen Tomb → maze (hug right) → Gregor's room
|
|
||||||
~~
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: Default - Init and go talk to Nalicana
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {Default}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub opt set VTank.PatchExpressionEngine true}
|
|
||||||
SetOpt {enablecombat} {false}
|
|
||||||
SetOpt {enablenav} {true}
|
|
||||||
SetOpt {enablelooting} {false}
|
|
||||||
SetOpt {enablebuffing} {true}
|
|
||||||
SetOpt {attackdistance} {0.0125}
|
|
||||||
Chat {/vt nav load nav_nalicana}
|
|
||||||
SetState {talk_nalicana}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: talk_nalicana - Navigate to Nalicana, talk to get quest
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {talk_nalicana}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: All
|
|
||||||
Expr {testvar[navLoaded]}
|
|
||||||
NavEmpty
|
|
||||||
DO: DoAll
|
|
||||||
ClearWatchdog
|
|
||||||
Chat {/ub use Nalicana}
|
|
||||||
SetState {wait_nalicana_dialog}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {touchvar[navLoaded]}
|
|
||||||
SetWatchdog 10.0 300.0 {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: wait_nalicana_dialog - Wait for Nalicana's quest dialog
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {wait_nalicana_dialog}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
~~ Got the quest dialog
|
|
||||||
IF: ChatMatch {Gurog have emerged}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Got quest from Nalicana!`,1]}
|
|
||||||
SetState {nav_to_cave}
|
|
||||||
~~ On cooldown
|
|
||||||
IF: ChatMatch {You have solved this quest too recently}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Quest on cooldown!`,1]}
|
|
||||||
SetState {done}
|
|
||||||
~~ Timeout - maybe already have quest, try going anyway
|
|
||||||
IF: SecsInStateGE 10
|
|
||||||
DO: SetState {nav_to_cave}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: nav_to_cave - Travel to cave, kill gurogs, arrive at door
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {nav_to_cave}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: All
|
|
||||||
Expr {testvar[navLoaded2]}
|
|
||||||
NavEmpty
|
|
||||||
DO: DoAll
|
|
||||||
ClearWatchdog
|
|
||||||
SetOpt {enablecombat} {true}
|
|
||||||
SetOpt {enablelooting} {true}
|
|
||||||
SetState {wait_key}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {touchvar[navLoaded2]}
|
|
||||||
Chat {/vt nav load nal_to_cave}
|
|
||||||
SetWatchdog 10.0 600.0 {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: wait_key - At the door, wait for key from gurogs
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {wait_key}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: ItemCountGE 1 {Entryway Key}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Got Entryway Key!`,1]}
|
|
||||||
Chat {/ub use Entryway Key on Door}
|
|
||||||
SetState {wait_door}
|
|
||||||
~~ Keep fighting, wait for key
|
|
||||||
IF: SecsInStateGE 120
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Key taking too long...`,1]}
|
|
||||||
SetState {wait_key}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: wait_door - Wait for door unlock message
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {wait_door}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
~~ Door unlocked
|
|
||||||
IF: ChatMatch {Door has been unlocked}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Door opened!`,1]}
|
|
||||||
SetOpt {enablecombat} {false}
|
|
||||||
SetOpt {enablelooting} {false}
|
|
||||||
SetState {nav_to_tomb_portal}
|
|
||||||
~~ Retry key use
|
|
||||||
IF: SecsInStateGE 5
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub use Entryway Key on Door}
|
|
||||||
SetState {wait_door}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: nav_to_tomb_portal - Navigate to Frozen Tomb portal
|
|
||||||
~~ Combat OFF during this nav
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {nav_to_tomb_portal}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: All
|
|
||||||
Expr {testvar[navLoaded3]}
|
|
||||||
NavEmpty
|
|
||||||
DO: DoAll
|
|
||||||
ClearWatchdog
|
|
||||||
SetState {enter_frozen_tomb}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {touchvar[navLoaded3]}
|
|
||||||
Chat {/vt nav load nal_to_tomb_portal}
|
|
||||||
SetWatchdog 10.0 300.0 {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: enter_frozen_tomb - Wait for portal transition
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {enter_frozen_tomb}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: ExitPortal
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Inside Frozen Tomb!`,1]}
|
|
||||||
SetOpt {enablecombat} {true}
|
|
||||||
SetState {dungeon_run}
|
|
||||||
~~ If we walked right into it, may already be inside
|
|
||||||
IF: SecsInStateGE 10
|
|
||||||
DO: DoAll
|
|
||||||
SetOpt {enablecombat} {true}
|
|
||||||
SetState {dungeon_run}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: dungeon_run - Navigate through Frozen Tomb to Gregor
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {dungeon_run}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: All
|
|
||||||
Expr {testvar[navLoaded4]}
|
|
||||||
NavEmpty
|
|
||||||
DO: DoAll
|
|
||||||
ClearWatchdog
|
|
||||||
SetOpt {enablelooting} {true}
|
|
||||||
SetState {kill_gregor}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {touchvar[navLoaded4]}
|
|
||||||
Chat {/vt nav load nal_dungeon_run}
|
|
||||||
SetOpt {enablelooting} {false}
|
|
||||||
SetWatchdog 10.0 600.0 {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: kill_gregor - Kill Battle Lord Gregor
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {kill_gregor}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
~~ Gregor's death speech - he's dead, stop fighting
|
|
||||||
IF: ChatMatch {Killing me will not change anything}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Battle Lord Gregor defeated!`,1]}
|
|
||||||
SetOpt {enablecombat} {false}
|
|
||||||
SetState {wait_loot}
|
|
||||||
~~ Got the mnemosyne already
|
|
||||||
IF: ItemCountGE 1 {Battle Lord Gregor's Mnemosyne}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Got the Mnemosyne!`,1]}
|
|
||||||
SetOpt {enablecombat} {false}
|
|
||||||
SetOpt {enablelooting} {false}
|
|
||||||
SetState {return_nalicana}
|
|
||||||
IF: SecsInStateGE 600
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Gregor fight timeout!`,1]}
|
|
||||||
SetState {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: wait_loot - Wait for VTank to pick up mnemosyne
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {wait_loot}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: ItemCountGE 1 {Battle Lord Gregor's Mnemosyne}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Got the Mnemosyne! Returning to Nalicana.`,1]}
|
|
||||||
SetOpt {enablelooting} {false}
|
|
||||||
SetState {return_nalicana}
|
|
||||||
~~ Timeout waiting for loot
|
|
||||||
IF: SecsInStateGE 30
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Mnemosyne not looted, check loot profile!`,1]}
|
|
||||||
SetOpt {enablelooting} {false}
|
|
||||||
SetState {return_nalicana}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: return_nalicana - Nav back to Nalicana using nav_nalicana
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {return_nalicana}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: All
|
|
||||||
Expr {testvar[navLoaded5]}
|
|
||||||
NavEmpty
|
|
||||||
DO: DoAll
|
|
||||||
ClearWatchdog
|
|
||||||
SetState {turn_in}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {touchvar[navLoaded5]}
|
|
||||||
Chat {/vt nav load nav_nalicana}
|
|
||||||
SetWatchdog 10.0 600.0 {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: turn_in - Give mnemosyne to Nalicana
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {turn_in}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub givep Battle Lord Gregor's Mnemosyne to Nalicana}
|
|
||||||
Chat {/ub prepclick yes 3}
|
|
||||||
SetState {wait_turn_in}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: wait_turn_in - Wait for turn-in dialog
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {wait_turn_in}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: ChatMatch {Lord Asheron should be able to learn much}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Nalicana's Test COMPLETE!`,1]}
|
|
||||||
SetState {done}
|
|
||||||
~~ Retry turn-in
|
|
||||||
IF: SecsInStateGE 10
|
|
||||||
DO: SetState {turn_in}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: done - Quest complete
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {done}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Nalicana's Test quest finished.`,1]}
|
|
||||||
Chat {/mp}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: stuck - Navigation stuck recovery
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {stuck}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub face}
|
|
||||||
DoExpr {echo[`Stuck! Check nav...`,1]}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: death - Death recovery, recall and restart
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {death}
|
|
||||||
IF: ExitPortal
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Died! Restarting...`,1]}
|
|
||||||
SetState {Default}
|
|
||||||
|
|
@ -1,109 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
4
|
|
||||||
18
|
|
||||||
4
|
|
||||||
-101.035883959134
|
|
||||||
-27.7356273174286
|
|
||||||
0.150020837783813
|
|
||||||
0
|
|
||||||
/ah
|
|
||||||
0
|
|
||||||
59.324442132314
|
|
||||||
-28.5358481725057
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
0
|
|
||||||
59.3055089314779
|
|
||||||
-28.5401463190715
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
0
|
|
||||||
59.2989932378133
|
|
||||||
-28.5247219721476
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
0
|
|
||||||
59.2991608301799
|
|
||||||
-28.5027507781982
|
|
||||||
0.0583541631698608
|
|
||||||
0
|
|
||||||
6
|
|
||||||
-101.035883959134
|
|
||||||
-27.7356273174286
|
|
||||||
0.150020837783813
|
|
||||||
0
|
|
||||||
Sawato Meeting Hall Portal
|
|
||||||
14
|
|
||||||
True
|
|
||||||
59.2987999916077
|
|
||||||
-28.482691637675
|
|
||||||
0.0580708347260952
|
|
||||||
4
|
|
||||||
-101.035883959134
|
|
||||||
-27.7356273174286
|
|
||||||
0.150020837783813
|
|
||||||
0
|
|
||||||
/tell Time according to alex, cv
|
|
||||||
3
|
|
||||||
-101.035883959134
|
|
||||||
-27.7356273174286
|
|
||||||
0.150020837783813
|
|
||||||
0
|
|
||||||
10000
|
|
||||||
4
|
|
||||||
-101.035883959134
|
|
||||||
-27.7356273174286
|
|
||||||
0.150020837783813
|
|
||||||
0
|
|
||||||
/ub use Gateway
|
|
||||||
0
|
|
||||||
13.6430676460266
|
|
||||||
64.7994166374206
|
|
||||||
1.15502077738444
|
|
||||||
0
|
|
||||||
0
|
|
||||||
13.5994514783223
|
|
||||||
64.7994166374206
|
|
||||||
1.1736333211263
|
|
||||||
0
|
|
||||||
0
|
|
||||||
13.5750706036886
|
|
||||||
64.7994166374206
|
|
||||||
1.17639503479004
|
|
||||||
0
|
|
||||||
0
|
|
||||||
13.5309435844421
|
|
||||||
64.7073394457499
|
|
||||||
1.21768137613932
|
|
||||||
0
|
|
||||||
0
|
|
||||||
13.4500286897024
|
|
||||||
64.4615866204103
|
|
||||||
1.37660484313965
|
|
||||||
0
|
|
||||||
0
|
|
||||||
13.3368370691935
|
|
||||||
64.2607777277629
|
|
||||||
1.48141034444173
|
|
||||||
0
|
|
||||||
0
|
|
||||||
13.1944775263468
|
|
||||||
64.0820965131124
|
|
||||||
1.60867055257161
|
|
||||||
0
|
|
||||||
6
|
|
||||||
-101.035883959134
|
|
||||||
-27.7356273174286
|
|
||||||
0.150020837783813
|
|
||||||
0
|
|
||||||
Mountain Cavern Portal
|
|
||||||
14
|
|
||||||
True
|
|
||||||
13.1864875157674
|
|
||||||
64.0650895754496
|
|
||||||
1.62406241893768
|
|
||||||
0
|
|
||||||
-101.036203662554
|
|
||||||
-27.7340151468913
|
|
||||||
0.150020837783813
|
|
||||||
0
|
|
||||||
|
|
@ -1,262 +0,0 @@
|
||||||
~~
|
|
||||||
~~ Empyrean Facility Aetheria Quest Meta
|
|
||||||
~~ Automates the 3-level Aetheria slot unlock dungeon
|
|
||||||
~~ Each level: kill wisps in 4 cardinal rooms, use Aligned Mana Stone at each fountain
|
|
||||||
~~ Then use stone at center fountain and take portal to next level
|
|
||||||
~~
|
|
||||||
~~ NAV FILES REQUIRED (record in-game, save to VTank folder):
|
|
||||||
~~ nav_empyrean.nav - Route TO the dungeon (already have this)
|
|
||||||
~~ emp_upper_north.nav - Upper level: start → north room fountain
|
|
||||||
~~ emp_upper_east.nav - Upper level: north room → east room fountain
|
|
||||||
~~ emp_upper_south.nav - Upper level: east room → south room fountain
|
|
||||||
~~ emp_upper_west.nav - Upper level: south room → west room fountain
|
|
||||||
~~ emp_upper_center.nav - Upper level: west room → center room fountain
|
|
||||||
~~ emp_middle_north.nav - Middle level: landing → north room fountain
|
|
||||||
~~ emp_middle_east.nav - Middle level: north room → east room fountain
|
|
||||||
~~ emp_middle_south.nav - Middle level: east room → south room fountain
|
|
||||||
~~ emp_middle_west.nav - Middle level: south room → west room fountain
|
|
||||||
~~ emp_middle_center.nav - Middle level: west room → center room fountain
|
|
||||||
~~ emp_lower_north.nav - Lower level: landing → north room fountain
|
|
||||||
~~ emp_lower_east.nav - Lower level: north room → east room fountain
|
|
||||||
~~ emp_lower_south.nav - Lower level: east room → south room fountain
|
|
||||||
~~ emp_lower_west.nav - Lower level: south room → west room fountain
|
|
||||||
~~ emp_lower_center.nav - Lower level: west room → center room fountain
|
|
||||||
~~
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: Default - One-time init and travel to dungeon
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {Default}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub opt set VTank.PatchExpressionEngine true}
|
|
||||||
SetOpt {enablecombat} {false}
|
|
||||||
SetOpt {enablenav} {true}
|
|
||||||
SetOpt {enablelooting} {false}
|
|
||||||
SetOpt {enablebuffing} {true}
|
|
||||||
SetOpt {attackdistance} {0.0125}
|
|
||||||
DoExpr {setvar[currentLevel,`upper`]}
|
|
||||||
DoExpr {setvar[currentRoom,`north`]}
|
|
||||||
DoExpr {setvar[roomsDone,0]}
|
|
||||||
Chat {/vt nav load nav_empyrean}
|
|
||||||
SetState {enter_dungeon}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: enter_dungeon - Wait for nav to reach dungeon entrance
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {enter_dungeon}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: All
|
|
||||||
SecsInStateGE 3
|
|
||||||
NavEmpty
|
|
||||||
DO: DoAll
|
|
||||||
SetOpt {enablecombat} {true}
|
|
||||||
SetState {goto_room}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
SetWatchdog 10.0 300.0 {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: goto_room - Load nav for current level+room
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {goto_room}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
ChatExpr {\/vt nav load emp_+getvar[currentLevel]+`_`+getvar[currentRoom]}
|
|
||||||
DoExpr {clearvar[navLoaded]}
|
|
||||||
SetState {arrive_room}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: arrive_room - Wait for nav to finish (arrived at room)
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {arrive_room}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: All
|
|
||||||
Expr {testvar[navLoaded]}
|
|
||||||
NavEmpty
|
|
||||||
DO: DoAll
|
|
||||||
ClearWatchdog
|
|
||||||
SetState {kill_wisps}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {touchvar[navLoaded]}
|
|
||||||
SetWatchdog 10.0 180.0 {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: kill_wisps - Wait for all mobs in room to die
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {kill_wisps}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
~~ All wisps dead — proceed to use stone
|
|
||||||
IF: All
|
|
||||||
SecsInStateGE 5
|
|
||||||
NoMobsInDist 4.0
|
|
||||||
DO: SetState {use_stone}
|
|
||||||
~~ Safety timeout: if stuck fighting for 5 minutes, try stone anyway
|
|
||||||
IF: SecsInStateGE 300
|
|
||||||
DO: SetState {use_stone}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
SetWatchdog 10.0 300.0 {stuck}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: use_stone - Use Aligned Mana Stone, wait for result
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {use_stone}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
~~ Success: "A shiver moves across your body"
|
|
||||||
IF: ChatMatch {A shiver moves across your body}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Room complete! (`+getvar[currentLevel]+` `+getvar[currentRoom]+`)`,1]}
|
|
||||||
SetState {next_room}
|
|
||||||
~~ Already done: "you feel no change"
|
|
||||||
IF: ChatMatch {no change}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Room already done (`+getvar[currentLevel]+` `+getvar[currentRoom]+`)`,1]}
|
|
||||||
SetState {next_room}
|
|
||||||
~~ Retry stone every 5 seconds
|
|
||||||
IF: SecsInStateGE 5
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub use Aligned Mana Stone}
|
|
||||||
SetState {use_stone}
|
|
||||||
~~ First attempt immediately
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub use Aligned Mana Stone}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: next_room - Advance to next room or center
|
|
||||||
~~ Route: north → east → south → west → center
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {next_room}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
~~ From north → go east
|
|
||||||
IF: Expr {getvar[currentRoom]==`north`}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {setvar[currentRoom,`east`]}
|
|
||||||
SetState {goto_room}
|
|
||||||
~~ From east → go south
|
|
||||||
IF: Expr {getvar[currentRoom]==`east`}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {setvar[currentRoom,`south`]}
|
|
||||||
SetState {goto_room}
|
|
||||||
~~ From south → go west
|
|
||||||
IF: Expr {getvar[currentRoom]==`south`}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {setvar[currentRoom,`west`]}
|
|
||||||
SetState {goto_room}
|
|
||||||
~~ From west → go to center
|
|
||||||
IF: Expr {getvar[currentRoom]==`west`}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {setvar[currentRoom,`center`]}
|
|
||||||
SetState {goto_room}
|
|
||||||
~~ From center → level complete, use stone then take portal
|
|
||||||
IF: Expr {getvar[currentRoom]==`center`}
|
|
||||||
DO: SetState {use_stone_center}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: use_stone_center - Use stone at center fountain, then portal
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {use_stone_center}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
~~ Success at center fountain — got aetheria message
|
|
||||||
IF: ChatMatch {A shiver moves across your body}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Level complete! (`+getvar[currentLevel]+`)`,1]}
|
|
||||||
SetState {take_portal}
|
|
||||||
~~ Already done
|
|
||||||
IF: ChatMatch {no change}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Level already done (`+getvar[currentLevel]+`)`,1]}
|
|
||||||
SetState {take_portal}
|
|
||||||
~~ Retry stone every 5 seconds
|
|
||||||
IF: SecsInStateGE 5
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub use Aligned Mana Stone}
|
|
||||||
SetState {use_stone_center}
|
|
||||||
~~ First attempt immediately
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub use Aligned Mana Stone}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: take_portal - Take portal to next level
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {take_portal}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
~~ Upper level done → take Middle portal
|
|
||||||
IF: Expr {getvar[currentLevel]==`upper`}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {setvar[currentLevel,`middle`]}
|
|
||||||
DoExpr {setvar[currentRoom,`north`]}
|
|
||||||
Chat {/ub use Empyrean Facility Middle Level}
|
|
||||||
SetState {portal_transition}
|
|
||||||
~~ Middle level done → take Lower portal
|
|
||||||
IF: Expr {getvar[currentLevel]==`middle`}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {setvar[currentLevel,`lower`]}
|
|
||||||
DoExpr {setvar[currentRoom,`north`]}
|
|
||||||
Chat {/ub use Empyrean Facility Lower Level}
|
|
||||||
SetState {portal_transition}
|
|
||||||
~~ Lower level done → quest complete!
|
|
||||||
IF: Expr {getvar[currentLevel]==`lower`}
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`All 3 aetheria slots unlocked!`,1]}
|
|
||||||
SetState {quest_done}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: portal_transition - Wait for portal entry/exit
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {portal_transition}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: ExitPortal
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Arrived at `+getvar[currentLevel]+` level`,1]}
|
|
||||||
SetState {goto_room}
|
|
||||||
~~ Safety: if portal didn't work, retry
|
|
||||||
IF: SecsInStateGE 15
|
|
||||||
DO: SetState {take_portal}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: quest_done - All 3 levels complete, recall out
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {quest_done}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Empyrean Facility quest COMPLETE! All aetheria slots unlocked.`,1]}
|
|
||||||
Chat {/mp}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: stuck - Navigation stuck, try to recover
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {stuck}
|
|
||||||
IF: Death
|
|
||||||
DO: SetState {death}
|
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/ub face}
|
|
||||||
DoExpr {echo[`Stuck! Trying to recover...`,1]}
|
|
||||||
SetState {goto_room}
|
|
||||||
|
|
||||||
~~ ============================================================
|
|
||||||
~~ STATE: death - Death recovery
|
|
||||||
~~ Re-enter dungeon from the beginning
|
|
||||||
~~ ============================================================
|
|
||||||
STATE: {death}
|
|
||||||
IF: ExitPortal
|
|
||||||
DO: DoAll
|
|
||||||
DoExpr {echo[`Died! Re-entering dungeon...`,1]}
|
|
||||||
Chat {/vt nav load nav_empyrean}
|
|
||||||
SetState {enter_dungeon}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
4
|
|
||||||
1
|
|
||||||
0
|
|
||||||
69.2693708399932
|
|
||||||
21.0462558110555
|
|
||||||
1.55835418701172
|
|
||||||
0
|
|
||||||
|
|
@ -80,7 +80,7 @@ STATE: {Default} ~~ {
|
||||||
STATE: {hunt} ~~ {
|
STATE: {hunt} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt opt set enablenav true}
|
DO: Chat {/vt opt set enablenav true}
|
||||||
IF: Expr {getvar[lootTime] == 0}
|
IF: Expr {getvar[lootTime] == 0}
|
||||||
DO: DoExpr {setvar[lootTime, 21600]}
|
DO: DoExpr {setvar[lootTime, 21600]}
|
||||||
IF: Death
|
IF: Death
|
||||||
DO: SetState {death}
|
DO: SetState {death}
|
||||||
|
|
@ -51,11 +51,11 @@ STATE: {dummy} ~~ {
|
||||||
DO: CreateView {state} {}
|
DO: CreateView {state} {}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateBurdenPackSlots} ~~ {
|
STATE: {stateBurdenPackSlots} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: DoAll
|
DO: DoAll
|
||||||
DestroyView {main}
|
DestroyView {main}
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: CreateView {stateBurdenPackSlots} {<?xml version="1.0"?><view width="300" height="260" title="Burden and Pack Slots"><control type="layout"><control type="button" name="btnMightSeventhMule" left="10" top="10" width="250" height="25" text="Might of the Seventh Mule" actionexpr="setvar[Augment,`stateMightSeventhMule`]" setstate="nav_zaikhal" /><control type="button" name="btnShadowSeventhMule" left="10" top="40" width="250" height="25" text="Shadow of the Seventh Mule" actionexpr="setvar[Augment,`stateShadowSeventhMule`]" setstate="nav_zaikhal" /><control type="button" name="btnInfusedWarMagic" left="10" top="70" width="250" height="25" text="Infused War Magic" actionexpr="setvar[Augment,`stateInfusedWarMagic`]" setstate="nav_silyun" /><control type="button" name="btnInfusedLifeMagic" left="10" top="100" width="250" height="25" text="Infused Life Magic" actionexpr="setvar[Augment,`stateInfusedLifeMagic`]" setstate="nav_hebian_to" /><control type="button" name="btnInfusedItemMagic" left="10" top="130" width="250" height="25" text="Infused Item Magic" actionexpr="setvar[Augment,`stateInfusedItemMagic`]" setstate="nav_hebian_to" /><control type="button" name="btnInfusedCreatureMagic" left="10" top="160" width="250" height="25" text="Infused Creature Magic" actionexpr="setvar[Augment,`stateInfusedCreatureMagic`]" setstate="nav_cragstone" /><control type="button" name="btnInfusedVoidMagic" left="10" top="190" width="250" height="25" text="Infused Void Magic" actionexpr="setvar[Augment,`stateInfusedVoidMagic`]" setstate="nav_candeth_keep" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
DO: CreateView {stateBurdenPackSlots} {<?xml version="1.0"?><view width="300" height="260" title="Burden and Pack Slots"><control type="layout"><control type="button" name="btnMightSeventhMule" left="10" top="10" width="250" height="25" text="Might of the Seventh Mule" actionexpr="setvar[Augment,`stateMightSeventhMule`]" setstate="nav_zaikhal" /><control type="button" name="btnShadowSeventhMule" left="10" top="40" width="250" height="25" text="Shadow of the Seventh Mule" actionexpr="setvar[Augment,`stateShadowSeventhMule`]" setstate="nav_zaikhal" /><control type="button" name="btnInfusedWarMagic" left="10" top="70" width="250" height="25" text="Infused War Magic" actionexpr="setvar[Augment,`stateInfusedWarMagic`]" setstate="nav_silyun" /><control type="button" name="btnInfusedLifeMagic" left="10" top="100" width="250" height="25" text="Infused Life Magic" actionexpr="setvar[Augment,`stateInfusedLifeMagic`]" setstate="nav_hebianto" /><control type="button" name="btnInfusedItemMagic" left="10" top="130" width="250" height="25" text="Infused Item Magic" actionexpr="setvar[Augment,`stateInfusedItemMagic`]" setstate="nav_hebianto" /><control type="button" name="btnInfusedCreatureMagic" left="10" top="160" width="250" height="25" text="Infused Creature Magic" actionexpr="setvar[Augment,`stateInfusedCreatureMagic`]" setstate="nav_cragstone" /><control type="button" name="btnInfusedVoidMagic" left="10" top="190" width="250" height="25" text="Infused Void Magic" actionexpr="setvar[Augment,`stateInfusedVoidMagic`]" setstate="nav_candeth" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateDeathPenalties} ~~ {
|
STATE: {stateDeathPenalties} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
|
|
@ -81,44 +81,44 @@ STATE: {stateHealthArmorRegen} ~~ {
|
||||||
STATE: {stateInnateAttribute} ~~ {
|
STATE: {stateInnateAttribute} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: DoAll
|
DO: DoAll
|
||||||
DestroyView {main}
|
DestroyView {main}
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: CreateView {stateInnateAttribute} {<?xml version="1.0"?><view width="300" height="220" title="Innate Attribute"><control type="layout"><control type="button" name="btnReinforcementLugians" left="10" top="10" width="250" height="25" text="Reinforcement of the Lugians" actionexpr="setvar[Augment,`stateReinforcementLugians`]" setstate="nav_fiun" /><control type="button" name="btnBleearghFortitude" left="10" top="40" width="250" height="25" text="Bleeargh's Fortitude" actionexpr="setvar[Augment,`stateBleearghFortitude`]" setstate="nav_fiun" /><control type="button" name="btnOswaldEnhancement" left="10" top="70" width="250" height="25" text="Oswald's Enhancement" actionexpr="setvar[Augment,`stateOswaldEnhancement`]" setstate="nav_fiun" /><control type="button" name="btnSiraluunBlessing" left="10" top="100" width="250" height="25" text="Siraluun's Blessing" actionexpr="setvar[Augment,`stateSiraluunBlessing`]" setstate="nav_fiun" /><control type="button" name="btnEnduringCalm" left="10" top="130" width="250" height="25" text="Enduring Calm" actionexpr="setvar[Augment,`stateEnduringCalm`]" setstate="nav_fiun" /><control type="button" name="btnSteadfastWill" left="10" top="160" width="250" height="25" text="Steadfast Will" actionexpr="setvar[Augment,`stateSteadfastWill`]" setstate="nav_fiun" /><control type="button" name="btnMain" left="10" top="190" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
DO: CreateView {stateInnateAttribute} {<?xml version="1.0"?><view width="300" height="220" title="Innate Attribute"><control type="layout"><control type="button" name="btnReinforcementLugians" left="10" top="10" width="250" height="25" text="Reinforcement of the Lugians" actionexpr="setvar[Augment,`stateReinforcementLugians`]" setstate="nav_fiun" /><control type="button" name="btnBleearghFortitude" left="10" top="40" width="250" height="25" text="Bleeargh's Fortitude" actionexpr="setvar[Augment,`stateBleearghFortitude`]" setstate="nav_fiun" /><control type="button" name="btnOswaldEnhancement" left="10" top="70" width="250" height="25" text="Oswald's Enhancement" actionexpr="setvar[Augment,`stateOswaldEnhancement`]" setstate="nav_fiun" /><control type="button" name="btnSiraluunBlessing" left="10" top="100" width="250" height="25" text="Siraluun's Blessing" actionexpr="setvar[Augment,`stateSiraluunBlessing`]" setstate="nav_fiun" /><control type="button" name="btnEnduringCalm" left="10" top="130" width="250" height="25" text="Enduring Calm" actionexpr="setvar[Augment,`stateEnduringCalm`]" setstate="nav_fiun" /><control type="button" name="btnSteadfastWill" left="10" top="160" width="250" height="25" text="Steadfast Will" actionexpr="setvar[Augment,`stateSteadfastWill`]" setstate="nav_fiun" /><control type="button" name="btnMain" left="10" top="190" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateInnateResistance} ~~ {
|
STATE: {stateInnateResistance} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: DoAll
|
DO: DoAll
|
||||||
DestroyView {main}
|
DestroyView {main}
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: CreateView {stateInnateResistance} {<?xml version="1.0"?><view width="300" height="250" title="Innate Resistance"><control type="layout"><control type="button" name="btnEnhancementMaceTurner" left="10" top="10" width="250" height="25" text="Enhancement of the Mace Turner" actionexpr="setvar[Augment,`stateEnhancementMaceTurner`]" setstate="nav_hebian_to" /><control type="button" name="btnEnhancementBladeTurner" left="10" top="40" width="250" height="25" text="Enhancement of the Blade Turner" actionexpr="setvar[Augment,`stateEnhancementBladeTurner`]" setstate="nav_hebian_to" /><control type="button" name="btnEnhancementArrowTurner" left="10" top="70" width="250" height="25" text="Enhancement of the Arrow Turner" actionexpr="setvar[Augment,`stateEnhancementArrowTurner`]" setstate="nav_hebian_to" /><control type="button" name="btnStormEnhancement" left="10" top="100" width="250" height="25" text="Storm's Enhancement" actionexpr="setvar[Augment,`stateStormEnhancement`]" setstate="nav_hebian_to" /><control type="button" name="btnFieryEnhancement" left="10" top="130" width="250" height="25" text="Fiery Enhancement" actionexpr="setvar[Augment,`stateFieryEnhancement`]" setstate="nav_hebian_to" /><control type="button" name="btnIcyEnhancement" left="10" top="160" width="250" height="25" text="Icy Enhancement" actionexpr="setvar[Augment,`stateIcyEnhancement`]" setstate="nav_hebian_to" /><control type="button" name="btnCausticEnhancement" left="10" top="190" width="250" height="25" text="Caustic Enhancement" actionexpr="setvar[Augment,`stateCausticEnhancement`]" setstate="nav_hebian_to" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="stateDefault" /></control></view>}
|
DO: CreateView {stateInnateResistance} {<?xml version="1.0"?><view width="300" height="250" title="Innate Resistance"><control type="layout"><control type="button" name="btnEnhancementMaceTurner" left="10" top="10" width="250" height="25" text="Enhancement of the Mace Turner" actionexpr="setvar[Augment,`stateEnhancementMaceTurner`]" setstate="nav_hebianto" /><control type="button" name="btnEnhancementBladeTurner" left="10" top="40" width="250" height="25" text="Enhancement of the Blade Turner" actionexpr="setvar[Augment,`stateEnhancementBladeTurner`]" setstate="nav_hebianto" /><control type="button" name="btnEnhancementArrowTurner" left="10" top="70" width="250" height="25" text="Enhancement of the Arrow Turner" actionexpr="setvar[Augment,`stateEnhancementArrowTurner`]" setstate="nav_hebianto" /><control type="button" name="btnStormEnhancement" left="10" top="100" width="250" height="25" text="Storm's Enhancement" actionexpr="setvar[Augment,`stateStormEnhancement`]" setstate="nav_hebianto" /><control type="button" name="btnFieryEnhancement" left="10" top="130" width="250" height="25" text="Fiery Enhancement" actionexpr="setvar[Augment,`stateFieryEnhancement`]" setstate="nav_hebianto" /><control type="button" name="btnIcyEnhancement" left="10" top="160" width="250" height="25" text="Icy Enhancement" actionexpr="setvar[Augment,`stateIcyEnhancement`]" setstate="nav_hebianto" /><control type="button" name="btnCausticEnhancement" left="10" top="190" width="250" height="25" text="Caustic Enhancement" actionexpr="setvar[Augment,`stateCausticEnhancement`]" setstate="nav_hebianto" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateRatings} ~~ {
|
STATE: {stateRatings} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: DoAll
|
DO: DoAll
|
||||||
DestroyView {main}
|
DestroyView {main}
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: CreateView {stateRatings} {<?xml version="1.0"?><view width="300" height="180" title="Ratings"><control type="layout"><control type="button" name="btnCriticalProtection" left="10" top="10" width="250" height="25" text="Critical Protection" actionexpr="setvar[Augment,`stateCriticalProtection`]" setstate="nav_sanamar" /><control type="button" name="btnFrenzySlayer" left="10" top="40" width="250" height="25" text="Frenzy of the Slayer" actionexpr="setvar[Augment,`stateFrenzySlayer`]" setstate="nav_bandit" /><control type="button" name="btnIronSkin" left="10" top="70" width="250" height="25" text="Iron Skin of the Invincible" actionexpr="setvar[Augment,`stateIronSkin`]" setstate="nav_cragstone" /><control type="button" name="btnEyeRemorseless" left="10" top="100" width="250" height="25" text="Eye of the Remorseless" actionexpr="setvar[Augment,`stateEyeRemorseless`]" setstate="nav_ab" /><control type="button" name="btnHandRemorseless" left="10" top="130" width="250" height="25" text="Hand of the Remorseless" actionexpr="setvar[Augment,`stateHandRemorseless`]" setstate="nav_ab" /><control type="button" name="btnMain" left="10" top="160" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
DO: CreateView {stateRatings} {<?xml version="1.0"?><view width="300" height="180" title="Ratings"><control type="layout"><control type="button" name="btnCriticalProtection" left="10" top="10" width="250" height="25" text="Critical Protection" actionexpr="setvar[Augment,`stateCriticalProtection`]" setstate="nav_sanamar" /><control type="button" name="btnFrenzySlayer" left="10" top="40" width="250" height="25" text="Frenzy of the Slayer" actionexpr="setvar[Augment,`stateFrenzySlayer`]" setstate="nav_bandit" /><control type="button" name="btnIronSkin" left="10" top="70" width="250" height="25" text="Iron Skin of the Invincible" actionexpr="setvar[Augment,`stateIronSkin`]" setstate="nav_cragstone" /><control type="button" name="btnEyeRemorseless" left="10" top="100" width="250" height="25" text="Eye of the Remorseless" actionexpr="setvar[Augment,`stateEyeRemorseless`]" setstate="nav_ab" /><control type="button" name="btnHandRemorseless" left="10" top="130" width="250" height="25" text="Hand of the Remorseless" actionexpr="setvar[Augment,`stateHandRemorseless`]" setstate="nav_ab" /><control type="button" name="btnMain" left="10" top="160" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateSalvagingTinkering} ~~ {
|
STATE: {stateSalvagingTinkering} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: DoAll
|
DO: DoAll
|
||||||
DestroyView {main}
|
DestroyView {main}
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: CreateView {stateSalvagingTinkering} {<?xml version="1.0"?><view width="300" height="310" title="Salvaging and Tinkering"><control type="layout"><control type="button" name="btnCiandrasFortune" left="10" top="10" width="250" height="25" text="Ciandra's Fortune" actionexpr="setvar[Augment,`stateCiandrasFortune`]" setstate="nav_cragstone" /><control type="button" name="btnCharmedSmith" left="10" top="40" width="250" height="25" text="Charmed Smith" actionexpr="setvar[Augment,`stateCharmedSmith`]" setstate="nav_oolutangasrefuge" /><control type="button" name="btnJibrilsEssence" left="10" top="70" width="250" height="25" text="Jibril's Essence" actionexpr="setvar[Augment,`stateJibrilsEssence`]" setstate="nav_cragstone" /><control type="button" name="btnYoshisEssence" left="10" top="100" width="250" height="25" text="Yoshi's Essence" actionexpr="setvar[Augment,`stateYoshisEssence`]" setstate="nav_cragstone" /><control type="button" name="btnCeldisethsEssence" left="10" top="130" width="250" height="25" text="Celdiseth's Essence" actionexpr="setvar[Augment,`stateCeldisethsEssence`]" setstate="nav_cragstone" /><control type="button" name="btnKogasEssence" left="10" top="160" width="250" height="25" text="Koga's Essence" actionexpr="setvar[Augment,`stateKogasEssence`]" setstate="nav_cragstone" /><control type="button" name="btnCiandrasEssence" left="10" top="190" width="250" height="25" text="Ciandra's Essence" actionexpr="setvar[Augment,`stateCiandrasEssence`]" setstate="nav_cragstone" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
DO: CreateView {stateSalvagingTinkering} {<?xml version="1.0"?><view width="300" height="310" title="Salvaging and Tinkering"><control type="layout"><control type="button" name="btnCiandrasFortune" left="10" top="10" width="250" height="25" text="Ciandra's Fortune" actionexpr="setvar[Augment,`stateCiandrasFortune`]" setstate="nav_cragstone" /><control type="button" name="btnCharmedSmith" left="10" top="40" width="250" height="25" text="Charmed Smith" actionexpr="setvar[Augment,`stateCharmedSmith`]" setstate="nav_oolutangasrefuge" /><control type="button" name="btnJibrilsEssence" left="10" top="70" width="250" height="25" text="Jibril's Essence" actionexpr="setvar[Augment,`stateJibrilsEssence`]" setstate="nav_cragstone" /><control type="button" name="btnYoshisEssence" left="10" top="100" width="250" height="25" text="Yoshi's Essence" actionexpr="setvar[Augment,`stateYoshisEssence`]" setstate="nav_cragstone" /><control type="button" name="btnCeldisethsEssence" left="10" top="130" width="250" height="25" text="Celdiseth's Essence" actionexpr="setvar[Augment,`stateCeldisethsEssence`]" setstate="nav_cragstone" /><control type="button" name="btnKogasEssence" left="10" top="160" width="250" height="25" text="Koga's Essence" actionexpr="setvar[Augment,`stateKogasEssence`]" setstate="nav_cragstone" /><control type="button" name="btnCiandrasEssence" left="10" top="190" width="250" height="25" text="Ciandra's Essence" actionexpr="setvar[Augment,`stateCiandrasEssence`]" setstate="nav_cragstone" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateSkills} ~~ {
|
STATE: {stateSkills} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: DoAll
|
DO: DoAll
|
||||||
DestroyView {main}
|
DestroyView {main}
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: CreateView {stateSkills} {<?xml version="1.0"?><view width="300" height="180" title="Skills"><control type="layout"><control type="button" name="btnMasterSteelCircle" left="10" top="10" width="250" height="25" text="Master of the Steel Circle" actionexpr="setvar[Augment,`stateMasterSteelCircle`]" setstate="nav_silyun" /><control type="button" name="btnMasterFiveFoldPath" left="10" top="40" width="250" height="25" text="Master of the Five Fold Path" actionexpr="setvar[Augment,`stateMasterFiveFoldPath`]" setstate="nav_zaikhal" /><control type="button" name="btnMasterFocusedEye" left="10" top="70" width="250" height="25" text="Master of the Focused Eye" actionexpr="setvar[Augment,`stateMasterFocusedEye`]" setstate="nav_zaikhal" /><control type="button" name="btnJackTrades" left="10" top="100" width="250" height="25" text="Jack of All Trades" actionexpr="setvar[Augment,`stateJackTrades`]" setstate="nav_bandit" /><control type="button" name="btnMain" left="10" top="130" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
DO: CreateView {stateSkills} {<?xml version="1.0"?><view width="300" height="180" title="Skills"><control type="layout"><control type="button" name="btnMasterSteelCircle" left="10" top="10" width="250" height="25" text="Master of the Steel Circle" actionexpr="setvar[Augment,`stateMasterSteelCircle`]" setstate="nav_silyun" /><control type="button" name="btnMasterFiveFoldPath" left="10" top="40" width="250" height="25" text="Master of the Five Fold Path" actionexpr="setvar[Augment,`stateMasterFiveFoldPath`]" setstate="nav_zaikhal" /><control type="button" name="btnMasterFocusedEye" left="10" top="70" width="250" height="25" text="Master of the Focused Eye" actionexpr="setvar[Augment,`stateMasterFocusedEye`]" setstate="nav_zaikhal" /><control type="button" name="btnJackTrades" left="10" top="100" width="250" height="25" text="Jack of All Trades" actionexpr="setvar[Augment,`stateJackTrades`]" setstate="nav_bandit" /><control type="button" name="btnMain" left="10" top="130" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateSpellDuration} ~~ {
|
STATE: {stateSpellDuration} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: DoAll
|
DO: DoAll
|
||||||
DestroyView {main}
|
DestroyView {main}
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: CreateView {stateSpellDuration} {<?xml version="1.0"?><view width="300" height="110" title="Spell Duration"><control type="layout"><control type="button" name="btnArchmageEndurance" left="10" top="10" width="250" height="25" text="Archmage's Endurance" actionexpr="setvar[Augment,`stateArchmageEndurance`]" setstate="nav_mayoi" /><control type="button" name="btnMain" left="10" top="40" width="250" height="25" text="Main" setstate="stateDefault" /></control></view>}
|
DO: CreateView {stateSpellDuration} {<?xml version="1.0"?><view width="300" height="110" title="Spell Duration"><control type="layout"><control type="button" name="btnArchmageEndurance" left="10" top="10" width="250" height="25" text="Archmage's Endurance" actionexpr="setvar[Augment,`stateArchmageEndurance`]" setstate="nav_mayoi" /><control type="button" name="btnMain" left="10" top="40" width="250" height="25" text="Main" setstate="Default" /></control></view>}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateMightSeventhMule} ~~ {
|
STATE: {stateMightSeventhMule} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
|
|
@ -150,98 +150,84 @@ STATE: {stateInfusedLifeMagic} ~~ {
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateInfusedItemMagic} ~~ {
|
STATE: {stateInfusedItemMagic} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_ganfo}
|
DO: Chat {/vt nav load nav_ganfo}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateInfusedCreatureMagic} ~~ {
|
STATE: {stateInfusedCreatureMagic} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_gustuvlansdown}
|
DO: Chat {/vt nav load nav_gustuvlansdown}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateInfusedVoidMagic} ~~ {
|
STATE: {stateInfusedVoidMagic} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_morathe}
|
DO: Chat {/vt nav load nav_morathe}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateClutchMiser} ~~ {
|
STATE: {stateClutchMiser} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_rohulabintludun}
|
DO: Chat {/vt nav load nav_rohulabintludun}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateEnduringEnchantment} ~~ {
|
STATE: {stateEnduringEnchantment} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_erikfestus}
|
DO: Chat {/vt nav load nav_erikfestus}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateQuickLearner} ~~ {
|
STATE: {stateQuickLearner} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_rickarddumalia}
|
DO: Chat {/vt nav load nav_rickarddumalia}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateAsheronsLesserBenediction} ~~ {
|
STATE: {stateAsheronsLesserBenediction} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_donatellolinante}
|
DO: Chat {/vt nav load nav_donatellolinante}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateInnateRenewal} ~~ {
|
STATE: {stateInnateRenewal} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_alisondulane}
|
DO: Chat {/vt nav load nav_alisondulane}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateReinforcementLugians} ~~ {
|
STATE: {stateReinforcementLugians} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_fiunluunere}
|
DO: Chat {/vt nav load nav_fiunluunere}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateBleearghFortitude} ~~ {
|
STATE: {stateBleearghFortitude} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_fiunruun}
|
DO: Chat {/vt nav load nav_fiunruun}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateOswaldEnhancement} ~~ {
|
STATE: {stateOswaldEnhancement} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_fiunbayaas}
|
DO: Chat {/vt nav load nav_fiunbayaas}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateSiraluunBlessing} ~~ {
|
STATE: {stateSiraluunBlessing} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_fiunriish}
|
DO: Chat {/vt nav load nav_fiunriish}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateEnduringCalm} ~~ {
|
STATE: {stateEnduringCalm} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_fiunvasherr}
|
DO: Chat {/vt nav load nav_fiunvasherr}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateSteadfastWill} ~~ {
|
STATE: {stateSteadfastWill} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_fiunnoress}
|
DO: Chat {/vt nav load nav_fiunnoress}
|
||||||
|
|
@ -249,86 +235,76 @@ STATE: {stateSteadfastWill} ~~ {
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateCriticalProtection} ~~ {
|
STATE: {stateCriticalProtection} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_piersantilinante}
|
DO: Chat {/vt nav load nav_piersantilinante}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateFrenzySlayer} ~~ {
|
STATE: {stateFrenzySlayer} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_neelanashua}
|
DO: Chat {/vt nav load nav_neelanashua}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateIronSkin} ~~ {
|
STATE: {stateIronSkin} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_emilyyarow}
|
DO: Chat {/vt nav load nav_emilyyarow}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateEyeRemorseless} ~~ {
|
STATE: {stateEyeRemorseless} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_anframmellow}
|
DO: Chat {/vt nav load nav_anframmellow}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateHandRemorseless} ~~ {
|
STATE: {stateHandRemorseless} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_alishiabintaldan}
|
DO: Chat {/vt nav load nav_alishiabintaldan}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateEnhancementMaceTurner} ~~ {
|
STATE: {stateEnhancementMaceTurner} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_nawamaradia}
|
DO: Chat {/vt nav load nav_nawamaradia}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateEnhancementBladeTurner} ~~ {
|
STATE: {stateEnhancementBladeTurner} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_ilinwis}
|
DO: Chat {/vt nav load nav_ilinwis}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateEnhancementArrowTurner} ~~ {
|
STATE: {stateEnhancementArrowTurner} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_kyujoru}
|
DO: Chat {/vt nav load nav_kyujorujen}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateStormEnhancement} ~~ {
|
STATE: {stateStormEnhancement} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_enliyuo}
|
DO: Chat {/vt nav load nav_enliyuo}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateFieryEnhancement} ~~ {
|
STATE: {stateFieryEnhancement} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_rikshenri}
|
DO: Chat {/vt nav load nav_rikshenri}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateIcyEnhancement} ~~ {
|
STATE: {stateIcyEnhancement} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_lubao}
|
DO: Chat {/vt nav load nav_lubao}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateCausticEnhancement} ~~ {
|
STATE: {stateCausticEnhancement} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_shujiomilao}
|
DO: Chat {/vt nav load nav_shujiomilao}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {nav_zaikhal} ~~ {
|
STATE: {nav_zaikhal} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
|
|
@ -347,79 +323,70 @@ STATE: {nav_fiun} ~~ {
|
||||||
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateCiandrasFortune} ~~ {
|
STATE: {stateCiandrasFortune} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_kriscennis}
|
DO: Chat {/vt nav load nav_kriscennis}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateCharmedSmith} ~~ {
|
STATE: {stateCharmedSmith} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_lug}
|
DO: Chat {/vt nav load nav_lug}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateJibrilsEssence} ~~ {
|
STATE: {stateJibrilsEssence} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_joshunfelden}
|
DO: Chat {/vt nav load nav_joshunfelden}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateYoshisEssence} ~~ {
|
STATE: {stateYoshisEssence} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_briennecarlus}
|
DO: Chat {/vt nav load nav_briennecarlus}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateCeldisethsEssence} ~~ {
|
STATE: {stateCeldisethsEssence} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_burrellsammrun}
|
DO: Chat {/vt nav load nav_burrellsammrun}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateKogasEssence} ~~ {
|
STATE: {stateKogasEssence} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_lenorturk}
|
DO: Chat {/vt nav load nav_lenorturk}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateCiandrasEssence} ~~ {
|
STATE: {stateCiandrasEssence} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_robertcrow}
|
DO: Chat {/vt nav load nav_robertcrow}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {stateMasterSteelCircle} ~~ {
|
STATE: {stateMasterSteelCircle} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_carlitogallo}
|
DO: Chat {/vt nav load nav_carlitogallo}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateMasterFiveFoldPath} ~~ {
|
STATE: {stateMasterFiveFoldPath} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_rahinabintzalanis}
|
DO: Chat {/vt nav load nav_rahinabintzalanis}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateMasterFocusedEye} ~~ {
|
STATE: {stateMasterFocusedEye} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_kilaf}
|
DO: Chat {/vt nav load nav_kilaf}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {stateJackTrades} ~~ {
|
STATE: {stateJackTrades} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_ariannatheadept}
|
DO: Chat {/vt nav load nav_ariannatheadept}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Default}
|
DO: SetState {Default}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {nav_silyun} ~~ {
|
STATE: {nav_silyun} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
|
|
@ -429,7 +396,6 @@ STATE: {nav_silyun} ~~ {
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {nav_hebianto} ~~ {
|
STATE: {nav_hebianto} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_hebianto}
|
DO: Chat {/vt nav load nav_hebianto}
|
||||||
|
|
@ -438,7 +404,6 @@ STATE: {nav_hebianto} ~~ {
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {nav_cragstone} ~~ {
|
STATE: {nav_cragstone} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_cragstone}
|
DO: Chat {/vt nav load nav_cragstone}
|
||||||
|
|
@ -463,7 +428,6 @@ STATE: {nav_ab} ~~ {
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {nav_bandit} ~~ {
|
STATE: {nav_bandit} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_bandit}
|
DO: Chat {/vt nav load nav_bandit}
|
||||||
|
|
@ -472,7 +436,6 @@ STATE: {nav_bandit} ~~ {
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
STATE: {nav_sanamar} ~~ {
|
STATE: {nav_sanamar} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_sanamar}
|
DO: Chat {/vt nav load nav_sanamar}
|
||||||
|
|
@ -481,7 +444,14 @@ STATE: {nav_sanamar} ~~ {
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
||||||
~~ }
|
~~ }
|
||||||
|
STATE: {nav_candeth} ~~ {
|
||||||
|
IF: Always
|
||||||
|
DO: Chat {/vt nav load nav_candeth}
|
||||||
|
IF: Always
|
||||||
|
DO: DestroyAllViews
|
||||||
|
IF: NavEmpty
|
||||||
|
DO: DoExpr {chatbox[\/vt setmetastate +getvar[Augment]]}
|
||||||
|
~~ }
|
||||||
STATE: {nav_mayoi} ~~ {
|
STATE: {nav_mayoi} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt nav load nav_mayoi}
|
DO: Chat {/vt nav load nav_mayoi}
|
||||||
958
af/bore.af
Normal file
958
af/bore.af
Normal file
|
|
@ -0,0 +1,958 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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[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 {getqueststatus[`stipendtimer_0812`]==1}
|
||||||
|
DO: SetState {service_stipend}
|
||||||
|
IF: All
|
||||||
|
ItemCountGE 1 {Blank Augmentation Gem}
|
||||||
|
Expr {getvar[pendingAugments]==1}
|
||||||
|
DO: SetState {service_apply_augment}
|
||||||
|
IF: All
|
||||||
|
Expr {getqueststatus[`augmentationblankgemacquired`]==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: ExitPortal
|
||||||
|
DO: SetState {service_bella_mp_primary}
|
||||||
|
IF: Always
|
||||||
|
DO: Chat {/mp}
|
||||||
|
IF: SecsInStateGE 120
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_mp_primary} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt nav load mp_primary}
|
||||||
|
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: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt nav load jaw_1}
|
||||||
|
SetState {service_bella_jaw_run}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_jaw_run} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
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: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
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 nav load to_fiun}
|
||||||
|
IF: SecsInStateGE 1200
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_turn_in_jaw} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ChatMatch {^Fiun Rehlyun.*}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/mp}
|
||||||
|
SetState {service_bella_mp_trans}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_mp_trans} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt nav load mp_secondary}
|
||||||
|
SetState {service_bella_mp_secondary}
|
||||||
|
IF: SecsInStateGE 120
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_mp_secondary} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablecombat true}
|
||||||
|
Chat {/vt nav load to_bella}
|
||||||
|
SetState {service_bella_kill_bella}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_kill_bella} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ItemCountGE 1 {Blank Augmentation Gem}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablelooting false}
|
||||||
|
Chat {/vt opt set enablecombat false}
|
||||||
|
SetState {service_bella_escape}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
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[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}
|
||||||
|
~~ }
|
||||||
960
af/bore_enhanced.af
Normal file
960
af/bore_enhanced.af
Normal file
|
|
@ -0,0 +1,960 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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)
|
||||||
|
~~ }
|
||||||
|
|
||||||
|
~~ /ub mexec setvar[navNumber,VILKETNUMMER]
|
||||||
|
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[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 {getqueststatus[`stipendtimer_0812`]==1}
|
||||||
|
DO: SetState {service_stipend}
|
||||||
|
IF: All
|
||||||
|
ItemCountGE 1 {Blank Augmentation Gem}
|
||||||
|
Expr {getvar[pendingAugments]==1}
|
||||||
|
DO: SetState {service_apply_augment}
|
||||||
|
IF: All
|
||||||
|
Expr {getqueststatus[`augmentationblankgemacquired`]==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: ExitPortal
|
||||||
|
DO: SetState {service_bella_mp_primary}
|
||||||
|
IF: Always
|
||||||
|
DO: Chat {/mp}
|
||||||
|
IF: SecsInStateGE 120
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_mp_primary} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt nav load mp_primary}
|
||||||
|
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: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt nav load jaw_1}
|
||||||
|
SetState {service_bella_jaw_run}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_jaw_run} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
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: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
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 nav load to_fiun}
|
||||||
|
IF: SecsInStateGE 1200
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_turn_in_jaw} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ChatMatch {^Fiun Rehlyun.*}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/mp}
|
||||||
|
SetState {service_bella_mp_trans}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_mp_trans} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt nav load mp_secondary}
|
||||||
|
SetState {service_bella_mp_secondary}
|
||||||
|
IF: SecsInStateGE 120
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_mp_secondary} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablecombat true}
|
||||||
|
Chat {/vt nav load to_bella}
|
||||||
|
SetState {service_bella_kill_bella}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
STATE: {service_bella_kill_bella} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ItemCountGE 1 {Blank Augmentation Gem}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablelooting false}
|
||||||
|
Chat {/vt opt set enablecombat false}
|
||||||
|
SetState {service_bella_escape}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {service_reset_main}
|
||||||
|
~~ }
|
||||||
|
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[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}
|
||||||
|
~~ }
|
||||||
|
|
@ -37,69 +37,22 @@
|
||||||
~~ prt (deprecated in VTank)
|
~~ prt (deprecated in VTank)
|
||||||
~~ }
|
~~ }
|
||||||
|
|
||||||
~~ /ub mexec setvar[navNumber,VILKETNUMMER]
|
STATE: {Default} ~~ {
|
||||||
STATE: {combat} ~~ {
|
IF: Not Expr {testvar[navNumber]}
|
||||||
|
DO: DoExpr {setvar[navNumber, 1]}
|
||||||
|
IF: Not Expr {testvar[debugPortalRange]}
|
||||||
|
DO: DoExpr {setvar[debugPortalRange, 8]}
|
||||||
|
IF: Not Expr {testvar[debugAngle]}
|
||||||
|
DO: DoExpr {setvar[debugAngle, 20]}
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: Chat {/vt opt set enablecombat true}
|
DO: DoAll
|
||||||
IF: SecsInStateGE 60
|
Chat {/vt opt set enablecombat false}
|
||||||
DO: SetState {ring_fail}
|
ChatExpr {\/vt nav load bore_circuit+getvar[navNumber]}
|
||||||
IF: NoMobsInDist 5
|
Chat {/vt opt set enablenav true}
|
||||||
DO: SetState {hunt}
|
Chat {/a [portal-debug] started}
|
||||||
|
SetState {watch_portal}
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {death} ~~ {
|
STATE: {watch_portal} ~~ {
|
||||||
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: 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: 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
|
IF: All
|
||||||
Expr {setvar[portal, wobjectfindnearestbyobjectclass[14]]}
|
Expr {setvar[portal, wobjectfindnearestbyobjectclass[14]]}
|
||||||
Expr {istrue[getvar[portal]]}
|
Expr {istrue[getvar[portal]]}
|
||||||
|
|
@ -112,41 +65,16 @@ STATE: {hunt} ~~ {
|
||||||
Expr {setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]}
|
Expr {setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]}
|
||||||
Expr {setvar[relativeAngle, iif[getvar[relativeAngle] > 180, 360 - getvar[relativeAngle], getvar[relativeAngle]]]}
|
Expr {setvar[relativeAngle, iif[getvar[relativeAngle] > 180, 360 - getvar[relativeAngle], getvar[relativeAngle]]]}
|
||||||
Expr {setvar[turnDirection, iif[randint[0,2] == 0, -90, 90]]}
|
Expr {setvar[turnDirection, iif[randint[0,2] == 0, -90, 90]]}
|
||||||
Expr {getvar[relativeAngle] <= 11.25}
|
Expr {getvar[relativeAngle] <= getvar[debugAngle]}
|
||||||
Expr {setvar[newHeading, abs[getvar[playerHeading] + getvar[turnDirection]]]}
|
Expr {setvar[newHeading, abs[getvar[playerHeading] + getvar[turnDirection]]]}
|
||||||
DO: DoAll
|
DO: DoAll
|
||||||
Chat {/vt opt set enablenav false}
|
Chat {/vt opt set enablenav false}
|
||||||
Chat {/vt opt set enablecombat false}
|
Chat {/vt opt set enablecombat false}
|
||||||
SetState {avoid_portal}
|
SetState {avoid_portal}
|
||||||
|
IF: SecsInStateGE 5
|
||||||
~~ }
|
DO: SetState {watch_portal}
|
||||||
STATE: {loot_rare} ~~ {
|
|
||||||
IF: Always
|
IF: Always
|
||||||
DO: DoAll
|
DO: SetWatchdog 1 120 {watch_portal}
|
||||||
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: 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 {hunt}
|
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {avoid_portal} ~~ {
|
STATE: {avoid_portal} ~~ {
|
||||||
IF: SecsInStateGE 1
|
IF: SecsInStateGE 1
|
||||||
|
|
@ -178,74 +106,7 @@ STATE: {avoid_portal} ~~ {
|
||||||
IF: SecsInStateGE 18
|
IF: SecsInStateGE 18
|
||||||
DO: ChatExpr {\/vt opt set enablenav true}
|
DO: ChatExpr {\/vt opt set enablenav true}
|
||||||
IF: SecsInStateGE 19
|
IF: SecsInStateGE 19
|
||||||
DO: ChatExpr {\/vt setmetastate hunt}
|
DO: ChatExpr {\/vt setmetastate watch_portal}
|
||||||
~~ }
|
IF: Always
|
||||||
STATE: {navbore} ~~ {
|
DO: SetWatchdog 1 30 {watch_portal}
|
||||||
IF: Always
|
|
||||||
DO: DoAll
|
|
||||||
Chat {/vt opt set enablecombat false}
|
|
||||||
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}
|
|
||||||
~~ }
|
~~ }
|
||||||
186
af/bore_quest.af
Normal file
186
af/bore_quest.af
Normal file
|
|
@ -0,0 +1,186 @@
|
||||||
|
~~
|
||||||
|
~~ Bore Dungeon Quest Meta
|
||||||
|
~~ Navigates to the Bore dungeon, fights through to the boss,
|
||||||
|
~~ loots the quest item, returns to town to turn in.
|
||||||
|
~~ Includes death recovery.
|
||||||
|
~~
|
||||||
|
|
||||||
|
STATE: {Default}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: ItemCountGE 1 {Bore Trophy}
|
||||||
|
DO: SetState {TurnIn}
|
||||||
|
IF: ItemCountLE 50 {Prismatic Taper}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {Running low on tapers, restocking.}
|
||||||
|
SetState {Restock}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
EmbedNav navToBore {Navigate to Bore dungeon entrance}
|
||||||
|
SetWatchdog 10.0 180.0 {Stuck}
|
||||||
|
|
||||||
|
STATE: {EnterDungeon}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: IntoPortal
|
||||||
|
DO: SetState {InsideDungeon}
|
||||||
|
IF: SecsInStateGE 30
|
||||||
|
DO: SetState {Default}
|
||||||
|
|
||||||
|
STATE: {InsideDungeon}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
SetOpt {enablecombat} {true}
|
||||||
|
SetOpt {enablelooting} {true}
|
||||||
|
EmbedNav navDungeonRoute {Run through dungeon to boss}
|
||||||
|
SetWatchdog 10.0 120.0 {Stuck}
|
||||||
|
|
||||||
|
STATE: {BossRoom}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: MobsInDist_Name 1 30.0 {Bore Boss}
|
||||||
|
DO: DoAll
|
||||||
|
SetOpt {enablecombat} {true}
|
||||||
|
SetState {Fighting}
|
||||||
|
IF: All
|
||||||
|
NavEmpty
|
||||||
|
NoMobsInDist 25.0
|
||||||
|
DO: SetState {LootBoss}
|
||||||
|
IF: Always
|
||||||
|
DO: None
|
||||||
|
|
||||||
|
STATE: {Fighting}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: NoMobsInDist 25.0
|
||||||
|
DO: SetState {LootBoss}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {BossRoom}
|
||||||
|
|
||||||
|
STATE: {LootBoss}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: ItemCountGE 1 {Bore Trophy}
|
||||||
|
DO: SetState {ExitDungeon}
|
||||||
|
IF: SecsInStateGE 30
|
||||||
|
DO: DoAll
|
||||||
|
Chat {No trophy found, exiting anyway.}
|
||||||
|
SetState {ExitDungeon}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
SetOpt {enablelooting} {true}
|
||||||
|
None
|
||||||
|
|
||||||
|
STATE: {ExitDungeon}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: All
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
SetOpt {enablecombat} {false}
|
||||||
|
SetOpt {enablelooting} {false}
|
||||||
|
SetState {TurnIn}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
EmbedNav navExitDungeon {Exit the dungeon}
|
||||||
|
SetWatchdog 10.0 120.0 {Stuck}
|
||||||
|
|
||||||
|
STATE: {TurnIn}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: All
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub givep Bore Trophy to Bore Quest NPC}
|
||||||
|
Chat {/ub prepclick yes 3}
|
||||||
|
SetState {WaitTurnIn}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
EmbedNav navToNPC {Go to turn-in NPC}
|
||||||
|
SetWatchdog 10.0 120.0 {Stuck}
|
||||||
|
|
||||||
|
STATE: {WaitTurnIn}
|
||||||
|
IF: ChatMatch {^Bore Quest NPC tells you,}
|
||||||
|
DO: SetState {TurnInComplete}
|
||||||
|
IF: ChatCapture {You have solved this quest too recently!} {}
|
||||||
|
DO: SetState {QuestCooldown}
|
||||||
|
IF: SecsInStateGE 15
|
||||||
|
DO: SetState {TurnIn}
|
||||||
|
|
||||||
|
STATE: {TurnInComplete}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {Quest turn-in complete! Restarting.}
|
||||||
|
SetState {Default}
|
||||||
|
|
||||||
|
STATE: {QuestCooldown}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {Quest on cooldown, waiting...}
|
||||||
|
SetState {Default}
|
||||||
|
|
||||||
|
STATE: {Restock}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Death}
|
||||||
|
IF: All
|
||||||
|
NavEmpty
|
||||||
|
VendorOpen
|
||||||
|
DO: SetState {Selling}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
EmbedNav navRestock {Go to vendor to restock}
|
||||||
|
SetWatchdog 10.0 120.0 {Stuck}
|
||||||
|
|
||||||
|
STATE: {Selling}
|
||||||
|
IF: VendorClosed
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: SecsInStateGE 30
|
||||||
|
DO: SetState {Default}
|
||||||
|
|
||||||
|
STATE: {Stuck}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub face}
|
||||||
|
SetState {Default}
|
||||||
|
|
||||||
|
STATE: {Death}
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: SetState {Default}
|
||||||
|
|
||||||
|
~~ ============================================================
|
||||||
|
~~ NAV ROUTES
|
||||||
|
~~ ============================================================
|
||||||
|
|
||||||
|
NAV: navToBore once
|
||||||
|
~~ Route from lifestone to Bore dungeon entrance
|
||||||
|
rcl 0.0 0.0 0.0 {Lifestone Recall}
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
ptl 0.0 0.0 0.0 0.0 0.0 0.0 14 {Bore Dungeon}
|
||||||
|
|
||||||
|
NAV: navDungeonRoute once
|
||||||
|
~~ Route through dungeon to boss room
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
|
||||||
|
NAV: navExitDungeon once
|
||||||
|
~~ Route from boss room back to exit portal
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
ptl 0.0 0.0 0.0 0.0 0.0 0.0 14 {Exit Portal}
|
||||||
|
|
||||||
|
NAV: navToNPC once
|
||||||
|
~~ Route to quest turn-in NPC
|
||||||
|
rcl 0.0 0.0 0.0 {Lifestone Recall}
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
tlk 0.0 0.0 0.0 0.0 0.0 0.0 37 {Bore Quest NPC}
|
||||||
|
|
||||||
|
NAV: navRestock once
|
||||||
|
~~ Route to vendor for restocking tapers
|
||||||
|
rcl 0.0 0.0 0.0 {Lifestone Recall}
|
||||||
|
pnt 0.0 0.0 0.0
|
||||||
|
vnd 0.0 0.0 0.0 00000000 {Vendor}
|
||||||
217
af/empyrean_facility.af
Normal file
217
af/empyrean_facility.af
Normal file
|
|
@ -0,0 +1,217 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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: {Default} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub opt set VTank.PatchExpressionEngine true}
|
||||||
|
SetOpt {enablecombat} {false}
|
||||||
|
SetOpt {enablenav} {true}
|
||||||
|
SetOpt {enablelooting} {false}
|
||||||
|
SetOpt {enablebuffing} {true}
|
||||||
|
SetOpt {attackdistance} {0.0125}
|
||||||
|
DoExpr {setvar[currentLevel,`upper`]}
|
||||||
|
DoExpr {setvar[currentRoom,`north`]}
|
||||||
|
DoExpr {setvar[roomsDone,0]}
|
||||||
|
Chat {/vt nav load nav_empyrean}
|
||||||
|
SetState {enter_dungeon}
|
||||||
|
~~ }
|
||||||
|
STATE: {enter_dungeon} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: All
|
||||||
|
SecsInStateGE 3
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
SetOpt {enablecombat} {true}
|
||||||
|
SetState {goto_room}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
SetWatchdog 10 300 {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {goto_room} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
ChatExpr {\/vt nav load emp_+getvar[currentLevel]+`_`+getvar[currentRoom]}
|
||||||
|
DoExpr {clearvar[navLoaded]}
|
||||||
|
SetState {arrive_room}
|
||||||
|
~~ }
|
||||||
|
STATE: {arrive_room} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: All
|
||||||
|
Expr {testvar[navLoaded]}
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
ClearWatchdog
|
||||||
|
SetState {kill_wisps}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {touchvar[navLoaded]}
|
||||||
|
SetWatchdog 10 180 {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {kill_wisps} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: All
|
||||||
|
SecsInStateGE 5
|
||||||
|
NoMobsInDist 4
|
||||||
|
DO: SetState {use_stone}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: SetState {use_stone}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
SetWatchdog 10 300 {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {use_stone} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ChatMatch {A shiver moves across your body}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Room complete! (`+getvar[currentLevel]+` `+getvar[currentRoom]+`)`,1]}
|
||||||
|
SetState {next_room}
|
||||||
|
IF: ChatMatch {no change}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Room already done (`+getvar[currentLevel]+` `+getvar[currentRoom]+`)`,1]}
|
||||||
|
SetState {next_room}
|
||||||
|
IF: SecsInStateGE 5
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub use Aligned Mana Stone}
|
||||||
|
SetState {use_stone}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub use Aligned Mana Stone}
|
||||||
|
~~ }
|
||||||
|
STATE: {next_room} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Expr {getvar[currentRoom]==`north`}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[currentRoom,`east`]}
|
||||||
|
SetState {goto_room}
|
||||||
|
IF: Expr {getvar[currentRoom]==`east`}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[currentRoom,`south`]}
|
||||||
|
SetState {goto_room}
|
||||||
|
IF: Expr {getvar[currentRoom]==`south`}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[currentRoom,`west`]}
|
||||||
|
SetState {goto_room}
|
||||||
|
IF: Expr {getvar[currentRoom]==`west`}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[currentRoom,`center`]}
|
||||||
|
SetState {goto_room}
|
||||||
|
IF: Expr {getvar[currentRoom]==`center`}
|
||||||
|
DO: SetState {use_stone_center}
|
||||||
|
~~ }
|
||||||
|
STATE: {use_stone_center} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ChatMatch {A shiver moves across your body}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Level complete! (`+getvar[currentLevel]+`)`,1]}
|
||||||
|
SetState {take_portal}
|
||||||
|
IF: ChatMatch {no change}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Level already done (`+getvar[currentLevel]+`)`,1]}
|
||||||
|
SetState {take_portal}
|
||||||
|
IF: SecsInStateGE 5
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub use Aligned Mana Stone}
|
||||||
|
SetState {use_stone_center}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub use Aligned Mana Stone}
|
||||||
|
~~ }
|
||||||
|
STATE: {take_portal} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Expr {getvar[currentLevel]==`upper`}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[currentLevel,`middle`]}
|
||||||
|
DoExpr {setvar[currentRoom,`north`]}
|
||||||
|
Chat {/ub use Empyrean Facility Middle Level}
|
||||||
|
SetState {portal_transition}
|
||||||
|
IF: Expr {getvar[currentLevel]==`middle`}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[currentLevel,`lower`]}
|
||||||
|
DoExpr {setvar[currentRoom,`north`]}
|
||||||
|
Chat {/ub use Empyrean Facility Lower Level}
|
||||||
|
SetState {portal_transition}
|
||||||
|
IF: Expr {getvar[currentLevel]==`lower`}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`All 3 aetheria slots unlocked!`,1]}
|
||||||
|
SetState {quest_done}
|
||||||
|
~~ }
|
||||||
|
STATE: {portal_transition} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Arrived at `+getvar[currentLevel]+` level`,1]}
|
||||||
|
SetState {goto_room}
|
||||||
|
IF: SecsInStateGE 15
|
||||||
|
DO: SetState {take_portal}
|
||||||
|
~~ }
|
||||||
|
STATE: {quest_done} ~~ {
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Empyrean Facility quest COMPLETE! All aetheria slots unlocked.`,1]}
|
||||||
|
Chat {/mp}
|
||||||
|
~~ }
|
||||||
|
STATE: {stuck} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub face}
|
||||||
|
DoExpr {echo[`Stuck! Trying to recover...`,1]}
|
||||||
|
SetState {goto_room}
|
||||||
|
~~ }
|
||||||
|
STATE: {death} ~~ {
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Died! Re-entering dungeon...`,1]}
|
||||||
|
Chat {/vt nav load nav_empyrean}
|
||||||
|
SetState {enter_dungeon}
|
||||||
|
~~ }
|
||||||
218
af/follower.af
Normal file
218
af/follower.af
Normal file
|
|
@ -0,0 +1,218 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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)
|
||||||
|
~~ }
|
||||||
|
|
||||||
|
~~ Follower Meta: Follows group leader, responds to chat commands, death recovery
|
||||||
|
|
||||||
|
STATE: {Default} ~~ {
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablecombat false}
|
||||||
|
Chat {/vt opt set enablenav false}
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
Chat {/vt opt set enablelooting false}
|
||||||
|
DoExpr {setvar[leaderName,]}
|
||||||
|
DoExpr {setvar[deathCount, 0]}
|
||||||
|
SetState {idle}
|
||||||
|
~~ }
|
||||||
|
STATE: {idle} ~~ {
|
||||||
|
~~ Wait for leader assignment via chat command
|
||||||
|
IF: ChatMatch {.+tells you, "follow me"}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[leaderName, getregexmatch[(.+) tells you, 1]]}
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, Following you now\!}
|
||||||
|
SetState {following}
|
||||||
|
IF: ChatMatch {.+tells you, "follow (.+)"}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[leaderName, getregexmatch[.+tells you, "follow (.+)", 1]]}
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, Following you now\!}
|
||||||
|
SetState {following}
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death_recovery}
|
||||||
|
IF: NeedToBuff
|
||||||
|
DO: SetState {buffing}
|
||||||
|
IF: Always
|
||||||
|
DO: Chat {/vt opt set enablecombat false}
|
||||||
|
~~ }
|
||||||
|
STATE: {following} ~~ {
|
||||||
|
~~ Main follow state - follow the leader
|
||||||
|
IF: Always
|
||||||
|
DO: Chat {/vt opt set enablecombat false}
|
||||||
|
IF: Always
|
||||||
|
DO: Chat {/vt opt set enablenav false}
|
||||||
|
IF: Always
|
||||||
|
DO: ChatExpr {\/ub follow +getvar[leaderName]}
|
||||||
|
~~ Death handling
|
||||||
|
IF: Death
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[deathCount, getvar[deathCount] + 1]}
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, I died\! Death count: +cstr[getvar[deathCount]]+. Recovering...}
|
||||||
|
SetState {death_recovery}
|
||||||
|
~~ Chat command: buff
|
||||||
|
IF: ChatMatch {.+tells you, "buff"}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
SetState {buffing}
|
||||||
|
~~ Chat command: recall
|
||||||
|
IF: ChatMatch {.+tells you, "recall"}
|
||||||
|
DO: DoAll
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, Recalling now\!}
|
||||||
|
SetState {recalling}
|
||||||
|
~~ Chat command: stop
|
||||||
|
IF: ChatMatch {.+tells you, "stop"}
|
||||||
|
DO: DoAll
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, Stopping follow\.}
|
||||||
|
DoExpr {setvar[leaderName,]}
|
||||||
|
Chat {/ub follow off}
|
||||||
|
SetState {idle}
|
||||||
|
~~ Chat command: combat on
|
||||||
|
IF: ChatMatch {.+tells you, "combat on"}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablecombat true}
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, Combat enabled\!}
|
||||||
|
~~ Chat command: combat off
|
||||||
|
IF: ChatMatch {.+tells you, "combat off"}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablecombat false}
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, Combat disabled\!}
|
||||||
|
~~ Need to rebuff
|
||||||
|
IF: NeedToBuff
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub follow off}
|
||||||
|
SetState {buffing}
|
||||||
|
~~ Watchdog - if stuck for too long, try to recover
|
||||||
|
IF: Always
|
||||||
|
DO: SetWatchdog 3 300 {stuck_recovery}
|
||||||
|
~~ }
|
||||||
|
STATE: {buffing} ~~ {
|
||||||
|
~~ Buff up then return to following
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
Chat {/vt opt set enablecombat false}
|
||||||
|
IF: Death
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[deathCount, getvar[deathCount] + 1]}
|
||||||
|
SetState {death_recovery}
|
||||||
|
IF: All
|
||||||
|
Not NeedToBuff
|
||||||
|
SecsInStateGE 5
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
SetState {rejoin_leader}
|
||||||
|
IF: SecsInStateGE 120
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
SetState {rejoin_leader}
|
||||||
|
~~ }
|
||||||
|
STATE: {death_recovery} ~~ {
|
||||||
|
~~ Wait at lifestone after death, then rebuff and rejoin
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablecombat false}
|
||||||
|
Chat {/vt opt set enablenav false}
|
||||||
|
Chat {/vt opt set enablebuffing false}
|
||||||
|
~~ Wait a few seconds at lifestone before doing anything
|
||||||
|
IF: SecsInStateGE 10
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
SetState {death_rebuff}
|
||||||
|
~~ }
|
||||||
|
STATE: {death_rebuff} ~~ {
|
||||||
|
~~ Rebuff after death before rejoining
|
||||||
|
IF: Always
|
||||||
|
DO: Chat {/vt opt set enablebuffing true}
|
||||||
|
IF: Death
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[deathCount, getvar[deathCount] + 1]}
|
||||||
|
SetState {death_recovery}
|
||||||
|
IF: All
|
||||||
|
Not NeedToBuff
|
||||||
|
SecsInStateGE 10
|
||||||
|
DO: SetState {rejoin_leader}
|
||||||
|
IF: SecsInStateGE 180
|
||||||
|
DO: SetState {rejoin_leader}
|
||||||
|
~~ }
|
||||||
|
STATE: {rejoin_leader} ~~ {
|
||||||
|
~~ Rejoin the leader after buffing or death recovery
|
||||||
|
IF: Expr {getvar[leaderName] == 0}
|
||||||
|
DO: SetState {idle}
|
||||||
|
IF: Expr {cstr[getvar[leaderName]] == cstr[]}
|
||||||
|
DO: SetState {idle}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, Rejoining you now\!}
|
||||||
|
ChatExpr {\/ub follow +getvar[leaderName]}
|
||||||
|
SetState {following}
|
||||||
|
~~ }
|
||||||
|
STATE: {recalling} ~~ {
|
||||||
|
~~ Recall to lifestone
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub follow off}
|
||||||
|
Chat {/vt opt set enablecombat false}
|
||||||
|
Chat {/vt opt set enablenav false}
|
||||||
|
IF: SecsInStateGE 2
|
||||||
|
DO: Chat {/lifestone}
|
||||||
|
IF: Death
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[deathCount, getvar[deathCount] + 1]}
|
||||||
|
SetState {death_recovery}
|
||||||
|
IF: SecsInStateGE 15
|
||||||
|
DO: DoAll
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, Recalled to lifestone\. Tell me to follow you when ready\.}
|
||||||
|
SetState {idle}
|
||||||
|
~~ }
|
||||||
|
STATE: {stuck_recovery} ~~ {
|
||||||
|
~~ Try to recover from being stuck
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub follow off}
|
||||||
|
Chat {/vt opt set enablecombat false}
|
||||||
|
ChatExpr {\/t +getvar[leaderName]+, I appear to be stuck\. Trying to recover\.}
|
||||||
|
IF: SecsInStateGE 3
|
||||||
|
DO: Chat {/lifestone}
|
||||||
|
IF: Death
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[deathCount, getvar[deathCount] + 1]}
|
||||||
|
SetState {death_recovery}
|
||||||
|
IF: SecsInStateGE 15
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
SetState {death_rebuff}
|
||||||
|
~~ }
|
||||||
220
af/hunting.af
Normal file
220
af/hunting.af
Normal file
|
|
@ -0,0 +1,220 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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}
|
||||||
|
~~ }
|
||||||
|
|
@ -55,7 +55,6 @@ STATE: {go_to_chests} ~~ {
|
||||||
SetWatchdog 10 300 {recall}
|
SetWatchdog 10 300 {recall}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {LootChest}
|
DO: SetState {LootChest}
|
||||||
|
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {LootChest} ~~ {
|
STATE: {LootChest} ~~ {
|
||||||
IF: All
|
IF: All
|
||||||
|
|
@ -63,7 +63,6 @@ STATE: {go_to_chests} ~~ {
|
||||||
SetWatchdog 10 300 {recall}
|
SetWatchdog 10 300 {recall}
|
||||||
IF: NavEmpty
|
IF: NavEmpty
|
||||||
DO: SetState {Check}
|
DO: SetState {Check}
|
||||||
|
|
||||||
~~ }
|
~~ }
|
||||||
STATE: {LootChest} ~~ {
|
STATE: {LootChest} ~~ {
|
||||||
IF: Always
|
IF: Always
|
||||||
190
af/motes_converted.af
Normal file
190
af/motes_converted.af
Normal file
|
|
@ -0,0 +1,190 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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: {Default} ~~ {
|
||||||
|
IF: Not Expr {testvar[batchThreshold]}
|
||||||
|
DO: DoExpr {setvar[batchThreshold, 50]}
|
||||||
|
IF: Not Expr {testvar[maxHandInRetries]}
|
||||||
|
DO: DoExpr {setvar[maxHandInRetries, 120]}
|
||||||
|
IF: Not Expr {testvar[beachNav]}
|
||||||
|
DO: DoExpr {setvar[beachNav, `beach_fort`]}
|
||||||
|
IF: Not Expr {testvar[returnNav]}
|
||||||
|
DO: DoExpr {setvar[returnNav, `return`]}
|
||||||
|
IF: All
|
||||||
|
ChatCapture {(^(\[[A-z]+?\] |)You|.*\<Tell:IIDString:.+:(?<who>[^\<]*)\>.+\<\\Tell\>) .*, \"diamond (?<num>[0-9]+)\"$} {}
|
||||||
|
Expr {cnumber[getvar[capturegroup_num]]>0}
|
||||||
|
DO: DoAll
|
||||||
|
ChatExpr {\/ub give +getvar[capturegroup_num]+` Diamond Scarab to `+getvar[capturegroup_who]}
|
||||||
|
Chat {/a [motes] Diamond request fulfilled.}
|
||||||
|
SetState {Default}
|
||||||
|
IF: ItemCountGE 1 {Pyreal Nugget}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[isProcessing, 1]}
|
||||||
|
DoExpr {setvar[handInRetries, 0]}
|
||||||
|
ChatExpr {\/vt nav load +getvar[beachNav]}
|
||||||
|
Chat {/vt opt set enablenav true}
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
SetState {go_to_beach}
|
||||||
|
IF: All
|
||||||
|
ItemCountGE 50 {Pyreal Sliver}
|
||||||
|
ItemCountLE 0 {Pyreal Nugget}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[isProcessing, 1]}
|
||||||
|
Chat {/a [motes] Starting batch: sliver -> nugget.}
|
||||||
|
SetState {nugget}
|
||||||
|
IF: All
|
||||||
|
ItemCountGE 50 {Pyreal Mote}
|
||||||
|
ItemCountLE 49 {Pyreal Sliver}
|
||||||
|
ItemCountLE 0 {Pyreal Nugget}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[isProcessing, 1]}
|
||||||
|
Chat {/a [motes] Starting batch: mote -> sliver.}
|
||||||
|
SetState {sliver}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[isProcessing, 0]}
|
||||||
|
DoExpr {clearvar[handInRetries]}
|
||||||
|
Chat {/vt opt set enablebuffing false}
|
||||||
|
Chat {/vt opt set enablenav false}
|
||||||
|
~~ }
|
||||||
|
STATE: {go_to_beach} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/a [motes] Arrived at beach turn-in.}
|
||||||
|
SetState {at_beach}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/a [motes] Timeout reaching beach. Resetting.}
|
||||||
|
SetState {Default}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/vt opt set enablenav true}
|
||||||
|
Chat {/vt opt set enablebuffing true}
|
||||||
|
~~ }
|
||||||
|
STATE: {at_beach} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: ItemCountGE 1 {Pyreal Nugget}
|
||||||
|
DO: SetState {hand_in_nugget}
|
||||||
|
IF: ItemCountLE 0 {Pyreal Nugget}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/a [motes] Beach turn-in complete. Returning.}
|
||||||
|
ChatExpr {\/vt nav load +getvar[returnNav]}
|
||||||
|
Chat {/vt opt set enablenav true}
|
||||||
|
SetState {go_return}
|
||||||
|
~~ }
|
||||||
|
STATE: {go_return} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/a [motes] Return nav complete. Idle.}
|
||||||
|
SetState {Default}
|
||||||
|
IF: SecsInStateGE 300
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/a [motes] Timeout on return nav. Resetting.}
|
||||||
|
SetState {Default}
|
||||||
|
IF: Always
|
||||||
|
DO: Chat {/vt opt set enablenav true}
|
||||||
|
~~ }
|
||||||
|
STATE: {hand_in_nugget} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: ItemCountLE 0 {Pyreal Nugget}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {clearvar[handInRetries]}
|
||||||
|
SetState {at_beach}
|
||||||
|
IF: Expr {getvar[handInRetries]>=getvar[maxHandInRetries]}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/a [motes] Max hand-in retries reached. Returning.}
|
||||||
|
DoExpr {clearvar[handInRetries]}
|
||||||
|
ChatExpr {\/vt nav load +getvar[returnNav]}
|
||||||
|
SetState {go_return}
|
||||||
|
IF: All
|
||||||
|
ItemCountGE 1 {Pyreal Nugget}
|
||||||
|
SecsInStateGE 1
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {setvar[handInRetries, getvar[handInRetries]+1]}
|
||||||
|
Chat {/ub give Pyreal Nugget to Feruza ibn Salaq}
|
||||||
|
SetState {hand_in_nugget}
|
||||||
|
IF: Always
|
||||||
|
DO: SetWatchdog 1 90 {Default}
|
||||||
|
~~ }
|
||||||
|
STATE: {nugget} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: ItemCountGE 2 {Pyreal Sliver}
|
||||||
|
DO: SetState {make_nugget}
|
||||||
|
IF: ItemCountLE 1 {Pyreal Sliver}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/a [motes] Sliver -> nugget stage complete.}
|
||||||
|
SetState {Default}
|
||||||
|
IF: Always
|
||||||
|
DO: SetWatchdog 1 120 {Default}
|
||||||
|
~~ }
|
||||||
|
STATE: {make_nugget} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub use Pyreal Sliver on Pyreal Sliver}
|
||||||
|
SetState {nugget}
|
||||||
|
~~ }
|
||||||
|
STATE: {sliver} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: ItemCountGE 2 {Pyreal Mote}
|
||||||
|
DO: SetState {make_sliver}
|
||||||
|
IF: ItemCountLE 1 {Pyreal Mote}
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/a [motes] Mote -> sliver stage complete.}
|
||||||
|
SetState {Default}
|
||||||
|
IF: Always
|
||||||
|
DO: SetWatchdog 1 120 {Default}
|
||||||
|
~~ }
|
||||||
|
STATE: {make_sliver} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {Default}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub use Pyreal Mote on Pyreal Mote}
|
||||||
|
SetState {sliver}
|
||||||
|
~~ }
|
||||||
258
af/nalicana_test.af
Normal file
258
af/nalicana_test.af
Normal file
|
|
@ -0,0 +1,258 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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: {Default} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub opt set VTank.PatchExpressionEngine true}
|
||||||
|
SetOpt {enablecombat} {false}
|
||||||
|
SetOpt {enablenav} {true}
|
||||||
|
SetOpt {enablelooting} {false}
|
||||||
|
SetOpt {enablebuffing} {true}
|
||||||
|
SetOpt {attackdistance} {0.0125}
|
||||||
|
Chat {/vt nav load nav_nalicana}
|
||||||
|
SetState {talk_nalicana}
|
||||||
|
~~ }
|
||||||
|
STATE: {talk_nalicana} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: All
|
||||||
|
Expr {testvar[navLoaded]}
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
ClearWatchdog
|
||||||
|
Chat {/ub use Nalicana}
|
||||||
|
SetState {wait_nalicana_dialog}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {touchvar[navLoaded]}
|
||||||
|
SetWatchdog 10 300 {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {wait_nalicana_dialog} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ChatMatch {Gurog have emerged}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Got quest from Nalicana!`,1]}
|
||||||
|
SetState {nav_to_cave}
|
||||||
|
IF: ChatMatch {You have solved this quest too recently}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Quest on cooldown!`,1]}
|
||||||
|
SetState {done}
|
||||||
|
IF: SecsInStateGE 10
|
||||||
|
DO: SetState {nav_to_cave}
|
||||||
|
~~ }
|
||||||
|
STATE: {nav_to_cave} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: All
|
||||||
|
Expr {testvar[navLoaded2]}
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
ClearWatchdog
|
||||||
|
SetOpt {enablecombat} {true}
|
||||||
|
SetOpt {enablelooting} {true}
|
||||||
|
SetState {wait_key}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {touchvar[navLoaded2]}
|
||||||
|
Chat {/vt nav load nal_to_cave}
|
||||||
|
SetWatchdog 10 600 {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {wait_key} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ItemCountGE 1 {Entryway Key}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Got Entryway Key!`,1]}
|
||||||
|
Chat {/ub use Entryway Key on Door}
|
||||||
|
SetState {wait_door}
|
||||||
|
IF: SecsInStateGE 120
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Key taking too long...`,1]}
|
||||||
|
SetState {wait_key}
|
||||||
|
~~ }
|
||||||
|
STATE: {wait_door} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ChatMatch {Door has been unlocked}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Door opened!`,1]}
|
||||||
|
SetOpt {enablecombat} {false}
|
||||||
|
SetOpt {enablelooting} {false}
|
||||||
|
SetState {nav_to_tomb_portal}
|
||||||
|
IF: SecsInStateGE 5
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub use Entryway Key on Door}
|
||||||
|
SetState {wait_door}
|
||||||
|
~~ }
|
||||||
|
STATE: {nav_to_tomb_portal} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: All
|
||||||
|
Expr {testvar[navLoaded3]}
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
ClearWatchdog
|
||||||
|
SetState {enter_frozen_tomb}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {touchvar[navLoaded3]}
|
||||||
|
Chat {/vt nav load nal_to_tomb_portal}
|
||||||
|
SetWatchdog 10 300 {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {enter_frozen_tomb} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Inside Frozen Tomb!`,1]}
|
||||||
|
SetOpt {enablecombat} {true}
|
||||||
|
SetState {dungeon_run}
|
||||||
|
IF: SecsInStateGE 10
|
||||||
|
DO: DoAll
|
||||||
|
SetOpt {enablecombat} {true}
|
||||||
|
SetState {dungeon_run}
|
||||||
|
~~ }
|
||||||
|
STATE: {dungeon_run} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: All
|
||||||
|
Expr {testvar[navLoaded4]}
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
ClearWatchdog
|
||||||
|
SetOpt {enablelooting} {true}
|
||||||
|
SetState {kill_gregor}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {touchvar[navLoaded4]}
|
||||||
|
Chat {/vt nav load nal_dungeon_run}
|
||||||
|
SetOpt {enablelooting} {false}
|
||||||
|
SetWatchdog 10 600 {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {kill_gregor} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ChatMatch {Killing me will not change anything}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Battle Lord Gregor defeated!`,1]}
|
||||||
|
SetOpt {enablecombat} {false}
|
||||||
|
SetState {wait_loot}
|
||||||
|
IF: ItemCountGE 1 {Battle Lord Gregor's Mnemosyne}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Got the Mnemosyne!`,1]}
|
||||||
|
SetOpt {enablecombat} {false}
|
||||||
|
SetOpt {enablelooting} {false}
|
||||||
|
SetState {return_nalicana}
|
||||||
|
IF: SecsInStateGE 600
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Gregor fight timeout!`,1]}
|
||||||
|
SetState {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {wait_loot} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ItemCountGE 1 {Battle Lord Gregor's Mnemosyne}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Got the Mnemosyne! Returning to Nalicana.`,1]}
|
||||||
|
SetOpt {enablelooting} {false}
|
||||||
|
SetState {return_nalicana}
|
||||||
|
IF: SecsInStateGE 30
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Mnemosyne not looted, check loot profile!`,1]}
|
||||||
|
SetOpt {enablelooting} {false}
|
||||||
|
SetState {return_nalicana}
|
||||||
|
~~ }
|
||||||
|
STATE: {return_nalicana} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: All
|
||||||
|
Expr {testvar[navLoaded5]}
|
||||||
|
NavEmpty
|
||||||
|
DO: DoAll
|
||||||
|
ClearWatchdog
|
||||||
|
SetState {turn_in}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {touchvar[navLoaded5]}
|
||||||
|
Chat {/vt nav load nav_nalicana}
|
||||||
|
SetWatchdog 10 600 {stuck}
|
||||||
|
~~ }
|
||||||
|
STATE: {turn_in} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub givep Battle Lord Gregor's Mnemosyne to Nalicana}
|
||||||
|
Chat {/ub prepclick yes 3}
|
||||||
|
SetState {wait_turn_in}
|
||||||
|
~~ }
|
||||||
|
STATE: {wait_turn_in} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: ChatMatch {Lord Asheron should be able to learn much}
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Nalicana's Test COMPLETE!`,1]}
|
||||||
|
SetState {done}
|
||||||
|
IF: SecsInStateGE 10
|
||||||
|
DO: SetState {turn_in}
|
||||||
|
~~ }
|
||||||
|
STATE: {done} ~~ {
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Nalicana's Test quest finished.`,1]}
|
||||||
|
Chat {/mp}
|
||||||
|
~~ }
|
||||||
|
STATE: {stuck} ~~ {
|
||||||
|
IF: Death
|
||||||
|
DO: SetState {death}
|
||||||
|
IF: Always
|
||||||
|
DO: DoAll
|
||||||
|
Chat {/ub face}
|
||||||
|
DoExpr {echo[`Stuck! Check nav...`,1]}
|
||||||
|
~~ }
|
||||||
|
STATE: {death} ~~ {
|
||||||
|
IF: ExitPortal
|
||||||
|
DO: DoAll
|
||||||
|
DoExpr {echo[`Died! Restarting...`,1]}
|
||||||
|
SetState {Default}
|
||||||
|
~~ }
|
||||||
47
af/nav_dumidabintruminre.af
Normal file
47
af/nav_dumidabintruminre.af
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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 ~~ {
|
||||||
|
pnt 0.697347180048625 13.4823081334432 0.516687520345052
|
||||||
|
pnt 0.666687456766764 13.503111521403 0.516687520345052
|
||||||
|
pnt 0.646260070800781 13.5503058433533 0.516687520345052
|
||||||
|
pnt 0.639286915461222 13.6518357594808 0.516687520345052
|
||||||
|
pnt 0.638853899637858 13.6711349487305 0.516687520345052
|
||||||
|
pnt 0.619450457890828 13.8956347147624 0.516687520345052
|
||||||
|
pnt 0.617654943466187 13.9232676823934 0.516687520345052
|
||||||
|
pnt 0.623617633183797 13.9128150304159 0.516687520345052
|
||||||
|
pnt 0.626908508936564 13.9084334055583 0.516687520345052
|
||||||
|
pnt 0.641702699661255 13.9089775721232 0.521687507629395
|
||||||
|
pnt 0.639892339706421 13.9309638977051 0.533354187011719
|
||||||
|
pnt 0.639045921961466 13.9339604695638 0.533354187011719
|
||||||
|
pnt 0.632732566197713 13.9385066986084 0.533354187011719
|
||||||
|
pnt 0.62224858601888 13.9390266418457 0.533354187011719
|
||||||
|
pnt 0.603840287526449 13.9379925409953 0.540843137105306
|
||||||
|
pnt 0.586502106984456 13.936896387736 0.551687494913737
|
||||||
|
pnt 0.585404109954834 13.9124701182048 0.553354136149089
|
||||||
|
cht 0.585082006454468 13.9138682047526 0.553354136149089 {/ub give Blank Augmentation Gem to Dumida bint Ruminre}
|
||||||
|
~~ }
|
||||||
1378
af/neftet.af
Normal file
1378
af/neftet.af
Normal file
File diff suppressed because it is too large
Load diff
31
af/recallls.af
Normal file
31
af/recallls.af
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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 59.3695845603943 -28.744246006012 0.0500250021616618 5000
|
||||||
|
cht 59.3695845603943 -28.744246006012 0.0500250021616618 {/ah}
|
||||||
|
~~ }
|
||||||
53
af/to_bella.af
Normal file
53
af/to_bella.af
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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 ~~ {
|
||||||
|
pnt -101.390033086141 -34.0253916422526 -0.0249791661898295
|
||||||
|
cht -101.328641001383 -33.2287128210068 -0.149979162216187 {/ub jumpsw 300}
|
||||||
|
pnt -101.366710281372 -34.0219579060872 -0.149979162216187
|
||||||
|
pnt -101.366858164469 -33.8953051884969 -0.149979162216187
|
||||||
|
pnt -101.321553548177 -33.9012914657593 -0.149979162216187
|
||||||
|
pnt -101.323536745707 -33.8343835830688 -0.149979162216187
|
||||||
|
pnt -101.353078460693 -33.8121692021688 -0.149979162216187
|
||||||
|
pnt -101.404804865519 -33.7821842829386 -0.149979162216187
|
||||||
|
pnt -101.424748166402 -33.7638031005859 -0.149979162216187
|
||||||
|
pnt -101.445881970723 -33.7280899047852 -0.149979162216187
|
||||||
|
pnt -101.451853593191 -33.690558942159 -0.149979162216187
|
||||||
|
pnt -101.449750614166 -33.6623808542887 -0.149979162216187
|
||||||
|
pnt -101.438445281982 -33.6300983428955 -0.149979162216187
|
||||||
|
pnt -101.423911094666 -33.6047841389974 -0.149979162216187
|
||||||
|
pnt -101.403232828776 -33.5813950856527 -0.149979162216187
|
||||||
|
pnt -101.376367441813 -33.5687754631042 -0.149979162216187
|
||||||
|
pnt -101.333241081238 -33.5651614507039 -0.149979162216187
|
||||||
|
pnt -101.326871236165 -33.5639857610067 -0.149979162216187
|
||||||
|
pnt -101.326964759827 -33.5253623962402 -0.149979162216187
|
||||||
|
pnt -101.32373790741 -33.4787105560303 -0.164920441309611
|
||||||
|
pnt -101.323082987467 -33.4038849989573 -0.174979162216187
|
||||||
|
pnt -101.324518013 -33.3609972953796 -0.163745148976644
|
||||||
|
pnt -101.325564702352 -33.3339033285777 -0.149979162216187
|
||||||
|
pnt -101.328641001383 -33.2287128210068 -0.149979162216187
|
||||||
|
~~ }
|
||||||
55
af/to_fiun.af
Normal file
55
af/to_fiun.af
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
~~ {
|
||||||
|
~~ 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 59.3259333292643 -28.520225016276 0.0500208298365275 2000
|
||||||
|
cht 59.3259333292643 -28.520225016276 0.0500208298365275 {/ah}
|
||||||
|
pau 59.3259333292643 -28.520225016276 0.0500208298365275 10000
|
||||||
|
pnt 59.3297518730164 -28.7442257563273 0.0500208298365275
|
||||||
|
pnt 59.3718955357869 -28.729271697998 0.0500208298365275
|
||||||
|
ptl 59.3259333292643 -28.520225016276 0.0500208298365275 59.3936458587647 -28.7256083488464 0.0508250035345554 14 {Portal to Town Network}
|
||||||
|
pnt -101.626594352722 -96.6541770299276 2.08333134651184E-05
|
||||||
|
pnt -101.65105082194 -96.684996064504 2.08333134651184E-05
|
||||||
|
pnt -101.656385644277 -96.6919414202372 2.08333134651184E-05
|
||||||
|
pnt -101.658911323547 -96.7065850257873 2.08333134651184E-05
|
||||||
|
pnt -101.657806046804 -96.7835428237915 2.08333134651184E-05
|
||||||
|
pnt -101.657771333059 -96.819224357605 2.08333134651184E-05
|
||||||
|
pnt -101.657725207011 -96.8666128794352 2.08333134651184E-05
|
||||||
|
pnt -101.669049962362 -96.9007548014323 2.08333134651184E-05
|
||||||
|
pnt -101.680845673879 -96.9425307591756 2.08333134651184E-05
|
||||||
|
pnt -101.683536847432 -96.9889544169108 2.08333134651184E-05
|
||||||
|
pnt -101.690975729624 -97.0222402572632 2.08333134651184E-05
|
||||||
|
pnt -101.70106344223 -97.0450640996297 2.08333134651184E-05
|
||||||
|
pnt -101.711457236608 -97.0529806772868 2.08333134651184E-05
|
||||||
|
ptl 59.3259333292643 -28.520225016276 0.0500208298365275 -101.725833336512 -97.0584083557129 -0.000262499845121056 14 {Fiun Outpost}
|
||||||
|
pnt -56.7886938095093 95.8784626324971 -0.000395833204189936
|
||||||
|
pnt -56.8631035486857 95.8860682805379 -0.000395833204189936
|
||||||
|
pnt -56.9247075398763 95.8729653358459 -0.000395833204189936
|
||||||
|
pnt -56.9869157632192 95.8636669476827 -0.000395833204189936
|
||||||
|
cht 59.3259333292643 -28.520225016276 0.0500208298365275 {/ub give Insatiable Eater Jaw to Fiun Rehlyun}
|
||||||
|
pau 59.3259333292643 -28.520225016276 0.0500208298365275 10000
|
||||||
|
~~ }
|
||||||
|
|
@ -1,216 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
4
|
|
||||||
39
|
|
||||||
0
|
|
||||||
59.3238444010417
|
|
||||||
-28.5963200251261
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
0
|
|
||||||
59.3491148948669
|
|
||||||
-28.6641467094421
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
0
|
|
||||||
59.3766745567322
|
|
||||||
-28.7037879625956
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
6
|
|
||||||
-20.1567346890767
|
|
||||||
69.6993536631266
|
|
||||||
0.317356459299723
|
|
||||||
0
|
|
||||||
Portal to Town Network
|
|
||||||
14
|
|
||||||
True
|
|
||||||
59.3936458587647
|
|
||||||
-28.7256083488464
|
|
||||||
0.0508250035345554
|
|
||||||
0
|
|
||||||
-101.624867598216
|
|
||||||
-96.6313321431478
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.650300121307
|
|
||||||
-96.5992829958598
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.658966318766
|
|
||||||
-96.5680073897044
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.658739980062
|
|
||||||
-96.5141520659129
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.658615048726
|
|
||||||
-96.4844156901042
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.644858868917
|
|
||||||
-96.4508747021357
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.62797349294
|
|
||||||
-96.4283237934113
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.62197488149
|
|
||||||
-96.3871853431066
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
6
|
|
||||||
-20.1567346890767
|
|
||||||
69.6993536631266
|
|
||||||
0.317356459299723
|
|
||||||
0
|
|
||||||
Stonehold Portal
|
|
||||||
14
|
|
||||||
True
|
|
||||||
-101.616920820872
|
|
||||||
-96.3639541665713
|
|
||||||
-0.000262499845121056
|
|
||||||
0
|
|
||||||
-21.6851238250732
|
|
||||||
68.6658351103465
|
|
||||||
0.325020853678385
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-21.6289395014445
|
|
||||||
68.6506710529327
|
|
||||||
0.325020853678385
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-21.5721336364746
|
|
||||||
68.6411833763123
|
|
||||||
0.325020853678385
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-21.5097707430522
|
|
||||||
68.6396075884501
|
|
||||||
0.325020853678385
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-21.453425470988
|
|
||||||
68.6498824437459
|
|
||||||
0.325020853678385
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-21.3994089126587
|
|
||||||
68.6714050134023
|
|
||||||
0.325020853678385
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-21.3288564682007
|
|
||||||
68.724674542745
|
|
||||||
0.317972977956136
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-21.2169948577881
|
|
||||||
68.7905727068583
|
|
||||||
0.301200071970622
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-21.1142587741216
|
|
||||||
68.8473822593689
|
|
||||||
0.311114470163981
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.9858016173045
|
|
||||||
68.9242629051209
|
|
||||||
0.327141539255778
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.9161176522573
|
|
||||||
68.964368057251
|
|
||||||
0.349729251861572
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.8470240910848
|
|
||||||
69.0071477254232
|
|
||||||
0.368622779846191
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.7915863672892
|
|
||||||
69.0421974182129
|
|
||||||
0.388323815663656
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.7150138537089
|
|
||||||
69.1274105707804
|
|
||||||
0.403556219736735
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.6669180552165
|
|
||||||
69.2083913803101
|
|
||||||
0.381966876983643
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.6537384033203
|
|
||||||
69.2881316184998
|
|
||||||
0.362513001759847
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.645511341095
|
|
||||||
69.3518469174703
|
|
||||||
0.34843692779541
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.5783939361572
|
|
||||||
69.4900629202525
|
|
||||||
0.308775520324707
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.5159432093302
|
|
||||||
69.594264793396
|
|
||||||
0.289700126647949
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.4655660629272
|
|
||||||
69.6328755378723
|
|
||||||
0.284651343027751
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.346146206061
|
|
||||||
69.6796534538269
|
|
||||||
0.291088676452637
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.2466309626897
|
|
||||||
69.7156423886617
|
|
||||||
0.311803499857585
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.2082561810811
|
|
||||||
69.7301380475362
|
|
||||||
0.316519196828206
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.1890452543894
|
|
||||||
69.7202436765035
|
|
||||||
0.316567325592041
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-20.1567623615265
|
|
||||||
69.6993715286255
|
|
||||||
0.317355791727702
|
|
||||||
0
|
|
||||||
6
|
|
||||||
-20.1567346890767
|
|
||||||
69.6993536631266
|
|
||||||
0.317356459299723
|
|
||||||
0
|
|
||||||
Desolation Beach Portal
|
|
||||||
14
|
|
||||||
True
|
|
||||||
-20.1682483355204
|
|
||||||
69.6802124977112
|
|
||||||
0.32122278213501
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
4
|
|
||||||
8
|
|
||||||
0
|
|
||||||
-70.5150861899058
|
|
||||||
87.4011634190877
|
|
||||||
0.333354187011719
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-70.5137316226959
|
|
||||||
87.4172266642253
|
|
||||||
0.333354187011719
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-70.5388644059499
|
|
||||||
87.4116279602051
|
|
||||||
0.333354187011719
|
|
||||||
0
|
|
||||||
8
|
|
||||||
-70.5349495887756
|
|
||||||
87.4159286499023
|
|
||||||
0.333354187011719
|
|
||||||
0
|
|
||||||
8
|
|
||||||
-70.5355544408162
|
|
||||||
87.4350578943888
|
|
||||||
0.341687488555908
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-70.5217122077942
|
|
||||||
87.4340560277303
|
|
||||||
0.350020853678385
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-70.4775682767232
|
|
||||||
87.4305627187093
|
|
||||||
0.351791667938232
|
|
||||||
0
|
|
||||||
4
|
|
||||||
-70.4775682767232
|
|
||||||
87.4305627187093
|
|
||||||
0.351791667938232
|
|
||||||
0
|
|
||||||
/ub give Blank Augmentation Gem to Donatello Linante
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
1
|
|
||||||
0
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
1
|
|
||||||
0
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
1
|
|
||||||
0
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
1
|
|
||||||
0
|
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
4
|
|
||||||
13
|
|
||||||
0
|
|
||||||
59.3238444010417
|
|
||||||
-28.5963200251261
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
0
|
|
||||||
59.3491148948669
|
|
||||||
-28.6641467094421
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
0
|
|
||||||
59.3766745567322
|
|
||||||
-28.7037879625956
|
|
||||||
0.0500208298365275
|
|
||||||
0
|
|
||||||
6
|
|
||||||
-101.621842416128
|
|
||||||
-96.3862769524256
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
Portal to Town Network
|
|
||||||
14
|
|
||||||
True
|
|
||||||
59.3936458587647
|
|
||||||
-28.7256083488464
|
|
||||||
0.0508250035345554
|
|
||||||
0
|
|
||||||
-101.624867598216
|
|
||||||
-96.6313321431478
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.650300121307
|
|
||||||
-96.5992829958598
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.658966318766
|
|
||||||
-96.5680073897044
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.658739980062
|
|
||||||
-96.5141520659129
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.658615048726
|
|
||||||
-96.4844156901042
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.644858868917
|
|
||||||
-96.4508747021357
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.62797349294
|
|
||||||
-96.4283237934113
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
0
|
|
||||||
-101.62197488149
|
|
||||||
-96.3871853431066
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
6
|
|
||||||
-101.621842416128
|
|
||||||
-96.3862769524256
|
|
||||||
2.08333134651184E-05
|
|
||||||
0
|
|
||||||
Stonehold Portal
|
|
||||||
14
|
|
||||||
True
|
|
||||||
-101.616920820872
|
|
||||||
-96.3639541665713
|
|
||||||
-0.000262499845121056
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
uTank2 NAV 1.2
|
|
||||||
4
|
|
||||||
2
|
|
||||||
3
|
|
||||||
59.3695845603943
|
|
||||||
-28.744246006012
|
|
||||||
0.0500250021616618
|
|
||||||
0
|
|
||||||
5000
|
|
||||||
4
|
|
||||||
59.3695845603943
|
|
||||||
-28.744246006012
|
|
||||||
0.0500250021616618
|
|
||||||
0
|
|
||||||
/ls
|
|
||||||
1735
bore/bore.met
1735
bore/bore.met
File diff suppressed because it is too large
Load diff
|
|
@ -11,7 +11,7 @@ n
|
||||||
n
|
n
|
||||||
n
|
n
|
||||||
n
|
n
|
||||||
153
|
156
|
||||||
i
|
i
|
||||||
1
|
1
|
||||||
i
|
i
|
||||||
|
|
@ -149,8 +149,8 @@ stateBurdenPackSlots
|
||||||
s
|
s
|
||||||
x
|
x
|
||||||
ba
|
ba
|
||||||
1656
|
1649
|
||||||
<?xml version="1.0"?><view width="300" height="260" title="Burden and Pack Slots"><control type="layout"><control type="button" name="btnMightSeventhMule" left="10" top="10" width="250" height="25" text="Might of the Seventh Mule" actionexpr="setvar[Augment,`stateMightSeventhMule`]" setstate="nav_zaikhal" /><control type="button" name="btnShadowSeventhMule" left="10" top="40" width="250" height="25" text="Shadow of the Seventh Mule" actionexpr="setvar[Augment,`stateShadowSeventhMule`]" setstate="nav_zaikhal" /><control type="button" name="btnInfusedWarMagic" left="10" top="70" width="250" height="25" text="Infused War Magic" actionexpr="setvar[Augment,`stateInfusedWarMagic`]" setstate="nav_silyun" /><control type="button" name="btnInfusedLifeMagic" left="10" top="100" width="250" height="25" text="Infused Life Magic" actionexpr="setvar[Augment,`stateInfusedLifeMagic`]" setstate="nav_hebian_to" /><control type="button" name="btnInfusedItemMagic" left="10" top="130" width="250" height="25" text="Infused Item Magic" actionexpr="setvar[Augment,`stateInfusedItemMagic`]" setstate="nav_hebian_to" /><control type="button" name="btnInfusedCreatureMagic" left="10" top="160" width="250" height="25" text="Infused Creature Magic" actionexpr="setvar[Augment,`stateInfusedCreatureMagic`]" setstate="nav_cragstone" /><control type="button" name="btnInfusedVoidMagic" left="10" top="190" width="250" height="25" text="Infused Void Magic" actionexpr="setvar[Augment,`stateInfusedVoidMagic`]" setstate="nav_candeth_keep" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="Default" /></control></view>s
|
<?xml version="1.0"?><view width="300" height="260" title="Burden and Pack Slots"><control type="layout"><control type="button" name="btnMightSeventhMule" left="10" top="10" width="250" height="25" text="Might of the Seventh Mule" actionexpr="setvar[Augment,`stateMightSeventhMule`]" setstate="nav_zaikhal" /><control type="button" name="btnShadowSeventhMule" left="10" top="40" width="250" height="25" text="Shadow of the Seventh Mule" actionexpr="setvar[Augment,`stateShadowSeventhMule`]" setstate="nav_zaikhal" /><control type="button" name="btnInfusedWarMagic" left="10" top="70" width="250" height="25" text="Infused War Magic" actionexpr="setvar[Augment,`stateInfusedWarMagic`]" setstate="nav_silyun" /><control type="button" name="btnInfusedLifeMagic" left="10" top="100" width="250" height="25" text="Infused Life Magic" actionexpr="setvar[Augment,`stateInfusedLifeMagic`]" setstate="nav_hebianto" /><control type="button" name="btnInfusedItemMagic" left="10" top="130" width="250" height="25" text="Infused Item Magic" actionexpr="setvar[Augment,`stateInfusedItemMagic`]" setstate="nav_hebianto" /><control type="button" name="btnInfusedCreatureMagic" left="10" top="160" width="250" height="25" text="Infused Creature Magic" actionexpr="setvar[Augment,`stateInfusedCreatureMagic`]" setstate="nav_cragstone" /><control type="button" name="btnInfusedVoidMagic" left="10" top="190" width="250" height="25" text="Infused Void Magic" actionexpr="setvar[Augment,`stateInfusedVoidMagic`]" setstate="nav_candeth" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="Default" /></control></view>s
|
||||||
stateBurdenPackSlots
|
stateBurdenPackSlots
|
||||||
i
|
i
|
||||||
1
|
1
|
||||||
|
|
@ -404,8 +404,8 @@ stateInnateResistance
|
||||||
s
|
s
|
||||||
x
|
x
|
||||||
ba
|
ba
|
||||||
1705
|
1693
|
||||||
<?xml version="1.0"?><view width="300" height="250" title="Innate Resistance"><control type="layout"><control type="button" name="btnEnhancementMaceTurner" left="10" top="10" width="250" height="25" text="Enhancement of the Mace Turner" actionexpr="setvar[Augment,`stateEnhancementMaceTurner`]" setstate="nav_hebian_to" /><control type="button" name="btnEnhancementBladeTurner" left="10" top="40" width="250" height="25" text="Enhancement of the Blade Turner" actionexpr="setvar[Augment,`stateEnhancementBladeTurner`]" setstate="nav_hebian_to" /><control type="button" name="btnEnhancementArrowTurner" left="10" top="70" width="250" height="25" text="Enhancement of the Arrow Turner" actionexpr="setvar[Augment,`stateEnhancementArrowTurner`]" setstate="nav_hebian_to" /><control type="button" name="btnStormEnhancement" left="10" top="100" width="250" height="25" text="Storm's Enhancement" actionexpr="setvar[Augment,`stateStormEnhancement`]" setstate="nav_hebian_to" /><control type="button" name="btnFieryEnhancement" left="10" top="130" width="250" height="25" text="Fiery Enhancement" actionexpr="setvar[Augment,`stateFieryEnhancement`]" setstate="nav_hebian_to" /><control type="button" name="btnIcyEnhancement" left="10" top="160" width="250" height="25" text="Icy Enhancement" actionexpr="setvar[Augment,`stateIcyEnhancement`]" setstate="nav_hebian_to" /><control type="button" name="btnCausticEnhancement" left="10" top="190" width="250" height="25" text="Caustic Enhancement" actionexpr="setvar[Augment,`stateCausticEnhancement`]" setstate="nav_hebian_to" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="stateDefault" /></control></view>s
|
<?xml version="1.0"?><view width="300" height="250" title="Innate Resistance"><control type="layout"><control type="button" name="btnEnhancementMaceTurner" left="10" top="10" width="250" height="25" text="Enhancement of the Mace Turner" actionexpr="setvar[Augment,`stateEnhancementMaceTurner`]" setstate="nav_hebianto" /><control type="button" name="btnEnhancementBladeTurner" left="10" top="40" width="250" height="25" text="Enhancement of the Blade Turner" actionexpr="setvar[Augment,`stateEnhancementBladeTurner`]" setstate="nav_hebianto" /><control type="button" name="btnEnhancementArrowTurner" left="10" top="70" width="250" height="25" text="Enhancement of the Arrow Turner" actionexpr="setvar[Augment,`stateEnhancementArrowTurner`]" setstate="nav_hebianto" /><control type="button" name="btnStormEnhancement" left="10" top="100" width="250" height="25" text="Storm's Enhancement" actionexpr="setvar[Augment,`stateStormEnhancement`]" setstate="nav_hebianto" /><control type="button" name="btnFieryEnhancement" left="10" top="130" width="250" height="25" text="Fiery Enhancement" actionexpr="setvar[Augment,`stateFieryEnhancement`]" setstate="nav_hebianto" /><control type="button" name="btnIcyEnhancement" left="10" top="160" width="250" height="25" text="Icy Enhancement" actionexpr="setvar[Augment,`stateIcyEnhancement`]" setstate="nav_hebianto" /><control type="button" name="btnCausticEnhancement" left="10" top="190" width="250" height="25" text="Caustic Enhancement" actionexpr="setvar[Augment,`stateCausticEnhancement`]" setstate="nav_hebianto" /><control type="button" name="btnMain" left="10" top="220" width="250" height="25" text="Main" setstate="Default" /></control></view>s
|
||||||
stateInnateResistance
|
stateInnateResistance
|
||||||
i
|
i
|
||||||
1
|
1
|
||||||
|
|
@ -608,8 +608,8 @@ stateSpellDuration
|
||||||
s
|
s
|
||||||
x
|
x
|
||||||
ba
|
ba
|
||||||
433
|
428
|
||||||
<?xml version="1.0"?><view width="300" height="110" title="Spell Duration"><control type="layout"><control type="button" name="btnArchmageEndurance" left="10" top="10" width="250" height="25" text="Archmage's Endurance" actionexpr="setvar[Augment,`stateArchmageEndurance`]" setstate="nav_mayoi" /><control type="button" name="btnMain" left="10" top="40" width="250" height="25" text="Main" setstate="stateDefault" /></control></view>s
|
<?xml version="1.0"?><view width="300" height="110" title="Spell Duration"><control type="layout"><control type="button" name="btnArchmageEndurance" left="10" top="10" width="250" height="25" text="Archmage's Endurance" actionexpr="setvar[Augment,`stateArchmageEndurance`]" setstate="nav_mayoi" /><control type="button" name="btnMain" left="10" top="40" width="250" height="25" text="Main" setstate="Default" /></control></view>s
|
||||||
stateSpellDuration
|
stateSpellDuration
|
||||||
i
|
i
|
||||||
1
|
1
|
||||||
|
|
@ -1138,7 +1138,7 @@ i
|
||||||
i
|
i
|
||||||
0
|
0
|
||||||
s
|
s
|
||||||
/vt nav load nav_kyujoru
|
/vt nav load nav_kyujorujen
|
||||||
s
|
s
|
||||||
stateEnhancementArrowTurner
|
stateEnhancementArrowTurner
|
||||||
i
|
i
|
||||||
|
|
@ -1854,6 +1854,50 @@ i
|
||||||
i
|
i
|
||||||
0
|
0
|
||||||
s
|
s
|
||||||
|
/vt nav load nav_candeth
|
||||||
|
s
|
||||||
|
nav_candeth
|
||||||
|
i
|
||||||
|
1
|
||||||
|
i
|
||||||
|
15
|
||||||
|
i
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
0
|
||||||
|
s
|
||||||
|
nav_candeth
|
||||||
|
i
|
||||||
|
7
|
||||||
|
i
|
||||||
|
7
|
||||||
|
i
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
chatbox[\/vt setmetastate +getvar[Augment]]
|
||||||
|
s
|
||||||
|
nav_candeth
|
||||||
|
i
|
||||||
|
1
|
||||||
|
i
|
||||||
|
2
|
||||||
|
i
|
||||||
|
0
|
||||||
|
s
|
||||||
/vt nav load nav_mayoi
|
/vt nav load nav_mayoi
|
||||||
s
|
s
|
||||||
nav_mayoi
|
nav_mayoi
|
||||||
8778
met/bore.met
Normal file
8778
met/bore.met
Normal file
File diff suppressed because it is too large
Load diff
737
met/bore_portal_debug.met
Normal file
737
met/bore_portal_debug.met
Normal file
|
|
@ -0,0 +1,737 @@
|
||||||
|
1
|
||||||
|
CondAct
|
||||||
|
5
|
||||||
|
CType
|
||||||
|
AType
|
||||||
|
CData
|
||||||
|
AData
|
||||||
|
State
|
||||||
|
n
|
||||||
|
n
|
||||||
|
n
|
||||||
|
n
|
||||||
|
n
|
||||||
|
23
|
||||||
|
i
|
||||||
|
21
|
||||||
|
i
|
||||||
|
7
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
K
|
||||||
|
V
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
testvar[navNumber]
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[navNumber, 1]
|
||||||
|
s
|
||||||
|
Default
|
||||||
|
i
|
||||||
|
21
|
||||||
|
i
|
||||||
|
7
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
K
|
||||||
|
V
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
testvar[debugPortalRange]
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[debugPortalRange, 8]
|
||||||
|
s
|
||||||
|
Default
|
||||||
|
i
|
||||||
|
21
|
||||||
|
i
|
||||||
|
7
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
K
|
||||||
|
V
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
testvar[debugAngle]
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[debugAngle, 20]
|
||||||
|
s
|
||||||
|
Default
|
||||||
|
i
|
||||||
|
1
|
||||||
|
i
|
||||||
|
3
|
||||||
|
i
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
K
|
||||||
|
V
|
||||||
|
n
|
||||||
|
n
|
||||||
|
5
|
||||||
|
i
|
||||||
|
2
|
||||||
|
s
|
||||||
|
/vt opt set enablecombat false
|
||||||
|
i
|
||||||
|
8
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/vt nav load bore_circuit+getvar[navNumber]
|
||||||
|
i
|
||||||
|
2
|
||||||
|
s
|
||||||
|
/vt opt set enablenav true
|
||||||
|
i
|
||||||
|
2
|
||||||
|
s
|
||||||
|
/a [portal-debug] started
|
||||||
|
i
|
||||||
|
1
|
||||||
|
s
|
||||||
|
watch_portal
|
||||||
|
s
|
||||||
|
Default
|
||||||
|
i
|
||||||
|
2
|
||||||
|
i
|
||||||
|
3
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
K
|
||||||
|
V
|
||||||
|
n
|
||||||
|
n
|
||||||
|
13
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[portal, wobjectfindnearestbyobjectclass[14]]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
istrue[getvar[portal]]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8
|
||||||
|
i
|
||||||
|
21
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
K
|
||||||
|
V
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
wobjectgetname[getvar[portal]]==Singularity Caul
|
||||||
|
i
|
||||||
|
21
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
K
|
||||||
|
V
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
wobjectgetname[getvar[portal]]#Destroyed.*
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
wobjectisvalid[getvar[portal]]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[portalHeading, getheadingto[getvar[portal]]]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[playerHeading, getheading[wobjectgetplayer[]]]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[relativeAngle, iif[getvar[relativeAngle] > 180, 360 - getvar[relativeAngle], getvar[relativeAngle]]]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[turnDirection, iif[randint[0,2] == 0, -90, 90]]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
getvar[relativeAngle] <= getvar[debugAngle]
|
||||||
|
i
|
||||||
|
26
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
setvar[newHeading, abs[getvar[playerHeading] + getvar[turnDirection]]]
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
K
|
||||||
|
V
|
||||||
|
n
|
||||||
|
n
|
||||||
|
3
|
||||||
|
i
|
||||||
|
2
|
||||||
|
s
|
||||||
|
/vt opt set enablenav false
|
||||||
|
i
|
||||||
|
2
|
||||||
|
s
|
||||||
|
/vt opt set enablecombat false
|
||||||
|
i
|
||||||
|
1
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
s
|
||||||
|
watch_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
1
|
||||||
|
i
|
||||||
|
5
|
||||||
|
s
|
||||||
|
watch_portal
|
||||||
|
s
|
||||||
|
watch_portal
|
||||||
|
i
|
||||||
|
1
|
||||||
|
i
|
||||||
|
9
|
||||||
|
i
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
3
|
||||||
|
s
|
||||||
|
s
|
||||||
|
s
|
||||||
|
watch_portal
|
||||||
|
s
|
||||||
|
r
|
||||||
|
d
|
||||||
|
1
|
||||||
|
s
|
||||||
|
t
|
||||||
|
d
|
||||||
|
120
|
||||||
|
s
|
||||||
|
watch_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
1
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/me portalHeading \= +getvar[portalHeading]
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
2
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/me playerHeading \= +getvar[playerHeading]
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
3
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/me relativeAngle \= +getvar[relativeAngle]
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
4
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/me Portal detected ahead\! Avoiding now\!
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
5
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/me is too close to +wobjectgetname[wobjectfindnearestbyobjectclass[14]]
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
6
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/me at +coordinatetostring[getplayercoordinates[]]
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
7
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/ub face +getvar[newHeading]
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
9
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/ub setmotion forward 1
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
11
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/ub setmotion forward 0
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
12
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/ub face +getvar[playerHeading]
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
14
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/ub setmotion forward 1
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
16
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/ub setmotion forward 0
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
17
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/mm nextwp
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
18
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/vt opt set enablenav true
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
6
|
||||||
|
i
|
||||||
|
8
|
||||||
|
i
|
||||||
|
19
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
1
|
||||||
|
s
|
||||||
|
e
|
||||||
|
s
|
||||||
|
\/vt setmetastate watch_portal
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
|
i
|
||||||
|
1
|
||||||
|
i
|
||||||
|
9
|
||||||
|
i
|
||||||
|
0
|
||||||
|
TABLE
|
||||||
|
2
|
||||||
|
k
|
||||||
|
v
|
||||||
|
n
|
||||||
|
n
|
||||||
|
3
|
||||||
|
s
|
||||||
|
s
|
||||||
|
s
|
||||||
|
watch_portal
|
||||||
|
s
|
||||||
|
r
|
||||||
|
d
|
||||||
|
1
|
||||||
|
s
|
||||||
|
t
|
||||||
|
d
|
||||||
|
30
|
||||||
|
s
|
||||||
|
avoid_portal
|
||||||
12024
met/neftet.met
Normal file
12024
met/neftet.met
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,12 +1,24 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
8
|
10
|
||||||
|
3
|
||||||
|
-20.6627984364827
|
||||||
|
-41.8583373387655
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
-20.6627984364827
|
-20.6627984364827
|
||||||
-41.8583373387655
|
-41.8583373387655
|
||||||
2.08333134651184E-05
|
2.08333134651184E-05
|
||||||
0
|
0
|
||||||
/ah
|
/ah
|
||||||
|
3
|
||||||
|
-20.6627984364827
|
||||||
|
-41.8583373387655
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
10000
|
||||||
0
|
0
|
||||||
59.3589282353719
|
59.3589282353719
|
||||||
-28.5375727335612
|
-28.5375727335612
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
34
|
37
|
||||||
4
|
4
|
||||||
59.5416052500407
|
59.5416052500407
|
||||||
-28.4145641962687
|
-28.4145641962687
|
||||||
|
|
@ -37,6 +37,24 @@ uTank2 NAV 1.2
|
||||||
0.0500208298365275
|
0.0500208298365275
|
||||||
0
|
0
|
||||||
14000
|
14000
|
||||||
|
3
|
||||||
|
59.5416052500407
|
||||||
|
-28.4145641962687
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
|
2000
|
||||||
|
4
|
||||||
|
59.5416052500407
|
||||||
|
-28.4145641962687
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
|
/vt opt set enablecombat false
|
||||||
|
3
|
||||||
|
59.5416052500407
|
||||||
|
-28.4145641962687
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
59.5416052500407
|
59.5416052500407
|
||||||
-28.4145641962687
|
-28.4145641962687
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
16
|
18
|
||||||
2
|
2
|
||||||
-66.9188193003337
|
-66.9188193003337
|
||||||
-87.4330533027649
|
-87.4330533027649
|
||||||
|
|
@ -13,12 +13,24 @@ uTank2 NAV 1.2
|
||||||
0.200020837783813
|
0.200020837783813
|
||||||
0
|
0
|
||||||
10000
|
10000
|
||||||
|
3
|
||||||
|
-66.9188193003337
|
||||||
|
-87.4330533027649
|
||||||
|
0.200020837783813
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
-66.9188193003337
|
-66.9188193003337
|
||||||
-87.4330533027649
|
-87.4330533027649
|
||||||
0.200020837783813
|
0.200020837783813
|
||||||
0
|
0
|
||||||
/ah
|
/ah
|
||||||
|
3
|
||||||
|
-66.9188193003337
|
||||||
|
-87.4330533027649
|
||||||
|
0.200020837783813
|
||||||
|
0
|
||||||
|
10000
|
||||||
0
|
0
|
||||||
59.3654500325521
|
59.3654500325521
|
||||||
-28.5106864929199
|
-28.5106864929199
|
||||||
|
|
@ -1,12 +1,24 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
30
|
32
|
||||||
|
3
|
||||||
|
0.290325609842936
|
||||||
|
12.8991326014201
|
||||||
|
0.505020840962728
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
0.290325609842936
|
0.290325609842936
|
||||||
12.8991326014201
|
12.8991326014201
|
||||||
0.505020840962728
|
0.505020840962728
|
||||||
0
|
0
|
||||||
/ah
|
/ah
|
||||||
|
3
|
||||||
|
0.290325609842936
|
||||||
|
12.8991326014201
|
||||||
|
0.505020840962728
|
||||||
|
0
|
||||||
|
10000
|
||||||
0
|
0
|
||||||
59.3391182581584
|
59.3391182581584
|
||||||
-28.5698016484578
|
-28.5698016484578
|
||||||
|
|
@ -1,12 +1,24 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
49
|
51
|
||||||
|
3
|
||||||
|
69.2576966335376
|
||||||
|
21.0394041061401
|
||||||
|
1.55835838317871
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
69.2576966335376
|
69.2576966335376
|
||||||
21.0394041061401
|
21.0394041061401
|
||||||
1.55835838317871
|
1.55835838317871
|
||||||
0
|
0
|
||||||
/ah
|
/ah
|
||||||
|
3
|
||||||
|
69.2576966335376
|
||||||
|
21.0394041061401
|
||||||
|
1.55835838317871
|
||||||
|
0
|
||||||
|
10000
|
||||||
0
|
0
|
||||||
59.33140001297
|
59.33140001297
|
||||||
-28.5141708374023
|
-28.5141708374023
|
||||||
|
|
@ -1,6 +1,12 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
39
|
41
|
||||||
|
3
|
||||||
|
59.0599030017853
|
||||||
|
-28.8052037556966
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
59.0599030017853
|
59.0599030017853
|
||||||
-28.8052037556966
|
-28.8052037556966
|
||||||
|
|
@ -12,6 +18,12 @@ uTank2 NAV 1.2
|
||||||
-28.8052037556966
|
-28.8052037556966
|
||||||
0.0500208298365275
|
0.0500208298365275
|
||||||
0
|
0
|
||||||
|
10000
|
||||||
|
3
|
||||||
|
59.0599030017853
|
||||||
|
-28.8052037556966
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
5000
|
5000
|
||||||
0
|
0
|
||||||
59.3230046590169
|
59.3230046590169
|
||||||
|
|
@ -1,12 +1,24 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
59
|
61
|
||||||
|
3
|
||||||
|
-7.01842756271362
|
||||||
|
85.16130250295
|
||||||
|
0.370020866394043
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
-7.01842756271362
|
-7.01842756271362
|
||||||
85.16130250295
|
85.16130250295
|
||||||
0.370020866394043
|
0.370020866394043
|
||||||
0
|
0
|
||||||
/ah
|
/ah
|
||||||
|
3
|
||||||
|
-7.01842756271362
|
||||||
|
85.16130250295
|
||||||
|
0.370020866394043
|
||||||
|
0
|
||||||
|
10000
|
||||||
0
|
0
|
||||||
59.3384010632833
|
59.3384010632833
|
||||||
-28.6191628138224
|
-28.6191628138224
|
||||||
|
|
@ -1,6 +1,24 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
20
|
24
|
||||||
|
3
|
||||||
|
-100.944974994659
|
||||||
|
-15.6830624977748
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
2000
|
||||||
|
4
|
||||||
|
-100.944974994659
|
||||||
|
-15.6830624977748
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
/vt opt set enablecombat false
|
||||||
|
3
|
||||||
|
-100.944974994659
|
||||||
|
-15.6830624977748
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
-100.944974994659
|
-100.944974994659
|
||||||
-15.6830624977748
|
-15.6830624977748
|
||||||
|
|
@ -12,6 +30,12 @@ uTank2 NAV 1.2
|
||||||
-15.6830624977748
|
-15.6830624977748
|
||||||
2.08333134651184E-05
|
2.08333134651184E-05
|
||||||
0
|
0
|
||||||
|
10000
|
||||||
|
3
|
||||||
|
-100.944974994659
|
||||||
|
-15.6830624977748
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
22000
|
22000
|
||||||
4
|
4
|
||||||
-100.944974994659
|
-100.944974994659
|
||||||
|
|
@ -1,6 +1,24 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
5
|
9
|
||||||
|
3
|
||||||
|
59.3687468528748
|
||||||
|
-28.5195071538289
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
|
2000
|
||||||
|
4
|
||||||
|
59.3687468528748
|
||||||
|
-28.5195071538289
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
|
/vt opt set enablecombat false
|
||||||
|
3
|
||||||
|
59.3687468528748
|
||||||
|
-28.5195071538289
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
59.3687468528748
|
59.3687468528748
|
||||||
-28.5195071538289
|
-28.5195071538289
|
||||||
|
|
@ -12,6 +30,12 @@ uTank2 NAV 1.2
|
||||||
-28.5195071538289
|
-28.5195071538289
|
||||||
0.0500208298365275
|
0.0500208298365275
|
||||||
0
|
0
|
||||||
|
10000
|
||||||
|
3
|
||||||
|
59.3687468528748
|
||||||
|
-28.5195071538289
|
||||||
|
0.0500208298365275
|
||||||
|
0
|
||||||
15000
|
15000
|
||||||
4
|
4
|
||||||
59.3687468528748
|
59.3687468528748
|
||||||
|
|
@ -1,6 +1,24 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
19
|
23
|
||||||
|
3
|
||||||
|
-100.944974994659
|
||||||
|
-15.6830624977748
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
2000
|
||||||
|
4
|
||||||
|
-100.944974994659
|
||||||
|
-15.6830624977748
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
/vt opt set enablecombat false
|
||||||
|
3
|
||||||
|
-100.944974994659
|
||||||
|
-15.6830624977748
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
-100.944974994659
|
-100.944974994659
|
||||||
-15.6830624977748
|
-15.6830624977748
|
||||||
|
|
@ -12,6 +30,12 @@ uTank2 NAV 1.2
|
||||||
-15.6830624977748
|
-15.6830624977748
|
||||||
2.08333134651184E-05
|
2.08333134651184E-05
|
||||||
0
|
0
|
||||||
|
10000
|
||||||
|
3
|
||||||
|
-100.944974994659
|
||||||
|
-15.6830624977748
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
20000
|
20000
|
||||||
0
|
0
|
||||||
-100.925855763753
|
-100.925855763753
|
||||||
|
|
@ -1,12 +1,36 @@
|
||||||
uTank2 NAV 1.2
|
uTank2 NAV 1.2
|
||||||
4
|
4
|
||||||
20
|
24
|
||||||
|
3
|
||||||
|
-101.708302195867
|
||||||
|
-96.4694164276123
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
2000
|
||||||
|
4
|
||||||
|
-101.708302195867
|
||||||
|
-96.4694164276123
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
/vt opt set enablecombat false
|
||||||
|
3
|
||||||
|
-101.708302195867
|
||||||
|
-96.4694164276123
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
2000
|
||||||
4
|
4
|
||||||
-101.708302195867
|
-101.708302195867
|
||||||
-96.4694164276123
|
-96.4694164276123
|
||||||
2.08333134651184E-05
|
2.08333134651184E-05
|
||||||
0
|
0
|
||||||
/ah
|
/ah
|
||||||
|
3
|
||||||
|
-101.708302195867
|
||||||
|
-96.4694164276123
|
||||||
|
2.08333134651184E-05
|
||||||
|
0
|
||||||
|
10000
|
||||||
0
|
0
|
||||||
59.3255796750387
|
59.3255796750387
|
||||||
-28.5361920038859
|
-28.5361920038859
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue