protected override void Read(Client client, NReader rdr)
 {
     CommandId = rdr.ReadByte();
     PetId1 = rdr.ReadInt32();
     PetId2 = rdr.ReadInt32();
     ObjectId = rdr.ReadInt32();
     ObjectSlot = ObjectSlot.Read(client, rdr);
     Currency = (CurrencyType)rdr.ReadByte();
 }
 protected override void Read(NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     BulletType = rdr.ReadByte();
     Position = Position.Read(rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
     NumShots = rdr.ReadByte();
     AngleIncrement = rdr.ReadSingle();
 }
示例#3
0
 protected override void Read(NReader rdr)
 {
     TargetId = rdr.ReadInt32();
     byte c = rdr.ReadByte();
     Effects = 0;
     for (int i = 0; i < c; i++)
         Effects |= (ConditionEffects)(1 << rdr.ReadByte());
     Damage = rdr.ReadUInt16();
     Killed = rdr.ReadBoolean();
     BulletId = rdr.ReadByte();
     ObjectId = rdr.ReadInt32();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     BulletType = rdr.ReadByte();
     Position = Position.Read(psr, rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
     if (rdr.BaseStream.Length - rdr.BaseStream.Position <= 0) return;
     NumShots = rdr.ReadByte();
     AngleInc = rdr.ReadSingle();
 }
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     TargetId = rdr.ReadInt32();
     var c = rdr.ReadByte();
     Effects = 0;
     for (var i = 0; i < c; i++)
         Effects |= (ConditionEffects) (1 << rdr.ReadByte());
     Damage = rdr.ReadUInt16();
     Killed = rdr.ReadBoolean();
     BulletId = rdr.ReadByte();
     ObjectId = rdr.ReadInt32();
 }
示例#6
0
 protected override void Read(NReader rdr)
 {
     Time     = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     ObjectId = rdr.ReadInt32();
     TargetId = rdr.ReadInt32();
 }
示例#7
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     Time     = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     TargetId = rdr.ReadInt32();
     Killed   = rdr.ReadBoolean();
 }
示例#8
0
 protected override void Read(Client psr, NReader rdr)
 {
     BulletId      = rdr.ReadByte();
     OwnerId       = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     Angle         = rdr.ReadSingle();
 }
示例#9
0
 protected override void Read(NReader rdr)
 {
     Time     = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     TargetId = rdr.ReadInt32();
     Killed   = rdr.ReadBoolean();
 }
示例#10
0
 protected override void Read(Client psr, NReader rdr)
 {
     Time       = rdr.ReadInt32();
     SlotObject = ObjectSlot.Read(psr, rdr);
     ItemUsePos = Position.Read(psr, rdr);
     UseType    = rdr.ReadByte();
 }
示例#11
0
        protected override void Read(ClientProcessor psr, NReader rdr)
        {
            Tiles = new TileData[rdr.ReadInt16()];
            for (var i = 0; i < Tiles.Length; i++)
            {
                Tiles[i] = new TileData
                {
                    X    = rdr.ReadInt16(),
                    Y    = rdr.ReadInt16(),
                    Tile = (Tile)rdr.ReadByte()
                };
            }

            NewObjects = new ObjectDef[rdr.ReadInt16()];
            for (var i = 0; i < NewObjects.Length; i++)
            {
                NewObjects[i] = ObjectDef.Read(rdr);
            }

            RemovedObjectIds = new int[rdr.ReadInt16()];
            for (var i = 0; i < RemovedObjectIds.Length; i++)
            {
                RemovedObjectIds[i] = rdr.ReadInt32();
            }
        }
示例#12
0
 protected override void Read(NReader rdr)
 {
     Damage        = rdr.ReadInt32();
     EnemyId       = rdr.ReadInt32();
     BulletId      = rdr.ReadByte();
     ArmorPiercing = rdr.ReadBoolean();
 }
示例#13
0
 protected override void Read(NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     ContainerType = rdr.ReadUInt16();
     Angle = rdr.ReadSingle();
 }
