[MOD] The Witcher 3 - Projekt Ovotorides - W3PRO - v4.04

+
Provides a bug fix and complete overhaul of The Witcher 3 key binds, controls, and management of inventory items.
This mod has been exhaustively tested for hundreds of hours, but will likely conflict with other mods and need merging.

Quick Cast Signs:
- Signs may be cast instantly using the 'select' key, instead of first selecting and then casting them, or using the radial menu.
- Signs have 1 sec cooldowns to prevent multiple activations of the same sign accidentally, unless another sign type is cast.
- Signs may be cast in alternate mode by pressing and holding any Quick Cast key for longer than 0.2 secs.
- Pressing and holding any Quick Cast key will also activate Roach's Axii Sign and Ciri's Special Attack.

Quick Slots and Hotkeys:
- New Quick Slot Hotkeys: Consume Food, Throw Bomb, Use Pocket, Fire Crossbow.
- Auto Equip Bombs/Bolts: A random item will be equipped when ammo is depleted.
- Merged keybinds: Submerge / Sheathe, Mount / Dismount, Halt / Summon Horse
- Removed keybinds: Double-tap to dodge (use dodge key instead or edit .xml)

Weapon Auto Switch:
- Weapons are no longer sheathed by pressing the 'draw' key, but automatically or by pressing the 'submerge / sheathe' key.
- Weapon switching now requires 2 hits with the wrong weapon type, instead of 1, unless only 1 type of enemy is nearby.
- Weapons now correctly switch from fists to swords when engaging enemies, unless auto switching is disabled.
- Weapons no longer temporarily switch from swords to fists when engaged enemy archers swap weapons in combat.
- Removed crossbow stance (tap to activate) to prevent movement, weapon selection, double reload, and activation issues.

Auto Apply Oils:
- Oils are applied automatically to swords based on target monster category.
- This feature is now included in the base game. Do not enable both options.

Consumable Improvements:
- Food and alcohol consumption are randomized and accessible via a dedicated keybind. They no longer need to be equipped.
- Food consumption is on an override only basis. Only food of higher quality will be consumed if already in effect.
- Consumable potions have cooldown timers equal to 80% of their duration, and correctly calculate levels for overriding effects.
- Consumable (edible) food and beverage items display a brief message with the name of the item which was consumed.
- Alcohol/Cat potion fade in/out effects increased to 20/10 secs. Alcohol effect duration increased to 90 mins (game time).

Horse Modifications:
- Jump needs be pressed only once while on horseback. Previously, it had to be pressed twice within 0.2 seconds.
- Pressing 'jump' while stationary will cause your horse to stand on its rear quarters and emit high pitched noises.
- Now possible to switch from gallop back to canter in combat with default 0.5 second delay, instead of 2 seconds.
- Horse and boat mount/dismount hotkeys are now bound to a dedicated key, instead of selectively bound to 'interact/use'.
- Trophies are no longer equipped automatically when looting the corpses of legendary beasts and monsters.

UI Modifications:
- Smooth Movement Camera optionally removes the bouncing effect associated with walking and running animations.
- Esc no longer needs to be pressed twice to exit menus, and console 'hub' menu has been removed, while not using a gamepad.
- Introduction screen theme music is adjustable and game loading screens may be skipped entirely.

Asset Modifications:
- The Camerlengo's Trophy now provides +12% gold and +2% xp from both humans and monsters.
- Geralt of Rivia's and Ravix of Fourhorn's crossbows are now both relics.
- Oils are now tagged with monster categories for improved code efficiency.
- Fixed Bag of Grain, Jar of Honey, Rotten Meat (Rotting Flesh), and Werewolf Meat inventory tag/class errors, which conflicted with 'edibles' (consumables) and the 'mod_food' tag.

Vanilla bugs fixed:
- Potion/Consumable/Oil level and effect override calculations now work correctly, after completely rewriting the effects logic.
- 187562: The case of the missing effects index, failing to remove, or removing the wrong effect, or incorrect number of effects.
- Auto-switching now works correctly, in all cases, and will always select the appropriate weapon in combat. See above for details.
- Significant lack of PC key binds due to Consolitis effect. Awkward Console to PC instead of PC to Console development pathway.

Known Issues:
- Bug detecting fist fight in Toussaint, due to Dwarves armed with clubs. Disable Weapon Auto Switch for this quest sequence.
- Currently lacks complete support for QWERTZ and AZERTY keyboards, consoles, gamepads, and languages other than English.
- (Vanilla) Still possible to obtain 2 copies of some trophies by looting the corpse before quest dialog triggers (ex: Grottore).

Installation:
- Make a list of all your custom key bindings, as they will be cleared when installing this mod.
- Input settings are generated from the bin\config folder and must be deleted if changes are made.
- All changes made to source script files are marked 'princessmassacre' for quick reference.
1. Copy .\modW3PRO to C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\mods
2. Backup C:\Users\[username]\Documents\The Witcher 3\input.settings
3. Delete C:\Users\[username]\Documents\The Witcher 3\input.settings
4. Backup C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\bin\config
5. Copy the contents of .\bin-config to C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\bin\config
6. Run The Witcher 3: Wild Hunt and select 'options' then 'Projekt Ovotorides' to configure features.
7. Setup previous key bindings manually. Do not restore previous input.settings file.

27/08/2026 - Updated files to remove old code which caused weapon swapping issues
 

Attachments

  • ProjektOvotorides-W3PRO-v404.zip
    584.4 KB · Views: 19
Last edited:
Previous developer request #1: NPC fist fight EIAB_ action blocks

The following NPCS and quests do not have EIAB_ action blocks for fist fights, which allows weapons to be drawn even though auto switch selects fists as the correct weapon. Killing them does not prevent quest progression, only fails optional quest objectives, which are both inconsequential.

Drawing a weapon, then switching back to fists does not reset their state, and they can be killed with fists. This also causes Steingrim to draw his weapons and Trofast, his wolf companion, .HasTag('q201_steingrim_dog') to join the fight, which suggests this behaviour is intentional. If that is the case, then no changes are necessary.

.HasTag('steingrim') // destination skellige
.HasTag('q308_wendy_thugs') // carnal sins

The final NPC and quest fist fight, which lacks EIAB_ action blocks is Gwent: To Everything - Turn, Turn, Tournament! However, it is noted on the wiki that the Dwarves can be fought using swords since patch v4.0, probably as a result of the lack of EIAB_ action blocks, allowing weapon transition to swords outside of the PlayerWeaponHolster function GetMostConvenientMeleeWeapon(). The Dwarves have no tags, besides 'main_quest_opponent' as far as I can recall, but lost my saved games, so cannot confirm.

The issue with using the 'main_quest_opponent' tag is that it triggers on other NPCs, like archers on the boat in Destination Skellige, and the only possible workaround, which is not ideal, is to prevent auto-swapping to PW_Fists if a weapon is currently drawn and IsInCombat() == true. The ideal solution would be to tag all fist fight NPCs with 'fistfight'.

Previous developer request #2: Wild Hunt credits score loop marker

The first credits score from The Witcher 3: Wild Hunt lacks a loop marker at the end, unlike all other main music themes.

It's the one theme I can't loop in the menu selection dialog. Send me the modified audio file, and I'll include it in the mod.

The specific sound bank file is track "mus_credits_usm" in the section "play_music_main_menu".

New developer request #3: Translation error in Witcher IV cinematic trailer

The correct line of dialogue ought to be "There are no Gods here, only religious fascists (/monsters)."
 
Last edited:
Top Bottom