Changed XP system over to PnP XP system

Changed XP system over to PnP XP system.  Updated NWNxEE scripts.  Full compile.  Updated public release archive.
This commit is contained in:
Jaysyn904
2024-03-13 21:52:56 -04:00
parent 786c640862
commit f5a98c2d22
85 changed files with 3041 additions and 673 deletions

View File

@@ -50,6 +50,15 @@ struct NWNX_Area_TileInfo
int nGridY; ///< The tile's grid y position
};
/// @brief Area wind info struct
struct NWNX_Area_AreaWind
{
vector vDirection; ///< Wind's direction
float fMagnitude; ///< Wind's magnitude
float fYaw; ///< Wind's yaw
float fPitch; ///< Wind's pitch
};
/// @brief Gets the number of players in area.
/// @param area The area object.
/// @return The player count for the area.
@@ -328,6 +337,18 @@ int NWNX_Area_GetAreaFlags(object oArea);
/// @param nFlags The flags.
void NWNX_Area_SetAreaFlags(object oArea, int nFlags);
/// @brief Get oArea's detailed win data.
/// @note vDirection returns [0.0, 0.0, 0.0] if not set previously with SetAreaWind nwscript function.
/// @param oArea The area.
struct NWNX_Area_AreaWind NWNX_Area_GetAreaWind(object oArea);
/// @brief Set the default discoverability mask for objects in an area.
/// @param oArea The area or OBJECT_INVALID to set a global mask for all areas. Per area masks will override the global mask.
/// @param nObjectTypes A mask of OBJECT_TYPE_* constants or OBJECT_TYPE_ALL for all suitable object types. Currently only works on Creatures, Doors (Hilite only), Items and Useable Placeables.
/// @param nMask A mask of OBJECT_UI_DISCOVERY_*
/// @param bForceUpdate If TRUE, will update the discovery mask of ALL objects in the area or module(if oArea == OBJECT_INVALID), according to the current mask. Use with care.
void NWNX_Area_SetDefaultObjectUiDiscoveryMask(object oArea, int nObjectTypes, int nMask, int bForceUpdate = FALSE);
/// @}
int NWNX_Area_GetNumberOfPlayersInArea(object area)
@@ -836,3 +857,32 @@ void NWNX_Area_SetAreaFlags(object oArea, int nFlags)
NWNX_PushArgumentObject(oArea);
NWNX_CallFunction(NWNX_Area, sFunc);
}
struct NWNX_Area_AreaWind NWNX_Area_GetAreaWind(object oArea)
{
string sFunc = "GetAreaWind";
struct NWNX_Area_AreaWind data;
NWNX_PushArgumentObject(oArea);
NWNX_CallFunction(NWNX_Area, sFunc);
data.fPitch = NWNX_GetReturnValueFloat();
data.fYaw = NWNX_GetReturnValueFloat();
data.fMagnitude = NWNX_GetReturnValueFloat();
data.vDirection.x = NWNX_GetReturnValueFloat();
data.vDirection.y = NWNX_GetReturnValueFloat();
data.vDirection.z = NWNX_GetReturnValueFloat();
return data;
}
void NWNX_Area_SetDefaultObjectUiDiscoveryMask(object oArea, int nObjectTypes, int nMask, int bForceUpdate = FALSE)
{
string sFunc = "SetDefaultObjectUiDiscoveryMask";
NWNX_PushArgumentInt(bForceUpdate);
NWNX_PushArgumentInt(nMask);
NWNX_PushArgumentInt(nObjectTypes);
NWNX_PushArgumentObject(oArea);
NWNX_CallFunction(NWNX_Area, sFunc);
}