Tired of your Khajiit speaking the Queen's English? It drives this one crazy!
This is my homage to the awesome Skyrim mod of the same name. It modifies the player dialog option text into the wonderfully garbled Khajiit Speak. (See screenshots for some examples.)
The main difference is that rather than being a language pack, this addon alters the text programmatically. The up-side of this is that you'll never bump into content that isn't translated and it can be enabled on a per character basis.
By default the addon only enables for Khajiit characters, though you can toggle it on or off at will for each character independently.
Configuring Config UI
1. While playing, hit Escape and choose "Settings" followed by "Addon Settings"
2. In the window that pops up, choose "Khajiit Speak"
3. Configure to your hearts content. Handy tooltips will explain each option for you.
/ks - Prints a list of commands, and explains how to use them.
/ks conf - Prints a list of config commands, and explains how to use them.
/khajiitspeak - An alias for /ks
Issuing any command without expected parameters will give a quick instruction on how to use it. (Unless it doesn't have any expected parameters, of course. =P)
The addon should be completely compatible with any other that alters the look of the dialog UI, so feel free to mix this with other addons. On the off chance that any incompatibilities are found, feel free to let me know.
Due to the nature of this addon, and the sheer amount of option text in the game; there's a chance you'll bump into occasional grammatical
errors that I've not come across, and thus not been able to fix.
Should you find any errors in the grammar, please DO let me know so I can fix them in future versions. Please ensure you're using the latest version first, and include the exact line of text when reporting issues, so I know what I'm looking for.
I would like to thank Matt, creator of the original Khajiit Speak Mod for Skyrim.
He has given me many great ideas for future expansion of this addon,
as well as helping me find the issues already contained within it.
Thanks again for your support.
├Removed line of debug. Zoops.
[1.14] (The Easter update?... Guess it's a few days off.)
├Updated to API 100018. ¬.¬
├Updated to LAM r23.
├Implemented nickname system doodad. Hooray!
│ Character will be more likely to use their nickname on a highly positive line...
│ If line weight is enabled, that is. Otherwise it's just 50/50
├Added options 'Nickname' and 'Always use nickname'
├Re-organized LAM settings page, hopefully it's less confusing now.
├Fixed an issue with flip-aroundy questions.
└Fixed numerous generic grammatical issues/missing fragments. Too many to bother listing. Like, seriously; loads!
(Thanks to Soul Destroyer for multiple reports.)
├Updated to API 100016.
├Updated to LAM r21
├Added missing fragment exception: "may"
├Added blanket replace for "Me either." -> "<Khajiit> does not either."
│ "Khajiit either" didn't really sound right. Also handles "neither."
├Fixed occasional regression of lolcats "has" bug due to EEENGLISH. (Let's hope it sticks this time.)
└Fixed the crap out of fliparound-y type questions.
├Added "wouldn't" to the contraction conversion stack.
├Added an option to toggle "you" -> "it" replacement specifically. Now called "Impolite Pronouns"
│ This feature is no longer toggled with word subbing. Instead all it requires is line weighting enabled.
├Added a list of two word references to use in contraction conversation in order fix lines such as: "Why has the Dark not Brotherhood contacted me already."
│ Unfortunately, this is a case by case fix. So these will be slowly fixed as they're reported, or found by me. x.x
├Moved Impolite Pronouns into the pronoun stack, so that preceding and following words are formatted properly.
├Dynamic goodbye line pronoun selection is now weighted by the lineWeight of the line above it.
└Fixed "get" exemption from nextword. Get is a weird word. It now works correctly whether transitive or not.
├Added three new dynamic goodbye lines.
├Added a new random word sub: "Thanks"/"Thank you" -> "Khajiit thanks you"
├Added some more words to the weighting system.
├Added an experimental feature to word subbing:
│ If line weight is negative (and thus on,) word subbing will swap out any "you" for "it".
│ This does stuff like: "I wish you wouldn't do that." -> "Khajiit wishes it would not do that."
│ One thing I've always loved about the Khajiit is how they refer to unfamiliar or unfriendly people as "it,"
│ this is my attempt to integrate that in some small way, and if successful, may be expanded upon.
│ In testing this has had some great results, but it could cause issues in unforeseen ways.
├Moved blanket word replacements inline with random word subbing, semantics really.
├Fixed random word substitutions matching to the middle of words. Oops.
├Fixed missing contraction exception: "That" (Caused things like: "Is that dangerous not?")
├Fixed missing fragment exception: "Only" (Caused things like: "Khajiit only have one.")
└Exempted "came" and "get" from nextword fixup. (Fixes things like: "Khajiit cames to see you.")
[1.1] (Let's add new features edition.)
├Added some new question fluff, the more the merrier.
├Added some new dynamic goodbye lines.
├Added more entries to the blanket replace list. Now all applicable Daedra use their Khajiiti names. Yay!
├Added the groundworks for random word substitution.
│ For now this does very little, but more will be added to it as appropriate substitutions are found.
├Added the long desired line weighting feature. Pronoun choice is now more than purely random.
├Updated yes/no modification to allow it to replace a little more liberally. Should see these more often.
├Minor grammar fixes to do with words ending in "pt", "ft", and "ll"
├Fixed an old issue with "can't" and "won't" cropping back up since 1.04.
├Hopefully finally fixed "n't" conversion without breaking anything else this time. xD
├Fixed a rare issue with fixing up the word "do" that would cause this: "Khajiit has something to does, he will etc.."
├Fixed missing contraction "we've"
├Fixed missing fragment exception "already"
└Did a pretty hefty round of optimizing.
<Moved up to 1.1 due to new features and major logic changes.>
├Updated to API version 100015.
├Altered personal pronoun sweep to allow to for next word checking.
├Disallowed pronoun changing before an honorific title. "my Queen" and similar will now be ignored.
├Fixed bad capitalization with some fluff inserts. (Probably broke something else in the process. xD)
├Fixed a typo that was preventing "Where's" from being un-contracted.
├Added "can" questions to the... Question-ifier.
├Altered goodbye line seed slightly to ensure it generates the same whether on gamepad UI or not.
├Fixed a rare issue that would cause odd grammar with question parsing, such as: "The Queen well, is yes?"
├Fixed a critical error on encountering a double space. (Found this one with typos!)
└Fixed a bunch of minor grammar errors that I've been saving up over time.
[1.03] <Internal release>
└Gamepad UI now supported! Hooray.
[1.02] <Internal release>
├Updated LibAddonMenu to r20.
├Updated to API version 100014.
├Removed a bunch of stuff from global/string scope.
├Made static goodbye line actually static when it comes to pronoun. That's how it was supposed to be. Oops.
└Removed another question suffix. Cramming another question into a line containing a question didn't really sit right.
├Updated LibAddonMenu to r17. Derp.
├Fixed old logic from before API 100011 in the toggle command causing bad things to happen. Again, derp.
└Cleaned up some error messages that nobody should ever see, because sanity checks should be pretty. =3
├Updated to API version 100011. Previous releases will not work on this API version.
├Added settings menu through LibAddonMenu.
├Removed a question fluff. Khajiit was seeming too apologetic.
├Tweaked question fluff to remove some combinations that didn't really work.
├Fixed grammar issue with "sk". Eg; "Khajiit ask..." -> "Khajiit asks..."
├Fixed "n't" contractions and "the". Eg; "Can not the Dominion do it?" -> "Can the Dominion not do it?"
├Optimized colour code usage.
├Fixed some capitalization issues.
└Added missing fragment 'did'.
(Removing pre 1.0 versions from the ESOUI archive. They no longer work anyway.)
├Fixed a grammar issue with the word 'wield'... Again.
├Updated the damn API version number.
└Smallest update ever!
[0.55] (Cross your fingers edition!)
├Fixed an issue with ', yes?' questions formatting incorrectly. Eg. "The are blades here really worth that aggravation, yes?"
├Fixed an issue with contraction conversion: "This one will do not that." -> "This one will not do that."
├Fixed another miscellaneous issue with contractions causing things like: "Your husband is here not."
└Added missing fragment and exception: 'must'
├Updated API version number.
├Added new option to toggle whether or not the addon will use a character's full name, or just their first. (Defaults off.)
├Added missing contraction keyword 'be'
├Fixed another error with punctuation in contraction conversion.
├Disallowed fluff to be inserted if the line starts with quotations.
├Added 'worry' to the fragment list.
└A single grammar fix!
[0.53] (Much needed fixes.)
├Various fixes to issues regarding contractions and 'yes?' questions in sentences containing punctuation.
├Made the character name invalid for randomization if it already exists in the original text. (This one is hard to test.)
├Halved the chance of yes/no fluff.
├Added missing fragment exceptions: 'Should', 'Did'
├Added missing fragment: 'With'
├Fixed some fragment typos from optimization.
├Fixed issues where words at the start of a sentence counted as a fragment exception.
├Fixed an issue in parsing 'ed' words.
├Disallowed question fluff text from being inserted into the middle of a line. Should help keep the flow as originally intended.
├Changed the fluff chance default back up to 33% due to the much stricter matching rules.
└More grammar fixes.
├Fixed a rare UI error with 'Yes.' replacements. Thanks again to Nayolan for pointing it out.
├Fixed the dreaded double 'H' error that's been plaguing us since a very early version. Thanks to Kouroth for report.
├Made third party pronoun replacement much more intelligent as to when it's actually used.
├Fixed more grammatical issues with the new third party pronoun replacement.
├Added detection for whether an "'s" contraction should be "is" or "has"
├A few little optimizations here and there.
├Added a missing fragment exception for 'do'. eg; "Why does Khajiit has to" -> "Why does Khajiit have to"
├Same again, but for 'would'.
└Added hope that this will be the last update for at least a week or so.
├Fixed the major UI error in the new question formatting code. I'm a moron. Thanks to Nayolan for pointing it out.
├Major optimizations to all things fragment related. (About time I started optimizing.)
├Added some missing fragments.
├Fixed some incorrect fragment exceptions.
├Fixed the very many extremely numerous issues with 'he/she/etc.' -> 'that one/etc.'
└More grammar fixed, of course. Always grammar fixed, I should just stop including this note.
├Added randomized goodbye strings.
├Added new command to set the mode used to replace the 'goodbye' line. (0 = None | 1 = Static | 2 = Random)
├Added 'you'll' to contraction conversion stack.
├Fixed an issue causing some fragments to format contractions incorrectly.
├Fixed a capitalization issue relating to fluff being inserted into one word questions such as: "How?"
├Made fluff text ending in "..." reset the he/she tracking to force a full pronoun after them.
├More alterations to fluff text, as well as some additions.
├Re-worked non-pronoun word alteration to fix rare issues such as: "How will Khajiit knows?"
├Added the foundations for blanket word subbing. Right now it only does 'Sheogorath' -> 'Sheggorath'
├Added yet more words that can trigger ', yes?' type question formatting.
├Added the word placement detection method from contractions to 'yes?' questions.
│ This fixes things like: "The are Wood Elves here, yes?" -> "The Wood Elves are here, yes?"
├Disallowed the 'Khajiit' pronoun to be chosen if the word 'Khajiit' has already been used in the original text.
├Fixed the 'useRace' and 'useName' options occasionally being ignored by pronoun generation.
├Made the addon replace existing 'he/she/him/her/his/hers' with 'that one/them/their' if needed.
└Grammar, grammar everywhere!
(Removing pre 0.48 versions from the ESOUI archive. No need to take up their space.)
[0.49] (Whatever, 9 is a nicer number than 8 anyway. See if I care, bugs!)
├Fixed rareish UI error relating to inserting fluff into one-word questions.
├Fixed a capitalization issue with some fluff string combinations.
└Added 'weren't' to the contraction conversion stack.
├Fixed fluffchance command causing a UI error if passed anything other than a number.
├Increased the likelihood of he/she pronouns being used.
├Improved question fluff matching considerably.
├Fixed only a few of the available fluff strings being chosen for insertion.
├Reworked some of the fluff text to hopefully make it blend in more.
├Added a little randomization into the fluff text itself, should help keep it from feeling too repetitive.
├Lowered the chance of replacing "Yes." and "No." a little. (Still affected by fluffchance.)
├Lowered the default fluffchance from 33% to 25%
├Completely rewrote "n't" contraction conversion. Works much better now, as well as being more efficient.
├Added a few new detection methods for ", yes?" type questions. These should show up a little more often.
├Fixed an issue with ", yes?" type questions matching to negatives and making no sense.
├Fixed fluff text coming before notations such as '[Persuade]'
├Various grammar issues fixed. (I'm sure there are more to come.)
├Removed some unreachable code. Wasn't doing anything but taking up space.
├Removed a function that is no longer used.
└Some other minor tweaks that I can't fully remember, but know happened. =P
├Fixed the randomization... Again. Somehow a problem just didn't happen while testing. No longer favors "Khajiit" ¬.¬
├Slight optimization of the pronoun replacement workflow.
└More grammar fixes, as a bonus. I feel bad uploading so many damn patches that are just small fixes.
├Randomization has been fixed! The addon no longer favors "This one" over the others.
├Randomization improved. Now seeded from the sum of the line characters' byte codes, rather than the line length.
├Fluff text altered to create less run-on sentences.
├Fluff text insertion matching is now more strict.
└Fixed a huge bug in the fluffchance command, this command is now usable again. My bad.
├Fixed a capitalization issue due to a missing fragment.
└Two question bugfixes with one change! No more weird comma formatting.
(Removing the old 0.3 versions from the ESOUI archive. They're broken, no need to take space.)
├Fixed dodgy randomization seeding due to the new workflow.
├Moved some missed code into the new workflow.
├Optimized question fluff insertion.
└Fixed an issue with the "X is Y, yes?" type question formatting.
└Fixed an extremely rare but severe UI Error that would halt dialog progress.
├Whole new command system, readme removed. Don't need it anymore.
├New option added: "dynrace" - Toggles dynamic race pronoun. (For racially confused characters.)(Now defaults to off.)
├New option added: "userace" - Toggles whether addon can use Race pronoun (Defaults on.)
├Lots of improvements to the conversion workflow.
└More grammar fixed... Sooo many grammar fixes. x.x
└Lots of changes to many things, lots of grammatical errors fixed. (Hopefully no new ones created.)
└Fixed a much worse bug cause by fixing the previous bug. (=.=)