예제 #1
0
        public void SetSpellOverlay(EntityView ev, IntPtr ptrParam)
        {
            CurrentUID = ev.createinfo.EntityID;
            cmd_set_spell_overlay data      = IntPtrHelper.toData <cmd_set_spell_overlay>(ptrParam);
            OB_PersonSpellData    spellData = GetPersonSpellData(ev.createinfo.EntityID, data.nSlotIndex);

            spellData.spellOverlay = data;
        }
예제 #2
0
        public void SetSpellSlot(EntityView ev, IntPtr ptrParam)
        {
            CurrentUID = ev.createinfo.EntityID;
            cmd_creature_set_slot data      = IntPtrHelper.toData <cmd_creature_set_slot>(ptrParam);
            OB_PersonSpellData    spellData = GetPersonSpellData(ev.createinfo.EntityID, data.nSlotIndex);

            spellData.slotSpell = data;
        }
예제 #3
0
        public void ChangeSlot(EntityView ev, IntPtr ptrParam)
        {
            CurrentUID = ev.createinfo.EntityID;
            cmd_creature_set_slot data      = IntPtrHelper.toData <cmd_creature_set_slot>(ptrParam);
            OB_PersonSpellData    spellData = GetPersonSpellData(ev.createinfo.EntityID, data.nSlotIndex);

            spellData.changeSlot = data;
            spellData.initCDTime = (int)GameLogicAPI.getTickCount() - (data.slotview.nMaxData - data.slotview.nCurData);
        }
예제 #4
0
        private OB_PersonSpellData GetPersonSpellData(int nEntityID, int nSlotID)
        {
            if (!OBPersonData.ContainsKey(nEntityID))
            {
                OBPersonData[nEntityID]          = new Dictionary <int, OB_PersonSpellData>();
                OBPersonData[nEntityID][nSlotID] = new OB_PersonSpellData();
            }
            else if (!OBPersonData[nEntityID].ContainsKey(nSlotID))
            {
                OBPersonData[nEntityID][nSlotID] = new OB_PersonSpellData();
            }

            return(OBPersonData[nEntityID][nSlotID]);
        }