v0.2.3

  • Fix cleargvar[] expression wasn’t actually clearing vars
  • Add list expressions: listlastindexof, listreverse, listinsert
  • Add expressions: uiviewvisible and uiviewexists
  • Add dictionary support to expression, see expression documentation
  • Add chatboxpaste expression
  • Fix issue where alias text was getting trimmed before regex match
  • Add getregexmatch expression
  • Fix AutoTinker now allows gold to be added to Armor/Clothing
  • Fix bug where newly inscribed items were not seen by ub, allowing them to be sold/salvaged
  • Fix landscape maps icon no longer shows when disabled
  • Add questtracker list headers are now clickable, to modify sorting
  • Add ability to patch vtank for classic (pre-tod) servers. enable with setting VTank.PatchForClassic.
  • Fix InventoryManager.WatchLootProfile to wait until vtank is loaded to setup filewatcher

v0.2.2

  • Revert Fix - character must now be escaped in expression strings
  • Fix hotkeys not working
  • Fix misc exceptions
  • Add Global.LogDirectory setting for chaning where log files are stored
  • Fixed autotinkering cloth armor with AL
  • Add missing vtank meta view expressions: uigetcontrol, uisetlabel, uisetvisible
  • Fix InventoryManager.WatchLootProfile not always watching for changes / double loading
  • Add settings to Nametags to adjust text sizes
  • UB expression patch now properly patches VTOptGet and VTOptSet meta actions
  • Add Nametags for allegiance members now have a unique color
  • Add getworldname[] expression to return the name of the currently connected world / server
  • Add Alias tool for manipulating chat input. See https://utilitybelt.gitlab.io/docs/tools/aliases/
  • Add GameEvents tool for running actions when certain game events happen
  • Fix issue that was causing vtank funkiness (broken autovendor / keep # loot rules)

v0.2.0

  • Fix issue where calling get[gp]var expression would set an invalid value to the cache, causing test[gp]var to have incorrect results
  • Add Landscape Maps marker for current Arrow target
  • Fix getitemcountininventorybyname and getitemcountininventorybynamerx expressions now count containers and equipped items
  • Fix wobjectfindininventorybynamerx and wobjectfindininventorybyname to use generated ingame names, rather than the weenie name
  • Add Iron/Granite (max damage) to AutoTinker
  • Fix p(partial) flag on swearallegiance and breakallegiance commands
  • Add exposed global settings to plugin settings ui and ub opt commands
  • Fix corrupt db no longer breaks the plugin from loading, it is deleted and remade
  • Add new settings ui
  • Fix coordinates parsed from strings now read in Z data
  • Add shared settings profiles, check the new profiles tab
  • Add client ui profiles, for managing shared client ui window positions.
  • Add /ub (get|set)ui to get/set the client ui window positions as a string
  • Add profile support for player options
  • Add list support to expressions, see expression documentation
  • Add shortcut for getting expression variables ie $myVariable, see expression documentation
  • Fix /ub tinkcalc not showing output
  • Fix getcharquadprop[] luminance properties
  • Add friendlier error messages for expressions
  • Add && and || expression operators now short-circuit (incompatible with vtank boolean operators)
  • Fix a number of expression parse issues
  • Fix - character must now be escaped in expression strings
  • Add hexadecimal number format support to expressions, ie 0xff
  • Fix issue where plugin was not loading after creating a new character
  • Fix issue where plugin could load multiple times if another character was already in world
  • Fix issue where huds would stop rendering after a resolution change
  • Fix AutoTinker no longer tries to tinker untinkerable items
  • Add Networking - Now spellcast attempts / success are shared with vtank (vuln/imp overlapping)
  • Add /ub bc [msDelayBetweenClients] <command> for broadcasting commands to all open clients
  • Add Exceptions are now uploaded to the mothership by defualt, set Global.UploadExceptions to false to disable (pls dont, i want to fix bugs)

v0.1.8

  • Add expression isrefreshingquests[]
  • Add command /ub myquests - runs /myquests command and hides chat output
  • Fix issue where plugin could load multiple instances of itself
  • Fix issue where Plugin.VideoPatch could break physics

v0.1.7

  • Fix salvage name check in autotinker
  • Add basic landscape maps (visualnav capable)
  • Fix ColorPicker view in settings
  • Fix issue where ItemGiver could get in a bugged state and prevent usage between relogs
  • Add pointable arrow. By default it will look for coordinates in the chatbox and make them clickable.
  • Add command /ub arrow point <coordinates> for pointing the arrow
  • Add command /ub arrow face to face your character in the same direction as the arrow
  • Add UtilityBelt version watermark to character selection screen
  • Fix bug in persistent expression variables where they could be serialized to settings
  • Add DerethTime hud that shows day/night cycles
  • Add DerethTime expressions: getgameyear[], getgamemonth[], getgamemonthname[i], getgameday[], getgamehour[], getgamehourname[i], getminutesuntilday[], getminutesuntilnight[], getgameticks[], getisday[], getisnight[]
  • Fix bug where multiple instances of the plugin could be loaded on ACE servers
  • add a very rudimentary frame rate limiter UBHelper.SimpleFrameLimiter
  • add /ub globalframerate <frameRate> and FrameRate in utilitybelt.dll.config, to globally limit frame rate (including login screen)
  • add /ub bgframerate <frameRate> and setting Plugin.BackgroundFrameRate, to limit frame rate while the client does not have focus

v0.1.6

  • Fix getitemcountininventorybynamerx[] and getitemcountininventorybyname[] now properly search salvage names like Silk Salvage (100)
  • Fix coordinateparse[] inverting ordinal directions
  • Add expressions getheadingto[wobject obj] and getheading[wobject obj] to get the heading to or of and object
  • Add math expressions: acos, asin, atan, atan2, cos, cosh, sin, sinh, sqrt, tan, tanh
  • Fix expression distance methods so they properly error out on invalid objects/coordinates
  • Fix expression strings to be more compatible with vtank
  • UB expressions are now compatible with IBControl and BuffCaster
  • Fix autovendor for servers with custom pyreal max stack size
  • Fix Wobjectfindnearestbynameandobjectclass[] is now returning nearest found wobject, instead of the first one it finds
  • Add caching to Persistent Expression Variables for better performance
  • Disable plugin hot reloading for general users
  • Fix global/persistent string storage expressions with special characters
  • add /ub fellow create <Name>|quit|disband|open|close|status|recruit[p][ Name]|dismiss[p][ Name]|leader[p][ Name]
  • add /ub swearallegiance[p][ <name|id|selected>]
  • add /ub breakallegiance[p][ <name|id|selected>] (TODO: scan Allegiance Heirarchy, instead of visible)
  • replace expressions getfellowshipstatus[], getfellowshipname[], with DMA methods (performance)
  • add expressions getfellowshipcount[], getfellowshipleaderid[], getfellowid[x], getfellowname[x], getfellowshiplocked[], getfellowshipisleader[], getfellowshipisopen[], getfellowshipisfull[], getfellowshipcanrecruit[]
  • add error on init, if UBHelper is out of date
  • Fix issue with Town Network causing bad dungeon maps lag in some instances

v0.1.5

  • Fix AutoTinker now supports tinkering clothing with gold/linen/moonstone/pine
  • Fix blood shreth killtask, now shows up correctly under killtasks. (maybe fixes others too?)
  • Fix some quests that were showing up on the questtracker once tab that were actually solvable multiple times
  • Fix @myquests output not showing when manually typing the command
  • Add expression wobjectgethealth[wobject], Returns the health percentage of a mob/player
  • Add Virindi Chat System support
  • Add settings to toggle/recolor ub chat categories: general, debug, errors, expressions
  • Add Rend All option to Autotinker
  • Add Granite/Iron calculator for melee weapons
  • Add /ub tinkcalc for best granite/iron combination
  • Add Setting DungeonMaps.LabelFontSize
  • Fix dungeonmap portal names from lsd data
  • Add support to expressions for floats without a preceding digit ie .5

v0.1.4

  • Fix /ub count profile <profile> to actually output results to chat
  • Add /ub date[utc] [format] command to echo the current date, with optional format
  • Fix bug where long chat nav point texts would crash the client when visualnav is enabled
  • Show current landcell when DungeonMaps.Debug is set to true
  • Add /ub opt toggle <setting> command to toggle boolean values
  • Add support for DHS/VHS hotkeys for common settings
  • Fix some memory leaks
  • Fix bug where item counts from /ub count profile were not properly resetting
  • Add ItemGiver UI
  • Experimental: Optionally replace vtanks meta expression system with one from UB. Read more here: Expression Docs
  • Add settings for AutoVendor.EnableBuying and AutoVendor.EnableSelling to disable specific autovendor functionality
  • Fix AutoTinker now supports quest/pathwarden salvage
  • Fix AutoTinker now works with tailored items that no longer have a material
  • Fix AutoTinker now works with gold/linen/moonstone/pine
  • Fix issue where quest flags were not being cleared from the tracker
  • Fix issue where autovendor would bail early sometimes when buying trade notes
  • Fix issue where autovendor would not buy packs properly

v0.1.2

  • “Fix” /ub playeroption on ACE, by sending the entire PlayerSystem packet
  • Feed all UB messages to vTank, so they can be scraped by metas without needing a /think
  • Fix manually typing /myquests not updating questtracker
  • Rewrite of Assessor backend, to be more redundant, and repeat failed ids
  • Moderate changes to Jumper backend, to remove keyboard dependancy
  • Fixed Quest timers for quests that are longer than 11.5 day repeat
  • Added /ub translateroute command to convert a nav route from one landblock to another
  • Fix itemgiver: negative keep # wasn’t properly tracking items already given
  • Add QuestTracker.AutoRequest setting
  • Rewrite DungeonMaps with performance in mind
  • Fix equip mgr command pattern, default profile selection, and clean up event handling
  • Fix /ub count item output when no items were found
  • Add /ub resolution <width> <height> to change the client resolution
  • Add /ub textures <landscape> <landscapeDetail> <environment> <environmentDetail> <sceneryDraw> <landscapeDraw> to set the client texture options
  • Fixed a few potential crash to desktop bugs
  • Nav routes now properly show on dungeon maps when video patch is enabled
  • Add /ub professor <type> <level> command to learn spells from professors in Arwic
  • Add the ability to view any dungeon map, with data courtesy of lifestoned.org
  • Fix issue where AutoTrade/AutoVendor/ItemGiver was not respecting red loot rules for ObjectClass.Misc (summoning essences)
  • Fix AutoVendor only selling stacks one at a time (still sells mmds one at a time)
  • Fix AutoVendor selling until your inventory was full and not buying mmds on gdle
  • Fix AutoVendor now stops when disabling it mid session