Esempio n. 1
0
        public void LoadData()
        {
            Name = Data.CharacterName;

            Inventory = Data.Inventory.ToArray();
            Equipment = Data.Equipment.ToArray();
            Storage   = Data.Storage.ToArray();

            Class  = Data.Class;
            Gender = Data.Gender;

            Level    = Data.Level;
            HairType = Data.HairType;

            MapIndex  = Data.MapIndex;
            Location  = Data.Location;
            Direction = Data.Direction;

            HomeMapIndex = Data.HomeIndex;
            HomeLocation = Data.HomeLocation;

            HP         = Data.HP;
            MP         = Data.MP;
            Experience = Data.Experience;
        }
Esempio n. 2
0
 static void MaleButton_Click(object sender, EventArgs e)
 {
     MaleButton.Index   = 2421;
     FemaleButton.Index = 2423;
     NewGender          = MirGender.Male;
     UpdateDisplayCharacter();
 }
Esempio n. 3
0
 public ClientHeroInformation(BinaryReader reader)
 {
     Index  = reader.ReadInt32();
     Name   = reader.ReadString();
     Level  = reader.ReadUInt16();
     Class  = (MirClass)reader.ReadByte();
     Gender = (MirGender)reader.ReadByte();
 }
Esempio n. 4
0
        public CharacterInfo(ClientPackets.NewCharacter p, MirConnection c)
        {
            Name = p.Name;
            Class = p.Class;
            Gender = p.Gender;

            CreationIP = c.IPAddress;
            CreationDate = SMain.Envir.Now;
        }
Esempio n. 5
0
 public SelectCharacterInfo(BinaryReader BReader)
 {
     Index         = BReader.ReadInt32();
     CharacterName = BReader.ReadString();
     Level         = BReader.ReadInt32();
     Class         = (MirClass)BReader.ReadByte();
     Gender        = (MirGender)BReader.ReadByte();
     LastAccess    = DateTime.FromBinary(BReader.ReadInt64());
 }
Esempio n. 6
0
 public SelectInfo(BinaryReader reader)
 {
     Index      = reader.ReadInt32();
     Name       = reader.ReadString();
     Level      = reader.ReadUInt16();
     Class      = (MirClass)reader.ReadByte();
     Gender     = (MirGender)reader.ReadByte();
     LastAccess = DateTime.FromBinary(reader.ReadInt64());
 }
Esempio n. 7
0
        public CharacterInfo(ClientPackets.NewCharacter p, MirConnection c)
        {
            Name   = p.Name;
            Class  = p.Class;
            Gender = p.Gender;

            CreationIP   = c.IPAddress;
            CreationDate = SMain.Envir.Now;
        }
Esempio n. 8
0
        public override void Show()
        {
            base.Show();

            Class            = MirClass.Warrior;
            Gender           = MirGender.Male;
            NameTextBox.Text = string.Empty;

            UpdateInterface();
        }
Esempio n. 9
0
 public UserDetails(BinaryReader BReader)
 {
     ObjectID  = BReader.ReadInt64();
     Name      = BReader.ReadString();
     Hair      = BReader.ReadInt32();
     Class     = (MirClass)BReader.ReadByte();
     Gender    = (MirGender)BReader.ReadByte();
     Direction = (MirDirection)BReader.ReadByte();
     Location  = new Point(BReader.ReadInt32(), BReader.ReadInt32());
     Dead      = BReader.ReadBoolean();
 }
Esempio n. 10
0
        public CharacterInfo(MySqlDataReader readerCharactersListDB)
        {
            Index           = Convert.ToInt32(readerCharactersListDB["IndexID"]);
            Name            = readerCharactersListDB["Name"].ToString();
            Level           = Convert.ToUInt16(readerCharactersListDB["Level"]);
            Class           = (MirClass)Convert.ToInt32(readerCharactersListDB["Class"]);
            Gender          = (MirGender)Convert.ToInt32(readerCharactersListDB["Gender"]);
            Hair            = Convert.ToByte(readerCharactersListDB["Hair"]);
            InventoryResize = Convert.ToInt32(readerCharactersListDB["InventoryResize"]);
            Array.Resize(ref Inventory, InventoryResize);
            CreationIP   = readerCharactersListDB["CreationIP"].ToString();
            CreationDate = readerCharactersListDB.GetDateTime(readerCharactersListDB.GetOrdinal("CreationDate"));
            Banned       = Convert.ToBoolean(readerCharactersListDB["Banned"]);
            BanReason    = readerCharactersListDB["BanReason"].ToString();

            ExpiryDate = readerCharactersListDB.GetDateTime(readerCharactersListDB.GetOrdinal("ExpiryDate"));

            LastIP          = readerCharactersListDB["LastIP"].ToString();
            LastDate        = readerCharactersListDB.GetDateTime(readerCharactersListDB.GetOrdinal("LastDate"));
            Deleted         = Convert.ToBoolean(readerCharactersListDB["Deleted"]);
            DeleteDate      = readerCharactersListDB.GetDateTime(readerCharactersListDB.GetOrdinal("DeleteDate"));
            CurrentMapIndex = Convert.ToInt32(readerCharactersListDB["CurrentMapIndex"]);
            CurrentLocation = new Point(Convert.ToInt32(readerCharactersListDB["CurrentLocation_X"]), Convert.ToInt32(readerCharactersListDB["CurrentLocation_Y"]));
            Direction       = (MirDirection)Convert.ToInt32(readerCharactersListDB["Direction"]);
            BindMapIndex    = Convert.ToInt32(readerCharactersListDB["BindMapIndex"]);
            BindLocation    = new Point(Convert.ToInt32(readerCharactersListDB["BindLocation_X"]), Convert.ToInt32(readerCharactersListDB["BindLocation_Y"]));
            HP = Convert.ToUInt16(readerCharactersListDB["HP"]);
            MP = Convert.ToUInt16(readerCharactersListDB["MP"]);

            Experience    = Convert.ToInt64(readerCharactersListDB["Experience"]);
            AMode         = (AttackMode)Convert.ToInt32(readerCharactersListDB["AMode"]);
            PMode         = (PetMode)Convert.ToInt32(readerCharactersListDB["PMode"]);
            PKPoints      = Convert.ToInt32(readerCharactersListDB["PKPoints"]);
            Thrusting     = Convert.ToBoolean(readerCharactersListDB["Thrusting"]);
            HalfMoon      = Convert.ToBoolean(readerCharactersListDB["HalfMoon"]);
            CrossHalfMoon = Convert.ToBoolean(readerCharactersListDB["CrossHalfMoon"]);
            DoubleSlash   = Convert.ToBoolean(readerCharactersListDB["DoubleSlash"]);
            MentalState   = Convert.ToByte(readerCharactersListDB["MentalState"]);
            AllowGroup    = Convert.ToBoolean(readerCharactersListDB["AllowGroup"]);
            AllowTrade    = Convert.ToBoolean(readerCharactersListDB["AllowTrade"]);
            Married       = Convert.ToInt32(readerCharactersListDB["Married"]);
            MarriedDate   = readerCharactersListDB.GetDateTime(readerCharactersListDB.GetOrdinal("MarriedDate"));
            MarriedName   = readerCharactersListDB["MarriedName"].ToString();
            Mentor        = Convert.ToInt32(readerCharactersListDB["Mentor"]);
            MentorDate    = readerCharactersListDB.GetDateTime(readerCharactersListDB.GetOrdinal("MentorDate"));
            isMentor      = Convert.ToBoolean(readerCharactersListDB["isMentor"]);
            MentorExp     = Convert.ToInt64(readerCharactersListDB["MentorExp"]);
            MentorName    = readerCharactersListDB["MentorName"].ToString();
            PearlCount    = Convert.ToInt32(readerCharactersListDB["PearlCount"]);
            CollectTime   = Convert.ToInt64(readerCharactersListDB["CollectTime"]);
            CollectTime  += SMain.Envir.Time;
            GuildIndex    = Convert.ToInt32(readerCharactersListDB["GuildIndex"]);
        }
Esempio n. 11
0
        public void NewInfo(UserDetails PInfo)
        {
            ObjectID = PInfo.ObjectID;
            Name     = PInfo.Name;
            HairType = PInfo.Hair;

            Location  = PInfo.Location;
            Direction = PInfo.Direction;
            Class     = PInfo.Class;
            Gender    = PInfo.Gender;

            RefreshLibraries();
        }
Esempio n. 12
0
    public void SelectGender(int i)
    {
        selectedGender = (MirGender)i;

        RefreshModel();

        for (int j = 0; j < GenderButtons.Length; j++)
        {
            GenderButtons[j].Select(i == j);
        }

        NameInput.ActivateInputField();
    }
