About this mod
Makes horse-riding more like modern TES games. Can be heavily configured. Android version also available
- Requirements
- Permissions and credits
-
Translations
- Ukrainian
- Changelogs
Determines the method of controlling the horse and player view. There are bindable inputs that allow you to change modes while in-game and without opening the Mod Settings. Regardless of control mode, pressing or holding RUN will set your target speed to the maximum while SNEAK will set you to STOP.
STEERING TYPES
KEY (Default)
- Use "Move Left" and "Move Right" inputs to steer the horse.
- Vanilla-like scheme.
- The horse will automatically steer to match the direction of the your view.
- While moving, you can slightly offset the horse to move diagonally by holding the "Move Left" and "Move Right" inputs.
- When stationary, the "Move Left" and "Move Right" inputs will let the horse slowly sidestep. Carts are unable to sidestep.
THROTTLE TYPES
PRESS (Default)
- Pressing "Move Forward" and "Move Backward" inputs commands the horse to move at a faster or slower pace.
- The horse maintains the desired pace until it is otherwise changed.
- Vanilla-like scheme.
- Holding down the "Move Forward" and "Move Backward" inputs causes the horse to accelerate in either direction.
- Releasing the inputs makes the horse decelerate to a stop.
FREE (Default)
- The player's view is fully independent of the horse's movement.
- When the the horse's direction changes, the player's view is pulled along with it.
- Only works with KEY STEERING.
These modules govern the movement characteristics of a mounted player.
GALLOPING
VANILLA
- Hold RUN to gallop, nothing special.
- Works similarly to Vanilla but galloping consumes stamina over time
- Stamina is regained faster at lower speeds
- Stamina capacity and consumption rate are configurable in the Mod Settings
- Pressing RUN activates a burst of speed over a short duration
- Every activation consumes 1 gallop token
- A gallop token is regained over time, and at faster rates when at lower speeds
- Gallop duration, token maximum and regeneration rate are configurable in the Mod Settings
- Gives horses and carts some rudimentary "physics".
- It will take time for them to reach the desired speeds or to stop and also to turn when being steered
- Many options can be configured in the Mod Settings or it could be completely disabled if preferred.
- When enabled and galloping, you can collide with an entity to make a special "trample" attack
- The accuracy and damage range of the attack is determined by half your Blunt Weapons skill + horse Trample skill
- A successful trample attempt trains your Blunt Weapons skill
- The horse Trample skill value can be configured in the Mod Settings
- Whether or not allied or pacified entities can be trampled can be configured in the Mod Settings
Other modules and features that do not have an impact on gameplay but enhance the overall experience.
CUSTOM AUDIO HANDLER - Optional module that revamps Daggerfall's horse sound scheme. New hoofsteps and gait cadences depending on speed and other features. Can be configured or disabled in the Mod Settings. Includes support for:
- Spatial blending.
- Gait-based movement sounds
- Mount/dismount sounds
- Collision sounds
- Random miscellaneous noises (whinnies, neighs and snorts)
- Accelerating and decelerating makes the horse sprite smaller or larger
- Jumping and falling offsets the horse sprite vertically
- Similarly to Enhanced Riding, the horse sprite will be offset vertically to give the impression of the horse tilting to conform to the slope of the terrain. Can be configured or disabled in the Mod Settings.
- SPEED INDICATOR shows the current state of the horse's movement.
- HEADING INDICATOR shows the current direction of the horse's body relative to the player's view.
- SPRINT INDICATOR shows the status of the current Gallop mode, either Stamina gauge or number of Tokens.
- Each element can be independently toggled, positioned, scaled and tinted.
- Textures can be modified with replacers via loose files.
- Can choose between Horse (default) or Camel
- Variant slider determines the color of the riding texture. There are currently no color variants for Horses.
Roleplay & Realism's Enhanced Riding and Better Riding View are not compatible.
TRAVEL OPTIONS - Compatible with Travel Options in the sense that there won't be any game-breaking problems when used together. You will be unable to look around during accelerated travel due to Travel Options using the player's orientation for its travel direction.
REALISTIC WAGONS - Compatible. There may be some issues when using RW actions like hitching/unhitching carts, but nothing significantly game-breaking.
EYE OF THE BEHOLDER - Compatible. The horse widget's heading indicator will be useful for keeping track of your horse's orientation. The new audio handler also makes sure that the horse sounds originate from the player body instead of being always loud.
Version 1.2 introduces functionality that allows other mods to affect Free Rein's horse handling. Following are some code snippets
Storing a reference to Free Rein:
//Ensure Free Rein is loaded BEFORE the mod
//Store the Mod as a property to call it again without having to call GetModFromGUID every time.
Mod freeRein;
//Look for Free Rein. Place in Awake or similar.
freeRein = ModManager.Instance.GetModFromGUID("c01eeb80-b41f-477b-a5ba-e0bfbc68637f");
Modifying horse handling:
//Place in a method to call when needed.
if (freeRein != null)
{
float horseMoveSpeed = 1;
float horseMoveAccel = 1;
float horseMoveBrake = 1;
Vector3 horseMoveMod = new Vector3(horseMoveSpeed, horseMoveAccel, horseMoveBrake);
ModManager.Instance.SendModMessage(freeRein.Title, "setModHorseMove", horseMoveMod);
float horseTurnSpeed = 1;
float horseTurnAccel = 1;
float horseTurnBrake = 1;
Vector3 horseTurnMod = new Vector3(horseTurnSpeed, horseTurnAccel, horseTurnBrake);
ModManager.Instance.SendModMessage(freeRein.Title, "setModHorseTurn", horseTurnMod);
float cartMoveSpeed = 1;
float cartMoveAccel = 1;
float cartMoveBrake = 1;
Vector3 cartMoveMod = new Vector3(cartMoveSpeed, cartMoveAccel, cartMoveBrake);
ModManager.Instance.SendModMessage(freeRein.Title, "setModCartMove", cartMoveMod);
float cartTurnSpeed = 1;
float cartTurnAccel = 1;
float cartTurnBrake = 1;
Vector3 cartTurnMod = new Vector3(cartTurnSpeed, cartTurnAccel, cartTurnBrake);
ModManager.Instance.SendModMessage(freeRein.Title, "setModCartTurn", cartTurnMod);
float gallopCanRun = 1; //0 = can't run, 1 = can run
float gallopSpeed = 1;
Vector2 gallopMod = new Vector2(gallopCanRun, gallopSpeed);
ModManager.Instance.SendModMessage(freeRein.Title, "setModGallop", gallopMod);
}
Resets Horse variables (re-aligns to player, zeroes out speed and acceleration, etc)
//Place in a method
if (freeRein != null)
{
ModManager.Instance.SendModMessage(freeRain.Title, "resetHorse");
}
- Made for use specifically with Vwing's DFU port. I can't guarantee it will work with different forks or projects. Refer to the github for instructions on installing mods.
- My access to Android devices is limited, so I'd appreciate any feedback regarding the mod working on other devices. As with the previous point, I can't guarantee it will work perfectly with every device, but with your help, I will try my best to figure out whether it's in my capability to fix.
- Many thanks to Vwing for their work on porting DFU to Android as well as being extra mindful of modding support.
Big thanks to the folks over at the Lysandus' Tomb DFU modding discord server for feedback and testing and Jodzie and IvanKuzyk for providing the horse SFX