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:
@@ -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");
|
||||
}
|
||||
|
Reference in New Issue
Block a user