Example #1
0
        public override VobSendFlags Read(RakNet.BitStream stream)
        {
            VobSendFlags sendFlags = base.Read(stream);

            if (sendFlags.HasFlag(VobSendFlags.FocusName))
            {
                stream.Read(out focusName);
            }
            if (sendFlags.HasFlag(VobSendFlags.State))
            {
                stream.Read(out state);
            }
            if (sendFlags.HasFlag(VobSendFlags.UseWithItem))
            {
                int instanceID = 0;
                stream.Read(out instanceID);
                ItemInstance ii = ItemInstance.ItemInstanceDict[instanceID];
                this.useWithItem = ii;
            }
            if (sendFlags.HasFlag(VobSendFlags.TriggerTarget))
            {
                stream.Read(out triggerTarget);
            }

            return(sendFlags);
        }
        public override VobSendFlags Read(RakNet.BitStream stream)
        {
            VobSendFlags b = base.Read(stream);

            if (b.HasFlag(VobSendFlags.MCItemList))
            {
                int itemCount = 0;
                stream.Read(out itemCount);
                for (int i = 0; i < itemCount; i++)
                {
                    int itemID = 0;
                    stream.Read(out itemID);

                    if (!sWorld.VobDict.ContainsKey(itemID))
                    {
                        throw new Exception("Item was not found! :" + itemID);
                    }

                    Item itm = (Item)sWorld.VobDict[itemID];
                    addItem(itm);
                }
            }

            return(b);
        }
        protected override VobSendFlags getSendInfo()
        {
            VobSendFlags b = base.getSendInfo();



            return(b);
        }
        protected override VobSendFlags getSendInfo()
        {
            VobSendFlags b = base.getSendInfo();

            if (itemList != null && this.itemList.Count != 0)
            {
                b |= VobSendFlags.MCItemList;
            }

            return(b);
        }
        public override Vob.VobSendFlags Write(RakNet.BitStream stream)
        {
            VobSendFlags b = base.Write(stream);

            if (b.HasFlag(VobSendFlags.MCItemList))
            {
                stream.Write(this.itemList.Count);
                for (int i = 0; i < this.itemList.Count; i++)
                {
                    stream.Write(this.itemList[i].ID);
                }
            }

            return(b);
        }
        protected override VobSendFlags getSendInfo()
        {
            VobSendFlags b = base.getSendInfo();

            if (this.IsLocked)
            {
                b |= VobSendFlags.IsLocked;
            }
            if (this.KeyInstance != null)
            {
                b |= VobSendFlags.KeyInstance;
            }
            if (this.PickLockStr != null && this.PickLockStr.Length != 0)
            {
                b |= VobSendFlags.PickLockStr;
            }
            return(b);
        }
        protected virtual VobSendFlags getSendInfo()
        {
            VobSendFlags a = 0;

            if (Visual.Length != 0)
            {
                a |= VobSendFlags.Visual;
            }
            if (!CDDyn)
            {
                a |= VobSendFlags.CDDyn;
            }
            if (!CDStatic)
            {
                a |= VobSendFlags.CDStatic;
            }
            return(a);
        }
        public override VobSendFlags Write(RakNet.BitStream stream)
        {
            VobSendFlags sendFlags = base.Write(stream);

            if (sendFlags.HasFlag(VobSendFlags.IsLocked))
            {
                stream.Write(IsLocked);
            }
            if (sendFlags.HasFlag(VobSendFlags.KeyInstance))
            {
                stream.Write(KeyInstance.ID);
            }
            if (sendFlags.HasFlag(VobSendFlags.PickLockStr))
            {
                stream.Write(PickLockStr);
            }

            return(sendFlags);
        }
        public override VobSendFlags Read(RakNet.BitStream stream)
        {
            VobSendFlags sendFlags = base.Read(stream);

            if (sendFlags.HasFlag(VobSendFlags.IsLocked))
            {
                stream.Read(out isLocked);
            }
            if (sendFlags.HasFlag(VobSendFlags.KeyInstance))
            {
                int keyID = 0;
                stream.Read(out keyID);
                KeyInstance = ItemInstance.ItemInstanceDict[keyID];
            }
            if (sendFlags.HasFlag(VobSendFlags.PickLockStr))
            {
                stream.Read(out pickLockStr);
            }

            return(sendFlags);
        }
        public virtual VobSendFlags Write(BitStream stream)
        {
            VobSendFlags sendInfo = getSendInfo();

            stream.Write(ID);
            stream.Write((int)sendInfo);

            if (sendInfo.HasFlag(VobSendFlags.Visual))
            {
                stream.Write(Visual);
            }
            if (sendInfo.HasFlag(VobSendFlags.CDDyn))
            {
                stream.Write(CDDyn);
            }
            if (sendInfo.HasFlag(VobSendFlags.CDStatic))
            {
                stream.Write(CDStatic);
            }
            return(sendInfo);
        }
        public override VobSendFlags Write(RakNet.BitStream stream)
        {
            VobSendFlags sendFlags = base.Write(stream);

            if (sendFlags.HasFlag(VobSendFlags.FocusName))
            {
                stream.Write(focusName);
            }
            if (sendFlags.HasFlag(VobSendFlags.State))
            {
                stream.Write(state);
            }
            if (sendFlags.HasFlag(VobSendFlags.UseWithItem))
            {
                stream.Write(useWithItem.ID);
            }
            if (sendFlags.HasFlag(VobSendFlags.TriggerTarget))
            {
                stream.Write(triggerTarget);
            }
            return(sendFlags);
        }
        protected override VobSendFlags getSendInfo()
        {
            VobSendFlags b = base.getSendInfo();

            if (focusName != null && focusName.Length != 0)
            {
                b |= VobSendFlags.FocusName;
            }
            if (state != 0)
            {
                b |= VobSendFlags.State;
            }
            if (useWithItem != null)
            {
                b |= VobSendFlags.UseWithItem;
            }
            if (triggerTarget != null && triggerTarget.Length != 0)
            {
                b |= VobSendFlags.TriggerTarget;
            }

            return(b);
        }
