I love that custom emotes are so versatile, but it feels a little complex on the users end and I wonder if there isn't a way it could be simplified. Currently it works like this:
Input: emote (Smiling,) says to
@Lertsek, "Hello!"
Output: Smiling, Kestrel says to Lertsek, "Hello!"
I would like for it instead to work the way humans intuitively type. Like this:
Input: emote Smiling, Kestrel says to Lertsek, "Hello!"
Output: Smiling, Kestrel says to Lertsek, "Hello!"
So here's what I propose. Have the code detect:
1a. If the word that comes directly after the 'emote' syntax begins with a CAPITAL LETTER.1b. If the emote contains the CHARACTER'S NAME outside of quotation marks. i. If yes to both, do not add the character's name at the beginning.
ii. If no to both, add the character's name at the beginning.
iii. If yes to the first
but not to the second, return an error message.
Result:
Input: emote Smiling, Kestrel says to Lertsek, "Hello!"
Output: Smiling, Kestrel says to Lertsek, "Hello!"
Input: emote Smiling says to Lertsek, "Hello!"
Output: Did you mean to include your name in that emote? (Do not send the emote.)
There's no scenario where you'd want a capital letter directly after a person's name in the start of an emote. 'Kestrel Smiling' would be weird. There's no workaround that I can think of for this next potential foible, but it seems like it would be an uncommon mistake.
Input: emote smiling, Kestrel says to Lertsek, "Hello!"
Output: Kestrel smiling, Kestrel says to Lertsek, "Hello!"
For targeted emotes, check:
2a. If a person receives an emote that CONTAINS THEIR OWN NAME outside of quotations, automatically change it to 'you'. Change nothing for the sender.
2b. If the emote contains their name MORE THAN ONCE, followed by an underscore.
i. If yes to the first, automatically change the first, unmodified instance of the target's name to 'you'.
ii. If yes to the first
but no to the second, change nothing for the sender.
iii. If no to the first
but yes to the second, return an error message.
iv. If yes to both, change secondary, modified instances of the target's name to second person on the target's end, but third person on the sender's end.
Result:
Kestrel's Input: emote Smiling, Kestrel says to Lertsek, "Hello!"
Kestrel's Output: Smiling, Kestrel says to Lertsek, "Hello!"
Lerstek's Output: Smiling, Kestrel says to you, "Hello!"
No need for Kestrel to fiddle around with code in this case. It'll handle things automatically on Lerstek's end. For more complex targeted emotes, however:
Kestrel's Input: emote Looking
Lerstek up and down, Kestrel raises her eyebrows dramatically as she admires
Lerstek_his feet. "Nice shoes!" she notes.
-Or-Kestrel's Input: emote Looking
Lerstek up and down, Kestrel raises her eyebrows dramatically as she admires
Lerstek_your feet. "Nice shoes!" she notes.
-Or-Kestrel's Input: emote Looking
Lerstek up and down, Kestrel raises her eyebrows dramatically as she admires
Lerstek_their feet. "Nice shoes!" she notes.
Kestrel's Output: Looking
Lerstek up and down, Kestrel raises her eyebrows dramatically as she admires
his feet. "Nice shoes!" she notes.
Lerstek's Output: Looking
you up and down, Kestrel raises her eyebrows dramatically as she admires
your feet. "Nice shoes!" she notes.
All of the input options should work on Kestrel's end, making things a lot more intuitive for longer emotes where you're referring to the target multiple times,
and saving me the embarrassment of accidentally misgendering someone if I forgot to check their honours/score. Currently, I sometimes have to write my emotes in second person to avoid any targeting foibles with an RP partner, but this only works for one-on-one, and goes out the window in a larger social setting where I generally just revert to third person - so no one gets targeted, but no one has to read an emote that alternately refers to them as both 'you' and 'him'. And even in those easier one-on-one settings, it only reads easier for the recipient, not the sender. I'm over here getting tripped up on having written something like 'Kestrel smiles at you' even though I am Kestrel!
Also as a note, the reason why we can't just default to
Lerstek_his all the time is that sometimes 'his' is supposed to be 'yours' instead of 'you'. E.g., 'Kestrel eyes up that sword of his' -> 'Kestrel eyes up that sword of yours', 'Kestrel eyes his sword' -> 'Kestrel eyes your sword'. Otherwise I would generally always write in third person.
Kestrel's Input: emote smiles at Lerstek_him.
Kestrel's Output: Who are you emoting at?
Otherwise, someone would walk into the room and see: 'Kestrel smiles at him', but not know which 'him' is being referred to.
Comments
What I would really like is for them to allow customisation of the symbols used in emoting, like $ and @.
@Tecton & team, I also noticed targeted pronouns were added recently. Yay!
Minor request, could we please add you/your/yours as possible tokens? I can never remember when to specify yours/your (as hiss/herss) unless I'm already in second person.
"They are elect to whom beautiful things mean only Beauty."
— Oscar Wilde
"I'll take care of it, Luke said. And because he said it instead of her, I knew he meant kill. That is what you have to do before you kill, I thought. You have to create an it, where none was before."
— Margaret Atwood
My kvetch is that I would just like to be able to put "UltraViola(R)" in my emotes without the emote thinking that the (R) is prepention, and proceeding to output an "R Viola" like I'm some kind of goober.
I do agree with having ways to carry across different pronouns with emote targeting. That would be a nice quality of life thing that I would regularly use.
/me Smiling, ^ says "Hello."
/me (or whatever) makes it an emote and requires a ^ (which is replaced with your name.)
Example:
emote slides up to @Johnny and pats @1_him on the back. Turning to @Bobbers, he gives @2_him a thumbs up.
Massively useful for anything where you're interacting with multiple people. Not a big deal to ctrl c/ctrl v for one person, but it'd still be an improvement.
Type a colon (":"), then phrase your emote however you like. Use a single carat ("^") to determine where your name goes.
Also, HELP EMOTE needs updating, as after not playing for a while, it took me a while to remember how to prepend etc.
"They are elect to whom beautiful things mean only Beauty."
— Oscar Wilde
"I'll take care of it, Luke said. And because he said it instead of her, I knew he meant kill. That is what you have to do before you kill, I thought. You have to create an it, where none was before."
— Margaret Atwood