示例#14
0
文件: Client.cs 项目: Bog624s/LR-v1
        public Packet ReceivePacket(PacketID pid)
        {
            byte[] buff = new byte[0x10000];
            while (true)
            {
                if (cliSkt.ReceiveBufferSize > 0)
                {
                    try
                    {
                        cliSkt.Receive(buff);
                        using (var rdr = new NReader(new MemoryStream(buff)))
                        {
                            int    len     = rdr.ReadInt32() - 5;
                            byte   id      = rdr.ReadByte();
                            byte[] content = rdr.ReadBytes(len);
                            ReceiveKey.Crypt(content, content.Length);

                            Console.WriteLine((PacketID)id);
                            if ((PacketID)id == pid)
                            {
                                return(new Packet((PacketID)id, content));
                            }
                        }
                    }
                    catch { }
                }
            }
        }
示例#15
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     Angle = rdr.ReadSingle();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     Time = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     TargetId = rdr.ReadInt32();
     Killed = rdr.ReadBoolean();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     Time = rdr.ReadInt32();
     SlotObject = ObjectSlot.Read(psr, rdr);
     ItemUsePos = Position.Read(psr, rdr);
     UseType = rdr.ReadByte();
 }
 protected override void Read(NReader rdr)
 {
     Time = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     ObjectId = rdr.ReadInt32();
     TargetId = rdr.ReadInt32();
 }
示例#19
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     Time = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     ObjectId = rdr.ReadInt32();
     TargetId = rdr.ReadInt32();
 }
 protected override void Read(NReader rdr)
 {
     Damage = rdr.ReadInt32();
     EnemyId = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     ArmorPiercing = rdr.ReadBoolean();
 }
示例#21
0
 protected override void Read(NReader rdr)
 {
     EffectType = (EffectType)rdr.ReadByte();
     TargetId = rdr.ReadInt32();
     PosA = Position.Read(rdr);
     PosB = Position.Read(rdr);
     Color = ARGB.Read(rdr);
 }
示例#22
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     Time = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
     ContainerType = rdr.ReadInt16();
     Position = Position.Read(rdr);
     Angle = rdr.ReadSingle();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     EffectType     = (EffectType)rdr.ReadByte();
     TargetObjectId = rdr.ReadInt32();
     PosA           = Position.Read(psr, rdr);
     PosB           = Position.Read(psr, rdr);
     Color          = ARGB.Read(psr, rdr);
 }
示例#24
0
 protected override void Read(NReader rdr)
 {
     EffectType = (EffectType)rdr.ReadByte();
     TargetId   = rdr.ReadInt32();
     PosA       = Position.Read(rdr);
     PosB       = Position.Read(rdr);
     Color      = ARGB.Read(rdr);
 }
 protected override void Read(Client psr, NReader rdr)
 {
     Time             = rdr.ReadInt32();
     BulletId         = rdr.ReadByte();
     ContainerType    = rdr.ReadInt16();
     StartingPosition = Position.Read(psr, rdr);
     Angle            = rdr.ReadSingle();
 }
示例#26
0
 protected override void Read(NReader rdr)
 {
     Time          = rdr.ReadInt32();
     BulletId      = rdr.ReadByte();
     ContainerType = rdr.ReadInt16();
     Position      = Position.Read(rdr);
     Angle         = rdr.ReadSingle();
 }
