Total-RP / Total-RP-3

The best roleplaying add-on for World of Warcraft.
http://curse.totalrp.com
Apache License 2.0
33 stars 19 forks source link

Make RP experience a global setting #927

Closed Meorawr closed 6 days ago

Meorawr commented 1 week ago

Logically - it makes no sense for the RP experience field to be something that's profile-specific. Beginner users who want to elect into displaying this status on their profiles need to remember to set it up manually on each individual one, as it always defaults to experienced.

This changeset makes it such that the RP experience field is now stored as a configuration variable (not dissimilar to default profile IDs).

All logic for accessing and mutating the XP field has been relocated to the Player class accordingly. The XP field is no longer transmitted as part of "character" data but is now part of the vernum exchange, similar to the account trial information flag.

The XP status on player-owned profiles is set to nil with a migration to prevent us unnecessarily sending out stale data to older clients. We don't clear it on stored register profiles; the expectation is as people update the XP field will clear itself out progressively.

One downside to this is that the XP field as part of this change will now effectively reset for all users. It'd be a bit problematic to guess which experience level is correct if there's a mixture of profiles, so it's probably best to not do so and instead just make a note in the changelog. This does however give us a chance to look at resolving #178 by adding a fourth option and setting a new default that's not "Experienced".

Meorawr commented 1 week ago

Let's kill six birds with one bazooka and also take care of https://github.com/Total-RP/Total-RP-3/issues/178 while we're here, as the changes to XP to now be part of the vernum exchange is implicitly incompatible anyway.

"Normal roleplayer" or "Prefer not to say" as the default? Other candidates?

Solanya commented 1 week ago

Didn't notice there was a question. Normal sounds weird to me right now, but I don't have a much better word to suggest, so we could just use that as default.

Meorawr commented 1 week ago

Updated levels (and also corrected the field label itself):

image Wow_2024-07-03_23-32-40 Wow_2024-07-03_23-32-43 Wow_2024-07-03_23-32-46

New tooltip icons for retail: Wow_2024-07-03_23-25-40 Wow_2024-07-03_23-25-44