X3 inc horse

From NWN Lexicon
Jump to: navigation, search


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.
X3_HORSE_POSTMOUNT_SCRIPT String

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 useable 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.

X3_HORSE_RESTRICT_race

UNKOWN

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.
X3_TOTAL_MOUNT_ANIMATION_DELAY Float

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.
X3_HORSE_SCRIPT_ASSIGN String

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.

X3_HORSE_SCRIPT_DISMOUNT String

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.

X3_HORSE_SCRIPT_MOUNT String

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.
X3_ABORT_WHEN_STUCK Integer

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.
X3_NO_MOUNT_COMMANDABLE Integer

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.
fX3_FREQUENCY Float

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.


Constants

Name Value Brief Description
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_NULL_RACE_HALFELF 566 What appearance to use when scaling the horse as a tail during mounting process to make the animation be handled properly.
HORSE_NULL_RACE_HALFLING 565 What appearance to use when scaling the horse as a tail during mounting process to make the animation be handled properly.
HORSE_NULL_RACE_HALFORC 567 What appearance to use when scaling the horse as a tail during mounting process to make the animation be handled properly.
HORSE_NULL_RACE_HUMAN 568 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_PHENOTYPE_JOUSTING_N 6 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_ELFM 485 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_GNOMEM 487 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_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_RACE_MOUNTED_HALFLINGF 488 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_HALFLINGM 489 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_HALFORCF 492 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_HALFORCM 493 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_HUMANF 494 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_HUMANM 495 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.
X3_HORSE_DATABASE X3HORSE UNKNOWN


Functions

Name Brief Description

HorseAddHorseMenu

Add horse menu to a Player Character.

HorseChangeToDefault

Change a creature to its standard race appearance.

HorseCreateHorse

Create a horse.

HorseDismount

Action - Dismount from horse.

HorseForceJump

Force a creature to jump to an object.

HorseGetCanBeMounted

Check whether an object can be mounted.

HorseGetHasAHorse

Check if a creature has a horse.

HorseGetHorse

Retrieves the horses owned by a creature.

HorseGetIsAMount

Check whether a creature is a mount.

HorseGetIsDisabled

Detect whether a creature is disabled.

HorseGetIsMounted

Check if a creature is mounted.

HorseGetMountFailureMessage

Obtain the horse mount error message.

HorseGetMountTail

Retrieves the tail used for a horse.

HorseGetMyHorse

Retrieves an object's assigned horse.

HorseGetOwner

Retrieves the owner of a horse.

HorseGetPaladinMount

Retrieves a creature's Paladin mount.

HorseHitchHorses

Hitch a party's horses.

HorseIfNotDefaultAppearanceChange

Change a creature to its standard race appearance if necessary.

HorseInstantDismount

Dismount instantly.

HorseInstantMount

Change a creature to a mounted appearance instantly.

HorseMount

Action - Mount a horse.

HorseMoveAssociates

Move associates away from master.

HorsePreloadAnimations

Preload horse animations.

HorseReloadFromDatabase

Reload horse system from database.

HorseRemoveOwner

Remove the owner from a horse.

HorseRestoreHenchmenLocations

Locate henchman's horses correctly.

HorseRestoreInventory

Return inventory (saddlebags) to a horse.

HorseSaveToDatabase

Save party horses.

HorseSetOwner

Set horse owner.

HorseSetPhenotype

Set a creature to the riding phenotype.

HorseStoreInventory

Store a horse's inventory (saddlebags).

HorseSummonPaladinMount

Action - Summon a Paladin mount.

HorseUnsummonPaladinMount

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_SupportDismountWrapper Internal function.
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.
HorseDismountWrapper Internal function.
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.


Version

1.69


author: Mistress, editor: Fireboar, contributor: Proleric