示例#27
0
        public static ObjectSlot Read(NReader rdr)
        {
            ObjectSlot ret = new ObjectSlot();

            ret.ObjectId   = rdr.ReadInt32();
            ret.SlotId     = rdr.ReadByte();
            ret.ObjectType = (ushort)rdr.ReadInt16();
            return(ret);
        }
 protected override void Read(Client psr, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     ContainerType = rdr.ReadInt32();
     StartingPos = Position.Read(psr, rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
 }
示例#29
0
 protected override void Read(NReader rdr)
 {
     Name       = rdr.ReadUTF();
     ObjectId   = rdr.ReadInt32();
     NumStars   = rdr.ReadInt32();
     BubbleTime = rdr.ReadByte();
     Recipient  = rdr.ReadUTF();
     Txt        = rdr.ReadUTF();
 }
示例#30
0
 protected override void Read(Client client, NReader rdr)
 {
     BulletId      = rdr.ReadByte();
     OwnerId       = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     Position      = Position.Read(rdr);
     Angle         = rdr.ReadSingle();
     Damage        = rdr.ReadInt16();
 }
示例#31
0
 protected override void Read(NReader rdr)
 {
     BulletId      = rdr.ReadByte();
     OwnerId       = rdr.ReadInt32();
     ContainerType = rdr.ReadInt32();
     StartingPos   = Position.Read(rdr);
     Angle         = rdr.ReadSingle();
     Damage        = rdr.ReadInt16();
 }
示例#32
0
 protected override void Read(NReader rdr)
 {
     EffectType     = (EffectType)rdr.ReadByte();
     TargetObjectId = rdr.ReadInt32();
     Pos1           = Position.Read(rdr);
     Pos2           = Position.Read(rdr);
     Color          = ARGB.Read(rdr);
     Duration       = rdr.ReadInt32();
 }
示例#33
0
 protected override void Read(NReader rdr)
 {
     Pos      = Position.Read(rdr);
     Radius   = rdr.ReadSingle();
     Damage   = rdr.ReadUInt16();
     Effect   = (ConditionEffectIndex)rdr.ReadByte();
     Duration = rdr.ReadSingle();
     OrigType = rdr.ReadUInt16();
 }
示例#34
0
 protected override void Read(NReader rdr)
 {
     Position = Position.Read(rdr);
     Radius = rdr.ReadSingle();
     Damage = rdr.ReadUInt16();
     Effects = (ConditionEffectIndex)rdr.ReadByte();
     EffectDuration = rdr.ReadSingle();
     OriginType = rdr.ReadUInt16();
 }
示例#35
0
 protected override void Read(Client psr, NReader rdr)
 {
     Position       = Position.Read(psr, rdr);
     Radius         = rdr.ReadSingle();
     Damage         = rdr.ReadUInt16();
     Effects        = (ConditionEffectIndex)rdr.ReadByte();
     EffectDuration = rdr.ReadSingle();
     OriginType     = rdr.ReadUInt16();
 }
示例#36
0
 protected override void Read(NReader rdr)
 {
     BulletId = rdr.ReadByte();
     OwnerId = rdr.ReadInt32();
     ContainerType = rdr.ReadInt16();
     Position = Position.Read(rdr);
     Angle = rdr.ReadSingle();
     Damage = rdr.ReadInt16();
 }
示例#37
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     Position = Position.Read(rdr);
     Radius = rdr.ReadSingle();
     Damage = rdr.ReadUInt16();
     Effects = (ConditionEffectIndex) rdr.ReadByte();
     EffectDuration = rdr.ReadSingle();
     OriginType = rdr.ReadInt16();
     Color = ARGB.Read(rdr);
 }
 protected override void Read(NReader rdr)
 {
     BulletId      = rdr.ReadByte();
     OwnerId       = rdr.ReadInt32();
     ContainerType = rdr.ReadUInt16();
     Position      = Position.Read(rdr);
     Angle         = rdr.ReadSingle();
     Damage        = rdr.ReadInt16();
     FromAbility   = rdr.ReadBoolean();
 }
示例#39
0
 protected override void Read(Client client, NReader rdr)
 {
     Name = rdr.ReadUTF();
     ObjectId = rdr.ReadInt32();
     Stars = rdr.ReadInt32();
     BubbleTime = rdr.ReadByte();
     Recipient = rdr.ReadUTF();
     Text = rdr.ReadUTF();
     CleanText = rdr.ReadUTF();
 }
示例#40
0
 protected override void Read(Client psr, NReader rdr)
 {
     BulletId   = rdr.ReadByte();
     OwnerId    = rdr.ReadInt32();
     BulletType = rdr.ReadByte();
     Position   = Position.Read(psr, rdr);
     Angle      = rdr.ReadSingle();
     Damage     = rdr.ReadInt16();
     if (rdr.BaseStream.Length - rdr.BaseStream.Position > 0)
     {
         NumShots = rdr.ReadByte();
         AngleInc = rdr.ReadSingle();
     }
     else
     {
         NumShots = 1;
         AngleInc = 0;
     }
 }