Esempio n. 13
0
 public void GetHumanInfo()
 {
     if (Settings.HumMobs != null && Settings.HumMobs.Count > 0)
     {
         for (int i = 0; i < Settings.HumMobs.Count; i++)
         {
             if (Settings.HumMobs[i].HumansName.ToLower() == Info.Name.ToLower())
             {
                 mobsClass  = Settings.HumMobs[i].MobsClass;
                 mobsGender = Settings.HumMobs[i].MobsGender;
                 weapon     = Settings.HumMobs[i].Weapon;
                 armour     = Settings.HumMobs[i].Armour;
                 wing       = Settings.HumMobs[i].Wing;
                 hair       = Settings.HumMobs[i].Hair;
                 light      = Settings.HumMobs[i].Light;
             }
         }
     }
 }
Esempio n. 14
0
        public CharacterInfo(DataRow Row)
        {
            CharacterIndex = Row["Character Index"] is DBNull ? -1 : (int)Row["Character Index"];
            CharacterName  = Row["Character Name"] is DBNull ? string.Empty : Row["Character Name"].ToString();
            Level          = Row["Level"] is DBNull ? 0 : (int)Row["Level"];
            Class          = (MirClass)(Row["Class"] is DBNull ? 0 : (int)Row["Class"]);
            Gender         = (MirGender)(Row["Gender"] is DBNull ? 0 : (int)Row["Gender"]);

            Deleted     = Row["Deleted"] is DBNull ? false : (bool)Row["Deleted"];
            DeleteCount = Row["Delete Count"] is DBNull ? 0 : (int)Row["Delete Count"];
            DeleteDate  = new DateTime(Row["Delete Date"] is DBNull ? 0 : (long)Row["Delete Date"]);

            CreatorIP    = Row["Creator IP"] is DBNull ? string.Empty : Row["Creator IP"].ToString();;
            CreationDate = new DateTime(Row["Creation Date"] is DBNull ? 0 : (long)Row["Creation Date"]);

            Banned     = Row["Banned"] is DBNull ? false : (bool)Row["Banned"];
            BanCount   = Row["Ban Count"] is DBNull ? 0 : (int)Row["Ban Count"];
            BanReason  = Row["Ban Reason"] is DBNull ? string.Empty : Row["Ban Reason"].ToString();
            ExpiryDate = new DateTime(Row["Expiry Date"] is DBNull ? 0 : (long)Row["Expiry Date"]);

            LastAccess = new DateTime(Row["Last Access"] is DBNull ? 0 : (long)Row["Last Access"]);

            Direction = (MirDirection)(Row["Direction"] is DBNull ? 0 : (int)Row["Direction"]);

            HomeIndex      = Row["Home Index"] is DBNull ? 0 : (int)Row["Home Index"];
            HomeLocation.X = Row["Home X"] is DBNull ? 0 : (int)Row["Home X"];
            HomeLocation.Y = Row["Home Y"] is DBNull ? 0 : (int)Row["Home Y"];

            MapIndex   = Row["Map Index"] is DBNull ? 0 : (int)Row["Map Index"];
            Location.X = Row["Location X"] is DBNull ? 0 : (int)Row["Location X"];
            Location.Y = Row["Location Y"] is DBNull ? 0 : (int)Row["Location Y"];

            HairType = Row["Hair Type"] is DBNull ? 0 : (int)Row["Hair Type"];

            Experience = Row["Experience"] is DBNull ? 0 : (int)Row["Experience"];
            HP         = Row["HP"] is DBNull ? 0 : (int)Row["HP"];
            MP         = Row["MP"] is DBNull ? 0 : (int)Row["MP"];
        }
Esempio n. 15
0
        public void Load(S.ObjectPlayer info)
        {
            Name = info.Name;
            NameColour = info.NameColour;
            GuildName = info.GuildName;
            GuildRankName = info.GuildRankName;
            Class = info.Class;
            Gender = info.Gender;
            Level = info.Level;

            CurrentLocation = info.Location;
            MapLocation = info.Location;
            GameScene.Scene.MapControl.AddObject(this);

            Direction = info.Direction;
            Hair = info.Hair;

            Weapon = info.Weapon;
            Armour = info.Armour;
            Light = info.Light;

            Poison = info.Poison;

            Dead = info.Dead;
            Hidden = info.Hidden;

            WingEffect = info.WingEffect;
            CurrentEffect = info.Effect;

            MountType = info.MountType;
            RidingMount = info.RidingMount;

            Fishing = info.Fishing;

            TransformType = info.TransformType;

            SetLibraries();

            if (Dead) ActionFeed.Add(new QueuedAction { Action = MirAction.Dead, Direction = Direction, Location = CurrentLocation });
            if (info.Extra) Effects.Add(new Effect(Libraries.Magic2, 670, 10, 800, this));

            ElementEffect = (int)info.ElementOrbEffect;
            ElementsLevel = (int)info.ElementOrbLvl;
            ElementOrbMax = (int)info.ElementOrbMax;

            Buffs = info.Buffs;

            LevelEffects = info.LevelEffects;

            ProcessBuffs();

            SetAction();

            SetEffects();
        }
Esempio n. 16
0
 protected override void ReadPacket(BinaryReader BReader)
 {
     CharacterName = BReader.ReadString();
     Gender        = (MirGender)BReader.ReadByte();
     Class         = (MirClass)BReader.ReadByte();
 }
Esempio n. 17
0
        public void Load(S.ObjectPlayer info)
        {
            Name = info.Name;
            NameColour = info.NameColour;
            Class = info.Class;
            Gender = info.Gender;

            CurrentLocation = info.Location;
            MapLocation = info.Location;
            GameScene.Scene.MapControl.AddObject(this);

            Direction = info.Direction;
            Hair = info.Hair;

            Weapon = info.Weapon;
            Armour = info.Armour;
            Light = info.Light;

            Poison = info.Poison;

            Dead = info.Dead;
            Hidden = info.Hidden;

            WingEffect = info.WingEffect;

            SetLibraries();

            if (Dead) ActionFeed.Add(new QueuedAction { Action = MirAction.Dead, Direction = Direction, Location = CurrentLocation });
            if (info.Extra) Effects.Add(new Effect(Libraries.Magic2, 670, 10, 800, this));

            SetAction();
        }
Esempio n. 18
0
    public void Refresh(MirClass selectedClass, MirGender selectedGender)
    {
        for (int i = 0; i < hairImages.Count; i++)
        {
            Destroy(hairImages[i]);
        }
        hairImages.Clear();

        for (int i = 0; i < faceImages.Count; i++)
        {
            Destroy(faceImages[i]);
        }
        faceImages.Clear();

        for (int i = 0; i < haircolourImages.Count; i++)
        {
            Destroy(haircolourImages[i]);
        }
        haircolourImages.Clear();

        List <Sprite> hairList       = null;
        List <Sprite> faceList       = null;
        List <Sprite> haircolourList = null;

        switch (selectedClass)
        {
        case MirClass.Warrior:
            hairList = WarriorHairImages;
            faceList = WarriorFaceImages;
            break;

        case MirClass.Wizard:
            hairList = WizardHairImages;
            faceList = WizardFaceImages;
            break;

        case MirClass.Taoist:
            hairList = TaoistHairImages;
            faceList = TaoistFaceImages;
            break;

        case MirClass.Assassin:
            hairList = AssassinHairImages;
            faceList = AssassinFaceImages;
            break;

        case MirClass.Archer:
            hairList = ArcherHairImages;
            faceList = ArcherFaceImages;
            break;
        }
        haircolourList = HairColourImages;

        if (hairList != null)
        {
            for (int i = (byte)selectedGender; i < hairList.Count; i += 2)
            {
                GameObject         prefab = Instantiate(HairImagePrefab, HairGrid.transform, false);
                CustomizeImageInfo hii    = prefab.GetComponent <CustomizeImageInfo>();
                hii.Manager      = this;
                hii.Image.sprite = hairList[i];
                hii.Index        = i / 2;
                hii.Image.gameObject.GetComponent <Button>().onClick.AddListener(() => hii.HairImage_onClick());
                if (i == 0)
                {
                    hii.SelectImage.gameObject.SetActive(true);
                }
                hairImages.Add(prefab);
            }
        }

        if (faceList != null)
        {
            for (int i = (int)selectedGender; i < faceList.Count; i += 2)
            {
                GameObject         prefab = Instantiate(HairImagePrefab, FaceGrid.transform, false);
                CustomizeImageInfo hii    = prefab.GetComponent <CustomizeImageInfo>();
                hii.Manager      = this;
                hii.Image.sprite = faceList[i];
                hii.Index        = i / 2;
                hii.Image.gameObject.GetComponent <Button>().onClick.AddListener(() => hii.FaceImage_onClick());
                if (i == 0)
                {
                    hii.SelectImage.gameObject.SetActive(true);
                }
                faceImages.Add(prefab);
            }
        }

        if (haircolourList != null)
        {
            for (int i = (int)selectedGender; i < haircolourList.Count; i += 2)
            {
                GameObject prefab = Instantiate(HairImagePrefab, HairColourGrid.transform, false);
                prefab.transform.localScale = new Vector3(0.75f, 0.75f, 0.75f);
                CustomizeImageInfo hii = prefab.GetComponent <CustomizeImageInfo>();
                hii.Manager      = this;
                hii.Image.sprite = haircolourList[i];
                hii.Index        = i / 2;
                hii.Image.gameObject.GetComponent <Button>().onClick.AddListener(() => hii.HairColourImage_onClick());
                if (i == 0)
                {
                    hii.SelectImage.gameObject.SetActive(true);
                }
                haircolourImages.Add(prefab);
            }
        }

        HairTab.Select(true);
        HairGrid.SetActive(true);

        FaceTab.Select(false);
        FaceGrid.SetActive(false);

        HairColourTab.Select(false);
        HairColourGrid.SetActive(false);
    }
