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 Functions exposing additional encounter properties.
/// @{
/// @file nwnx_encounter.nss
#include "nwnx"
const string NWNX_Encounter = "NWNX_Encounter"; ///< @private
@@ -122,205 +121,146 @@ void NWNX_Encounter_SetGeometry(object oTrigger, string sGeometry);
void NWNX_Encounter_Destroy(object encounter)
{
string sFunc = "Destroy";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "Destroy");
}
int NWNX_Encounter_GetNumberOfCreaturesInEncounterList(object encounter)
{
string sFunc = "GetNumberOfCreaturesInEncounterList";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetNumberOfCreaturesInEncounterList");
return NWNXPopInt();
}
struct NWNX_Encounter_CreatureListEntry NWNX_Encounter_GetEncounterCreatureByIndex(object encounter, int index)
{
string sFunc = "GetEncounterCreatureByIndex";
struct NWNX_Encounter_CreatureListEntry creatureEntry;
NWNX_PushArgumentInt(index);
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
creatureEntry.alreadyUsed = NWNX_GetReturnValueInt();
creatureEntry.unique = NWNX_GetReturnValueInt();
creatureEntry.challengeRating = NWNX_GetReturnValueFloat();
creatureEntry.resref = NWNX_GetReturnValueString();
NWNXPushInt(index);
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetEncounterCreatureByIndex");
creatureEntry.alreadyUsed = NWNXPopInt();
creatureEntry.unique = NWNXPopInt();
creatureEntry.challengeRating = NWNXPopFloat();
creatureEntry.resref = NWNXPopString();
return creatureEntry;
}
void NWNX_Encounter_SetEncounterCreatureByIndex(object encounter, int index, struct NWNX_Encounter_CreatureListEntry creatureEntry)
{
string sFunc = "SetEncounterCreatureByIndex";
NWNX_PushArgumentInt(creatureEntry.alreadyUsed);
NWNX_PushArgumentInt(creatureEntry.unique);
NWNX_PushArgumentFloat(creatureEntry.challengeRating);
NWNX_PushArgumentString(creatureEntry.resref);
NWNX_PushArgumentInt(index);
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
NWNXPushInt(creatureEntry.alreadyUsed);
NWNXPushInt(creatureEntry.unique);
NWNXPushFloat(creatureEntry.challengeRating);
NWNXPushString(creatureEntry.resref);
NWNXPushInt(index);
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "SetEncounterCreatureByIndex");
}
int NWNX_Encounter_GetFactionId(object encounter)
{
string sFunc = "GetFactionId";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetFactionId");
return NWNXPopInt();
}
void NWNX_Encounter_SetFactionId(object encounter, int factionId)
{
string sFunc = "SetFactionId";
NWNX_PushArgumentInt(factionId);
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
NWNXPushInt(factionId);
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "SetFactionId");
}
int NWNX_Encounter_GetPlayerTriggeredOnly(object encounter)
{
string sFunc = "GetPlayerTriggeredOnly";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetPlayerTriggeredOnly");
return NWNXPopInt();
}
void NWNX_Encounter_SetPlayerTriggeredOnly(object encounter, int playerTriggeredOnly)
{
string sFunc = "SetPlayerTriggeredOnly";
NWNX_PushArgumentInt(playerTriggeredOnly);
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
NWNXPushInt(playerTriggeredOnly);
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "SetPlayerTriggeredOnly");
}
int NWNX_Encounter_GetCanReset(object encounter)
{
string sFunc = "GetCanReset";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetCanReset");
return NWNXPopInt();
}
void NWNX_Encounter_SetCanReset(object encounter, int reset)
{
string sFunc = "SetCanReset";
NWNX_PushArgumentInt(reset);
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
NWNXPushInt(reset);
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "SetCanReset");
}
int NWNX_Encounter_GetResetTime(object encounter)
{
string sFunc = "GetResetTime";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetResetTime");
return NWNXPopInt();
}
void NWNX_Encounter_SetResetTime(object encounter, int resetTime)
{
string sFunc = "SetResetTime";
NWNX_PushArgumentInt(resetTime);
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
NWNXPushInt(resetTime);
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "SetResetTime");
}
int NWNX_Encounter_GetNumberOfSpawnPoints(object encounter)
{
string sFunc = "GetNumberOfSpawnPoints";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetNumberOfSpawnPoints");
return NWNXPopInt();
}
location NWNX_Encounter_GetSpawnPointByIndex(object encounter, int index)
{
string sFunc = "GetSpawnPointByIndex";
NWNX_PushArgumentInt(index);
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
float o = NWNX_GetReturnValueFloat();
float z = NWNX_GetReturnValueFloat();
float y = NWNX_GetReturnValueFloat();
float x = NWNX_GetReturnValueFloat();
return Location(GetArea(encounter), Vector(x, y, z), o);
NWNXPushInt(index);
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetSpawnPointByIndex");
float fOrientation = NWNXPopFloat();
vector vPosition = NWNXPopVector();
return Location(GetArea(encounter), vPosition, fOrientation);
}
int NWNX_Encounter_GetMinNumSpawned(object encounter)
{
string sFunc = "GetMinNumSpawned";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetMinNumSpawned");
return NWNXPopInt();
}
int NWNX_Encounter_GetMaxNumSpawned(object encounter)
{
string sFunc = "GetMaxNumSpawned";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetMaxNumSpawned");
return NWNXPopInt();
}
int NWNX_Encounter_GetCurrentNumSpawned(object encounter)
{
string sFunc = "GetCurrentNumSpawned";
NWNX_PushArgumentObject(encounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueInt();
NWNXPushObject(encounter);
NWNXCall(NWNX_Encounter, "GetCurrentNumSpawned");
return NWNXPopInt();
}
string NWNX_Encounter_GetGeometry(object oEncounter)
{
string sFunc = "GetGeometry";
NWNX_PushArgumentObject(oEncounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
return NWNX_GetReturnValueString();
NWNXPushObject(oEncounter);
NWNXCall(NWNX_Encounter, "GetGeometry");
return NWNXPopString();
}
void NWNX_Encounter_SetGeometry(object oEncounter, string sGeometry)
{
string sFunc = "SetGeometry";
NWNX_PushArgumentString(sGeometry);
NWNX_PushArgumentObject(oEncounter);
NWNX_CallFunction(NWNX_Encounter, sFunc);
NWNXPushString(sGeometry);
NWNXPushObject(oEncounter);
NWNXCall(NWNX_Encounter, "SetGeometry");
}