Пример #1
0
        // Gets the player's quickbar slot info
        public QuickBarSlot NWNX_Player_GetQuickBarSlot(NWPlayer player, int slot)
        {
            string       sFunc = "GetQuickBarSlot";
            QuickBarSlot qbs   = new QuickBarSlot();

            NWNX_PushArgumentInt(NWNX_Player, sFunc, slot);
            NWNX_PushArgumentObject(NWNX_Player, sFunc, player.Object);
            NWNX_CallFunction(NWNX_Player, sFunc);

            qbs.Associate     = NWObject.Wrap(NWNX_GetReturnValueObject(NWNX_Player, sFunc));
            qbs.AssociateType = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
            qbs.DomainLevel   = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
            qbs.MetaType      = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
            qbs.INTParam1     = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
            qbs.ToolTip       = NWNX_GetReturnValueString(NWNX_Player, sFunc);
            qbs.CommandLine   = NWNX_GetReturnValueString(NWNX_Player, sFunc);
            qbs.CommandLabel  = NWNX_GetReturnValueString(NWNX_Player, sFunc);
            qbs.Resref        = NWNX_GetReturnValueString(NWNX_Player, sFunc);
            qbs.MultiClass    = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
            qbs.ObjectType    = NWNX_GetReturnValueInt(NWNX_Player, sFunc);
            qbs.SecondaryItem = NWItem.Wrap(NWNX_GetReturnValueObject(NWNX_Player, sFunc));
            qbs.Item          = NWItem.Wrap(NWNX_GetReturnValueObject(NWNX_Player, sFunc));

            return(qbs);
        }
Пример #2
0
        // Create a QBS for using a feat
        public QuickBarSlot UseFeat(int nFeat)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.Feat);

            qbs.INTParam1 = nFeat;

            return(qbs);
        }
Пример #3
0
        // Create a QBS for quickchat command
        public QuickBarSlot QuickChat(int nCommand)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.QuickChat);

            qbs.INTParam1 = nCommand;

            return(qbs);
        }
Пример #4
0
        // Create a QBS for using a skill
        public QuickBarSlot UseSkill(int nSkill)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.Skill);

            qbs.INTParam1 = nSkill;

            return(qbs);
        }
Пример #5
0
        // Create a QBS for toggling a mode
        public QuickBarSlot ToggleMode(int nMode)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.ModeToggle);

            qbs.INTParam1 = nMode;

            return(qbs);
        }
Пример #6
0
        // Create a QBS for emoting
        public QuickBarSlot Emote(int nEmote)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.Emote);

            qbs.INTParam1 = nEmote;

            return(qbs);
        }
Пример #7
0
        // Create a QBS for equipping an item
        public QuickBarSlot EquipItem(NWItem oItem, NWItem oSecondaryItem)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.Item);

            qbs.Item          = oItem;
            qbs.SecondaryItem = oSecondaryItem;

            return(qbs);
        }
Пример #8
0
        // Create a QBS for using an item
        public QuickBarSlot UseItem(NWItem oItem, int nPropertyID)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.Item);

            qbs.Item      = oItem;
            qbs.INTParam1 = nPropertyID;

            return(qbs);
        }
Пример #9
0
        // Create a QBS for casting a spell
        public QuickBarSlot UseSpecialAbility(int nSpell, int nCasterLevel)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.Spell);

            qbs.INTParam1   = nSpell;
            qbs.DomainLevel = nCasterLevel;

            return(qbs);
        }
Пример #10
0
        // Create a QBS for casting a spell
        public QuickBarSlot CastSpell(int nSpell, int nClassIndex, int nMetamagic, int nDomainLevel)
        {
            QuickBarSlot qbs = Empty(QuickBarSlotType.Spell);

            qbs.INTParam1   = nSpell;
            qbs.MultiClass  = nClassIndex;
            qbs.MetaType    = nMetamagic;
            qbs.DomainLevel = nDomainLevel;

            return(qbs);
        }
Пример #11
0
        // Create an empty QBS of given type
        public QuickBarSlot Empty(QuickBarSlotType type)
        {
            QuickBarSlot qbs = new QuickBarSlot
            {
                ObjectType    = (int)type,
                Item          = null,
                SecondaryItem = null,
                MultiClass    = 0,
                Resref        = "",
                CommandLabel  = "",
                CommandLine   = "",
                ToolTip       = "",
                INTParam1     = 0,
                MetaType      = 0,
                DomainLevel   = 0,
                AssociateType = 0,
                Associate     = null
            };

            return(qbs);
        }
Пример #12
0
        // Sets a player's quickbar slot
        public void SetQuickBarSlot(NWPlayer player, int slot, QuickBarSlot qbs)
        {
            string sFunc = "SetQuickBarSlot";

            NWNX_PushArgumentObject(NWNX_Player, sFunc, qbs.Item.Object);
            NWNX_PushArgumentObject(NWNX_Player, sFunc, qbs.SecondaryItem.Object);
            NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.ObjectType);
            NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.MultiClass);
            NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.Resref);
            NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.CommandLabel);
            NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.CommandLine);
            NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.ToolTip);
            NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.INTParam1);
            NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.MetaType);
            NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.DomainLevel);
            NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.AssociateType);
            NWNX_PushArgumentObject(NWNX_Player, sFunc, qbs.Associate.Object);

            NWNX_PushArgumentInt(NWNX_Player, sFunc, slot);
            NWNX_PushArgumentObject(NWNX_Player, sFunc, player.Object);
            NWNX_CallFunction(NWNX_Player, sFunc);
        }