Esempio n. 19
0
        public CharacterInfo(BinaryReader reader)
        {
            Index = reader.ReadInt32();
            Name = reader.ReadString();

            Level = reader.ReadByte();
            Class = (MirClass) reader.ReadByte();
            Gender = (MirGender) reader.ReadByte();
            Hair = reader.ReadByte();

            CreationIP = reader.ReadString();
            CreationDate = DateTime.FromBinary(reader.ReadInt64());

            Banned = reader.ReadBoolean();
            BanReason = reader.ReadString();
            ExpiryDate = DateTime.FromBinary(reader.ReadInt64());

            LastIP = reader.ReadString();
            LastDate = DateTime.FromBinary(reader.ReadInt64());

            Deleted = reader.ReadBoolean();
            DeleteDate = DateTime.FromBinary(reader.ReadInt64());

            CurrentMapIndex = reader.ReadInt32();
            CurrentLocation = new Point(reader.ReadInt32(), reader.ReadInt32());
            Direction = (MirDirection)reader.ReadByte();
            BindMapIndex = reader.ReadInt32();
            BindLocation = new Point(reader.ReadInt32(), reader.ReadInt32());

            HP = reader.ReadUInt16();
            MP = reader.ReadUInt16();
            Experience = reader.ReadInt64();

            AMode = (AttackMode) reader.ReadByte();
            PMode = (PetMode) reader.ReadByte();

            if (Envir.LoadVersion > 34)
            {
                PKPoints = reader.ReadInt32();
            }

            int count = reader.ReadInt32();

            Array.Resize(ref Inventory, count);

            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean()) continue;
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (SMain.Envir.BindItem(item) && i < Inventory.Length)
                    Inventory[i] = item;
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean()) continue;
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (SMain.Envir.BindItem(item) && i < Equipment.Length)
                    Equipment[i] = item;
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean()) continue;
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (SMain.Envir.BindItem(item) && i < QuestInventory.Length)
                    QuestInventory[i] = item;
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                UserMagic magic = new UserMagic(reader);
                if (magic.Info == null) continue;
                Magics.Add(magic);
            }

            if (Envir.LoadVersion < 2) return;

            Thrusting = reader.ReadBoolean();
            HalfMoon = reader.ReadBoolean();
            CrossHalfMoon = reader.ReadBoolean();
            DoubleSlash = reader.ReadBoolean();

            if(Envir.LoadVersion > 46)
            {
                MentalState = reader.ReadByte();
            }

            if (Envir.LoadVersion < 4) return;

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
                Pets.Add(new PetInfo(reader));

            if (Envir.LoadVersion < 5) return;

            AllowGroup = reader.ReadBoolean();

            if (Envir.LoadVersion < 12) return;

            if (Envir.LoadVersion == 12) count = reader.ReadInt32();

            for (int i = 0; i < Globals.FlagIndexCount; i++)
                Flags[i] = reader.ReadBoolean();

            if (Envir.LoadVersion > 27)
                GuildIndex = reader.ReadInt32();

            if (Envir.LoadVersion > 30)
                AllowTrade = reader.ReadBoolean();

            if (Envir.LoadVersion > 33)
            {
                count = reader.ReadInt32();

                for (int i = 0; i < count; i++)
                {
                    QuestProgressInfo quest = new QuestProgressInfo(reader);
                    if (SMain.Envir.BindQuest(quest))
                        CurrentQuests.Add(quest);
                }
            }

            if(Envir.LoadVersion > 42)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Buff buff = new Buff(reader);

                    if (Envir.LoadVersion == 51)
                    {
                        buff.Caster = SMain.Envir.GetObject(reader.ReadUInt32());
                    }

                    Buffs.Add(buff);
                }
            }

            if(Envir.LoadVersion > 43)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                    Mail.Add(new MailInfo(reader, Envir.LoadVersion, Envir.LoadCustomVersion));
            }

            //IntelligentCreature
            if (Envir.LoadVersion > 44)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    UserIntelligentCreature creature = new UserIntelligentCreature(reader);
                    if (creature.Info == null) continue;
                    IntelligentCreatures.Add(creature);
                }

                if (Envir.LoadVersion == 45)
                {
                    var old1 = (IntelligentCreatureType)reader.ReadByte();
                    var old2 = reader.ReadBoolean();
                }

                PearlCount = reader.ReadInt32();
            }

            if (Envir.LoadVersion > 49)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                    CompletedQuests.Add(reader.ReadInt32());
            }

            if (Envir.LoadVersion > 50 && Envir.LoadVersion < 54)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Poison poison = new Poison(reader);

                    if (Envir.LoadVersion == 51)
                    {
                        poison.Owner = SMain.Envir.GetObject(reader.ReadUInt32());
                    }

                    Poisons.Add(poison);
                }
            }

            if (Envir.LoadVersion > 56)
            {
                if (reader.ReadBoolean()) CurrentRefine = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                  if (CurrentRefine != null)
                    SMain.Envir.BindItem(CurrentRefine);

                CollectTime = reader.ReadInt64();
                CollectTime += SMain.Envir.Time;
            }

            if (Envir.LoadVersion > 58)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                    Friends.Add(new FriendInfo(reader));
            }

            if (Envir.LoadVersion > 59)
            {
                Married = reader.ReadInt32();
                MarriedDate = DateTime.FromBinary(reader.ReadInt64());
                Mentor = reader.ReadInt32();
                MentorDate = DateTime.FromBinary(reader.ReadInt64());
                isMentor = reader.ReadBoolean();
                MentorExp = reader.ReadInt64();
            }
        }