示例#41
0
 protected override void Read(Client psr, NReader rdr)
 {
     Name       = rdr.ReadUTF();
     ObjectId   = rdr.ReadInt32();
     Stars      = rdr.ReadInt32();
     BubbleTime = rdr.ReadByte();
     Recipient  = rdr.ReadUTF();
     Text       = rdr.ReadUTF();
     CleanText  = rdr.ReadUTF();
 }
示例#42
0
 protected override void Read(NReader rdr)
 {
     BulletId           = rdr.ReadByte();
     ContainerType      = rdr.ReadInt16();
     Position           = Position.Read(rdr);
     Angle              = rdr.ReadSingle();
     AttackAmount       = rdr.ReadInt32();
     IsDazed            = rdr.ReadBoolean();
     IsBeserk           = rdr.ReadBoolean();
     MinAttackFrequency = rdr.ReadSingle();
     MaxAttackFrequency = rdr.ReadSingle();
     WeaponRateOfFire   = rdr.ReadSingle();
 }
示例#43
0
 protected override void Read(NReader rdr)
 {
     Name       = rdr.ReadUTF();
     ObjectId   = rdr.ReadInt32();
     Stars      = rdr.ReadInt32();
     Admin      = rdr.ReadInt32();
     BubbleTime = rdr.ReadByte();
     Recipient  = rdr.ReadUTF();
     Text       = rdr.ReadUTF();
     CleanText  = rdr.ReadUTF();
     NameColor  = rdr.ReadInt32();
     TextColor  = rdr.ReadInt32();
 }
示例#44
0
        public static ObjectStats Read(NReader rdr)
        {
            ObjectStats ret = new ObjectStats();

            ret.Id       = rdr.ReadInt32();
            ret.Position = Position.Read(rdr);
            ret.Stats    = new KeyValuePair <StatsType, object> [rdr.ReadInt16()];
            for (int i = 0; i < ret.Stats.Length; i++)
            {
                StatsType type = rdr.ReadByte();
                if (type == StatsType.Guild || type == StatsType.Name)
                {
                    ret.Stats[i] = new KeyValuePair <StatsType, object>(type, rdr.ReadUTF());
                }
                else
                {
                    ret.Stats[i] = new KeyValuePair <StatsType, object>(type, rdr.ReadInt32());
                }
            }
            return(ret);
        }
示例#45
0
        protected override void Read(NReader rdr)
        {
            Tiles = new TileData[rdr.ReadInt16()];
            for (var i = 0; i < Tiles.Length; i++)
            {
                Tiles[i] = new TileData()
                {
                    X = rdr.ReadInt16(),
                    Y = rdr.ReadInt16(),
                    Tile = (Tile)rdr.ReadByte()
                };
            }

            NewObjects = new ObjectDef[rdr.ReadInt16()];
            for (var i = 0; i < NewObjects.Length; i++)
                NewObjects[i] = ObjectDef.Read(rdr);

            RemovedObjectIds = new int[rdr.ReadInt16()];
            for (var i = 0; i < RemovedObjectIds.Length; i++)
                RemovedObjectIds[i] = rdr.ReadInt32();
        }
示例#46
0
        protected override void Read(NReader rdr)
        {
            CommandId = rdr.ReadByte();

            switch (CommandId)
            {
            case REQUEST_MY_ITEMS:
                break;

            case ADD_OFFER:
                NewOffers = new MarketOffer[rdr.ReadInt32()];
                for (int i = 0; i < NewOffers.Length; i++)
                {
                    NewOffers[i] = MarketOffer.Read(rdr);
                }
                break;

            case REMOVE_OFFER:
                OfferId = rdr.ReadUInt32();
                break;
            }
        }
示例#47
0
        public static ObjectStatusData Read(NReader rdr)
        {
            ObjectStatusData ret = new ObjectStatusData
            {
                Id       = rdr.ReadInt32(),
                Position = Position.Read(rdr),
                Stats    = new KeyValuePair <StatsType, object> [rdr.ReadInt16()]
            };

            for (int i = 0; i < ret.Stats.Length; i++)
            {
                StatsType type = rdr.ReadByte();
                if (type == StatsType.GUILD_NAME_STAT || type == StatsType.NAME_STAT)
                {
                    ret.Stats[i] = new KeyValuePair <StatsType, object>(type, rdr.ReadUTF());
                }
                else
                {
                    ret.Stats[i] = new KeyValuePair <StatsType, object>(type, rdr.ReadInt32());
                }
            }
            return(ret);
        }
