/// Set the encounter creature list entry at the specified index /// <param name="encounter">The encounter object.</param> /// <param name="index">The index of the creature in the encounter list.</param> /// <param name="creatureEntry">The NWNX_Encounter_CreatureListEntry.</param> public static void SetEncounterCreatureByIndex(uint encounter, int index, CreatureListEntry creatureEntry) { const string sFunc = "SetEncounterCreatureByIndex"; VM.NWNX.SetFunction(NWNX_Encounter, sFunc); VM.NWNX.StackPush(creatureEntry.alreadyUsed); VM.NWNX.StackPush(creatureEntry.unique); VM.NWNX.StackPush(creatureEntry.challengeRating); VM.NWNX.StackPush(creatureEntry.resref); VM.NWNX.StackPush(index); VM.NWNX.StackPush(encounter); VM.NWNX.Call(); }
/// Gets the encounter creature list entry at the specified index /// <param name="encounter">The encounter object.</param> /// <param name="index">The index of the creature in the encounter list.</param> /// <returns>An NWNX_Encounter_CreatureListEntry.</returns> public static CreatureListEntry GetEncounterCreatureByIndex(uint encounter, int index) { const string sFunc = "GetEncounterCreatureByIndex"; VM.NWNX.SetFunction(NWNX_Encounter, sFunc); CreatureListEntry creatureEntry = default; VM.NWNX.StackPush(index); VM.NWNX.StackPush(encounter); VM.NWNX.Call(); creatureEntry.alreadyUsed = VM.NWNX.StackPopInt(); creatureEntry.unique = VM.NWNX.StackPopInt(); creatureEntry.challengeRating = VM.NWNX.StackPopFloat(); creatureEntry.resref = VM.NWNX.StackPopString(); return(creatureEntry); }