Esempio n. 20
0
            public NewCharacterDialog()
            {
                Index = 73;
                Library = Libraries.Prguse;
                Location = new Point((Settings.ScreenWidth - Size.Width)/2, (Settings.ScreenHeight - Size.Height)/2);
                Modal = true;

                TitleLabel = new MirImageControl
                    {
                        Index = 20,
                        Library = Libraries.Title,
                        Location = new Point(206, 11),
                        Parent = this,
                    };

                CancelButton = new MirButton
                    {
                        HoverIndex = 281,
                        Index = 280,
                        Library = Libraries.Title,
                        Location = new Point(425, 425),
                        Parent = this,
                        PressedIndex = 282
                    };
                CancelButton.Click += (o, e) => Dispose();


                OKButton = new MirButton
                    {
                        Enabled = false,
                        HoverIndex = 361,
                        Index = 360,
                        Library = Libraries.Title,
                        Location = new Point(160, 425),
                        Parent = this,
                        PressedIndex = 362,
                    };
                OKButton.Click += (o, e) => CreateCharacter();

                NameTextBox = new MirTextBox
                    {
                        Location = new Point(325, 268),
                        Parent = this,
                        Size = new Size(240, 20),
                        MaxLength = Globals.MaxCharacterNameLength
                    };
                NameTextBox.TextBox.KeyPress += TextBox_KeyPress;
                NameTextBox.TextBox.TextChanged += CharacterNameTextBox_TextChanged;
                NameTextBox.SetFocus();

                CharacterDisplay = new MirAnimatedControl
                    {
                        Animated = true,
                        AnimationCount = 16,
                        AnimationDelay = 250,
                        Index = 20,
                        Library = Libraries.ChrSel,
                        Location = new Point(120, 250),
                        Parent = this,
                        UseOffSet = true,
                    };
                CharacterDisplay.AfterDraw += (o, e) =>
                    {
                        if (_class == MirClass.Wizard)
                            Libraries.ChrSel.DrawBlend(CharacterDisplay.Index + 560, CharacterDisplay.DisplayLocationWithoutOffSet, Color.White, true);
                    };


                WarriorButton = new MirButton
                    {
                        HoverIndex = 2427,
                        Index = 2427,
                        Library = Libraries.Prguse,
                        Location = new Point(323, 296),
                        Parent = this,
                        PressedIndex = 2428,
                        Sound = SoundList.ButtonA,
                    };
                WarriorButton.Click += (o, e) =>
                    {
                        _class = MirClass.Warrior;
                        UpdateInterface();
                    };


                WizardButton = new MirButton
                    {
                        HoverIndex = 2430,
                        Index = 2429,
                        Library = Libraries.Prguse,
                        Location = new Point(373, 296),
                        Parent = this,
                        PressedIndex = 2431,
                        Sound = SoundList.ButtonA,
                    };
                WizardButton.Click += (o, e) =>
                    {
                        _class = MirClass.Wizard;
                        UpdateInterface();
                    };


                TaoistButton = new MirButton
                    {
                        HoverIndex = 2433,
                        Index = 2432,
                        Library = Libraries.Prguse,
                        Location = new Point(423, 296),
                        Parent = this,
                        PressedIndex = 2434,
                        Sound = SoundList.ButtonA,
                    };
                TaoistButton.Click += (o, e) =>
                    {
                        _class = MirClass.Taoist;
                        UpdateInterface();
                    };

                AssassinButton = new MirButton
                    {
                        HoverIndex = 2436,
                        Index = 2435,
                        Library = Libraries.Prguse,
                        Location = new Point(473, 296),
                        Parent = this,
                        PressedIndex = 2437,
                        Sound = SoundList.ButtonA,
                    };
                AssassinButton.Click += (o, e) =>
                    {
                        _class = MirClass.Assassin;
                        UpdateInterface();
                    };

                ArcherButton = new MirButton
                {
                    HoverIndex = 2439,
                    Index = 2438,
                    Library = Libraries.Prguse,
                    Location = new Point(523, 296),
                    Parent = this,
                    PressedIndex = 2440,
                    Sound = SoundList.ButtonA,
                };
                ArcherButton.Click += (o, e) =>
                {
                    _class = MirClass.Archer;
                    UpdateInterface();
                };


                MaleButton = new MirButton
                    {
                        HoverIndex = 2421,
                        Index = 2421,
                        Library = Libraries.Prguse,
                        Location = new Point(323, 343),
                        Parent = this,
                        PressedIndex = 2422,
                        Sound = SoundList.ButtonA,
                    };
                MaleButton.Click += (o, e) =>
                    {
                        _gender = MirGender.Male;
                        UpdateInterface();
                    };

                FemaleButton = new MirButton
                    {
                        HoverIndex = 2424,
                        Index = 2423,
                        Library = Libraries.Prguse,
                        Location = new Point(373, 343),
                        Parent = this,
                        PressedIndex = 2425,
                        Sound = SoundList.ButtonA,
                    };
                FemaleButton.Click += (o, e) =>
                    {
                        _gender = MirGender.Female;
                        UpdateInterface();
                    };

                Description = new MirLabel
                    {
                        Border = true,
                        Location = new Point(279, 70),
                        Parent = this,
                        Size = new Size(278, 170),
                        Text = WarriorDescription,
                    };
            }
Esempio n. 21
0
        public CharacterInfo(BinaryReader reader, int version, int customVersion)
        {
            Index = reader.ReadInt32();
            Name  = reader.ReadString();

            if (version < 62)
            {
                Level = (ushort)reader.ReadByte();
            }
            else
            {
                Level = reader.ReadUInt16();
            }

            Class  = (MirClass)reader.ReadByte();
            Gender = (MirGender)reader.ReadByte();
            Hair   = reader.ReadByte();

            CreationIP   = reader.ReadString();
            CreationDate = DateTime.FromBinary(reader.ReadInt64());

            Banned     = reader.ReadBoolean();
            BanReason  = reader.ReadString();
            ExpiryDate = DateTime.FromBinary(reader.ReadInt64());

            LastIP         = reader.ReadString();
            LastLogoutDate = DateTime.FromBinary(reader.ReadInt64());

            if (version > 81)
            {
                LastLoginDate = DateTime.FromBinary(reader.ReadInt64());
            }

            Deleted    = reader.ReadBoolean();
            DeleteDate = DateTime.FromBinary(reader.ReadInt64());

            CurrentMapIndex = reader.ReadInt32();
            CurrentLocation = new Point(reader.ReadInt32(), reader.ReadInt32());
            Direction       = (MirDirection)reader.ReadByte();
            BindMapIndex    = reader.ReadInt32();
            BindLocation    = new Point(reader.ReadInt32(), reader.ReadInt32());

            if (version <= 84)
            {
                HP = reader.ReadUInt16();
                MP = reader.ReadUInt16();
            }
            else
            {
                HP = reader.ReadInt32();
                MP = reader.ReadInt32();
            }

            Experience = reader.ReadInt64();

            AMode = (AttackMode)reader.ReadByte();
            PMode = (PetMode)reader.ReadByte();

            if (version > 34)
            {
                PKPoints = reader.ReadInt32();
            }

            int count = reader.ReadInt32();

            Array.Resize(ref Inventory, count);

            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, version, customVersion);
                if (Envir.BindItem(item) && i < Inventory.Length)
                {
                    Inventory[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, version, customVersion);
                if (Envir.BindItem(item) && i < Equipment.Length)
                {
                    Equipment[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, version, customVersion);
                if (Envir.BindItem(item) && i < QuestInventory.Length)
                {
                    QuestInventory[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                UserMagic magic = new UserMagic(reader, version, customVersion);
                if (magic.Info == null)
                {
                    continue;
                }

                magic.CastTime = int.MinValue;
                Magics.Add(magic);
            }

            Thrusting     = reader.ReadBoolean();
            HalfMoon      = reader.ReadBoolean();
            CrossHalfMoon = reader.ReadBoolean();
            DoubleSlash   = reader.ReadBoolean();

            MentalState = reader.ReadByte();

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Pets.Add(new PetInfo(reader, version, customVersion));
            }

            AllowGroup = reader.ReadBoolean();

            for (int i = 0; i < Globals.FlagIndexCount; i++)
            {
                Flags[i] = reader.ReadBoolean();
            }

            GuildIndex = reader.ReadInt32();

            AllowTrade = reader.ReadBoolean();

            count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                QuestProgressInfo quest = new QuestProgressInfo(reader, version, customVersion);
                if (Envir.BindQuest(quest))
                {
                    CurrentQuests.Add(quest);
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Buff buff = new Buff(reader, version, customVersion);

                Buffs.Add(buff);
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Mail.Add(new MailInfo(reader, version, customVersion));
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                UserIntelligentCreature creature = new UserIntelligentCreature(reader, version, customVersion);
                if (creature.Info == null)
                {
                    continue;
                }
                IntelligentCreatures.Add(creature);
            }

            if (version == 45)
            {
                var old1 = (IntelligentCreatureType)reader.ReadByte();
                var old2 = reader.ReadBoolean();
            }

            PearlCount = reader.ReadInt32();

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                CompletedQuests.Add(reader.ReadInt32());
            }

            if (reader.ReadBoolean())
            {
                CurrentRefine = new UserItem(reader, version, customVersion);
            }

            if (CurrentRefine != null)
            {
                Envir.BindItem(CurrentRefine);
            }

            CollectTime  = reader.ReadInt64();
            CollectTime += Envir.Time;

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Friends.Add(new FriendInfo(reader, version, customVersion));
            }

            if (version > 75)
            {
                count = reader.ReadInt32();
                for (var i = 0; i < count; i++)
                {
                    RentedItems.Add(new ItemRentalInformation(reader, version, customVersion));
                }

                HasRentedItem = reader.ReadBoolean();
            }

            Married     = reader.ReadInt32();
            MarriedDate = DateTime.FromBinary(reader.ReadInt64());
            Mentor      = reader.ReadInt32();
            MentorDate  = DateTime.FromBinary(reader.ReadInt64());
            IsMentor    = reader.ReadBoolean();
            MentorExp   = reader.ReadInt64();

            if (version >= 63)
            {
                int logCount = reader.ReadInt32();

                for (int i = 0; i < logCount; i++)
                {
                    GSpurchases.Add(reader.ReadInt32(), reader.ReadInt32());
                }
            }
        }
