File information

Last updated

Original upload

Created by

nikich340

Uploaded by

nikich340

Virus scan

Some files not scanned

About this mod

This mod allows you to smoothly play as any Witcher, Witcheress or Sorceress. Fully customizable appearance. New magic combat system and new questline for Sorceress type, fully voiced. All Geralt animations adapted for female player. Female Geralt voicelines for all languages. Easy integration. Made on the edge of modding possibilities.

Requirements
Permissions and credits
Translations
  • Portuguese
Changelogs
Overview:
This mod allows you to smoothly play as any Witcher, Witcheress or Sorceress. Fully customizable appearance. New magic combat system and new questline for Sorceress type, fully voiced. All Geralt animations adapted for female player. Female Geralt voicelines for all languages. Easy integration in redkit projects. Made on the edge of modding possibilities.

The trailer sequentally reveals main mod features:


The mod grants you a lot of new gameplay possibilities:
  • play as Witcher, Witcheress or Sorceress with any custom appearance
  • you can use any existing npc appearance, armor set appearance or construct your unic one (there is also real-equipment mode - allows you to be synced with Geralt equippment)
  • retargeted female animations for gameplay and cutscenes, no more stretched skeleton
  • new magic combat system for Sorceress, with spells improved over usage
  • new story quest for Sorceress, which allows you to learn new spells
  • [separate mod] female Geralt voicelines for better immersion (enabled automatically for female player types, doesn't replace vanilla Geralt speech)

List of available languages (text for the mod, speech for the Sorceress quest):
  • English: text + speech
  • Russian: text + speech
  • Turkish: text
  • Spanish: text
  • Polish: text
  • French: text
  • Chinese: text
  • Czech: text
  • Thai: text (int The Witcher 3/dlc/dlcCustomPlayerCharacters/content/: rename thai.w3strings to tr.w3strings if you use this mod)
For other languages English text and speech is used for now.

Installation: --> video guide <--
0. Make sure you have latest NextGen version of the game and Hearts of Stones, Blood and Wine installed.
1. Download main Custom Player Characters 7z file.
2. Unpack archive contents into your game directory.
3. Verify installation: there should be dlcCustomPlayerCharacters folder in <game dir>/dlc/ and modCustomPlayerCharacters in <game dir>/mods/.
4. Install Community Patch - Shared Imports.  [required for scripts to work]
5. Add these lines to the end of file input.settings, located in "Documents/The Witcher 3" (use notepad++ or any text editor):
- the same lines are inside "add_to_input.settings" file in mod archive -
Spoiler:  
Show
[Boat]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[BoatPassenger]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Combat]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Diving]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[EMPTY_CONTEXT]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Exploration]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_P=(Action=NREnterScene)
IK_Pad_B_CIRCLE=(Action=NREnterScene)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
IK_0=(Action=NRSelect0)
IK_Pad_LeftTrigger=(Action=NRSelect0)
IK_Alt=(Action=NRDodge)
IK_Pad_B_CIRCLE=(Action=NRDodge)
[Exploration_Replacer_Ciri]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_P=(Action=NREnterScene)
IK_0=(Action=NRSelect0)
IK_Pad_LeftTrigger=(Action=NRSelect0)
[Horse]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[JumpClimb]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Swimming]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Scene]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)

6. (Recommended): Install Female voices for Geralt [for better immersion with female player]
7. (Recommended): Install Geralt's Armors for Female Character v2 [for more apperance variants with female player]
8. (Recommended): Install Immersive Wildlife project ("Dhu cats" file).  [for high-quality cat appearance in quest and polymorphism spell]
9. (Optional): Install matching compability patch(es) from optional files if you have one of these mods:
  • Brother in Arms (main part and/or optional Add-on)
    Give the compability patch higher mod priority than to CPC and conflicting mods.
10. Launch Script Merger to resolve script changes.
11. The mod will launch automatically on gamesave start, if you have killed ghouls in White Orchard intro quest "Lilac and Gooseberries".
      It will auto-add special "Chameleon" potion in your inventory, you should click on it and press E (Consume), then leave inventory to launch player setup scene OR (since v3.0.0) press [E] + [P] hotkey. Enjoy!
Please endorse the mod if you like it :)

Updating: --> do NOT use mod manager! <--
1. Download main Custom Player Characters 7z file.
2. Remove old folders in Mods directory (if they exist): mod_sharedutils_onelinersmod_sharedutils_storage, modCustomPlayerCharacters.
3. Unpack archive contents into your game directory. Agree to overwrite all files.
4. Verify installation: there should be dlcCustomPlayerCharacters folder in <game dir>/dlc/ and modCustomPlayerCharacters in <game dir>/mods/.
5. (Recommended): Update to v2 of Geralt's Armors for Female Character [for more apperance variants with female player]
6. (If you haven't added before) Add these lines to the end of file input.settings, located in "Documents/The Witcher 3" (use notepad++ or any text editor):
- the same lines are inside "add_to_input.settings" file in mod archive -
Spoiler:  
Show
[Boat]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[BoatPassenger]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Combat]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Diving]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[EMPTY_CONTEXT]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Exploration]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_P=(Action=NREnterScene)
IK_Pad_B_CIRCLE=(Action=NREnterScene)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
IK_0=(Action=NRSelect0)
IK_Pad_LeftTrigger=(Action=NRSelect0)
IK_Alt=(Action=NRDodge)
IK_Pad_B_CIRCLE=(Action=NRDodge)
[Exploration_Replacer_Ciri]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_P=(Action=NREnterScene)
IK_0=(Action=NRSelect0)
IK_Pad_LeftTrigger=(Action=NRSelect0)
[Horse]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[JumpClimb]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Swimming]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)
[Scene]
IK_E=(Action=NRUse)
IK_Pad_A_CROSS=(Action=NRUse)
IK_I=(Action=NREquipmentSwitch)
IK_1=(Action=NRSelect1)
IK_Pad_DigitLeft=(Action=NRSelect1)
IK_2=(Action=NRSelect2)
IK_Pad_DigitRight=(Action=NRSelect2)
IK_3=(Action=NRSelect3)
IK_4=(Action=NRSelect4)
IK_5=(Action=NRSelect5)
IK_6=(Action=NRSelect6)
IK_7=(Action=NRSelect7)
IK_8=(Action=NRSelect8)
IK_9=(Action=NRSelect9)

