Fallout New Vegas

About this mod

Returns some semblance of immersion when playing Tale of Two Wastelands content as a non-vanilla race - and fixes related bugs/annoying side effects.

Requirements
Permissions and credits
Changelogs
I originally made for personal use in mid 2020 (I [re-]found several FoNV race mods I wanted to use with TTW. Due to the nature of certain Fo3 quests and quirks (including a horrendous oversight by the devs in Fo3 softlocking the game in the F03 [pre-Broken Steel] credits if the player was not a vanilla race) using
such races was... less than immersive, to say the least), but several other TTW players trying to use playable race mods voiced an interest, so here it is publicly.

Included are two mods with one template functionality plugin to make the race mod of your choice compatible without editing said mod directly:

Kid-Mode Simulator - will make any playable race that does not have a child variant appear to be a child in the correct parts of Fo3 (just don't take off your clothes or use clothes not intended to be used on children if using one of those races/models if you want to keep immersion). Injects itself indirectly so it won't have any issues with other mods unless you alter tranquility Lane to use another cell/map or modify the quest stages of the Fo3 vault 101 chargen story (though Fo3 chargen gets skipped if starting via the FoNV side). Works independently of the other plugins in this set.

Race Compatability Core (RCCore) - The functional portion of the Race Compatibility set. TTW 3.3.X already prevents the softlock when viewing the credits to start Broken Steel content as a non-vanilla race, but this makes the Caucasian version play by default instead of skipping it entirely. This mod also prevents Fo3 'Dad' (all iterations) from matching the player's race if a problematic race is in use (IE: prevents the "Purple Dad" issue - usually caused by a female-only race not having data for a male equivalent or a generally sloppy/incorrectly configured custom [child] race being used). Requires the below to add problematic races to the detection list.

Race Compatability Plugin (MODNAME RCPlug) - Template file to append races to the RCCore formlist. Allows multiple compatibility plugins to be made and used in parallel. When editing to add a mod race to the list, Edit into the template script MODNAMERCFPlugSCRIPT and rename both the script and the quest MODNAMERCFPlugQUEST to reflect the race mod it concerns, thus removing conflicts with other plugins from this template so several race mods can be active in parallel without needing to reconfigure your mod activation/load order to have multiple saves with different race mods. Editing this will require the latest JIP LN NVSE and Geck Extender (as well as NVEdit to clean the Masters list), but you're free to upload/share completed versions for other, less technichal users of the same race mods that may struggle to make their own edits. If you're not up to the task, you might be able to find another user of the race mod in question that has used this.

As an example, I have included an optional compatability plugin file for the [now deleted, may in rest in peace] My Little Anthro Ponies mod by Kuroitsune, in case you need an additional example of how to set up the RCPlug file - or for fellow users of the retired mod that still have a local copy and want to use it with TTW.


Troubleshooting:
All mods are designed to be as independent on external files as possible.

- Occasionally (more like 'literally once' at this point, but time will tell) mod races' base scale can burp and be set to 0.8 when during the Broken Steel transition. The only conceivable mod here that could affectthis is Kid-Mode Simulator, but there's literally zero reason I can find that would cause it (the mod uses SetScale which doesn't touch your race's base scale - even through savestates, unlike the SetPCYoung bug detailed below). I also can't find any portion of the Broken Steel initiation script/quest/nearby activators/etc. or anything related that would cause this - and certainly not a console/GECK/NVSE/etc. command that would even allow it to happen. Since it doesn't happen every time, the solution is to save in the purifier room before cycling the airlock and load that save if the issue occurs (loading a quicksave worked for me, but a full/manual save would be a more reliable choice). Since the timing of the effect is immediately after the slideshow ends, you'll only have to watch that one bit again to continue playing.

- Kid-Mode Simulator will not have issues with any other mods unless the Tranquility Lane segment is moved to a different/custom cell or the Fo3 Chargen's quest stage progression is heavily altered (data is read indirectly, so mods editing data inside those resources won't conflict. As long as the character starts and ends being a kid a the same quest stages, the only side effect may be appearing to be the wrong height for a short while longer)

- RCCore will only conflict with mods (other than TTW) that affect the quest CG00 (Fo3 chargen matchrace override) and/or the scripts Vault101ExitScript (Fo3 post-chargen matchrace overrides), TTWVault106DadRaceFixScript (matchrace overrides for FoNV post-chargen and console command race changes), and EndingBinksScript (softlock fix for non-vanilla races). Unfortunately the minimalist nature if this mod means it can't reverse "Purple Dad" on existing saves, but it will prevent it on new saves.

- RCPlug files will only conflict with each other if the template editor fails to update the names of the plugin's quest and quest-script when adding races form an external race mod.

- Not related to this mod: there's a moderately common bug in TTW where you're stuck as a child (thus cannot interact with certain objects) when exiting Tranquility Lane (sometimes includes being stuck in the longer since children can't use it). The source of this bug is loading a save that was made while the player is supposed to be a child (specifically while GetPCYoung returns 1, such as a [quick/auto]save made in Tranquility Lane). This is due to SetPCYoung affecting a secondary value that only updates IsChild for the player's race when you load a save. For vanilla races, this is unnoticeable since AgeRace literally changes your race between an actual child race and an adult race, so saving while a child doesn't affect flags on the adult race. For modded races that don't have a child race [properly] configured, the race doesn't actually change with AgeRace, so loading a save with a GetPCYoung >> 1 state flags the race as a child and it cant be reverted without reloading the game engine's memory.

The fix is quite simple: once you reach a point in the game where you're an adult again (Player.AgeRace 1 and SetPCYoung 0 were issued via console or a script, thus GetPCYoung returns 0 and Player.GetAgeClass is not 0) make another save. At this point you need to quit to menu and load your new save (if quicksaving, it still works you have to fully exit the game before loading). When resuming your new save, the IsChild flag will be reset on yout mod race and your character will correctly register as an adult again, letting you exit the Tranquility Lounger.