Esempio n. 22
0
        protected override void ReadPacket(BinaryReader reader)
        {
            Name = reader.ReadString();
            GuildName = reader.ReadString();
            GuildRank = reader.ReadString();
            Equipment = new UserItem[reader.ReadInt32()];
            for (int i = 0; i < Equipment.Length; i++)
            {
                if (reader.ReadBoolean())
                    Equipment[i] = new UserItem(reader);
            }

            Class = (MirClass)reader.ReadByte();
            Gender = (MirGender)reader.ReadByte();
            Hair = reader.ReadByte();
            Level = reader.ReadByte();
            LoverName = reader.ReadString();
        }
Esempio n. 23
0
        public bool CreatureSummoned;//IntelligentCreature

        protected override void ReadPacket(BinaryReader reader)
        {
            ObjectID = reader.ReadUInt32();
            RealId = reader.ReadUInt32();
            Name = reader.ReadString();
            GuildName = reader.ReadString();
            GuildRank = reader.ReadString();
            NameColour = Color.FromArgb(reader.ReadInt32());
            Class = (MirClass)reader.ReadByte();
            Gender = (MirGender)reader.ReadByte();
            Level = reader.ReadByte();
            Location = new Point(reader.ReadInt32(), reader.ReadInt32());
            Direction = (MirDirection)reader.ReadByte();
            Hair = reader.ReadByte();
            HP = reader.ReadUInt16();
            MP = reader.ReadUInt16();

            Experience = reader.ReadInt64();
            MaxExperience = reader.ReadInt64();

            LevelEffects = (LevelEffects)reader.ReadByte();

            if (reader.ReadBoolean())
            {
                Inventory = new UserItem[reader.ReadInt32()];
                for (int i = 0; i < Inventory.Length; i++)
                {
                    if (!reader.ReadBoolean()) continue;
                    Inventory[i] = new UserItem(reader);
                }
            }

            if (reader.ReadBoolean())
            {
                Equipment = new UserItem[reader.ReadInt32()];
                for (int i = 0; i < Equipment.Length; i++)
                {
                    if (!reader.ReadBoolean()) continue;
                    Equipment[i] = new UserItem(reader);
                }
            }

            if (reader.ReadBoolean())
            {
                QuestInventory = new UserItem[reader.ReadInt32()];
                for (int i = 0; i < QuestInventory.Length; i++)
                {
                    if (!reader.ReadBoolean()) continue;
                    QuestInventory[i] = new UserItem(reader);
                }
            }

            Gold = reader.ReadUInt32();

            int count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
                Magics.Add(new ClientMagic(reader));

            //IntelligentCreature
            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
                IntelligentCreatures.Add(new ClientIntelligentCreature(reader));
            SummonedCreatureType = (IntelligentCreatureType)reader.ReadByte();
            CreatureSummoned = reader.ReadBoolean();
        }
Esempio n. 24
0
 protected override void ReadPacket(BinaryReader reader)
 {
     Name = reader.ReadString();
     Gender = (MirGender)reader.ReadByte();
     Class = (MirClass)reader.ReadByte();
 }
Esempio n. 25
0
        public CharacterInfo(BinaryReader reader)
        {
            Index = reader.ReadInt32();
            Name  = reader.ReadString();

            Level  = reader.ReadByte();
            Class  = (MirClass)reader.ReadByte();
            Gender = (MirGender)reader.ReadByte();
            Hair   = reader.ReadByte();

            CreationIP   = reader.ReadString();
            CreationDate = DateTime.FromBinary(reader.ReadInt64());

            Banned     = reader.ReadBoolean();
            BanReason  = reader.ReadString();
            ExpiryDate = DateTime.FromBinary(reader.ReadInt64());

            LastIP   = reader.ReadString();
            LastDate = DateTime.FromBinary(reader.ReadInt64());

            Deleted    = reader.ReadBoolean();
            DeleteDate = DateTime.FromBinary(reader.ReadInt64());

            CurrentMapIndex = reader.ReadInt32();
            CurrentLocation = new Point(reader.ReadInt32(), reader.ReadInt32());
            Direction       = (MirDirection)reader.ReadByte();
            BindMapIndex    = reader.ReadInt32();
            BindLocation    = new Point(reader.ReadInt32(), reader.ReadInt32());

            HP         = reader.ReadUInt16();
            MP         = reader.ReadUInt16();
            Experience = reader.ReadInt64();

            AMode = (AttackMode)reader.ReadByte();
            PMode = (PetMode)reader.ReadByte();

            if (Envir.LoadVersion > 34)
            {
                PKPoints = reader.ReadInt32();
            }

            int count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion);
                if (SMain.Envir.BindItem(item) && i < Inventory.Length)
                {
                    Inventory[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion);
                if (SMain.Envir.BindItem(item) && i < Equipment.Length)
                {
                    Equipment[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion);
                if (SMain.Envir.BindItem(item) && i < QuestInventory.Length)
                {
                    QuestInventory[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                UserMagic magic = new UserMagic(reader);
                if (magic.Info == null)
                {
                    continue;
                }
                Magics.Add(magic);
            }


            if (Envir.LoadVersion < 2)
            {
                return;
            }

            Thrusting     = reader.ReadBoolean();
            HalfMoon      = reader.ReadBoolean();
            CrossHalfMoon = reader.ReadBoolean();
            DoubleSlash   = reader.ReadBoolean();

            if (Envir.LoadVersion < 4)
            {
                return;
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Pets.Add(new PetInfo(reader));
            }


            if (Envir.LoadVersion < 5)
            {
                return;
            }

            AllowGroup = reader.ReadBoolean();

            if (Envir.LoadVersion < 12)
            {
                return;
            }

            if (Envir.LoadVersion == 12)
            {
                count = reader.ReadInt32();
            }

            for (int i = 0; i < Globals.FlagIndexCount; i++)
            {
                Flags[i] = reader.ReadBoolean();
            }

            if (Envir.LoadVersion > 27)
            {
                GuildIndex = reader.ReadInt32();
            }

            if (Envir.LoadVersion > 30)
            {
                AllowTrade = reader.ReadBoolean();
            }

            if (Envir.LoadVersion > 33)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    CurrentQuests.Add(new QuestProgressInfo(reader));
                }
            }

            if (Envir.LoadVersion > 42)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Buffs.Add(new Buff(reader));
                }
            }

            if (Envir.LoadVersion > 43)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Mail.Add(new MailInfo(reader));
                }
            }
        }
Esempio n. 26
0
 public CharacterInfo(C.NewCharacter P)
 {
     CharacterName = P.CharacterName;
     Class         = P.Class;
     Gender        = P.Gender;
 }
