Updated TLK for PRC8 update
Updated TLK for PRC8 update. Added placeable house blueprints. Updated NWNxEE. Full compile.
This commit is contained in:
@@ -6,9 +6,24 @@
|
||||
|
||||
const string NWNX_Effect = "NWNX_Effect"; ///< @private
|
||||
|
||||
/// EQUIPPED effects are always associated with a slotted item:
|
||||
/// Setting this duration type requires the effect creator
|
||||
/// to be set to the (already equipped) item that should remove
|
||||
/// this effect when unequipped.
|
||||
/// Removal behaviour for effects where the creator is NOT a equipped
|
||||
/// item is undefined.
|
||||
/// They are not removed by resting, cannot be dispelled, etc.
|
||||
const int DURATION_TYPE_EQUIPPED = 3;
|
||||
|
||||
/// These are feat/racial effects used internally by the game to
|
||||
/// implement things like movement speed changes and darkvision.
|
||||
/// They cannot be removed by resting, dispelling, etc.
|
||||
const int DURATION_TYPE_INNATE = 4;
|
||||
|
||||
/// An unpacked effect
|
||||
struct NWNX_EffectUnpacked
|
||||
{
|
||||
string sID; ///< @todo Describe
|
||||
int nType; ///< @todo Describe
|
||||
int nSubType; ///< @todo Describe
|
||||
|
||||
@@ -54,6 +69,8 @@ struct NWNX_EffectUnpacked
|
||||
vector vParam1; ///< @todo Describe
|
||||
|
||||
string sTag; ///< @todo Describe
|
||||
|
||||
string sItemProp; ///< @todo Describe
|
||||
};
|
||||
|
||||
/// @brief Convert native effect type to unpacked structure.
|
||||
@@ -66,194 +83,320 @@ struct NWNX_EffectUnpacked NWNX_Effect_UnpackEffect(effect e);
|
||||
/// @return The effect.
|
||||
effect NWNX_Effect_PackEffect(struct NWNX_EffectUnpacked e);
|
||||
|
||||
/// @brief Set a script with optional data that runs when an effect expires
|
||||
/// @param e The effect.
|
||||
/// @param script The script to run when the effect expires.
|
||||
/// @param data Any other data you wish to send back to the script.
|
||||
/// @remark OBJECT_SELF in the script is the object the effect is applied to.
|
||||
/// @note Only works for TEMPORARY and PERMANENT effects applied to an object.
|
||||
effect NWNX_Effect_SetEffectExpiredScript(effect e, string script, string data = "");
|
||||
|
||||
/// @brief Get the data set with NWNX_Effect_SetEffectExpiredScript()
|
||||
/// @note Should only be called from a script set with NWNX_Effect_SetEffectExpiredScript().
|
||||
/// @return The data attached to the effect.
|
||||
string NWNX_Effect_GetEffectExpiredData();
|
||||
|
||||
/// @brief Get the effect creator.
|
||||
/// @note Should only be called from a script set with NWNX_Effect_SetEffectExpiredScript().
|
||||
/// @return The object from which the effect originated.
|
||||
object NWNX_Effect_GetEffectExpiredCreator();
|
||||
|
||||
/// @brief replace an already applied effect on an object
|
||||
/// Only duration, subtype, tag and spell related fields can be overwritten.
|
||||
/// @note eNew and eOld need to have the same type.
|
||||
/// @return Number of internal effects updated.
|
||||
int NWNX_Effect_ReplaceEffect(object obj, effect eOld, effect eNew);
|
||||
|
||||
/// @brief Gets the true effect count
|
||||
/// @param oObject The object to get the count of.
|
||||
/// @return the number of effects (item properties and other non-exposed effects included)
|
||||
int NWNX_Effect_GetTrueEffectCount(object oObject);
|
||||
|
||||
/// @brief Gets a specific effect on an object. This can grab effects normally hidden from developers, such as item properties.
|
||||
/// @param oObject The object with the effect
|
||||
/// @param nIndex The point in the array to retrieve (0 to GetTrueEffectCount())
|
||||
/// @return A constructed NWNX_EffectUnpacked.
|
||||
struct NWNX_EffectUnpacked NWNX_Effect_GetTrueEffect(object oObject, int nIndex);
|
||||
|
||||
/// @brief Replaces an already applied effect with another.
|
||||
/// @param oObject The object with the effect to replace
|
||||
/// @param nIndex The array element to be replaced
|
||||
/// @param e The unpacked effect to replace it with.
|
||||
/// @note Cannot replace an effect with a different type or ID.
|
||||
void NWNX_Effect_ReplaceEffectByIndex(object oObject, int nIndex, struct NWNX_EffectUnpacked e);
|
||||
|
||||
/// @brief Removes effect by ID
|
||||
/// @param oObject The object to remove the effect from
|
||||
/// @param sID The id of the effect, can be retrieved by unpacking effects.
|
||||
/// @return FALSE/0 on failure TRUE/1 on success.
|
||||
int NWNX_Effect_RemoveEffectById(object oObject, string sID);
|
||||
|
||||
/// @brief Applys an effect, bypassing any processing done by ApplyEffectToObject
|
||||
/// @param eEffect The effect to be applied.
|
||||
/// @param oObject The object to apply it to.
|
||||
void NWNX_Effect_Apply(effect eEffect, object oObject);
|
||||
|
||||
/// @brief Sets an effect creator.
|
||||
/// @param eEffect The effect to be modified.
|
||||
/// @param oObject The effect creator.
|
||||
/// @return The effect with creator field set.
|
||||
effect NWNX_Effect_SetEffectCreator(effect eEffect, object oObject);
|
||||
|
||||
/// @brief Checks if the given effect is valid. Unlike the game builtin, this call considers internal types too.
|
||||
/// @param eEffect The effect to check
|
||||
/// @return TRUE if the effect is valid (including internal types).
|
||||
int NWNX_Effect_GetIsEffectValid(effect eEffect);
|
||||
|
||||
/// @brief Returns the number of applied effects on the given object.
|
||||
/// @param oObject The object to get the applied effect count for.
|
||||
/// @return The number of applied effects, including internal.
|
||||
int NWNX_Effect_GetAppliedEffectCount(object oObject);
|
||||
|
||||
/// @brief Returns the nNth applied effect on a object.
|
||||
/// @param oObject The object to get the applied effect copy for.
|
||||
/// @param nNth The effect index to get.
|
||||
/// @note Make sure to check with NWNX_Effect_GetIsEffectValid, as this iterator also includes internal effects.
|
||||
/// @return A copy of the applied game effect, or a invalid effect.
|
||||
effect NWNX_Effect_GetAppliedEffect(object oObject, int nNth);
|
||||
|
||||
/// @}
|
||||
|
||||
struct NWNX_EffectUnpacked __NWNX_Effect_ResolveUnpack(string sFunc, int bLink=TRUE)
|
||||
{
|
||||
struct NWNX_EffectUnpacked n;
|
||||
|
||||
n.sItemProp = NWNX_GetReturnValueString();
|
||||
|
||||
n.sTag = NWNX_GetReturnValueString();
|
||||
|
||||
float fZ = NWNX_GetReturnValueFloat();
|
||||
float fY = NWNX_GetReturnValueFloat();
|
||||
float fX = NWNX_GetReturnValueFloat();
|
||||
n.vParam1 = Vector(fX, fY, fZ);
|
||||
fZ = NWNX_GetReturnValueFloat();
|
||||
fY = NWNX_GetReturnValueFloat();
|
||||
fX = NWNX_GetReturnValueFloat();
|
||||
n.vParam0 = Vector(fX, fY, fZ);
|
||||
n.oParam3 = NWNX_GetReturnValueObject();
|
||||
n.oParam2 = NWNX_GetReturnValueObject();
|
||||
n.oParam1 = NWNX_GetReturnValueObject();
|
||||
n.oParam0 = NWNX_GetReturnValueObject();
|
||||
n.sParam5 = NWNX_GetReturnValueString();
|
||||
n.sParam4 = NWNX_GetReturnValueString();
|
||||
n.sParam3 = NWNX_GetReturnValueString();
|
||||
n.sParam2 = NWNX_GetReturnValueString();
|
||||
n.sParam1 = NWNX_GetReturnValueString();
|
||||
n.sParam0 = NWNX_GetReturnValueString();
|
||||
n.fParam3 = NWNX_GetReturnValueFloat();
|
||||
n.fParam2 = NWNX_GetReturnValueFloat();
|
||||
n.fParam1 = NWNX_GetReturnValueFloat();
|
||||
n.fParam0 = NWNX_GetReturnValueFloat();
|
||||
n.nParam7 = NWNX_GetReturnValueInt();
|
||||
n.nParam6 = NWNX_GetReturnValueInt();
|
||||
n.nParam5 = NWNX_GetReturnValueInt();
|
||||
n.nParam4 = NWNX_GetReturnValueInt();
|
||||
n.nParam3 = NWNX_GetReturnValueInt();
|
||||
n.nParam2 = NWNX_GetReturnValueInt();
|
||||
n.nParam1 = NWNX_GetReturnValueInt();
|
||||
n.nParam0 = NWNX_GetReturnValueInt();
|
||||
n.nNumIntegers = NWNX_GetReturnValueInt();
|
||||
|
||||
if(bLink)
|
||||
{
|
||||
n.bLinkRightValid = NWNX_GetReturnValueInt();
|
||||
n.eLinkRight = NWNX_GetReturnValueEffect();
|
||||
n.bLinkLeftValid = NWNX_GetReturnValueInt();
|
||||
n.eLinkLeft = NWNX_GetReturnValueEffect();
|
||||
}
|
||||
else
|
||||
{
|
||||
n.bLinkRightValid = FALSE;
|
||||
n.bLinkLeftValid = FALSE;
|
||||
}
|
||||
|
||||
n.nCasterLevel = NWNX_GetReturnValueInt();
|
||||
n.bShowIcon = NWNX_GetReturnValueInt();
|
||||
n.bExpose = NWNX_GetReturnValueInt();
|
||||
n.nSpellId = NWNX_GetReturnValueInt();
|
||||
n.oCreator = NWNX_GetReturnValueObject();
|
||||
|
||||
n.nExpiryTimeOfDay = NWNX_GetReturnValueInt();
|
||||
n.nExpiryCalendarDay = NWNX_GetReturnValueInt();
|
||||
n.fDuration = NWNX_GetReturnValueFloat();
|
||||
|
||||
n.nSubType = NWNX_GetReturnValueInt();
|
||||
n.nType = NWNX_GetReturnValueInt();
|
||||
n.sID = NWNX_GetReturnValueString();
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
void __NWNX_Effect_ResolvePack(string sFunc, struct NWNX_EffectUnpacked e, int bReplace=FALSE)
|
||||
{
|
||||
if(!bReplace)
|
||||
NWNX_PushArgumentInt(e.nType);
|
||||
|
||||
NWNX_PushArgumentInt(e.nSubType);
|
||||
|
||||
NWNX_PushArgumentFloat(e.fDuration);
|
||||
NWNX_PushArgumentInt(e.nExpiryCalendarDay);
|
||||
NWNX_PushArgumentInt(e.nExpiryTimeOfDay);
|
||||
|
||||
NWNX_PushArgumentObject(e.oCreator);
|
||||
NWNX_PushArgumentInt(e.nSpellId);
|
||||
NWNX_PushArgumentInt(e.bExpose);
|
||||
NWNX_PushArgumentInt(e.bShowIcon);
|
||||
NWNX_PushArgumentInt(e.nCasterLevel);
|
||||
|
||||
if(!bReplace)
|
||||
{
|
||||
NWNX_PushArgumentEffect(e.eLinkLeft);
|
||||
NWNX_PushArgumentInt(e.bLinkLeftValid);
|
||||
NWNX_PushArgumentEffect(e.eLinkRight);
|
||||
NWNX_PushArgumentInt(e.bLinkRightValid);
|
||||
}
|
||||
|
||||
NWNX_PushArgumentInt(e.nNumIntegers);
|
||||
NWNX_PushArgumentInt(e.nParam0);
|
||||
NWNX_PushArgumentInt(e.nParam1);
|
||||
NWNX_PushArgumentInt(e.nParam2);
|
||||
NWNX_PushArgumentInt(e.nParam3);
|
||||
NWNX_PushArgumentInt(e.nParam4);
|
||||
NWNX_PushArgumentInt(e.nParam5);
|
||||
NWNX_PushArgumentInt(e.nParam6);
|
||||
NWNX_PushArgumentInt(e.nParam7);
|
||||
NWNX_PushArgumentFloat(e.fParam0);
|
||||
NWNX_PushArgumentFloat(e.fParam1);
|
||||
NWNX_PushArgumentFloat(e.fParam2);
|
||||
NWNX_PushArgumentFloat(e.fParam3);
|
||||
NWNX_PushArgumentString(e.sParam0);
|
||||
NWNX_PushArgumentString(e.sParam1);
|
||||
NWNX_PushArgumentString(e.sParam2);
|
||||
NWNX_PushArgumentString(e.sParam3);
|
||||
NWNX_PushArgumentString(e.sParam4);
|
||||
NWNX_PushArgumentString(e.sParam5);
|
||||
NWNX_PushArgumentObject(e.oParam0);
|
||||
NWNX_PushArgumentObject(e.oParam1);
|
||||
NWNX_PushArgumentObject(e.oParam2);
|
||||
NWNX_PushArgumentObject(e.oParam3);
|
||||
|
||||
NWNX_PushArgumentFloat(e.vParam0.x);
|
||||
NWNX_PushArgumentFloat(e.vParam0.y);
|
||||
NWNX_PushArgumentFloat(e.vParam0.z);
|
||||
|
||||
NWNX_PushArgumentFloat(e.vParam1.x);
|
||||
NWNX_PushArgumentFloat(e.vParam1.y);
|
||||
NWNX_PushArgumentFloat(e.vParam1.z);
|
||||
|
||||
NWNX_PushArgumentString(e.sTag);
|
||||
|
||||
NWNX_PushArgumentString(e.sItemProp);
|
||||
}
|
||||
|
||||
struct NWNX_EffectUnpacked NWNX_Effect_UnpackEffect(effect e)
|
||||
{
|
||||
string sFunc = "UnpackEffect";
|
||||
|
||||
NWNX_PushArgumentEffect(NWNX_Effect, sFunc, e);
|
||||
NWNX_PushArgumentEffect(e);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
struct NWNX_EffectUnpacked n;
|
||||
n.sTag = NWNX_GetReturnValueString(NWNX_Effect, sFunc);
|
||||
|
||||
float fZ = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
float fY = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
float fX = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
n.vParam1 = Vector(fX, fY, fZ);
|
||||
fZ = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
fY = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
fX = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
n.vParam0 = Vector(fX, fY, fZ);
|
||||
n.oParam3 = NWNX_GetReturnValueObject(NWNX_Effect, sFunc);
|
||||
n.oParam2 = NWNX_GetReturnValueObject(NWNX_Effect, sFunc);
|
||||
n.oParam1 = NWNX_GetReturnValueObject(NWNX_Effect, sFunc);
|
||||
n.oParam0 = NWNX_GetReturnValueObject(NWNX_Effect, sFunc);
|
||||
n.sParam5 = NWNX_GetReturnValueString(NWNX_Effect, sFunc);
|
||||
n.sParam4 = NWNX_GetReturnValueString(NWNX_Effect, sFunc);
|
||||
n.sParam3 = NWNX_GetReturnValueString(NWNX_Effect, sFunc);
|
||||
n.sParam2 = NWNX_GetReturnValueString(NWNX_Effect, sFunc);
|
||||
n.sParam1 = NWNX_GetReturnValueString(NWNX_Effect, sFunc);
|
||||
n.sParam0 = NWNX_GetReturnValueString(NWNX_Effect, sFunc);
|
||||
n.fParam3 = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
n.fParam2 = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
n.fParam1 = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
n.fParam0 = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
n.nParam7 = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nParam6 = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nParam5 = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nParam4 = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nParam3 = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nParam2 = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nParam1 = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nParam0 = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nNumIntegers = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
|
||||
n.bLinkRightValid = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.eLinkRight = NWNX_GetReturnValueEffect(NWNX_Effect, sFunc);
|
||||
n.bLinkLeftValid = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.eLinkLeft = NWNX_GetReturnValueEffect(NWNX_Effect, sFunc);
|
||||
|
||||
n.nCasterLevel = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.bShowIcon = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.bExpose = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nSpellId = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.oCreator = NWNX_GetReturnValueObject(NWNX_Effect, sFunc);
|
||||
|
||||
n.nExpiryTimeOfDay = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nExpiryCalendarDay = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.fDuration = NWNX_GetReturnValueFloat(NWNX_Effect, sFunc);
|
||||
|
||||
n.nSubType = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
n.nType = NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
|
||||
return n;
|
||||
return __NWNX_Effect_ResolveUnpack(sFunc);
|
||||
}
|
||||
effect NWNX_Effect_PackEffect(struct NWNX_EffectUnpacked e)
|
||||
{
|
||||
string sFunc = "PackEffect";
|
||||
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nType);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nSubType);
|
||||
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.fDuration);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nExpiryCalendarDay);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nExpiryTimeOfDay);
|
||||
|
||||
NWNX_PushArgumentObject(NWNX_Effect, sFunc, e.oCreator);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nSpellId);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.bExpose);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.bShowIcon);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nCasterLevel);
|
||||
|
||||
NWNX_PushArgumentEffect(NWNX_Effect, sFunc, e.eLinkLeft);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.bLinkLeftValid);
|
||||
NWNX_PushArgumentEffect(NWNX_Effect, sFunc, e.eLinkRight);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.bLinkRightValid);
|
||||
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nNumIntegers);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nParam0);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nParam1);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nParam2);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nParam3);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nParam4);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nParam5);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nParam6);
|
||||
NWNX_PushArgumentInt(NWNX_Effect, sFunc, e.nParam7);
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.fParam0);
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.fParam1);
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.fParam2);
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.fParam3);
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, e.sParam0);
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, e.sParam1);
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, e.sParam2);
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, e.sParam3);
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, e.sParam4);
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, e.sParam5);
|
||||
NWNX_PushArgumentObject(NWNX_Effect, sFunc, e.oParam0);
|
||||
NWNX_PushArgumentObject(NWNX_Effect, sFunc, e.oParam1);
|
||||
NWNX_PushArgumentObject(NWNX_Effect, sFunc, e.oParam2);
|
||||
NWNX_PushArgumentObject(NWNX_Effect, sFunc, e.oParam3);
|
||||
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.vParam0.x);
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.vParam0.y);
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.vParam0.z);
|
||||
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.vParam1.x);
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.vParam1.y);
|
||||
NWNX_PushArgumentFloat(NWNX_Effect, sFunc, e.vParam1.z);
|
||||
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, e.sTag);
|
||||
__NWNX_Effect_ResolvePack(sFunc, e);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
return NWNX_GetReturnValueEffect(NWNX_Effect, sFunc);
|
||||
}
|
||||
|
||||
effect NWNX_Effect_SetEffectExpiredScript(effect e, string script, string data = "")
|
||||
{
|
||||
string sFunc = "SetEffectExpiredScript";
|
||||
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, data);
|
||||
NWNX_PushArgumentString(NWNX_Effect, sFunc, script);
|
||||
NWNX_PushArgumentEffect(NWNX_Effect, sFunc, e);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueEffect(NWNX_Effect, sFunc);
|
||||
}
|
||||
|
||||
string NWNX_Effect_GetEffectExpiredData()
|
||||
{
|
||||
string sFunc = "GetEffectExpiredData";
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueString(NWNX_Effect, sFunc);
|
||||
}
|
||||
|
||||
object NWNX_Effect_GetEffectExpiredCreator()
|
||||
{
|
||||
string sFunc = "GetEffectExpiredCreator";
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueObject(NWNX_Effect, sFunc);
|
||||
return NWNX_GetReturnValueEffect();
|
||||
}
|
||||
|
||||
int NWNX_Effect_ReplaceEffect(object obj, effect eOld, effect eNew)
|
||||
{
|
||||
string sFunc = "ReplaceEffect";
|
||||
|
||||
NWNX_PushArgumentEffect(NWNX_Effect, sFunc, eNew);
|
||||
NWNX_PushArgumentEffect(NWNX_Effect, sFunc, eOld);
|
||||
NWNX_PushArgumentObject(NWNX_Effect, sFunc, obj);
|
||||
NWNX_PushArgumentEffect(eNew);
|
||||
NWNX_PushArgumentEffect(eOld);
|
||||
NWNX_PushArgumentObject(obj);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt(NWNX_Effect, sFunc);
|
||||
return NWNX_GetReturnValueInt();
|
||||
}
|
||||
|
||||
int NWNX_Effect_GetTrueEffectCount(object oObject)
|
||||
{
|
||||
string sFunc = "GetTrueEffectCount";
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
}
|
||||
|
||||
struct NWNX_EffectUnpacked NWNX_Effect_GetTrueEffect(object oObject, int nIndex)
|
||||
{
|
||||
string sFunc = "GetTrueEffect";
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return __NWNX_Effect_ResolveUnpack(sFunc, FALSE);
|
||||
}
|
||||
|
||||
void NWNX_Effect_ReplaceEffectByIndex(object oObject, int nIndex, struct NWNX_EffectUnpacked e)
|
||||
{
|
||||
string sFunc = "ReplaceEffectByIndex";
|
||||
|
||||
__NWNX_Effect_ResolvePack(sFunc, e, TRUE);
|
||||
|
||||
NWNX_PushArgumentInt(nIndex);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
}
|
||||
|
||||
int NWNX_Effect_RemoveEffectById(object oObject, string sID)
|
||||
{
|
||||
string sFunc = "RemoveEffectById";
|
||||
NWNX_PushArgumentString(sID);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
}
|
||||
|
||||
void NWNX_Effect_Apply(effect eEffect, object oObject)
|
||||
{
|
||||
string sFunc = "Apply";
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentEffect(eEffect);
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
}
|
||||
|
||||
effect NWNX_Effect_SetEffectCreator(effect eEffect, object oObject)
|
||||
{
|
||||
string sFunc = "SetEffectCreator";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
NWNX_PushArgumentEffect(eEffect);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueEffect();
|
||||
}
|
||||
|
||||
int NWNX_Effect_GetIsEffectValid(effect eEffect)
|
||||
{
|
||||
string sFunc = "GetIsEffectValid";
|
||||
|
||||
NWNX_PushArgumentEffect(eEffect);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
}
|
||||
|
||||
int NWNX_Effect_GetAppliedEffectCount(object oObject)
|
||||
{
|
||||
string sFunc = "GetAppliedEffectCount";
|
||||
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueInt();
|
||||
}
|
||||
|
||||
effect NWNX_Effect_GetAppliedEffect(object oObject, int nNth)
|
||||
{
|
||||
string sFunc = "GetAppliedEffect";
|
||||
|
||||
NWNX_PushArgumentInt(nNth);
|
||||
NWNX_PushArgumentObject(oObject);
|
||||
|
||||
NWNX_CallFunction(NWNX_Effect, sFunc);
|
||||
|
||||
return NWNX_GetReturnValueEffect();
|
||||
}
|
||||
|
Reference in New Issue
Block a user