Example #13
0
        public virtual VobSendFlags Read(BitStream stream)
        {
            int          sendInfo     = 0;
            VobSendFlags sendInfoFlag = 0;

            stream.Read(out _id);
            stream.Read(out sendInfo);

            sendInfoFlag = (VobSendFlags)sendInfo;

            if (sendInfoFlag.HasFlag(VobSendFlags.Visual))
            {
                stream.Read(out visual);
            }
            if (sendInfoFlag.HasFlag(VobSendFlags.CDDyn))
            {
                stream.Read(out _CDDyn);
            }
            if (sendInfoFlag.HasFlag(VobSendFlags.CDStatic))
            {
                stream.Read(out _CDStatic);
            }
            return(sendInfoFlag);
        }
        public override VobSendFlags Write(BitStream stream)
        {
            VobSendFlags sendInfo = base.Write(stream);

            stream.Write(Name);
            stream.Write(BodyMesh);
            stream.Write(BodyTex);
            stream.Write(SkinColor);
            stream.Write(HeadMesh);
            stream.Write(HeadTex);
            stream.Write(TeethTex);

            stream.Write(this.Attributes);
            stream.Write(this.TalentSkills);
            stream.Write(this.TalentValues);
            stream.Write(this.Hitchances);

            stream.Write(this.Scale);
            stream.Write(this.Fatness);


            stream.Write(itemList.Count);
            foreach (Item it in itemList)
            {
                stream.Write(it.ID);
            }

            stream.Write(EquippedList.Count);
            foreach (Item it in EquippedList)
            {
                stream.Write(it.ID);
            }

            if (Armor == null)
            {
                stream.Write(0);
            }
            else
            {
                stream.Write(Armor.ID);
            }

            if (Weapon == null)
            {
                stream.Write(0);
            }
            else
            {
                stream.Write(Weapon.ID);
            }

            if (RangeWeapon == null)
            {
                stream.Write(0);
            }
            else
            {
                stream.Write(RangeWeapon.ID);
            }

            if (this.ActiveSpell == null)
            {
                stream.Write(0);
            }
            else
            {
                stream.Write(this.ActiveSpell.ID);
            }

            stream.Write(Overlays.Count);
            foreach (String str in Overlays)
            {
                stream.Write(str);
            }

            stream.Write(this.IsInvisible);
            stream.Write(this.hideName);

            stream.Write(this.weaponMode);

            return(sendInfo);
        }
        public override VobSendFlags Read(RakNet.BitStream stream)
        {
            VobSendFlags sendInfo = base.Read(stream);

            stream.Read(out name);
            stream.Read(out bodyMesh);
            stream.Read(out bodyTex);
            stream.Read(out skinColor);
            stream.Read(out headMesh);
            stream.Read(out headTex);
            stream.Read(out teethTex);

            stream.Read(out this.attributes, this.Attributes.Length);
            stream.Read(out this.talentSkills, this.TalentSkills.Length);
            stream.Read(out this.talentValues, this.TalentValues.Length);
            stream.Read(out this.hitchances, this.Hitchances.Length);


            Vec3f vec = new Vec3f();

            stream.Read(out vec);
            Scale = vec;

            stream.Read(out Fatness);


            int itemCount = 0;

            stream.Read(out itemCount);
            for (int i = 0; i < itemCount; i++)
            {
                int itemID = 0;
                stream.Read(out itemID);

                Item it = (Item)sWorld.VobDict[itemID];
                addItem(it);
            }

            itemCount = 0;
            stream.Read(out itemCount);
            for (int i = 0; i < itemCount; i++)
            {
                int itemID = 0;
                stream.Read(out itemID);

                Item it = (Item)sWorld.VobDict[itemID];
                EquippedList.Add(it);
            }

            int armorID = 0, weaponID = 0, rangeWeaponID = 0;

            stream.Read(out armorID);
            stream.Read(out weaponID);
            stream.Read(out rangeWeaponID);
            if (armorID > 0)
            {
                Armor = (Item)sWorld.VobDict[armorID];
            }
            if (weaponID > 0)
            {
                Weapon = (Item)sWorld.VobDict[weaponID];
            }
            if (rangeWeaponID > 0)
            {
                RangeWeapon = (Item)sWorld.VobDict[rangeWeaponID];
            }

            int activeSpellIDid = 0;

            stream.Read(out activeSpellIDid);
            if (activeSpellIDid > 0)
            {
                this.ActiveSpell = (Item)sWorld.VobDict[activeSpellIDid];
            }


            int overlayCount = 0;

            stream.Read(out overlayCount);
            for (int i = 0; i < overlayCount; i++)
            {
                String overlay = "";
                stream.Read(out overlay);
                Overlays.Add(overlay);
            }

            stream.Read(out this.IsInvisible);
            stream.Read(out this.hideName);

            stream.Read(out this.weaponMode);

            return(sendInfo);
        }