Esempio n. 27
0
        public CharacterInfo(BinaryReader reader)
        {
            Index = reader.ReadInt32();
            Name  = reader.ReadString();

            if (Envir.LoadVersion < 62)
            {
                Level = (ushort)reader.ReadByte();
            }
            else
            {
                Level = reader.ReadUInt16();
            }

            Class  = (MirClass)reader.ReadByte();
            Gender = (MirGender)reader.ReadByte();
            Hair   = reader.ReadByte();

            CreationIP   = reader.ReadString();
            CreationDate = DateTime.FromBinary(reader.ReadInt64());

            Banned     = reader.ReadBoolean();
            BanReason  = reader.ReadString();
            ExpiryDate = DateTime.FromBinary(reader.ReadInt64());

            LastIP   = reader.ReadString();
            LastDate = DateTime.FromBinary(reader.ReadInt64());

            Deleted    = reader.ReadBoolean();
            DeleteDate = DateTime.FromBinary(reader.ReadInt64());

            CurrentMapIndex = reader.ReadInt32();
            CurrentLocation = new Point(reader.ReadInt32(), reader.ReadInt32());
            Direction       = (MirDirection)reader.ReadByte();
            BindMapIndex    = reader.ReadInt32();
            BindLocation    = new Point(reader.ReadInt32(), reader.ReadInt32());

            HP         = reader.ReadUInt16();
            MP         = reader.ReadUInt16();
            Experience = reader.ReadInt64();

            AMode = (AttackMode)reader.ReadByte();
            PMode = (PetMode)reader.ReadByte();

            if (Envir.LoadVersion > 34)
            {
                PKPoints = reader.ReadInt32();
            }

            int count = reader.ReadInt32();

            Array.Resize(ref Inventory, count);

            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (SMain.Envir.BindItem(item) && i < Inventory.Length)
                {
                    Inventory[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (SMain.Envir.BindItem(item) && i < Equipment.Length)
                {
                    Equipment[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (SMain.Envir.BindItem(item) && i < QuestInventory.Length)
                {
                    QuestInventory[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                UserMagic magic = new UserMagic(reader);
                if (magic.Info == null)
                {
                    continue;
                }
                Magics.Add(magic);
            }
            //reset all magic cooldowns on char loading < stops ppl from having none working skills after a server crash
            for (int i = 0; i < Magics.Count; i++)
            {
                Magics[i].CastTime = 0;
            }

            if (Envir.LoadVersion < 2)
            {
                return;
            }

            Thrusting     = reader.ReadBoolean();
            HalfMoon      = reader.ReadBoolean();
            CrossHalfMoon = reader.ReadBoolean();
            DoubleSlash   = reader.ReadBoolean();

            if (Envir.LoadVersion > 46)
            {
                MentalState = reader.ReadByte();
            }

            if (Envir.LoadVersion < 4)
            {
                return;
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Pets.Add(new PetInfo(reader));
            }


            if (Envir.LoadVersion < 5)
            {
                return;
            }

            AllowGroup = reader.ReadBoolean();

            if (Envir.LoadVersion < 12)
            {
                return;
            }

            if (Envir.LoadVersion == 12)
            {
                count = reader.ReadInt32();
            }

            for (int i = 0; i < Globals.FlagIndexCount; i++)
            {
                Flags[i] = reader.ReadBoolean();
            }

            if (Envir.LoadVersion > 27)
            {
                GuildIndex = reader.ReadInt32();
            }

            if (Envir.LoadVersion > 30)
            {
                AllowTrade = reader.ReadBoolean();
            }

            if (Envir.LoadVersion > 77)
            {
                AllowObserve = reader.ReadBoolean();
            }

            if (Envir.LoadVersion > 33)
            {
                count = reader.ReadInt32();

                for (int i = 0; i < count; i++)
                {
                    QuestProgressInfo quest = new QuestProgressInfo(reader);
                    if (SMain.Envir.BindQuest(quest))
                    {
                        CurrentQuests.Add(quest);
                    }
                }
            }

            if (Envir.LoadVersion > 42)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Buff buff = new Buff(reader);

                    if (Envir.LoadVersion == 51)
                    {
                        buff.Caster = SMain.Envir.GetObject(reader.ReadUInt32());
                    }

                    Buffs.Add(buff);
                }
            }

            if (Envir.LoadVersion > 43)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Mail.Add(new MailInfo(reader, Envir.LoadVersion, Envir.LoadCustomVersion));
                }
            }

            //IntelligentCreature
            if (Envir.LoadVersion > 44)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    UserIntelligentCreature creature = new UserIntelligentCreature(reader);
                    if (creature.Info == null)
                    {
                        continue;
                    }
                    IntelligentCreatures.Add(creature);
                }

                if (Envir.LoadVersion == 45)
                {
                    var old1 = (IntelligentCreatureType)reader.ReadByte();
                    var old2 = reader.ReadBoolean();
                }

                PearlCount = reader.ReadInt32();
            }

            if (Envir.LoadVersion > 49)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    CompletedQuests.Add(reader.ReadInt32());
                }
            }

            if (Envir.LoadVersion > 50 && Envir.LoadVersion < 54)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Poison poison = new Poison(reader);

                    if (Envir.LoadVersion == 51)
                    {
                        poison.Owner = SMain.Envir.GetObject(reader.ReadUInt32());
                    }

                    Poisons.Add(poison);
                }
            }

            if (Envir.LoadVersion > 56)
            {
                if (reader.ReadBoolean())
                {
                    CurrentRefine = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                }
                if (CurrentRefine != null)
                {
                    SMain.Envir.BindItem(CurrentRefine);
                }

                CollectTime  = reader.ReadInt64();
                CollectTime += SMain.Envir.Time;
            }

            if (Envir.LoadVersion > 58)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Friends.Add(new FriendInfo(reader));
                }
            }

            if (Envir.LoadVersion > 75)
            {
                count = reader.ReadInt32();
                for (var i = 0; i < count; i++)
                {
                    RentedItems.Add(new ItemRentalInformation(reader));
                }

                HasRentedItem = reader.ReadBoolean();
            }

            if (Envir.LoadVersion > 59)
            {
                Married     = reader.ReadInt32();
                MarriedDate = DateTime.FromBinary(reader.ReadInt64());
                Mentor      = reader.ReadInt32();
                MentorDate  = DateTime.FromBinary(reader.ReadInt64());
                isMentor    = reader.ReadBoolean();
                MentorExp   = reader.ReadInt64();
            }

            if (Envir.LoadVersion >= 63)
            {
                int logCount = reader.ReadInt32();

                for (int i = 0; i < logCount; i++)
                {
                    GSpurchases.Add(reader.ReadInt32(), reader.ReadInt32());
                }
            }

            if (Envir.LoadCustomVersion >= 1)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    int dailyEvent = reader.ReadInt32();
                    DailyEventsCompleted.Add(dailyEvent);
                }

                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    int weeklyEvent = reader.ReadInt32();
                    WeeklyEventsCompleted.Add(weeklyEvent);
                }
            }
        }
Esempio n. 28
0
        public CharacterInfo(BinaryReader reader)
        {
            Index = reader.ReadInt32();
            Name = reader.ReadString();

            Level = reader.ReadByte();
            Class = (MirClass) reader.ReadByte();
            Gender = (MirGender) reader.ReadByte();
            Hair = reader.ReadByte();

            CreationIP = reader.ReadString();
            CreationDate = DateTime.FromBinary(reader.ReadInt64());

            Banned = reader.ReadBoolean();
            BanReason = reader.ReadString();
            ExpiryDate = DateTime.FromBinary(reader.ReadInt64());

            LastIP = reader.ReadString();
            LastDate = DateTime.FromBinary(reader.ReadInt64());

            Deleted = reader.ReadBoolean();
            DeleteDate = DateTime.FromBinary(reader.ReadInt64());

            CurrentMapIndex = reader.ReadInt32();
            CurrentLocation = new Point(reader.ReadInt32(), reader.ReadInt32());
            Direction = (MirDirection)reader.ReadByte();
            BindMapIndex = reader.ReadInt32();
            BindLocation = new Point(reader.ReadInt32(), reader.ReadInt32());

            HP = reader.ReadUInt16();
            MP = reader.ReadUInt16();
            Experience = reader.ReadInt64();

            AMode = (AttackMode) reader.ReadByte();
            PMode = (PetMode) reader.ReadByte();

            int count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean()) continue;
                UserItem item = new UserItem(reader, Envir.LoadVersion);
                if (SMain.Envir.BindItem(item) && i < Inventory.Length)
                    Inventory[i] = item;
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean()) continue;
                UserItem item = new UserItem(reader);
                if (SMain.Envir.BindItem(item) && i < Equipment.Length)
                    Equipment[i] = item;
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                UserMagic magic = new UserMagic(reader);
                if (magic.Info == null) continue;
                Magics.Add(magic);
            }

            if (Envir.LoadVersion < 2) return;

            Thrusting = reader.ReadBoolean();
            HalfMoon = reader.ReadBoolean();
            CrossHalfMoon = reader.ReadBoolean();
            DoubleSlash = reader.ReadBoolean();

            if (Envir.LoadVersion < 4) return;

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
                Pets.Add(new PetInfo(reader));

            if (Envir.LoadVersion < 5) return;

            AllowGroup = reader.ReadBoolean();
        }
