Luopan UI - shastaxc/silver-libs GitHub Wiki

Displays a UI that shows which players and enemies are within effective distance of your GEO buffs. This does NOT mean they are affected, only that they are within the correct range. Debuff bubbles (such as Geo-Malaise or Indi-Frailty) still require you to be on the enemy's hate list for them to be affected; being within range is only one of the required conditions.

Credit goes to Selindrile for this code.

Implementation

See the Installation page for details on first steps if you have not yet installed SilverLibs into your job lua. To implement this specific feature:

If Using Mote Libs

If the specified functions already exist, just put the silibs part inside of it in the appropriate spot. Please add the following:

function job_setup()
  silibs.enable_luopan_ui({
    is_visible_by_default = false,
    align_right = true,
    x = 100,
    y = 100,
  })
end

If Using Selindrile Libs

If the specified functions already exist, just put the silibs part inside of it in the appropriate spot. Please add the following in your char_job_gear.lua file:

function user_job_setup()
  silibs.enable_luopan_ui({
    is_visible_by_default = true,
    align_right = true,
    x = -130,
    y = 80,
  })
end

Config Options

When enabling the Luopan UI feature, you can pass in several optional parameters to customize the UI appearance.

  • is_visible_by_default: If true, will display the UI when a bubble is casted without having to manually toggle the UI mode.
  • align_right: If true, the UI will be positioned on the right side of the screen. If you turn this on, you should set "x" in negative values.
  • x: The horizontal position of the UI on screen. Negative values move it left, positive moves it right.
  • y: The horizontal position of the UI on screen. 0 represents top of the screen. Positive values positions it further down the screen.

Toggling the UI

You can use the is_visible_by_default config option to set the UI visibility at load. However, during the fight if you want to turn the UI on or off you can do so by updating the state called state.ShowLuopanUI. Here is the command to do so (which you can keybind):

gs c toggle ShowLuopanUi

An example of keybinding this function:

send_command('bind ^u gs c toggle ShowLuopanUi')

Limitations / Known Bugs

  • If you reload GearSwap, existing bubbles will not be automatically detected. The UI will not appear even if toggled on until a new bubble is casted.