X3 inc horse
Horse specific functionality.
This library has been set up to work with the default horses, but some effort was made to provide you with some simple methods to support your own custom mounts, mounting scripts, etc. using this library.
NOTE: This file includes x3_inc_skin .
Script to Override Skin System:
The player skin system is designed to supply the horse radial menus to older characters and it is also used to track some of the information about the state of the PC semi-persistently. The system is set up in such a way that systems that use skins such as PRC (Player Resource Consortium) or HCR (HardCore Ruleset) will still use their own skin as long as they run first. If the horse system does not detect a skin it will create one. Thus, if it runs before PRC or HCR create their skins there might be a problem. To make this less of an upgrade nightmare the horse script includes support for a hook script. If the developers of these packages that require the use of skin items on PCs create a script named x3_mod_pre_enter and have that script add their skin to the PC then this script will ALWAYS execute before the horse scripts create their skin. This means that if you are using custom skins, all you need to do is make such a script and have it add your skin and your scripts should function as they did before, even if the horse scripts execute other aspects before yours.
Debugging and Tweaking Scripts:
Press ~ in game to bring up console mode. Type DebugMode 1 and press enter.
Press ~ in game and this time type dm_runscript scriptname and press enter.
Press ~ in game and type DebugMode 0 when you want to disable debug mode.
SCRIPTS (replace scriptname with one of the following):
x3_fix_horse = use this when the PC is being treated as mounted when it is not
x3_fix_horseout = use this to make a module not designed with horses in mind only allow horses in outside areas.
x3_fix_nocmd = set it not to use the SetCommandable with mounting toggle
x3_fix_act = set to use actions when mounting toggle
x3_fix_speed100 = mount/dismount speed multiple set to normal 100%
x3_fix_speed125 = mount/dismount speed multiple set to 125% (25% slower)
x3_fix_speed150 = mount/dismount speed multiple set to 150% (50% slower)
x3_fix_speed200 = mount/dismount speed multiple set to 200% (100% slower)
The following variables can be set on the BLUEPRINT of a creature to extend this mounting system. These scripts could be used to add database functionality, or extend the system however, you like.
|Local Variable Name||Variable Type||Description|
|bX3_IS_MOUNT||Integer||Set to 1 if this is a custom mount blueprint to allow the horse functions to recognize that it is a mount.|
Can be set to a script that can be fired after this mount is mounted. This may be useful for adding things like feats and other after mounting needs. If this script does not exist then the standard Speed, Skill Decreases, Mounted Archery Adjustments, etc. will be applied. If you want your own post mount script then it is important to note you will have to apply these modifiers yourself if you also want them to be used within your own script. The horse that was mounted will be referenced by the local object variable oX3_TempHorse as stored on the Rider. If you use such a custom hook script make sure to set bX3_IS_MOUNTED to TRUE by using the x3_inc_skin on the rider after they mount. This is required in some cases for the dismount radial to work (mainly when working with custom mounts).
|X3_HORSE_PREMOUNT_SCRIPT||String||Script to fire before the horse is mounted. This script may prevent mounting from happening by setting the integer variable X3_HORSE_NOMOUNT to TRUE on the mount. You can use a script like this to create support for saddlebags or to use it to extend the mounting system. This will be executed by the rider and the local object variable oX3_TempHorse will be set on the rider pointing to the horse so that the custom script knows which horse this relates to.|
|X3_HORSE_POSTDISMOUNT_SCRIPT||String||Can be set to a script to be executed after dismount to reverse steps that may have occurred with a POSTMOUNT script such as adding feats. This script could be used to remove feats.|
|X3_HORSE_PREDISMOUNT_SCRIPT||String||Can be set to a script that needs to be executed before the dismount portion continues. If the local integer X3_HORSE_NODISMOUNT is set to TRUE on the rider then the horse dismount will be aborted.|
It may be that you want to add a new horse/mount type that does not fit neatly into the appearance.2da or tails.2da with the other horse types. The following variables if set to any number greater than 0 will override the default settings and use what you specify instead.
|Local Variable Name||Variable Type||Description|
|bX3_IS_MOUNT||Integer||A variable that should be set to TRUE if a mount is added as a henchman but, is still mountable.|
|X3_CUSTOM_RACE_APPEARANCE||Integer||A variable to set on a rider if they use a custom racial appearance. This value should be set to what appearance number they use from appearance.2da. This will prevent custom races from being denied mounting rights due to the script thinking the rider is shape shifted.|
|X3_CUSTOM_RACE_JOUST_PHENO||Integer||This variable should be used on the rider if they need a special phenotype when mounted in joust mode.|
|X3_CUSTOM_RACE_MOUNTED_APPEARANCE||Integer||A variable to set on the rider to indicate which appearance they should use when mounted.|
|X3_CUSTOM_RACE_MOUNTED_PHENO||Integer||This variable should be used on the rider if they should use a special phenotype when mounted. This is provided to support custom races.|
|X3_CUSTOM_RACE_PHENOTYPE||Integer||This variable should be used on the rider if they need a special phenotype when not mounted.|
|X3_HORSE_DISMOUNT_DURATION||Float||The duration in seconds 0.0f that the dismount animation should take with this horse. This only needs to be set if the dismounting animation for this blueprint is faster or longer than the default animations.|
|X3_HORSE_FOOTSTEP||Integer||The footstep number to use when this horse is mounted.|
|X3_HORSE_MOUNT_DURATION||Float||The duration in seconds 0.0f that the mount animation should take with this horse. This only needs to be set if the mounting animation for this blueprint is faster or longer than the default animations.|
|X3_HORSE_MOUNT_SPEED||Integer||The mount speed increase or decrease that should be used with this mount. If the value is 0 then it will use the HORSE_DEFAULT_SPEED_INCREASE constant value.|
|X3_HORSE_NOT_RIDEABLE_OWNER||Integer||If this integer is set to 1 on the horse then the Mount action will not be usable and the error it will return if asked is that it is NOT rideable due to it being owned by someone else. This is useful if you want horses around that the PCs and Henchmen cannot mount for reasons such as they are owned by a store, etc.|
|X3_HORSE_NULL_APPEARANCE||Integer||The appearance to use when scaling the horse for the mounting animation.|
|X3_HORSE_OWNER_TAG||String||A string that can be set on the horse that will tell it to add itself as a henchman to an NPC with the specified tag.|
A variable that set to TRUE this horse cannot be mounted by the specified race. Supported races are ELF, HUMAN, HALFELF, DWARF, HALFORC, HALFLING, and GNOME, CUSTOM# = racial type number ( RACIAL_TYPE_* ).
|X3_HORSE_TAIL||Integer||The tail to use with the tails.2da that defines this horse.|
|X3_NO_MOUNT_ANIMATE||Integer||If this integer is set to 1 then this mount does not EVER animate mounting or dismounting.|
A variable containing a time lot indicating how much time the routine has before it needs to be finished. It is used for the sake of synchronizing animation and the process running in the background, exclusively used in mounting animation portion of the HorseMount() routine, but can be used elsewhere. Note, that the variable is artificially set even in case no animation is desired so that the code does not happen instantly. It is not meant to be changed, unless something bad is happening timing-wise. The value is precalculated and in our particular case it is supposed to hold the total animation length.
The following make it easier to implement existing mount support systems in conjunction with this one.
|Local Variable Name||Variable Type||Description|
|bX3_HAS_SADDLEBAGS||Integer||Integer that if set to 1 on the mount will indicate the horse has saddle bags. It will support inventory control if it is enabled (NOT: by default). You will also want to set the dialog X3_DLG_SADDLEBAG on the horse blueprint. Or, create your own dialog that handles what the saddlebags one does. You will only be able to access saddlebags of associates in your party.|
Script to call for assign mount instead of using the default one called by the horse menu feat. This is intended for making the radial menus do something different just for this horse and is not intended to alter the HorseDismount , etc. functions. There are already POSTMOUNT, POSTDISMOUNT, PREMOUNT, and PREDISMOUNT hooks which make that functionality possible so, that is not what this variable is for.
Script to call for dismounting instead of using the default one called by the horse menu feat. This is intended for making the radial menus do something different just for this horse and is not intended to alter the HorseDismount , etc. functions. There are already POSTMOUNT, POSTDISMOUNT, PREMOUNT, and PREDISMOUNT hooks which make that functionality possible so, that is not what this variable is for.
Script to call for mounting instead of using the default one called by the horse menu feat. This still checks to make sure mounting in the area is legal first. This is intended for making the radial menus do something different just for this horse and is not intended to alter the HorseDismount , etc. functions. There are already POSTMOUNT, POSTDISMOUNT, PREMOUNT, and PREDISMOUNT hooks which make that functionality possible, so that is not what this variable is for.
Area related variables.
|Local Variable Name||Variable Type||Description|
|bX3_MOUNT_NO_ZAXIS||Integer||Value to set to TRUE or 1 on the module, PC, or area to indicate when calculating the proper mounting location you do not want the Z Axis to be included in the measurement. This has been found to work well in areas where you do not want the Z axis to be measured in terms of whether to perform the mounting animation or not.|
|fX3_DISMOUNT_MULTIPLE||UNKNOWN||Is similar to fX3_MOUNT_MULTIPLE and should only be supplied if you want the dismount to use a different speed than the mount multiple. It can be set on the area or on the PC. The PC will take priority over the area.|
|fX3_MOUNT_MULTIPLE||Float|| Is a floating point value that is multiplied times all delays if it exists on the area. It can be used to make an area perform the mounting animations at a different speed if you have really busy areas and want to make the animation faster or slower. If this is not defined then it will always be a value of 1.0. If it is set to 0.5 then delays will be shortened by half. If it is set to 2.0 then the delays will take 200% longer. This is something a module builder will need to be aware of and can adjust.|
NOTE: This can be set on the PC as well and whichever number is larger is the one that will be used.
If set to TRUE, distance between player and horse is recorded and checked in each cycle against the current one, when moving to a horse during the mounting procedure. Should the two ever be equal, meaning that the player got stuck on his way to horse, the mounting procedure will be terminated. This is handy in cases when horses are behind obstacles that are hard to overcome like walls, but the timer that ensures that rider can mount his horse even in difficult terrain, would eventually force-mount the potential rider, which could seem like an illogical act. This doesn't need to be used when using X3_HORSE_ACT_VS_DELAY option, where the timer starts ticking only after the player gets as close as 1.5m to a horse. The switch can be set on an area or horses (ie. using an OnEnter script of a trigger).
|X3_HITCHING_POST||String||If a placeable or waypoint in the area a person was in before entering a new area has a tag of this then it will move any horses to this object and set them to STAND_GUARD mode.|
|X3_MOUNT_OK_EXCEPTION||Integer||Is an integer that if set to 1 on this area will override the external and underground restrictions for this area that may be set module wide.|
|X3_NO_HORSES||Integer||Horses are not allowed in this area.|
|X3_NO_MOUNTING||Integer||Horses may not be ridden in this area and anyone attempting to do so should be forcibly dismounted.|
Module related variables.
|Local Variable Name||Variable Type||Description|
|X3_ENABLE_MOUNT_DAMAGE||Integer||If set to 1 will attempt to transfer some damage to the mount when a rider dismounts if damage occurred while they were mounted.|
|X3_ENABLE_MOUNT_DB||Integer||If set to 1 will enable database and persistent world support with this script. You will want to modify the HORSE_Support functions related to the database so, that they write and read properly however you have the database setup in your module. You will also want to plan on using something like the x3_mod_def_hb script for your module heartbeat script if you are going to use the database. This is not used on modules by default.|
|X3_EXTEND_PALDMOUNT||String||If set on the module object will allow a person to extend this paladin mount script to call other scripts in a daisy chain type situation such as saddle bag handling ones.|
|X3_EXTEND_PALMOUNT||String||If set on the module object will allow a person to extend this paladin mount script to call other scripts in a daisy chain type situation such as saddle bag handling ones.|
|X3_HORSE_ACT_VS_DELAY||Integer||Set on the module to 1 to indicate you want the system to use Actions as opposed to delays in some portions of the mounting sequence. Doing this might provide another way to handle inaccessible horses besides using X3_HORSE_NOT_RIDEABLE_OWNER. It may result in not being able to access accidentally poorly placed horses due to scripts or other factors, but it may be desired by some module designers so it has been provided as an option.|
|X3_HORSE_DISABLE_SPEED||Integer||If set to 1 on the module object will indicate you do not want a speed increase applied when a person mounts.|
|X3_HORSE_DISABLE_SKILL||Integer||If set to 1 on the module object will indicate you do not want the skill decreases to be applied when a person mounts.|
|X3_HORSE_ENABLE_ACBOOST||Integer||If set to 1 on the module object will indicate that you want the PCs AC to be increased if need be to at least match that of the horse that is being mounted.|
|X3_HORSE_ENABLE_HPBOOST||Integer||If set to 1 on the module object will indicate that you want the PCs Hit Points to be increased by half of the hit points of the mount when it is mounted.|
|X3_HORSE_ENABLE_SADDLEBAGS||Integer||If set to 1 on the module will enable inventory support for the horse. NOTE: If you want it to use a quick non-database method for storing the inventory place a waypoint with the tag X3_HORSE_INVENTORY_STORAGE somewhere in an area that a PC can never get to. If this waypoint does not exist then it will assume that the database is to be used. If you are using a database it is advisable that you change the support functions because they use the standard database system and it will often prove slower than you may like.|
|X3_HORSE_MAX_HENCHMEN||Integer||Set on the module to indicate the maximum number to increase the maximum henchmen count setting to in order to make room for horses. By default there is no maximum.|
|X3_HORSE_NO_CORPSES||Integer||Set on the module to 1 to indicate you do not want lootable horse corpses created when a mounted PC or NPC dies.|
|X3_HORSE_NO_HENCHMAN_INCREASE||Integer||If set to 1 on the module will prevent the maximum number of henchmen from being increased to make room for the horse.|
|X3_HORSE_PALADIN_USE_PHB||Integer||If set to 1 on the module object will cause the script to use paladin mount summoning durations as specified in the Player's Handbook 3.5 edition rather than just defaulting to 24 hours.|
|X3_MOUNT_NO_REST_DESPAWN||Integer||If set to 1 on the module, this setting will make it so that your paladin mount is not despawned when you rest and adheres strictly to his summoned duration. If time is advanced by resting then it is still possible it will despawn.|
|X3_MOUNT_NO_REST_DISMOUNT||Integer||If set to 1 on the module, this setting will make it so that you are able to rest while mounted.|
|X3_MOUNTS_EXTERNAL_ONLY||Integer||If set to 1 on the module will make it so mounts can only be ridden in external areas. There is an exception variable that can be set on an area to override this.|
|X3_MOUNTS_NO_UNDERGROUND||Integer||If set to 1 on the module will make it so mounts cannot be ridden in underground areas. There is an exception variable that can be set on an area to override this.|
If set to 1 on the module object will indicate that you do not want the SetCommandable() commands to be used with the module.
|X3_NO_MOUNTED_COMBAT_FEAT||Integer||If set to 1 on the module object will indicate that you do not want the special code added to Bioware scripts to try to support Mounted Combat close to how it is in Player's Handbook to be used.|
|X3_NO_SHAPESHIFT_SPELL_CHECK||Integer||If set to 1 on the module will prevent the script from checking to see if a shapeshifted spell is targeted on a mounted creature. If this variable is set to 1 then the x2_inc_spellhook scripts will work exactly like they did before horses were introduced with no concern whether the target is mounted or not.|
|X3_RESTORE_HENCHMEN_LOCATIONS||Integer||Set to 1 on the module if you want henchmen's henchmen to be restored to a location near the henchman that is their master when a PC master of the henchman connects. This is NOT enabled by default to prevent problems with older modules.|
|X3_SADDLEBAG_DATABASE||String||Set to the name of the database to use for storing saddlebag inventory. If no name is specified it will use the module tag and a small modifier.|
These variables can be set on the module or the player.
|Local Variable Name||Variable Type||Description|
|X3_PALMOUNT_SUMMONOVR||String|| If set on the module or the player (player has priority) it will do all the checks to see if a summon is okay. Then if this variable is set it will execute the script you define here rather than using the standard summon paladin mount function. |
Beware: If you use this then handling all other aspects of this mount become your responsibility.
|fX3_TIMEOUT_TO_MOUNT||Float||Set on the module or PC to indicate how long the PC/NPC should attempt to move into a proper mounting animation to perform the mounting animation. When this time is reached if it is still not in position it will instant mount instead and will not animate. If this value is lower than 6.0 or is not set, then the default value of 18.0 will be used.|
Frequency of recursive call of the HorseMount() function to try and initiate new pathfinding to the horse every time until the character reaches the mounting position or until the time limit for mounting is up or unless X3_HORSE_ACT_VS_DELAY is set to TRUE, in which case the action queue is not locked and moving towards a horse is interruptible, ie. by clicking. If set larger than 9.0 or less than 1.0 the value defaults to 2.0 seconds.
|bX3_MOUNT_NO_ZAXIS||Integer||Set to TRUE or 1 on the module, PC, or area to indicate when calculating the proper mounting location you do not want the Z Axis to be included in the measurement. This has been found to work well in areas where you do not want the Z axis to be measured in terms of whether to perform the mounting animation or not.|
|HORSE_ANIMATION_DISMOUNT||42||The following constants indicate which animation numbers indicate which animations can be used well with the horse system.|
|HORSE_ANIMATION_LOOPING_JOUST_FALL||ANIMATION_LOOPING_CUSTOM5|| Indicate which animation numbers indicate which animations can be used well with the horse system. |
ANIMATION_LOOPING_CUSTOM5 is defined in nwscript as 25.
|HORSE_ANIMATION_LOOPING_JOUST_GLANCE||ANIMATION_LOOPING_CUSTOM4|| Indicate which animation numbers indicate which animations can be used well with the horse system. |
ANIMATION_LOOPING_CUSTOM4 is defined in nwscript as 24.
NOTE: This is the same integer value as HORSE_ANIMATION_LOOPING_JOUST_HELMOFF.
|HORSE_ANIMATION_LOOPING_JOUST_HELMOFF||ANIMATION_LOOPING_CUSTOM4|| Indicate which animation numbers indicate which animations can be used well with the horse system. |
ANIMATION_LOOPING_CUSTOM4 is defined in nwscript as 24.
NOTE: This is the same integer value as HORSE_ANIMATION_LOOPING_JOUST_GLANCE.
|HORSE_ANIMATION_LOOPING_JOUST_STAB||ANIMATION_LOOPING_CUSTOM10|| Indicate which animation numbers indicate which animations can be used well with the horse system. |
ANIMATION_LOOPING_CUSTOM10 is defined in nwscript as 30.
|HORSE_ANIMATION_LOOPING_JOUST_VIOLENT_FALL||ANIMATION_LOOPING_CUSTOM3|| Indicate which animation numbers indicate which animations can be used well with the horse system.|
ANIMATION_LOOPING_CUSTOM3 is defined in nwscript as 23.
|HORSE_ANIMATION_MOUNT||41||The following constants indicate which animation numbers indicate which animations can be used well with the horse system.|
|HORSE_APPEARANCE_OFFSET||496||Points to the location in the appearance.2da where the unmounted horse appearances occur.|
|HORSE_DEFAULT_SPEED_INCREASE||99||Designates the default speed increase that should be granted when a person mounts a horse.|
|HORSE_DISMOUNT_DURATION||3.0||Defines the duration in seconds that it should take to complete the default animation.|
|HORSE_FOOTSTEP_SOUND||17||Defines what footstep sound should be used when the horse is mounted.|
|HORSE_MOUNT_DURATION||2.0||Defines the duration in seconds that it should take to complete the default animation.|
|HORSE_NUMBER_OF_HORSES||65||Lists how many horses are listed beginning at the location specified by the offset.|
|HORSE_NULL_RACE_DWARF||562||What appearance to use when scaling the horse as a tail during mounting process to make the animation be handled properly.|
|HORSE_NULL_RACE_ELF||563||What appearance to use when scaling the horse as a tail during mounting process to make the animation be handled properly.|
|HORSE_NULL_RACE_GNOME||564||What appearance to use when scaling the horse as a tail during mounting process to make the animation be handled properly.|
|HORSE_PALADIN_PREFIX||x3_palhrs||The prefix that should be used with the paladin mounts when spawning them.|
|HORSE_PHENOTYPE_MOUNTED_L||5||Indicate which phenotype numbers should be used by the mounting system. _N specifies the mounting race started as a normal phenotype, and _L specifies the race started as a large phenotype.|
|HORSE_PHENOTYPE_MOUNTED_N||3||Indicate which phenotype numbers should be used by the mounting system. _N specifies the mounting race started as a normal phenotype, and _L specifies the race started as a large phenotype.|
|HORSE_PHENOTYPE_JOUSTING_L||8||Indicate which phenotype numbers should be used by the mounting system. _N specifies the mounting race started as a normal phenotype, and _L specifies the race started as a large phenotype.|
|HORSE_RACE_MOUNTED_DWARFF||482||Specifies the appearance that should be used when the specified mount is mounted. These appearances are often required to set the proper speeds, radiuses, etc. They also have the complete phenotypes and animations associated with them.|
|HORSE_RACE_MOUNTED_DWARFM||483||Specifies the appearance that should be used when the specified mount is mounted. These appearances are often required to set the proper speeds, radiuses, etc. They also have the complete phenotypes and animations associated with them.|
|HORSE_RACE_MOUNTED_ELFF||484||Specifies the appearance that should be used when the specified mount is mounted. These appearances are often required to set the proper speeds, radiuses, etc. They also have the complete phenotypes and animations associated with them.|
|HORSE_RACE_MOUNTED_GNOMEF||486||Specify the appearance that should be used when the specified mount is mounted. These appearances are often required to set the proper speeds, radiuses, etc. They also have the complete phenotypes and animations associated with them.|
|HORSE_RACE_MOUNTED_HALFELFF||490||Specify the appearance that should be used when the specified mount is mounted. These appearances are often required to set the proper speeds, radiuses, etc. They also have the complete phenotypes and animations associated with them.|
|HORSE_RACE_MOUNTED_HALFELFM||491||Specify the appearance that should be used when the specified mount is mounted. These appearances are often required to set the proper speeds, radiuses, etc. They also have the complete phenotypes and animations associated with them.|
|HORSE_TAIL_OFFSET||15||Points to the location in the tails.2da where the horse appearances begin.|
|IP_CONST_HORSE_MENU||40||The specific feats that might be needed to handle horses|
|X3_ACTION_DELAY||0.8||This constant is a safety to be inserted between the ClearAllActions and a command to play a dismount animation. If set to 0.0 or if missing, the dismount animation will not play properly when trying to dismount a horse while in motion. If you ever encounter problems with mounting animation, try inserting this small delay in the same fashion in the animated mounting procedure. All pending DelayCommands shall respect this delay accordingly for the sake of precise timing. Values of 0.8f and above are safe to use.|
|Add horse menu to a Player Character.|
|Change a creature to its standard race appearance.|
|Create a horse.|
|Action - Dismount from horse.|
|Force a creature to jump to an object.|
|Check whether an object can be mounted.|
|Check if a creature has a horse.|
|Retrieves the horses owned by a creature.|
|Check whether a creature is a mount.|
|Detect whether a creature is disabled.|
|Check if a creature is mounted.|
|Obtain the horse mount error message.|
|Retrieves the tail used for a horse.|
|Retrieves an object's assigned horse.|
|Retrieves the owner of a horse.|
|Retrieves a creature's Paladin mount.|
|Hitch a party's horses.|
|Change a creature to its standard race appearance if necessary.|
|Change a creature to a mounted appearance instantly.|
|Action - Mount a horse.|
|Move associates away from master.|
|Preload horse animations.|
|Reload horse system from database.|
|Remove the owner from a horse.|
|Locate henchman's horses correctly.|
|Return inventory (saddlebags) to a horse.|
|Save party horses.|
|Set horse owner.|
|Set a creature to the riding phenotype.|
|Store a horse's inventory (saddlebags).|
|Action - Summon a Paladin mount.|
|Action - Unsummon a Paladin mount.|
|HORSE_Support_AssignRemainingMount||Internal function. Make a link between the oOwner and one of the horses he may own.|
|HORSE_SupportAbsoluteMinute||Internal function. Returns the current absolute time expressed in minutes.|
|HORSE_SupportAdjustMountedArcheryPenalty||Internal function. Check for feats and adjust penalties to archery while mounted.|
|HORSE_SupportApplyACBonus||Internal function. Apply AC bonus.|
|HORSE_SupportApplyHPBonus||Internal function. Apply HP bonus.|
|HORSE_SupportApplyMountedSkillDecreases||Internal function. Applies decreases to skills while mounted.|
|HORSE_SupportCleanVariables||Internal function. Remove any mount related variables after dismount.|
|HORSE_SupportCountHenchmen||Internal function. Return the number of henchmen.|
|HORSE_SupportDeleteFromDatabase||Internal function. Delete Henchmen information from the database.|
|HORSE_SupportDeleteMountedPCFromDatabase||Internal function. This will remove the info about this PC being mounted.|
|HORSE_SupportGetHenchmanExistsInDatabase||Internal function. Return TRUE if there is a henchman saved in the database.|
|HORSE_SupportGetMountedAppearance||Internal function. Return which appearance the rider should use when mounted.|
|HORSE_SupportGetMountLocation||Internal function. To Locate the location to place the mount.|
|HORSE_SupportHandleDamage||Internal function. Handle resetting damage to the horse back to its original setting and also support damage sharing with the horse if that feature is enabled.|
|HORSE_SupportIncreaseSpeed||Internal function. Change the movement speed based on that of the horse (wont work unless EffectMovementSpeedIncrease() bug is fixed).|
|HORSE_SupportMonitorPaladinUnsummon||Internal function. Monitor whether to unsummon the paladin mount.|
|HORSE_SupportMountAppearance||Internal function. Return the appearance of the mount oRider is on.|
|HORSE_SupportMountCleanVariables||Internal function. Clean variables off of oRider related to the mount.|
|HORSE_SupportMountFootstep||Internal function. Return the footstep sound of the rider is supposed to be when not mounted.|
|HORSE_SupportMountResRef||Internal function. Return the resref of the mount oRider is on.|
|HORSE_SupportMountScript||Internal function. Return the post spawn script to run for the horse oRider is riding.|
|HORSE_SupportMountTag||Internal function. Return the tag of the mount that rider is riding.|
|HORSE_SupportMountTail||Internal function. Return the tail of the mount oRider is on.|
|HORSE_SupportNullAppearance||Internal function. This will return which appearance should be used to handle animation.|
|HORSE_SupportOriginalSpeed||Internal function. Remove speed increases based upon mounted.|
|Horse_SupportRaceAppearance||Internal function. This will return TRUE if the appearance passed as a parameter is an appearance used as part of the mounting process.|
|HORSE_SupportRaceRestrictString||Internal function. This will return the race restriction string to use for oRider.|
|HORSE_SupportReloadMountedPCFromDatabase||Internal function. This will restore the mounted information about the PC.|
|HORSE_SupportRemoveACBonus||Internal function. Remove AC Bonus.|
|HORSE_SupportRemoveHPBonus||Internal function. Remove HP Bonus.|
|HORSE_SupportRemoveMountedSkillDecreases||Internal function. To remove any negative effects caused by being mounted.|
|HORSE_SupportResetUnmountedAppearance||Internal function. Reset oRider to an unmounted appearance|
|HORSE_SupportRestoreFromPreload||Internal function. Restore to previous appearance before preload.|
|HORSE_SupportRestoreHenchmanFromDatabase||Internal function. This will reload and assign the henchman to the PC.|
|HORSE_SupportRiderAppearance||Internal function. Return the appearance of oRider when not mounted.|
|HORSE_SupportRiderPhenotype||Internal function. Return the phenotype of the rider when not mounted.|
|HORSE_SupportSaveToDatabase||Internal function. Save henchman to database.|
|HORSE_SupportSetMountingSentinel||Internal function. This will set a mounting process that will make sure the PC or NPC is returned to commandable.|
|HORSE_SupportStoreMountedPCInDatabase||Internal function. This will store the PCs information about being mounted.|
|HORSE_SupportTransferInventory||Internal function. Delay Command transfer to handle moving inventory.|
|HORSE_SupportTransferPreservedValues||Internal function. This will transfer preserved values for the mounted horse to oHorse from oRider and then will remove them from oRider.|
|HorseHandleDeath||Internal function. Handle horses, re-assigning dying henchman's horse, handle mounted henchman's death (dismount, transfer saddlebag content to horse, re-assign horse to PC or free it).|
|HorseReassign||Internal function. To handle horse reassign|
|KillTheHorse||Internal function. To Kill the horse.|
author: Mistress, editor: Fireboar, contributor: Proleric