Esempio n. 29
0
            public NewCharacterDialog()
            {
                Index    = 73;
                Library  = Libraries.Prguse;
                Location = new Point((Settings.ScreenWidth - Size.Width) / 2, (Settings.ScreenHeight - Size.Height) / 2);
                Modal    = true;

                TitleLabel = new MirImageControl
                {
                    Index    = 20,
                    Library  = Libraries.Title,
                    Location = new Point(206, 11),
                    Parent   = this,
                };

                CancelButton = new MirButton
                {
                    HoverIndex   = 281,
                    Index        = 280,
                    Library      = Libraries.Title,
                    Location     = new Point(425, 425),
                    Parent       = this,
                    PressedIndex = 282
                };
                CancelButton.Click += (o, e) => Dispose();


                OKButton = new MirButton
                {
                    Enabled      = false,
                    HoverIndex   = 361,
                    Index        = 360,
                    Library      = Libraries.Title,
                    Location     = new Point(160, 425),
                    Parent       = this,
                    PressedIndex = 362,
                };
                OKButton.Click += (o, e) => CreateCharacter();

                NameTextBox = new MirTextBox
                {
                    Location  = new Point(325, 268),
                    Parent    = this,
                    Size      = new Size(240, 20),
                    MaxLength = Globals.MaxCharacterNameLength
                };
                NameTextBox.TextBox.KeyPress    += TextBox_KeyPress;
                NameTextBox.TextBox.TextChanged += CharacterNameTextBox_TextChanged;
                NameTextBox.SetFocus();

                CharacterDisplay = new MirAnimatedControl
                {
                    Animated       = true,
                    AnimationCount = 16,
                    AnimationDelay = 250,
                    Index          = 20,
                    Library        = Libraries.ChrSel,
                    Location       = new Point(120, 250),
                    Parent         = this,
                    UseOffSet      = true,
                };
                CharacterDisplay.AfterDraw += (o, e) =>
                {
                    if (_class == MirClass.Wizard)
                    {
                        Libraries.ChrSel.DrawBlend(CharacterDisplay.Index + 560, CharacterDisplay.DisplayLocationWithoutOffSet, Color.White, true);
                    }
                };


                WarriorButton = new MirButton
                {
                    HoverIndex   = 2427,
                    Index        = 2427,
                    Library      = Libraries.Prguse,
                    Location     = new Point(323, 296),
                    Parent       = this,
                    PressedIndex = 2428,
                    Sound        = SoundList.ButtonA,
                };
                WarriorButton.Click += (o, e) =>
                {
                    _class = MirClass.Warrior;
                    UpdateInterface();
                };


                WizardButton = new MirButton
                {
                    HoverIndex   = 2430,
                    Index        = 2429,
                    Library      = Libraries.Prguse,
                    Location     = new Point(373, 296),
                    Parent       = this,
                    PressedIndex = 2431,
                    Sound        = SoundList.ButtonA,
                };
                WizardButton.Click += (o, e) =>
                {
                    _class = MirClass.Wizard;
                    UpdateInterface();
                };


                TaoistButton = new MirButton
                {
                    HoverIndex   = 2433,
                    Index        = 2432,
                    Library      = Libraries.Prguse,
                    Location     = new Point(423, 296),
                    Parent       = this,
                    PressedIndex = 2434,
                    Sound        = SoundList.ButtonA,
                };
                TaoistButton.Click += (o, e) =>
                {
                    _class = MirClass.Taoist;
                    UpdateInterface();
                };

                AssassinButton = new MirButton
                {
                    HoverIndex   = 2436,
                    Index        = 2435,
                    Library      = Libraries.Prguse,
                    Location     = new Point(473, 296),
                    Parent       = this,
                    PressedIndex = 2437,
                    Sound        = SoundList.ButtonA,
                };
                AssassinButton.Click += (o, e) =>
                {
                    _class = MirClass.Assassin;
                    UpdateInterface();
                };

                ArcherButton = new MirButton
                {
                    HoverIndex   = 2439,
                    Index        = 2438,
                    Library      = Libraries.Prguse,
                    Location     = new Point(523, 296),
                    Parent       = this,
                    PressedIndex = 2440,
                    Sound        = SoundList.ButtonA,
                };
                ArcherButton.Click += (o, e) =>
                {
                    _class = MirClass.Archer;
                    UpdateInterface();
                };


                MaleButton = new MirButton
                {
                    HoverIndex   = 2421,
                    Index        = 2421,
                    Library      = Libraries.Prguse,
                    Location     = new Point(323, 343),
                    Parent       = this,
                    PressedIndex = 2422,
                    Sound        = SoundList.ButtonA,
                };
                MaleButton.Click += (o, e) =>
                {
                    _gender = MirGender.Male;
                    UpdateInterface();
                };

                FemaleButton = new MirButton
                {
                    HoverIndex   = 2424,
                    Index        = 2423,
                    Library      = Libraries.Prguse,
                    Location     = new Point(373, 343),
                    Parent       = this,
                    PressedIndex = 2425,
                    Sound        = SoundList.ButtonA,
                };
                FemaleButton.Click += (o, e) =>
                {
                    _gender = MirGender.Female;
                    UpdateInterface();
                };

                Description = new MirLabel
                {
                    Border   = true,
                    Location = new Point(279, 70),
                    Parent   = this,
                    Size     = new Size(278, 170),
                    Text     = WarriorDescription,
                };
            }
Esempio n. 30
0
        protected override void ReadPacket(BinaryReader reader)
        {
            ObjectID = reader.ReadUInt32();
            Name = reader.ReadString();
            GuildName = reader.ReadString();
            GuildRankName = reader.ReadString();
            NameColour = Color.FromArgb(reader.ReadInt32());
            Class = (MirClass)reader.ReadByte();
            Gender = (MirGender)reader.ReadByte();
            Level = reader.ReadByte();
            Location = new Point(reader.ReadInt32(), reader.ReadInt32());
            Direction = (MirDirection)reader.ReadByte();
            Hair = reader.ReadByte();
            Light = reader.ReadByte();
            Weapon = reader.ReadInt16();
            Armour = reader.ReadInt16();
            Poison = (PoisonType)reader.ReadByte();
            Dead = reader.ReadBoolean();
            Hidden = reader.ReadBoolean();
            Effect = (SpellEffect)reader.ReadByte();
            WingEffect = reader.ReadByte();
            Extra = reader.ReadBoolean();
            MountType = reader.ReadInt16();
            RidingMount = reader.ReadBoolean();
            Fishing = reader.ReadBoolean();

            TransformType = reader.ReadInt16();

            ElementOrbEffect = reader.ReadUInt32();
            ElementOrbLvl = reader.ReadUInt32();
            ElementOrbMax = reader.ReadUInt32();

            int count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Buffs.Add((BuffType)reader.ReadByte());
            }

            LevelEffects = (LevelEffects)reader.ReadByte();
        }
Esempio n. 31
0
 protected override void ReadPacket(BinaryReader reader)
 {
     Name   = reader.ReadString();
     Gender = (MirGender)reader.ReadByte();
     Class  = (MirClass)reader.ReadByte();
 }
Esempio n. 32
0
    public void Refresh(MirClass selectedClass, MirGender selectedGender)
    {
        for (int i = 0; i < hairImages.Count; i++)
        {
            Destroy(hairImages[i]);
        }
        hairImages.Clear();

        for (int i = 0; i < faceImages.Count; i++)
        {
            Destroy(faceImages[i]);
        }
        faceImages.Clear();

        for (int i = 0; i < haircolourImages.Count; i++)
        {
            Destroy(haircolourImages[i]);
        }
        haircolourImages.Clear();

        List <Sprite> hairList       = null;
        List <Sprite> faceList       = null;
        List <Sprite> haircolourList = null;

        switch (selectedClass)
        {
        case MirClass.Warrior:
            hairList = WarriorHairImages;
            faceList = WarriorFaceImages;
            break;

        case MirClass.Wizard:
            hairList = WizardHairImages;
            faceList = WizardFaceImages;
            break;

        case MirClass.Taoist:
            hairList = TaoistHairImages;
            faceList = TaoistFaceImages;
            break;

        case MirClass.Assassin:
            hairList = AssassinHairImages;
            faceList = AssassinFaceImages;
            break;

        case MirClass.Archer:
            hairList = ArcherHairImages;
            faceList = ArcherFaceImages;
            break;
        }
        haircolourList = HairColourImages;

        if (hairList != null)
        {
            for (int i = (byte)selectedGender; i < hairList.Count; i += 2)
            {
                GameObject prefab = Instantiate(HairImagePrefab, HairGrid.transform, false);
                prefab.GetComponent <Image>().sprite = hairList[i];
                int x = new int();
                x = i / 2;
                prefab.GetComponent <HairImageInfo>().Index = x;
                prefab.GetComponent <Button>().onClick.AddListener(() => HairImage_onClick(x));
                hairImages.Add(prefab);
            }
        }

        if (faceList != null)
        {
            for (int i = (int)selectedGender; i < faceList.Count; i += 2)
            {
                GameObject prefab = Instantiate(HairImagePrefab, FaceGrid.transform, false);
                prefab.GetComponent <Image>().sprite = faceList[i];
                int x = new int();
                x = i / 2;
                prefab.GetComponent <HairImageInfo>().Index = x;
                prefab.GetComponent <Button>().onClick.AddListener(() => FaceImage_onClick(x));
                faceImages.Add(prefab);
            }
        }

        if (haircolourList != null)
        {
            for (int i = (int)selectedGender; i < haircolourList.Count; i += 2)
            {
                GameObject prefab = Instantiate(HairImagePrefab, HairColourGrid.transform, false);
                prefab.GetComponent <Image>().sprite = haircolourList[i];
                int x = new int();
                x = i / 2;
                prefab.GetComponent <HairImageInfo>().Index = x;
                prefab.GetComponent <Button>().onClick.AddListener(() => HairColourImage_onClick(x));
                haircolourImages.Add(prefab);
            }
        }

        HairTab.Select(true);
        HairGrid.SetActive(true);

        FaceTab.Select(false);
        FaceGrid.SetActive(false);

        HairColourTab.Select(false);
        HairColourGrid.SetActive(false);
    }
