======================== ==modHorseGallopToggle== v1.0 Ride free. ======================== This mod for The Witcher 3 GOTY v1.31/v1.32 changes the functionality of mounted high speed movement. Instead of the original horseback PC control scheme using the first press of the sprint key to enter the first higher speed, then needing to double press sprint within 0.4 seconds and hold (with a pinky finger, repeatedly) to enter gallop mode, this mod makes the sprint key a toggle for the two higher-speed modes on horseback: canter and gallop. 0) ".\content\scripts\game\vehicles\horse\exploration.ws" - This is the only file modified, and it incorporates many fixes for Roach stopping on objects, bad logic, changes in height, water, settlements, and changes speed restrictions to the max value of the 4 default horseback speeds. - Does not comment out any important variables. Keeps all superclass calls to globals intact so the game doesn't glitch. Instead of reacting locally, all returns either uncap speed restrictions wherever they are limited, or return true instead. - Doesn't affect mechanics or combat significantly, only smoother. - Probably will never conflict with any mod that hasn't included/fixed. I've never needed to merge it. == ==New Horseback Controls== == (LSHIFT): (single keypresses) - 1st Tap = Toggle into fast run speed modes (default Canter) -- 2nd+ Tap = Gallop, then toggles Canter/Gallop. (after first starting to Gallop on the 1st OnPress event, then Canter on the 2nd, etc)) - 2x Tap = Gallop forced, even in between toggling. - 1x Hold = AutoFollow Roads: (do NOT press any other direction keys until it starts), look at the road, and enjoy the ride. - will automatically follow the road you are within 55 degrees of looking at, just like on consoles. (Be sure to look in the direction you want to go at forks in the road) (X): stop all movement, reset all flags. == ==Speed Limitations uncapped== == - Gallop or Canter nearly anywhere without stopping on anything (falls and water can be handled with other mods) == ==Rebinding Notes: == 1) Some rebinds will not work, but the basic single press functionality will work. 2) Rebinding the sprint key from LSHIFT may not work for the single press Canter, double press and hold Gallop, and hold shift Follow modes simultaneously. The game is bugged and has contradicting settings as well as layers of hard-coded functions. Many things are modded to port from console variable joystick controllers and do not work correctly, like the speeds of horseriding that we can only access with a controller. It is probably possible using the ModKit and/or AutoHotKey. 3) To work around issue 2), this mod does not use the OnHold listener originally bound to double pressing LSHIFT for Gallop. Instead, the OnPress listener bound to Canter is a container that toggles between the modes on each press. (This means you can change your Canter/Gallop toggle key!) 4) If you want to try a different binding, I recommend setting capslock ("IK_CapsLock=(Action=Canter)") to Canter. You can play with Gallop (try without duration) and Follow. "C:\Users\User\Documents\The Witcher 3 - input.settings": "... [Horse] IK_Pad_A_CROSS=(Action=Canter) IK_Pad_A_CROSS=(Action=Gallop,State=Duration,IdleTime=0.3) IK_Pad_A_CROSS=(Action=Follow) IK_LShift=(Action=Canter) IK_LShift=(Action=Gallop,State=Duration,IdleTime=0.3) IK_LShift=(Action=Follow) ... [Horse_Replacer_Ciri] IK_Pad_A_CROSS=(Action=Canter) IK_Pad_A_CROSS=(Action=Gallop,State=Duration,IdleTime=0.3) IK_Pad_A_CROSS=(Action=Follow) IK_LShift=(Action=Canter) IK_LShift=(Action=Gallop,State=Duration,IdleTime=0.3) IK_LShift=(Action=Follow) ..." GAMEPAD / USING S TO STOP 5) If you want S to stop the horse: In the input.settings file, add "IK_S=(Action=Stop)" under the sections "[Horse]" and "[Horse_Replacer_Ciri]". 6) If you want a gamepad to stop the horse: Pick which button you want to stop: it looks like X/Square and Y/Triangle are both bound to VehicleAttack, so one of those is a good pick. In the input.settings file, change "IK_Pad_Y_TRIANGLE=(Action=VehicleAttack)" to "IK_Pad_Y_TRIANGLE=(Action=Stop)" under the sections "[Horse]" and "[Horse_Replacer_Ciri]".