コード例 #1
0
        /// 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();
        }
コード例 #2
0
        /// 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);
        }