una-xiv / umbra

Umbra XIV - Adds quality of life improvements to the game and consolidates common UI elements and actions into a single uniform interface.
GNU Affero General Public License v3.0
83 stars 30 forks source link

[Feature Request] Add an Online Status Picker #51

Closed Damdrara closed 5 months ago

Damdrara commented 5 months ago

It could show whatever your current status is as an icon and allow easy access to switching statuses - especially looking for an easy way to toggle RP mode personally, and see if it's on or not, but I imagine others might like afk and whatnot as well.

haroldiedema commented 5 months ago

Some notes for myself:

ExcelSheet: OnlineStatus Current status can be fetched from LocalPlayer.OnlineStatus

Modifying the status must be done via chat commands, so not every single one may be available (e.g. trade mentor)

Status list:

Checking to see if the player currently has a status set: https://github.com/aers/FFXIVClientStructs/blob/main/FFXIVClientStructs/FFXIV/Client/UI/Info/InfoModule.cs#L29

Haselnussbomber commented 5 months ago

This CS PR could be helpful for you: https://github.com/aers/FFXIVClientStructs/pull/860/files 🙂

I only tested it briefly with:

if (ImGui.Button("Set to Online"))
    InfoProxySearchComment.Instance()->SendOnlineStatusUpdate(0);

if (ImGui.Button("Set to Busy"))
    InfoProxySearchComment.Instance()->SendOnlineStatusUpdate(12);

if (ImGui.Button("Set to Role-playing"))
    InfoProxySearchComment.Instance()->SendOnlineStatusUpdate(22);

Keep in mind that you're about to send data to the server. Please take care and stay safe. 😅

Alternatively, you can open the Social Info window. See PR message for how.