Character Preferences: Redux - Drop your ideas here!

Now with categories in search

3 Likes

Guys I swear it’s coming soon

No actually though, we just finished writing the preference data migration for the database, so we can actually testmerge it soon once we verify it actually copies the data correctly.

Wooo!!!

My parting gift to you, this abomination of an SQL query I wrote to save your keybinds from being reset:

UPDATE
  `ss13_preferences`
SET
  `preference_value` = (
    SELECT
      JSON_OBJECTAGG(`binding`, `keys`)
    FROM
      (
        SELECT
          `binding`,
          JSON_ARRAYAGG(`key`) AS `keys`
        FROM
          (
            SELECT
              DISTINCT `binding_list`.`binding`,
              `keys`.`key` AS `key`
            FROM
              JSON_TABLE(
                (
                  SELECT
                    JSON_EXTRACT(`preference_value`, '$.*[*]') AS t1
                  FROM
                    `ss13_preferences`
                  WHERE
                    `ckey` = `ckey`
                    AND `preference_tag` = 'key_bindings'
                ),
                "$[*]" COLUMNS(
                  `binding` VARCHAR(32) PATH "$"
                )
              ) `binding_list`
              INNER JOIN (
                SELECT
                  DISTINCT `key`
                FROM
                  JSON_TABLE(
                    (
                      SELECT
                        JSON_KEYS(`preference_value`, '$') AS t1
                      FROM
                        `ss13_preferences`
                      WHERE
                        `ckey` = `ckey`
                        AND `preference_tag` = 'key_bindings'
                    ),
                    "$[*]" COLUMNS(
                      `key` VARCHAR(32) PATH "$"
                    )
                  ) `keys_inner`
              ) `keys`
            WHERE
              (
                `key` IN (
                  SELECT
                    SUBSTRING(
                      SUBSTRING_INDEX(`bindings`.`bind_key`, '[', 1),
                      3
                    )
                  FROM
                    JSON_TABLE(
                      (
                        SELECT
                          IF(
                            JSON_EXISTS(
                              JSON_SEARCH(
                                `preference_value`, 'all', `binding`
                              ),
                              "$[1]"
                            ),
                            JSON_SEARCH(
                              `preference_value`, 'all', `binding`
                            ),
                            JSON_ARRAY(
                              JSON_SEARCH(
                                `preference_value`, 'all', `binding`
                              )
                            )
                          )
                        FROM
                          `ss13_preferences`
                        WHERE
                          `ckey` = `ckey`
                          AND `preference_tag` = 'key_bindings'
                      ),
                      "$[*]" COLUMNS(
                        `bind_key` VARCHAR(32) PATH "$"
                      )
                    ) `bindings`
                )
              )
          ) `full_binds`
        GROUP BY
          `binding`
      ) `outer_full_binds`
  )
WHERE
  `preference_tag` = 'key_bindings';
3 Likes

That’s a lot of nesting. >:c

Super late to this thread because I don’t check Beestation forums anymore, is this an appropriate thread to ask for burnt moth wings/antenna to make a comeback?

i straight up cant play one of my moths anymore on Bee because of it being removed

1 Like

They were removed by me from being selected at roundstart because they didn’t have an open wing sprite and because I actually made a way for moths to restore their burned off wings.

Doesn’t sound unreasonable for an option though? It’s lovely and flavorful. Certainly an rp conversation starter.

1 Like

@itsmeowdev would burnt wings as a negative quirk for moths be possible to implement?

One of my questions still stands, are quirks being worked on in this PR as well? I still would love to be able to pick certain things like which specific limb is robotic or which brand of cigarettes my character is addicted to.

1 Like

@WilsonPH has said they’re thinking about making a pr for this.

3 Likes

The idea’s been passed around quite a while, I think I posted it in the forums in another thread months ago. I mostly wanted to ask here since in some of the screenshots, quirks are one of the menus. I was just wondering if meow was also working on that since it’s technically a part of preferences.

1 Like

I’m not adding features to quirks atm but it will be significantly easier after this

2 Likes

@itsmeowdev, could this be implemented? Just a quick disable all antags button. In case I want a round where I don’t want to play antag, but I might want to do it next round without having to enable and disable all antags.

1 Like


There’s these buttons. They don’t auto re-enable themselves but they will do the job.

3 Likes

Glad to see it! It is exactly what I wanted. :smiley:

Wilson, if you actually get this done I owe you my life. There’s so many parts of certain quirk options (I.E Pros. Limbs) + race-specific quirks (I.E Burnt Wings) I would love to be added. I can finally stop praying to RNG gods when I play my human who has a prosthetic right arm

Here’s some more buttons for you (with per-character support)

The ones at the top do every single category.

3 Likes

hell, im going to miss the absolute flashbang the awful ui of the character menu is when first getting the game but this looks cool and is good for newer players +1

7 Likes

Testmerge is currently underway, feedback is accepted here as well as on the PR

3 Likes

First off, LOVED IT. Very cool, apreciated it. However, tests are tests and there are things to mess with to be even better! So I made a list of my opinions on it.

  • Equiped things on the beeshop loadout should be like green or highlighter or something
  • Shortsighted glasses dont show up in the characther preview
  • Plasmaman buffs say twice that they’re immune to radiation (in the first positive buff about general
    protections and then radiation by itself)
  • Equiping a hat from the beecoin store as a plasmaman makes your envirosuit disapear (wacky)
  • Did anyone ever suggest a “Preview” option for things you can buy on the beestore? It would be nice.
  • I know colourizers are on a list of things you can’t have more than one active at a time, but why should the silly PDA one be on that list? Why can’t I have the Ian colourizer and the PDA one at the same time? :b
  • I don’t know the correct term for it, but the ammount of space certain rows have seems off. Like in this picture:

    The names of the coats are all pretty smol, but the row is pretty big (because it’s the only one that changes size with the window), but the role ones are almost all hidden.
  • Randomizing religion name doesn’t seem to work.
  • Changing characther size doesn’t seem to change it in the preview
  • What is the order of antags on the preferences list, btw? It’s odd for example having incursionists far away from excommunicates

Don’t really consider this a problem, the unique one is just going over it briefly

Yea it overrides any slots. I could add preview options but I don’t wanna overcomplicate things. I might isolate the beeshop previews to the loadout tab.

Old prefs issue

Yea good idea

Unfortunately IE doesn’t do great layouting so fixing this properly is very hard.

It doesn’t scale properly if I add that, unfortunately. It gets all blurry. Something something BYOND.

It’s definition order. I consider excommunicates way less relevant and closer to traitor.

A lot of things don’t, that’s because they don’t always have the correct slot definitions. I’m not really looking to fix this atm

1 Like