Updated for NWNEE 37-13

Updated for NWNEE 37-13.  Updated NWNxEE scripts.  CODI Core AI tweaks.  Added Diamond Golem AI.  Full compile.  Updated release archive.
This commit is contained in:
Jaysyn904
2025-01-10 19:01:12 -05:00
parent 37c79b6d57
commit ce72b8d120
685 changed files with 6642 additions and 7699 deletions

View File

@@ -2,7 +2,6 @@
/// @brief Utility functions to manipulate the builtin effect type.
/// @{
/// @file nwnx_effect.nss
#include "nwnx"
const string NWNX_Effect = "NWNX_Effect"; ///< @private
@@ -143,52 +142,46 @@ effect NWNX_Effect_GetAppliedEffect(object oObject, int nNth);
/// @}
struct NWNX_EffectUnpacked __NWNX_Effect_ResolveUnpack(string sFunc, int bLink=TRUE)
struct NWNX_EffectUnpacked __NWNX_Effect_ResolveUnpack(int bLink=TRUE)
{
struct NWNX_EffectUnpacked n;
n.sItemProp = NWNX_GetReturnValueString();
n.sItemProp = NWNXPopString();
n.sTag = NWNX_GetReturnValueString();
n.sTag = NWNXPopString();
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();
n.vParam1 = NWNXPopVector();
n.vParam0 = NWNXPopVector();
n.oParam3 = NWNXPopObject();
n.oParam2 = NWNXPopObject();
n.oParam1 = NWNXPopObject();
n.oParam0 = NWNXPopObject();
n.sParam5 = NWNXPopString();
n.sParam4 = NWNXPopString();
n.sParam3 = NWNXPopString();
n.sParam2 = NWNXPopString();
n.sParam1 = NWNXPopString();
n.sParam0 = NWNXPopString();
n.fParam3 = NWNXPopFloat();
n.fParam2 = NWNXPopFloat();
n.fParam1 = NWNXPopFloat();
n.fParam0 = NWNXPopFloat();
n.nParam7 = NWNXPopInt();
n.nParam6 = NWNXPopInt();
n.nParam5 = NWNXPopInt();
n.nParam4 = NWNXPopInt();
n.nParam3 = NWNXPopInt();
n.nParam2 = NWNXPopInt();
n.nParam1 = NWNXPopInt();
n.nParam0 = NWNXPopInt();
n.nNumIntegers = NWNXPopInt();
if(bLink)
{
n.bLinkRightValid = NWNX_GetReturnValueInt();
n.eLinkRight = NWNX_GetReturnValueEffect();
n.bLinkLeftValid = NWNX_GetReturnValueInt();
n.eLinkLeft = NWNX_GetReturnValueEffect();
n.bLinkRightValid = NWNXPopInt();
n.eLinkRight = NWNXPopEffect();
n.bLinkLeftValid = NWNXPopInt();
n.eLinkLeft = NWNXPopEffect();
}
else
{
@@ -196,207 +189,166 @@ struct NWNX_EffectUnpacked __NWNX_Effect_ResolveUnpack(string sFunc, int bLink=T
n.bLinkLeftValid = FALSE;
}
n.nCasterLevel = NWNX_GetReturnValueInt();
n.bShowIcon = NWNX_GetReturnValueInt();
n.bExpose = NWNX_GetReturnValueInt();
n.nSpellId = NWNX_GetReturnValueInt();
n.oCreator = NWNX_GetReturnValueObject();
n.nCasterLevel = NWNXPopInt();
n.bShowIcon = NWNXPopInt();
n.bExpose = NWNXPopInt();
n.nSpellId = NWNXPopInt();
n.oCreator = NWNXPopObject();
n.nExpiryTimeOfDay = NWNX_GetReturnValueInt();
n.nExpiryCalendarDay = NWNX_GetReturnValueInt();
n.fDuration = NWNX_GetReturnValueFloat();
n.nExpiryTimeOfDay = NWNXPopInt();
n.nExpiryCalendarDay = NWNXPopInt();
n.fDuration = NWNXPopFloat();
n.nSubType = NWNX_GetReturnValueInt();
n.nType = NWNX_GetReturnValueInt();
n.sID = NWNX_GetReturnValueString();
n.nSubType = NWNXPopInt();
n.nType = NWNXPopInt();
n.sID = NWNXPopString();
return n;
}
void __NWNX_Effect_ResolvePack(string sFunc, struct NWNX_EffectUnpacked e, int bReplace=FALSE)
void __NWNX_Effect_ResolvePack(struct NWNX_EffectUnpacked e, int bReplace=FALSE)
{
if(!bReplace)
NWNX_PushArgumentInt(e.nType);
NWNXPushInt(e.nType);
NWNX_PushArgumentInt(e.nSubType);
NWNXPushInt(e.nSubType);
NWNX_PushArgumentFloat(e.fDuration);
NWNX_PushArgumentInt(e.nExpiryCalendarDay);
NWNX_PushArgumentInt(e.nExpiryTimeOfDay);
NWNXPushFloat(e.fDuration);
NWNXPushInt(e.nExpiryCalendarDay);
NWNXPushInt(e.nExpiryTimeOfDay);
NWNX_PushArgumentObject(e.oCreator);
NWNX_PushArgumentInt(e.nSpellId);
NWNX_PushArgumentInt(e.bExpose);
NWNX_PushArgumentInt(e.bShowIcon);
NWNX_PushArgumentInt(e.nCasterLevel);
NWNXPushObject(e.oCreator);
NWNXPushInt(e.nSpellId);
NWNXPushInt(e.bExpose);
NWNXPushInt(e.bShowIcon);
NWNXPushInt(e.nCasterLevel);
if(!bReplace)
{
NWNX_PushArgumentEffect(e.eLinkLeft);
NWNX_PushArgumentInt(e.bLinkLeftValid);
NWNX_PushArgumentEffect(e.eLinkRight);
NWNX_PushArgumentInt(e.bLinkRightValid);
NWNXPushEffect(e.eLinkLeft);
NWNXPushInt(e.bLinkLeftValid);
NWNXPushEffect(e.eLinkRight);
NWNXPushInt(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);
NWNXPushInt(e.nNumIntegers);
NWNXPushInt(e.nParam0);
NWNXPushInt(e.nParam1);
NWNXPushInt(e.nParam2);
NWNXPushInt(e.nParam3);
NWNXPushInt(e.nParam4);
NWNXPushInt(e.nParam5);
NWNXPushInt(e.nParam6);
NWNXPushInt(e.nParam7);
NWNXPushFloat(e.fParam0);
NWNXPushFloat(e.fParam1);
NWNXPushFloat(e.fParam2);
NWNXPushFloat(e.fParam3);
NWNXPushString(e.sParam0);
NWNXPushString(e.sParam1);
NWNXPushString(e.sParam2);
NWNXPushString(e.sParam3);
NWNXPushString(e.sParam4);
NWNXPushString(e.sParam5);
NWNXPushObject(e.oParam0);
NWNXPushObject(e.oParam1);
NWNXPushObject(e.oParam2);
NWNXPushObject(e.oParam3);
NWNX_PushArgumentFloat(e.vParam0.x);
NWNX_PushArgumentFloat(e.vParam0.y);
NWNX_PushArgumentFloat(e.vParam0.z);
NWNXPushVector(e.vParam0);
NWNXPushVector(e.vParam1);
NWNX_PushArgumentFloat(e.vParam1.x);
NWNX_PushArgumentFloat(e.vParam1.y);
NWNX_PushArgumentFloat(e.vParam1.z);
NWNXPushString(e.sTag);
NWNX_PushArgumentString(e.sTag);
NWNX_PushArgumentString(e.sItemProp);
NWNXPushString(e.sItemProp);
}
struct NWNX_EffectUnpacked NWNX_Effect_UnpackEffect(effect e)
{
string sFunc = "UnpackEffect";
NWNX_PushArgumentEffect(e);
NWNX_CallFunction(NWNX_Effect, sFunc);
return __NWNX_Effect_ResolveUnpack(sFunc);
NWNXPushEffect(e);
NWNXCall(NWNX_Effect, "UnpackEffect");
return __NWNX_Effect_ResolveUnpack();
}
effect NWNX_Effect_PackEffect(struct NWNX_EffectUnpacked e)
{
string sFunc = "PackEffect";
__NWNX_Effect_ResolvePack(sFunc, e);
NWNX_CallFunction(NWNX_Effect, sFunc);
return NWNX_GetReturnValueEffect();
__NWNX_Effect_ResolvePack(e);
NWNXCall(NWNX_Effect, "PackEffect");
return NWNXPopEffect();
}
int NWNX_Effect_ReplaceEffect(object obj, effect eOld, effect eNew)
{
string sFunc = "ReplaceEffect";
NWNX_PushArgumentEffect(eNew);
NWNX_PushArgumentEffect(eOld);
NWNX_PushArgumentObject(obj);
NWNX_CallFunction(NWNX_Effect, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushEffect(eNew);
NWNXPushEffect(eOld);
NWNXPushObject(obj);
NWNXCall(NWNX_Effect, "ReplaceEffect");
return NWNXPopInt();
}
int NWNX_Effect_GetTrueEffectCount(object oObject)
{
string sFunc = "GetTrueEffectCount";
NWNX_PushArgumentObject(oObject);
NWNX_CallFunction(NWNX_Effect, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(oObject);
NWNXCall(NWNX_Effect, "GetTrueEffectCount");
return NWNXPopInt();
}
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);
NWNXPushInt(nIndex);
NWNXPushObject(oObject);
NWNXCall(NWNX_Effect, "GetTrueEffect");
return __NWNX_Effect_ResolveUnpack(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);
__NWNX_Effect_ResolvePack(e, TRUE);
NWNXPushInt(nIndex);
NWNXPushObject(oObject);
NWNXCall(NWNX_Effect, "ReplaceEffectByIndex");
}
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();
NWNXPushString(sID);
NWNXPushObject(oObject);
NWNXCall(NWNX_Effect, "RemoveEffectById");
return NWNXPopInt();
}
void NWNX_Effect_Apply(effect eEffect, object oObject)
{
string sFunc = "Apply";
NWNX_PushArgumentObject(oObject);
NWNX_PushArgumentEffect(eEffect);
NWNX_CallFunction(NWNX_Effect, sFunc);
NWNXPushObject(oObject);
NWNXPushEffect(eEffect);
NWNXCall(NWNX_Effect, "Apply");
}
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();
NWNXPushObject(oObject);
NWNXPushEffect(eEffect);
NWNXCall(NWNX_Effect, "SetEffectCreator");
return NWNXPopEffect();
}
int NWNX_Effect_GetIsEffectValid(effect eEffect)
{
string sFunc = "GetIsEffectValid";
NWNX_PushArgumentEffect(eEffect);
NWNX_CallFunction(NWNX_Effect, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushEffect(eEffect);
NWNXCall(NWNX_Effect, "GetIsEffectValid");
return NWNXPopInt();
}
int NWNX_Effect_GetAppliedEffectCount(object oObject)
{
string sFunc = "GetAppliedEffectCount";
NWNX_PushArgumentObject(oObject);
NWNX_CallFunction(NWNX_Effect, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(oObject);
NWNXCall(NWNX_Effect, "GetAppliedEffectCount");
return NWNXPopInt();
}
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();
NWNXPushInt(nNth);
NWNXPushObject(oObject);
NWNXCall(NWNX_Effect, "GetAppliedEffect");
return NWNXPopEffect();
}