示例#48
0
 public void Read(byte[] bytes)
 {
     NReader reader = new NReader(new MemoryStream(bytes));
     byte id;
     do
     {
         id = reader.ReadByte();
         switch (id)
         {
             case 0: Shots = reader.ReadInt32(); break;
             case 1: ShotsThatDamage = reader.ReadInt32(); break;
             case 2: SpecialAbilityUses = reader.ReadInt32(); break;
             case 3: TilesUncovered = reader.ReadInt32(); break;
             case 4: Teleports = reader.ReadInt32(); break;
             case 5: PotionsDrunk = reader.ReadInt32(); break;
             case 6: MonsterKills = reader.ReadInt32(); break;
             case 7: MonsterAssists = reader.ReadInt32(); break;
             case 8: GodKills = reader.ReadInt32(); break;
             case 9: GodAssists = reader.ReadInt32(); break;
             case 10: CubeKills = reader.ReadInt32(); break;
             case 11: OryxKills = reader.ReadInt32(); break;
             case 12: QuestsCompleted = reader.ReadInt32(); break;
             case 13: PirateCavesCompleted = reader.ReadInt32(); break;
             case 14: UndeadLairsCompleted = reader.ReadInt32(); break;
             case 15: AbyssOfDemonsCompleted = reader.ReadInt32(); break;
             case 16: SnakePitsCompleted = reader.ReadInt32(); break;
             case 17: SpiderDensCompleted = reader.ReadInt32(); break;
             case 18: SpriteWorldsCompleted = reader.ReadInt32(); break;
             case 19: LevelUpAssists = reader.ReadInt32(); break;
             case 20: MinutesActive = reader.ReadInt32(); break;
             case 21: TombsCompleted = reader.ReadInt32(); break;
             case 22: TrenchesCompleted = reader.ReadInt32(); break;
             case 23: JunglesCompleted = reader.ReadInt32(); break;
             case 24: ManorsCompleted = reader.ReadInt32(); break;
         }
     } while (reader.PeekChar() != -1);
 }
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     OwnerId = rdr.ReadByte();
     SoundId = rdr.ReadByte();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     OwnerId = rdr.ReadInt32();
     SoundId = rdr.ReadByte();
 }
示例#51
0
        public Packet ReceivePacket(PacketID pid)
        {
            var buff = new byte[0x10000];
            while (true)
            {
                if (cliSkt.ReceiveBufferSize <= 0)
                    continue;
                try
                {
                    cliSkt.Receive(buff);
                    using (var rdr = new NReader(new MemoryStream(buff)))
                    {
                        var len = rdr.ReadInt32() - 5;
                        var id = rdr.ReadByte();
                        var content = rdr.ReadBytes(len);
                        ReceiveKey.Crypt(content, content.Length);

                        Console.WriteLine((PacketID)id);
                        if ((PacketID)id == pid)
                            return new Packet((PacketID)id, content);
                    }
                }
                catch { }
            }
        }
 protected override void Read(Client client, NReader rdr)
 {
     CommandId = (int)rdr.ReadByte();
     PetId = (uint)rdr.ReadInt32();
 }
示例#53
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     Damage   = rdr.ReadInt32();
     EnemyId  = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
 }
示例#54
0
 protected override void Read(Client client, NReader rdr)
 {
     OwnerId = rdr.ReadByte();
     SoundId = rdr.ReadByte();
 }
示例#55
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     ObjectId = rdr.ReadInt32();
 }
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     OwnerId = rdr.ReadByte();
     SoundId = rdr.ReadByte();
 }
 protected override void Read(Client psr, NReader rdr)
 {
     BulletId = rdr.ReadByte();
     ObjectId = rdr.ReadInt32();
 }
示例#58
0
 protected override void Read(ClientProcessor psr, NReader rdr)
 {
     Damage = rdr.ReadInt32();
     EnemyId = rdr.ReadInt32();
     BulletId = rdr.ReadByte();
 }