X0 i0 henchman
From NWN Lexicon
[edit] x0_i0_henchman
This include file REPLACES the original henchman include file (x0_i0_common.
[edit] Constants
Name | Value | Brief Description |
---|---|---|
DELAY_BETWEEN_RESPAWN_CHECKS | 3.0 | Amount of time to pass between respawn checks. |
HENCHMEN_DIE_ANIM_DURATION | 6500000000.0 | Duration henchmen play their die animations. |
MAX_RESPAWN_WAIT | 60.0 | The maximum length of time to wait before respawn. |
sDeekin | X0_HEN_DEE | XP1 Henchmen tag. |
sDorna | X0_HEN_DOR | XP1 Henchmen tag. |
sGoHomeScript | x0_ch_hen_gohome | Script name. |
sHenchmanDeathVarname | NW_L_HEN_I_DIED | |
sHenchmanDyingVarname | X0_HEN_IS_DYING | |
sHenchmanKilledSuffix | _GOTKILLED | |
sHenchmanResurrectedSuffix | _RESURRECTED | |
sIsHiredVarname | X0_IS_CURRENTLY_HIRED | |
sLastMasterVarname | X0_LAST_MASTER_TAG | |
sStoredHenchmanVarname | X0_HEN_STORED | |
sXandos | X0_HEN_XAN | XP1 Henchmen tag. |
X0_NUMBER_HENCHMEN | 3 | Number of henchmen. |
X2_NUMBER_HENCHMEN | 2 |
This won't be the same as the GetMaxHenchmen() function due to followers. |
[edit] Functions
Name | Brief Description |
---|---|
AdjustXP2Levels | Internal function. Adjusts the levels for the henchmen. |
brentDebug | Internal function. Commented out SendMessageToPC message to GetFirstPC. |
CopyHenchmanLocals | Copy all henchman-related local variables from source to target. Used when henchmen level up to keep variables consistent between the two copies of the henchman. This is a good function to look at to see what the local variables used on henchmen are. |
DoLevelUp |
If you want a function that will return OBJECT_INVALID no matter what parameters you send it, this one is for you! |
DoRespawn | This function actually invokes the respawn. |
DoRespawnCheck | Perform a single respawn check -- this function works in a circle with RespawnCheck. |
FireHenchman | Use to fire the henchman. |
GetCanLevelUp |
If you want a function that will return FALSE no matter what parameters you send it, this one is for you! |
GetDidDie |
Returns TRUE if the henchman died. UNLIKE original in nw_i0_henchman , does NOT reset the value -- use SetDidDie(FALSE) to do that. |
GetDidQuit | Determine if the henchman quit. |
GetDialogFile | Internal function. Returns dialog file to use based on the state of the henchmen. |
GetDialogFileToUse | Internal function. Returns the filename for the appropriate dialog file to be used. Henchmen have various dialog files throughout the game. |
GetHasMaxWaitPassed | See if our maximum wait time has passed. |
GetHasMet | Returns TRUE if the player has met this henchman. This uses local variables, not campaign variables. |
GetIsFollower | Returns TRUE if oHench is a follower. |
GetIsHenchmanDying | Determine if this henchman is currently dying. |
GetIsHired | Returns TRUE if the henchman is currently hired. |
GetKilled | Determine if this PC got the henchman killed. |
GetLastMaster | Returns the last master of this henchman (useful for death situations). |
GetPlayerHasHired | Determine whether the player has ever hired this henchman. |
GetPlayerHasHiredInCampaign | Indicate whether the player has ever hired this henchman in this campaign. |
GetResurrected | Determine if this PC resurrected the henchman. |
GetWorkingForPlayer |
Determine whether the henchman is currently working for this PC. |
HireHenchman | Can be used for both initial hiring and rejoining. |
KeepDead | Keep dead by playing the appropriate death animation for the maximum wait until respawn. |
LevelHenchmanUpTo | Levels a henchman up to the given level, alternating between the first and second classes if they are multiclassed. |
LevelUpAribeth | Internal function. Initial Aribeth you meet in Chapter 3. Levels her up to level 16 Paladin, Level 6 Blackguard. |
LevelUpXP1Henchman | Levels up the henchman assigned to oPC. |
PartialRes | Internal function. Does a partial restoration to get rid of negative effects. |
PostRespawnCleanup | Clean up after the respawn. |
PreRespawnSetup | Set up before the respawn. |
QuitHenchman | Used when the henchman quits. |
RaiseForRespawn | Raise and freeze henchman to 1 hp so they can be stabilized. |
RemoveAllFollowers | Removes all followers. If bRemoveAll = TRUE then remove normal henchies too. |
RespawnCheck | Do the checking to see if we respawn -- this function works in a circle with DoRespawnCheck. |
RespawnHenchman | Respawn the henchman, by preference at the master's current respawn point, or at the henchman's starting location otherwise. |
RetrieveCampaignHenchman | Call this function when a PC enters a sequel module to restore the henchman (complete with inventory). The function StoreCampaignHenchman must have been called first, and both modules must use the same campaign database. (See notes in x0_i0_campaign.) The restored henchman will automatically be re-hired and will be created next to the PC. |
RetrieveHenchmanItems | Retrieve (and then delete) all henchman inventory items out of the campaign database, putting them in the inventory of the henchman. This is paired with StoreHenchmanItems for the leveling-up process. |
SetDidDie | Set on the henchman to indicate they died; can also be used to unset this variable. |
SetDidQuit | Set whether the henchman quit this player's employ. |
SetHasMet | Use when the player first meets the henchman/NPC. This uses local variables, not campaign variables. |
SetHenchmanDying | Wrapper function added to fix bugs in the dying-state process. Need to figure out whenever his value changes. |
SetIsFollower | Sets whether oHench is a follower or not. |
SetKilled | Set got killed. |
SetLastMaster | Set the last master. |
SetNumberOfRandom | Internal function. Sets the number of random popups or interjections that the henchman has. Should be called in henchman spawn scripts. |
SetPlayerHasHired | Indicate whether the player has ever hired this henchman. |
SetPlayerHasHiredInCampaign | Indicate whether the player has ever hired this henchman in this campaign. |
SetResurrected | Set that this PC resurrected the henchman. |
StopKeepingDead | Stop keeping dead by playing the 'woozy' standing animation. |
StoreCampaignHenchman | Call this function when the PC is about to leave a module to enable restoration of the henchman on re-entry into the sequel module. Both modules must use the same campaign database for this to work. |
StoreHenchmanItems | Store all items in the henchman's inventory in the campaign database, skipping those items which have the henchman's tag in their name. This is paired with RetrieveHenchmanItems for the leveling-up process. |
WrapCommandable | Internal function. Toggles the henchman's commandable status. |
X2_GetNumberOfHenchmen | Internal function. Count number of henchman. |
X2_FireFirstHenchman | Internal function. Fires the first henchman who is not a follower. |
author: Mistress, contributor: Graewerld