-
Notifications
You must be signed in to change notification settings - Fork 423
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] Implement Custom Pet Names #4594
Conversation
For future reference, anyone with an MQ\2-based patching framework can fix the Disable Reminder button with the following;
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, the contribution is much appreciated. Minor comments, otherwise should be good to go pending 👀 from others who may want to take a look.
I've actually been thinking that I'm going to gate the correct packets behind a rule and PR a patch to core or something |
That would be fantastic. 👍 |
I decided to just send the correct packets. The potential bug here is kind of an edge case, and the workaround is pretty bad in terms of actually mitigating the problem. |
Needs rebased. Left a handful of comments. This looks cool! |
7b89cd1
to
aae8f58
Compare
aae8f58
to
9098420
Compare
The comments should now be addressed |
Once formatting is addressed, I'm good for this one to go in |
Description
This implements functionality for renaming pets via both /changepetname and script hooks (
ChangePetName()
for the relevant Client classes for both lua and perl) using the vanilla EQUI_NameChangePetWnd.Once a player has a pet name change available, they will be prompted to continue the name change process upon login if they have not yet completed it. There is a deficiency here, see below.
There is a client bug here that am unable to work around, namely that the 'Don't remind me' option does not function. The client writes this data to the player ini, but uses the wrong value when selecting this button (DisableNameChangeReminder instead of DisablePetNameChangeReminder).
There are actually three opcodes involved in this process,
0x5dab
which is the main data exchange, carries both name data and response codes0x4506
which invokes the pet name change window, and respects the nag-disable flag in ini (DisablePetNameChangeReminder), but this is never set correctly0x046d
which immediately invokes the pet name change window, ignores the nag-disable flag, and steps on it by resetting it to 0, but also sets the wrong one.This implementation omits the use of
0x046d
in order to prevent stepping on the ability to disable nags for Player name changes, and allowing the player to manually set DisablePetNameChangeReminder if they choose to.Fixes # (issue)
#4261
Type of change
Please delete options that are not relevant.
Testing
(db migration)
(unrenamed pet)
(invoking window through script snippet below)
(successful name change)
Clients tested:
Only works on ROF2
Checklist