6. (Optional) Reinstall optional mod files (patches) with latest version(s).
7. Launch Script Merger to resolve script changes.
8. Enjoy. All old saves are compatible with new version.

Uninstallation:
WARNING 
- the mod stores data inside gamesaves, so you won't be able to load the saves made after the mod was installed.
If you only want to continue playing as Geralt, there is no need in uninstalling anything - just switch back to Geralt (vanilla) in player setup scene.
1. Remove dlcCustomPlayerCharacters folder in <game dir>/dlc/.
2. Remove modCustomPlayerCharacters in <game dir>/mods/.

Non-supported mods (do not work correctly with CPC mod):

Questions and Answers:
Q: I want to translate the mod into my language, how can I do this?
A: Download english mod strings from Miscellaneous files, then use any good text editor (notepad++ for example) to translate content inside it and send me the file. I recommend first to play the Sorceress questline to avoid any spoilers.
For speech translations of the quest please contact me: discord.
Q: Are Wild Hunt / Vampire / Dwarf models supported?
A: No, only male and female rigs are supported. And Uma :)
Q: How can I learn all the spells as Sorceress?
A: Magic skills can be learned depending on your magic level, and magic level depends on player level -> to quickly learn them all and "complete" magic training, I'd advice to start the Sorceress quest on late-game save (where player level > 35 for usual game, > 70 for ng+).
Also there is cheat-menu in sorceress setup scene (appears after you become mage's apprentice) to improve your magic level without required player level.

Q: Is it for Next-Gen (v4.x)? Will there be Old-Gen (v1.32) support?
A: It is for Next-Gen only, I do not plan to support old game versions.
Q: There is a mod which conflicts with yours. How to solve this?
A: For some mods there may be compability patches available - check the list in installation part.
Some other are non-supported (check the list above). In other cases contact me, please.
Q: Is it made with redkit?
A: Not really, I spent 2.5+ years on making this mod, there were a bunch of tools which I used, including some ehich I had to write myself (wolvenkit Json converter, many python scripts for processing entities, meshes, generating setup scenes etc). The mod is built in radish system. Redkit was helpful in fixing some animation bugs on last development stages.
Q: Are you planning any other projects?
A: Yes, I would like to continue Sorceress questline with some interesting story.

Supported custom dlc (quest) mods:

Supported custom dlc (appearance) mods:

Known issues:
  • Female animations - some wrong item (sword, crossbow) placements in anims: all this can't be fixed without huge amount of time which I don't have...
  • Male-skeleton stretched animation for female player during "Leaving horse cutscene" (when you enter some scene on a horse this cutscene is played) - as there is only one engine-hardcoded cutscene, you can fix it by installing "Female Leaving horse cutscene animation" optional file (but then there will be female cutscene anim for male player too, so choose the lesser evil)
  • There is no "quickslot 4" button on steamdeck: Solution - bind extra steamdeck button (one of those 4 on the back or touchpad) in steamdeck controls setting (not the game) to default slot 4 keyboard button.
  • Too low head position of female - can be fixed by setting player scale to 104% (in apperance setup scene), but causes anim placement problems in cutscenes.. I don't recommend doing that as low head seems to be the lesser evil.
  • NOT A BUG - Sorceress quest objective "Become an Arch-mistress" never ends

For mod creators:
  • DLC: Integrating new appearances (clothes, items etc) into CPC mod
  • REDKIT: Changing player in your quest   >> video guide <<
  • Strings-idspace reserved by the mod is 2115940000-2115940999, and 2100000000-2100021000 for female Geralt voicelines. Do not use it please, to avoid overlaps
  • What vanilla files do this mod change and why?: here is the full list
    Basically, the mod changes 2 types of vanilla files:
    • quest (w2quest/w2phase) - if there is CQuestChangeWorldBlock, I insert special pre-condition for it (NR_QuestCond_PlayerManagerReady) to make sure that custom player type and appearance are loaded, otherwise there were cases when right after changing the world some scene started, and changing the player at this moment could break the scene
    • scene (w2scene) - if there is any cutscene section or Geralt's dialog line, the scene was patched to branch after every CStorySceneInput on special fact (indicating if the player uses female speech) - on false it goes "vanilla" way, on true it goes "patched" way. Where patched means 100% copy of vanilla sections graph with all their elements and events, but with replaced dialogline ids and cutscene paths
    But even if your mod have changed any of these files and you wanna do it compatible with CPC just let me know - with some python magic I can quickly create compability patch.

Credits:

Support me
    https://boosty.to/nikich340/donate

CPC mod discord server:
    https://discord.gg/AseRP2q9kt

Check out my other projects: