Expanded Genealogy (2025/09/21 – Now with UI for Relation Assignments)
Screenshot.png - width=1920 height=1080

2025/09/28
- Fixed the English strings for the "Times Removed" prompt not have closing parentheses.
- Added a generic relation name scheme for newly translated languages before they get proper schemes according to their own rules.
- Added more strings to the Russian translations, courtesy of murkoose; I'd like to emphasize how grateful I am for both murkoose and Sonya Kas and their contributions to this localization and their patience, as I could not do this one on my own.
- Fixed the grammatical gender for some partially translated strings in Russian.
- Fixed the stem for 9th Cousin and 9th Cousin N× Removed in Russian.
- Simplified the code base.
- Fixed French strings for Great × N Nieces/Nephews.
- Added a set of dialogs for assigning relations between Sims; made with different human languages in mind.
- Reworked the Russian terminology for Nth Cousins and Nth Cousins N× Removed based on this article. Strings for the aforementioned UI need to be translated still, but the relation names are fully translated.
- Fixed the times symbol in English strings.
- Corrected the Dutch interaction name for adding a niece.
- Corrected a verb in the German interaction name for clearing relations to be in the infinitive form rather than in the imperative form.
- Corrected the Dutch terminology for [Nth] [Great × N] Nieces.
- Backported fixes to bugs that were also affecting the "Legacy" version.
- Fixed Portuguese translations for "Nth aunts/uncles" and "Nth nieces/nephews" to not have hyphens at the end of words (e.g., "Tio- 2do" now becomes "Tio 2do").
- Fixed a null reference exception when Sims are added as MiniSims.
- Simplified the code base to be more concise and readable.
- Changed the string paths and organized them better within the STBLs, as well as included an STBL with the keys unhashed; I used a version of STBLize that I modified since the source code was available. I may publish the modified version at some point in the near future.
- Simplified the logic for assigning relations.
- Fixed a regression where Sims would not have the cheat interactions.
- Heavily reorganized the code base—no longer a mess; easier to debug now.
- Fixed premade Sims in new worlds having incomplete information about them. Thank you sandra_vu for bringing this to my attention!
- Fixed assigned relations not showing up in vacation worlds.
- Removed some redundant checks.
- Changed the interactions for assigning relations to show up depending on whether the tuning value "kShowCheatInteractions" was set to true, and also made it so that it would show up in the cheats menu if NRaas' Selector was installed and the setting for moving custom interactions there was enabled.
- Commented out currently useless checks for performance reasons.
- Greatly simplified code for collateral relations.
- Fixed a regression where relations for Sims related to Sims whose relations were assigned to the selected Sim would not show up for the selected Sim.
- Fixed an issue where caches would rebuild many, many times upon unpausing on a freshly loaded game.
- Made a bunch of optimizations by caching for less computation.
- Made a more thorough fix for Sims who are both half-aunts/uncles by marriage and full aunts/uncles by blood of the selected Sim sometimes showing up as half-aunts/uncles.
- Fixed certain half-relatives not getting the correct restrictions on romantic interactions.
- Fixed relations not always being derived when a Sim has a child or parent added.
- Fixed certain [Great × N] Aunts/Uncles not getting restrictions on romantic interactions due to their relations to the selected Sim being derived from other Sims whose relations were assigned to the selected Sim without Sims bridging them to the selected Sim.
- Made the coefficient of relationship accumulate for Sims who were siblings of multiple ancestors of the selected Sim.
- Fixed an error when Sims were added due to an oversight with the check for siblings of ancestors.
- Made the coefficient of relationship accumulate for each time an ancestor shows up in the family tree of a descendant.
- Changed dictionaries returned for information regarding siblings of ancestors to classes so as to not allow for typos of property names upon compilation.
- Restructured the code base.
- Fixed a regression where Great × N Aunts/Uncles without parents would not show up as such.
- Fixed boyfriends/girlfriends of aunts/uncles showing up as aunts/uncles.
- Fixed Sims who are both half-aunts/uncles by marriage and full aunts/uncles by blood of the selected Sim (an innocent assumption being that a full aunt/uncle on one side of the selected Sim's family marries a half-aunt/uncle on the other side) sometimes showing up as half-aunts/uncles.
- Fixed aunts and uncles of the selected Sim via being relatives of Sims who had their relations to the selected Sim assigned via cheats showing up as "Great-Aunt" and "Great-Uncle," respectively.
- Improved prioritization of the closest family relations.
- Optimized the method for clearing the derived data of each Sim's genealogy so that it would not clear the caches of the genealogy placeholders every time it would call itself (it was previously a recursive method).
- Fixed an issue from the previous update where all siblings of ancestors and descendants of siblings were considered aunts/uncles and nieces/nephews respectively.
- Fixed a check for aunts/uncles failing if the aunts/uncles had no parents.
- Simplified code a bunch and updated the package to reflect the simplifications.
- Added more options for romance restrictions, including using the coefficient of relationship as a factor for determining whether two Sims are too closely related.
- Added corrections to the Russian translations, courtesy of murkoose.
- Reworked the code a bit for a minor optimization.
- Fixed a fatal bug regarding caching relations for new worlds; this should fix the infinite loading issue when creating new worlds.
- Fixed new Sims not getting the debug interactions without having to restart the game.
- Added initial functionality to set any relations between Sims; currently, one can add grandparents, grandchildren, aunts/uncles, nieces/nephews, and 1st cousins. It can be accessed via enabling testing cheats; the interactions will show up on the target Sim (the one clicked on) to set relations between them and the selected Sim (the one with the Plumbob over their head). A custom dialog to set more relations like what the mod itself shows is planned. The set relations take into account the relatives of the respective Sims and the Sims will recognize each other's relatives as their own. Family tree visualization will be supported in the future. If there are any performance and/or stability issues in your game, download the "Legacy" version of the mod and use it instead until said issues are fixed.
- Changed namespaces to avoid conflicts when referencing multiple DLLs of mine.
- Fixed an issue where two Sims were considered full siblings when one did not have parents and the other had one; they will now be properly reported as half-siblings.
- Recompressed the archives as ZIPs; I forgot that macOS did not support RARs by default, and I am unsure of how old of a version of macOS that the Unarchiver on the App Store supports.
- Made the code base compatible with C# 5.0 so that it could be edited and compiled with SharpDevelop or MonoDevelop 5.7 (allows compiling it on non-Windows platforms); Mono Patcher's code base is not compatible with C# 5.0, but I have included a Git patch for it in the source code archive.
- Made a minor optimization, before which the player language logic would be instantiated even if it were not needed.
- Recompressed the archives as RARs.
- Fixed a grammatical error with Italian strings for ancestors and descendants (i.e., replaced "di n-esima generazione" with "della n-esima generazione").
- Fixed an issue where spouses of half-aunts/uncles would not show up as half-aunts/uncles.
- Simplified and cleaned up code and added comments to make it more human-readable. There is virtually no difference for the end user, but I wanted to make the .package file use the latest code base.
- Changed Italian ancestor terminology to something more correct. Reliable sources on correct terms for ancestors and descendants of more than 4 generations removed from a Sim could not be found. Therefore, an ancestor or descendant of more than 4 generations removed from a Sim is now referred to as "antenato/discendente di n-esima generazione" (i.e., "Nth generation ancestor/descendant").
- Changed the Italian relation names for a grandson and granddaughter to "abiatico" and "abiatica" respectively to avoid confusion with nephews and nieces, which used the same word (i.e., "nipote"). This can be reverted by modifying the corresponding STBL resource in the .package file.
- Fixed German strings for siblings of ancestors for when "kShow1stCousinsAsCousins" is set to false.
- Simplified code to remove redundancies and possible overhead.
- Fixed English ordinal of 13 showing up as "13rd" instead of "13th."
- Fixed French ordinals of 2+-digit numbers ending in "1" (e.g., "21er" becomes "21e").
- Made the code more modular; each language now has its own class by the name of its language code in the STBL resource associated with it. This allows others who can write code and who know languages not yet translated to to provide their own logic in C# files to accompany the corresponding STBL files.
- Made it so that if "kShow1stCousinsAsCousins" is set to true, the French relation names for 1st Cousins N× Removed show up without "au 1er degré" at the end.
- Added relation names for Half-Siblings-In-Law.
- Made a change to allow half-relatives to be shown as full relatives if "kShowHalfRelativesAsFullRelatives" is set to true.
- Made a change to allow languages that use the equivalents of "Nth [Great × N] Aunt/Uncle" and "Nth [Great × N] Niece/Nephew" for Nth Cousins N× Removed to show the equivalents of "1st [Great × N] Aunt/Uncle" and "1st [Great × N] Niece/Nephew" if "kShow1stCousinsAsCousins" is set to false.
- Made minor touchups to strings of various languages (e.g., added and removed hyphens to and from strings to make them consistent with other strings of those languages in the game).
- Made it so that it was required that the partners of Siblings-In-Law had to actually be married to the Siblings-In-Law to also be considered Siblings-In-Law (previously, they only had to be going steady).
- Made it so that only spouses, not boyfriends/girlfriends, of aunts/uncles could also be considered aunts/uncles.
- Changed the restored recursive method for getting the number of generations between a Sim and one's ancestor as well as the ancestor's child one descends from (that being oneself if the ancestor in question is one's parent) back to a non-recursive one, this time with the latter information being reported correctly. This endeavor to avoid recursive methods is due to the stack not being infinite and a recursive function with too many iterations will blow the stack.
- Fixed a regression where Great × N Half-Aunts/Uncles and Great × N Half-Nieces/Nephews would show up as their non-half counterparts; this required temporarily changing the method for getting the generational distance between a Sim and one's ancestor as well as the child of said ancestor via whom one is a descendant (that being oneself if the ancestor in question is one's parent) back to the previous, recursive version of it, as the latter information was being reported incorrectly with the newer, non-recursive version.
- Fixed Dutch relation names for ancestors from over 512 generations prior (was not tested before since that is a lot of generations, but the logic was discovered to be wrong when it was tested in a console application).
- Added relation names for ancestors of spouses and spouses of descendants.
- Changed the Dutch term for a brother-in-law from "zwager" to "schoonbroer" for consistency in relation names with other in-laws.
- Fixed grammatical gender for Dutch relation names for ancestors from over 512 generations prior.
- Added Dutch translations; might be grammatically incorrect, but I tried to do as much research as I could on the logic for that language regarding genealogy. Feel free to contact me for things to improve. Terminology for Nth Cousins [N× Removed] and [Great × N] Nieces/Nephews follows this scheme, and ancestor terminology follows this scheme.
- Replaced "neef" and "nicht" for nephews and nieces in Dutch with "oomzegger" and "tantezegger" to distinguish them from cousins.
- Replaced "opa" and "oma" with "grootvader" and "grootmoeder" for consistency.
- Replaced the recursive method for getting the generational distance between a Sim and one's ancestor as well as the child of said ancestor via whom one is a descendant (that being oneself if the ancestor in question is one's parent) with one that does so via non-recursive means so as to not blow the stack.
- Fixed German terminology for Nth Cousins 2× Removed being the same as that for Nth Cousins 1× Removed.
- Changed German terminology for Nth Cousins N× Removed to follow this scheme.
- Fixed grammatical gender for female cousins in German.
- Compressed STBL resources, which drastically reduced the size of the .package file.
- Fixed ordinals for 11 and 12 showing up as "11st" and "12nd" instead of "11th" and "12th." This applies not just to English but other languages, which have similar exceptions for 11 and 12. Also works for larger numbers whose last two digits are either of those numbers.
- Made 1st Cousins show up as "Cousins" by default for consistency in Spanish and Portuguese. This can be changed in the tuning to what it was previously.
- Fixed getting a nonexistent string for Nth Cousins 4× Removed for Spanish and Portuguese.
- Changed Spanish and Portuguese terminology for Nth Cousins N× Removed to follow this scheme.
- Changed Portuguese terms for great-great-grandparents and great-great-grandchildren to more standard terminology.
- Added Russian translations, courtesy of Sonya Kas.
- Added Italian translations; might be grammatically incorrect, but I tried to do as much research as I could on the logic for that language regarding genealogy. Feel free to contact me for things to improve.
- Fixed relations between Sims and siblings of their ancestors not showing up if the ancestors and the ancestors' siblings had no parents.
- Fixed relations between descendants of siblings without parents not showing up.
- Fixed Half-Cousins showing up as "Cousins" for when the setting "kShow1stCousinsAsCousins" was set to true.
- Changed "Nx" to "N×" for English and "Nx" to "N-mal" for German.
- Fixed Half-Aunts/Uncles and Half-Nieces/Nephews showing up as their non-half counterparts.
- Suppressed an unanticipated relation showing up for a Sim who was partnered with but not married to a sibling of another Sim.
- Added French, Spanish, Portuguese, and German translations; might be grammatically incorrect, but I tried to do as much research as I could on the logic for those languages regarding genealogy. Feel free to contact me for things to improve.
- Improved prioritization of the closest family relation some more.
- Made the method for getting the family relation string return earlier if the genealogies being compared are of the same Sim.
- Improved prioritization for showing the closest family relation between two Sims.
- Made tuning more flexible.
Adds the following types of family relations to the game:
- Nth Cousin (e.g., 2nd Cousin)
- Nth Cousin N× Removed (e.g., 2nd Cousin 1× Removed)
- Half-Cousin
- Nth Half-Cousin (e.g., 2nd Half-Cousin)
- Nth Half-Cousin N× Removed (e.g., 2nd Half-Cousin 1× Removed)
- Half-Aunt/Uncle
- Half-Niece/Nephew
- Great × N Aunt/Uncle (e.g., Great-Uncle, Great-Great-Uncle, etc.)
- Great × N Niece/Nephew (e.g., Great-Nephew, Great-Great-Nephew, etc.)
- Great × N Half-Aunt/Uncle (e.g., Great-Half-Uncle, Great-Great-Half-Uncle, etc.)
- Great × N Half-Niece/Nephew (e.g., Great-Half-Nephew, Great-Great-Half-Nephew, etc.)
- Great × N Grandparent (e.g., Great-Great-Grandfather)
- Great × N Grandchild (e.g., Great-Great-Grandson)
- Half-Sibling-In-Law
- Grandparent-In-Law
- Grandchild-in-Law
- Great × N Grandparent-In-Law (e.g., Great-Grandfather-In-Law, Great-Great-Grandfather-In-Law, etc.)
- Great × N Grandchild-In-Law (e.g., Great-Grandson-In-Law, Great-Great-Grandson-In-Law, etc.)
This scales infinitely or up to a limit set in the tuning (for example, a Sim could have a 5th Half-Cousin 4× Removed).
Also allows adding restrictions to romance between Sims the player feels are too closely related. By default, the restrictions regarding romantic interactions between Sims are the same as EA's.
Additionally, relation names for SimBots follow the same scheme as those for Plumbots (for example, a SimBot's creator is now referred to as "Creator" instead of "Mother" or "Father"). This can be reverted in the tuning.
(Since 2025/09/21)
There is now support for assigning family relations between Sims without other Sims to fill in the gaps. One can add ancestors, descendants, siblings, siblings of ancestors, descendants of siblings, cousins of any degree, cousins of any degree of ancestors, and descendants of cousins of any degree. The interaction for assigning relations can be enabled by changing the tuning value "kShowCheatInteractions" to "True" (see below for where to find that setting); the interactions will show up on the target Sim (the one clicked on) to assign relations between them and the selected Sim (the one with the Plumbob over their head). Family tree visualization will be supported in the future. If there are any performance and/or stability issues in your game, download the "Legacy" version of the mod and use it instead until said issues are fixed.
Settings regarding enabling cheats for assigning relations, restrictions on romantic interactions, and what types of relations can be shown can be changed by using s3pe to edit the "Tuning" _XML resource in the mod's .package file, or by using NRaas' Retuner to change the settings under General > By Tunable XML > Sims3.Gameplay.Destrospean > ExpandedGenealogy.
Language Support
The following languages (in the order they got added) are currently supported:
- English
- French
- Spanish
- Portuguese
- German
- Italian
- Russian *
- Dutch
Credits
- Buzzler (used STBLize to create STBLs from XMLs)
- CmarNYC (used Easy STBL Manager to populate the different languages with strings)
- LazyDuchess (for Mono Patcher)
- Sonya Kas and murkoose (for providing the Russian translations)
- s3pe (for creating packages and importing resources into them and editing their chunk entries)
Filename | Type | Size |
---|---|---|
ExpandedGenealogy.package.zip | zip | |
ExpandedGenealogy.package | package | 105382 |
Filename | Type | Size |
---|---|---|
ExpandedGenealogy-SourceCode.zip | zip | |
.gitattributes | gitattributes | 2517 |
.gitignore | gitignore | 6223 |
ExpandedGenealogy.sln | sln | 1504 |
AncestorInfo.cs | cs | 530 |
Common.cs | cs | 1551 |
Dialogs.cs | cs | 4460 |
DistantRelationInfo.cs | cs | 1119 |
ExpandedGenealogy.csproj | csproj | 4843 |
GenealogyExtended.cs | cs | 27264 |
GenealogyPlaceholder.cs | cs | 9781 |
Interactions.cs | cs | 11433 |
Dutch.cs | cs | 6227 |
English.cs | cs | 2504 |
French.cs | cs | 2480 |
Generic.cs | cs | 2468 |
German.cs | cs | 5243 |
Italian.cs | cs | 4105 |
Portuguese.cs | cs | 10212 |
Russian.cs | cs | 3103 |
Spanish.cs | cs | 90 |
Main.cs | cs | 3076 |
PlayerLanguage.cs | cs | 8794 |
AssemblyInfo.cs | cs | 1115 |
Replacements.cs | cs | 30073 |
SiblingOfAncestorInfo.cs | cs | 504 |
Tuning.cs | cs | 1336 |
ScriptCore.dll | dll | 430080 |
SimIFace.dll | dll | 614400 |
Sims3GameplayObjects.dll | dll | 7618560 |
Sims3GameplaySystems.dll | dll | 13799424 |
Sims3MetaData.dll | dll | 139264 |
Sims3StoreObjects.dll | dll | 1232896 |
System.Xml.dll | dll | 671744 |
System.dll | dll | 176128 |
UI.dll | dll | 3010560 |
mscorlib.dll | dll | 851968 |
Filename | Type | Size |
---|---|---|
ExpandedGenealogy.package (Legacy).zip | zip | |
ExpandedGenealogy.package | package | 51686 |
The following custom content is required for this download to function properly! Please make sure you download it before downloading the files!
- Mono Patcher by LazyDuchess
ExpandedGenealogy.package.zip
Download
Uploaded: 28th Sep 2025, 45.0 KB.
18,390 downloads.
|
||||||||
ExpandedGenealogy-SourceCode.zip
Download
Uploaded: 22nd Sep 2025, 9.90 MB.
1,326 downloads.
|
||||||||
ExpandedGenealogy.package (Legacy).zip
Download
Uploaded: 21st Sep 2025, 21.9 KB.
706 downloads.
|
||||||||
For a detailed look at individual files, see the Information tab. |
Install Instructions
Loading comments, please wait...
Uploaded: 22nd Mar 2025 at 6:11 AM
Updated: 28th Sep 2025 at 5:26 PM
#family, #genealogy, #relationship, #relationships
-
by Buzzler 10th Sep 2010 at 4:26pm
94 107.6k 180
-
by simbouquet updated 26th Feb 2025 at 7:42pm
71 101.4k 293
-
by darren111 updated 5th Jul 2022 at 8:50am
32 17.9k 61
-
by YolkSims updated 8th Jul 2022 at 5:28am
29 56.2k 110
-
by simbouquet updated 26th Feb 2025 at 7:34pm
51 54.8k 159
-
by echoweaver updated 20th Aug 2023 at 3:03pm
+1 packs
Ambitions
-
by echoweaver updated 27th Aug 2023 at 1:36pm
17 17.1k 68
-
by fantuanss12 updated 28th Jun 2025 at 8:10am
+1 packs
Ambitions
-
by fantuanss12 updated 6th Feb 2025 at 6:41am
34 23.9k 99
-
Dusty Peepers Aviators As Accessory (M & F; T+)
by Destrospean updated 17th Jun 2025 at 3:18pm
888 2
-
Usable Canes for Young Adults and Adults (+ Occult Fixes)
by Destrospean updated 15th Aug 2025 at 7:19pm
I've seen quite a few people on this site and other Sims 3 mod sites complain that EA didn't allow more...
+1 packs
Generations
-
Law Enforcement and Medical Career Data Fixer (2025/08/18 – Now Automatic)
by Destrospean updated 4th Sep 2025 at 5:12pm
14 8.1k 19
-
Customizable Uncustomizable Outfits
by Destrospean updated 5th Sep 2025 at 10:37pm
+1 packs
Ambitions
-
Beekeeper Hat Updo Variant (F; T, YA, A)
by Destrospean updated 16th May 2025 at 10:50pm
5 1k 3
Hair » Female » Young Adult
About Me
I am a 25 year old web developer who also likes to write code as a pastime.
I have severe ADHD and am terrible at explaining things, as my mind is all over the place while trying to do so, so please forgive me if I do not communicate necessary information in a coherent and comprehensible way.
Also, no, I do not look like the Sim in my profile picture.