Esempio n. 33
0
        public CharacterInfo(BinaryReader reader)
        {
            Index = reader.ReadInt32();
            Name  = reader.ReadString();

            Level  = reader.ReadByte();
            Class  = (MirClass)reader.ReadByte();
            Gender = (MirGender)reader.ReadByte();
            Hair   = reader.ReadByte();

            CreationIP   = reader.ReadString();
            CreationDate = DateTime.FromBinary(reader.ReadInt64());

            Banned     = reader.ReadBoolean();
            BanReason  = reader.ReadString();
            ExpiryDate = DateTime.FromBinary(reader.ReadInt64());

            LastIP   = reader.ReadString();
            LastDate = DateTime.FromBinary(reader.ReadInt64());

            Deleted    = reader.ReadBoolean();
            DeleteDate = DateTime.FromBinary(reader.ReadInt64());

            CurrentMapIndex = reader.ReadInt32();
            CurrentLocation = new Point(reader.ReadInt32(), reader.ReadInt32());
            Direction       = (MirDirection)reader.ReadByte();
            BindMapIndex    = reader.ReadInt32();
            BindLocation    = new Point(reader.ReadInt32(), reader.ReadInt32());

            HP         = reader.ReadUInt16();
            MP         = reader.ReadUInt16();
            Experience = reader.ReadInt64();

            AMode = (AttackMode)reader.ReadByte();
            PMode = (PetMode)reader.ReadByte();

            if (Envir.LoadVersion > 34)
            {
                PKPoints = reader.ReadInt32();
            }

            int count = reader.ReadInt32();

            Array.Resize(ref Inventory, count);

            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion);
                if (SMain.Envir.BindItem(item) && i < Inventory.Length)
                {
                    Inventory[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion);
                if (SMain.Envir.BindItem(item) && i < Equipment.Length)
                {
                    Equipment[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion);
                if (SMain.Envir.BindItem(item) && i < QuestInventory.Length)
                {
                    QuestInventory[i] = item;
                }
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                UserMagic magic = new UserMagic(reader);
                if (magic.Info == null)
                {
                    continue;
                }
                Magics.Add(magic);
            }


            if (Envir.LoadVersion < 2)
            {
                return;
            }

            Thrusting     = reader.ReadBoolean();
            HalfMoon      = reader.ReadBoolean();
            CrossHalfMoon = reader.ReadBoolean();
            DoubleSlash   = reader.ReadBoolean();

            if (Envir.LoadVersion > 46)
            {
                MentalState = reader.ReadByte();
            }

            if (Envir.LoadVersion < 4)
            {
                return;
            }

            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Pets.Add(new PetInfo(reader));
            }


            if (Envir.LoadVersion < 5)
            {
                return;
            }

            AllowGroup = reader.ReadBoolean();

            if (Envir.LoadVersion < 12)
            {
                return;
            }

            if (Envir.LoadVersion == 12)
            {
                count = reader.ReadInt32();
            }

            for (int i = 0; i < Globals.FlagIndexCount; i++)
            {
                Flags[i] = reader.ReadBoolean();
            }

            if (Envir.LoadVersion > 27)
            {
                GuildIndex = reader.ReadInt32();
            }

            if (Envir.LoadVersion > 30)
            {
                AllowTrade = reader.ReadBoolean();
            }

            if (Envir.LoadVersion > 33)
            {
                count = reader.ReadInt32();

                for (int i = 0; i < count; i++)
                {
                    QuestProgressInfo quest = new QuestProgressInfo(reader);
                    if (SMain.Envir.BindQuest(quest))
                    {
                        CurrentQuests.Add(quest);
                    }
                }
            }

            if (Envir.LoadVersion > 42)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Buff buff = new Buff(reader);

                    if (Envir.LoadVersion == 51)
                    {
                        buff.Caster = SMain.Envir.GetObject(reader.ReadUInt32());
                    }

                    Buffs.Add(buff);
                }
            }

            if (Envir.LoadVersion > 43)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Mail.Add(new MailInfo(reader));
                }
            }

            //IntelligentCreature
            if (Envir.LoadVersion > 44)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    UserIntelligentCreature creature = new UserIntelligentCreature(reader);
                    if (creature.Info == null)
                    {
                        continue;
                    }
                    IntelligentCreatures.Add(creature);
                }

                if (Envir.LoadVersion == 45)
                {
                    var old1 = (IntelligentCreatureType)reader.ReadByte();
                    var old2 = reader.ReadBoolean();
                }

                PearlCount = reader.ReadInt32();
            }

            if (Envir.LoadVersion > 49)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    CompletedQuests.Add(reader.ReadInt32());
                }
            }

            if (Envir.LoadVersion > 50 && Envir.LoadVersion < 54)
            {
                count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    Poison poison = new Poison(reader);

                    if (Envir.LoadVersion == 51)
                    {
                        poison.Owner = SMain.Envir.GetObject(reader.ReadUInt32());
                    }

                    Poisons.Add(poison);
                }
            }
        }
Esempio n. 34
0
        public Hero_Info(BinaryReader reader)
        {
            Index       = reader.ReadInt32();
            Deleted     = reader.ReadBoolean();
            Name        = reader.ReadString();
            Class       = (MirClass)reader.ReadByte();
            Gender      = (MirGender)reader.ReadByte();
            Level       = reader.ReadInt32();
            CurrentEXP  = reader.ReadInt64();
            Hair        = reader.ReadByte();
            CurrentHP   = reader.ReadUInt32();
            CurrentMP   = reader.ReadUInt32();
            PlayerIndex = reader.ReadInt32();
            int count = reader.ReadInt32();

            Array.Resize(ref Inventory, count);
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (MessageQueue.Envir.BindItem(item) && i < Inventory.Length)
                {
                    Inventory[i] = item;
                }
            }
            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (MessageQueue.Envir.BindItem(item) && i < Equipment.Length)
                {
                    Equipment[i] = item;
                }
            }
            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                if (!reader.ReadBoolean())
                {
                    continue;
                }
                UserItem item = new UserItem(reader, Envir.LoadVersion, Envir.LoadCustomVersion);
                if (MessageQueue.Envir.BindItem(item) && i < QuestInventory.Length)
                {
                    QuestInventory[i] = item;
                }
            }
            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                UserMagic magic = new UserMagic(reader);
                if (magic.Info == null)
                {
                    continue;
                }
                Magics.Add(magic);
            }
            //reset all magic cooldowns on char loading < stops ppl from having none working skills after a server crash
            for (int i = 0; i < Magics.Count; i++)
            {
                Magics[i].CastTime = 0;
            }
            count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                Buff buff = new Buff(reader);

                if (Envir.LoadVersion == 51)
                {
                    buff.Caster = MessageQueue.Envir.GetObject(reader.ReadUInt32());
                }

                Buffs.Add(buff);
            }
        }
Esempio n. 35
0
 public SelectInfo(BinaryReader reader)
 {
     Index = reader.ReadInt32();
     Name = reader.ReadString();
     Level = reader.ReadUInt16();
     Class = (MirClass)reader.ReadByte();
     Gender = (MirGender)reader.ReadByte();
     LastAccess = DateTime.FromBinary(reader.ReadInt64());
 }
Esempio n. 36
0
 protected override void ReadPacket(BinaryReader reader)
 {
     ObjectID = reader.ReadUInt32();
     Name = reader.ReadString();
     NameColour = Color.FromArgb(reader.ReadInt32());
     Class = (MirClass) reader.ReadByte();
     Gender = (MirGender) reader.ReadByte();
     Location = new Point(reader.ReadInt32(), reader.ReadInt32());
     Direction = (MirDirection) reader.ReadByte();
     Hair = reader.ReadByte();
     Light = reader.ReadByte();
     Weapon = reader.ReadSByte();
     Armour = reader.ReadSByte();
     Poison = (PoisonType) reader.ReadByte();
     Dead = reader.ReadBoolean();
     Hidden = reader.ReadBoolean();
     Effect = (SpellEffect) reader.ReadByte();
     WingEffect = reader.ReadByte();
 }