If I do <HESHE><SIRMAAM>, it displays as 'she<SIRMAAM>', instead of 'shemaam'. Is there any brilliant way around this (ie some sort of no-space character), or are we stuck with this?
Why you'd want to do this is beyond me, and Bioware obviously never intended it or you wouldn't be having any trouble with it. Still, if one of the ideas already given works, more power to you.
Also, is there some way to get the capitalisation correct on <HESHE> so that when you begin a sentence, it will begin with a capital?
Probably not. Try to word the dialog so that the token doesn't start the sentence. The only tokens that return capitalized text are those that specify titles or proper names.
And finally, is there a <HIMHER> equivalent for a non-player-character?
Not according to the list I have from Japheth, which makes sense. Bioware coded the dialogs knowing the genders of all the NPCs, but allowing for the possibility of two different PC genders depending on the player's choice. Since the Girdle of Masculinity/Femininity doesn't normally appear in BG2, they could get away with this shortcut. Also notice that Edwin, the only NPC who can experience a sex change, when being talked to by other NPCs, is referred to by seperate gender-based dialogs, with the gender being checked in a trigger, rather than a single dialog with a token.
If these questions are too bothersome, you may point me the way of the token list from the game and I would be very grateful. I'd prefer the actual file, as I've already seen the one from IESDP. I have NI for viewing and haven't seen bg2_dialog_text.h (as mentioned in the tokens section in IESDP) among the files (but then again, I haven't really looked out for it).
I'll provide the list I copied from Japheth's post on the old FWP tutorial forum. It's in his words, though I changed the highlighted yellow to italics for the example text.
Dialogue Tokens
I've been toying around with the various dialogue tokens out there and have
compiled a decent list with some explanations. Might be of some use to some
people out there. Here we go.
Note: All text appearing in italics is exactly how it appears in
the dialogue window. So, using <SIRMAAM>, produces sir or ma'am in lowercase.
<BROTHERSISTER> - returns brother or sister depending on the gender of the person being spoken to.
<CHARNAME> - returns the name of the PC.
<DAY> - returns the current numerical day.
<DAYANDMONTH> - returns the current numerical day as well as the month. (Example: It is <DAYANDMONTH>, would produce: It is 24 Mirtul...or whatever the current day and month happens to be.)
<DAYNIGHT> - returns day or night depending whether it's nighttime or daytime.
<DURATION> - returns the elapsed time from the start of the game in days and hours. (Example: We've been around for <DURATION>, would produce: We've been around for 23 days and 13 hours...or whatever the elapsed time happens to be.)
<DURATIONNOAND> - returns the same thing as <DURATION> except it omits the 'and'. So it would be 23 days 13 hours rather than 23 days and 13 hours.
<GABBER> - returns the name of the current speaker. (Example: If I use Jaheira and click-talk her on a creature rather than using the PC, this would return Jaheira if used in a dialogue.)
<GAMEDAYS> - returns the number of game days that have elapsed since the start of the game.
<GIRLBOY> - returns girl or boy depending on the gender of the person being spoken to.
<HESHE> - returns he or she depending on the gender of the person being spoken to.
<HOUR> - returns the current hour of the day in numerical 24 hour format.
<LADYLORD> - returns Lady or Lord depending on the gender of the person being spoken to.
<LEVEL> - returns the level of the person being spoken to.
<MALEFEMALE> - returns male or female depending on the gender of the person being spoken to.
<MANWOMAN> - returns man or woman depending on the gender of the person being spoken to.
<MONTHNAME> - returns the current month's name. (Example: It is <MONTHNAME>, would produce: It is Mirtul...or whatever the current month is in your game.)
<PLAYER2-6> - this will return the name of the NPC depending on which number they are in the party order. (Example: If Jaheira is the last in the party order then, Hey, <PLAYER6>! would produce: Hey Jaheira!)
<PRO_BROTHERSISTER> - returns brother or sister depending on the PC's gender.
<PRO_GIRLBOY> - returns girl or boy depending on the PC's gender.
<PRO_HESHE> - returns he or she depending on the PC's gender.
<PRO_HIMHER> - returns him or her depending on the PC's gender.
<PRO_HISHER> - returns his or her depending on the PC's gender.
<PRO_LADYLORD> - returns Lady or Lord depending on the PC's gender.
<PRO_MANWOMAN> - returns man or woman depending on the PC's gender.
<PRO_RACE> - returns the PC's race. (Example: If the PC was a half-elf then, I know you're a <PRO_RACE>! would produce: I know you're a half-elf!
<PRO_SIRMAAM> - returns sir or ma'am depending on the PC's gender.
<RACE> - returns the race of the current person being spoken to.
<SIRMAAM> - returns sir or ma'am depending on the gender of the person being spoken to.
<YEAR> - returns the current year in numerical format. (Example: It is <YEAR> currently, would produce: It is 1369 currently...or whatever year it is in your game.
Hope this is helpful to you.