コード例 #1
0
 public override void Deserialize(ICustomDataInput reader)
 {
     questType = reader.ReadSByte();
     if (questType < 0)
         throw new Exception("Forbidden value on questType = " + questType + ", it doesn't respect the following condition : questType < 0");
     startMapId = reader.ReadInt();
     var limit = reader.ReadUShort();
     knownStepsList = new Types.TreasureHuntStep[limit];
     for (int i = 0; i < limit; i++)
     {
          (knownStepsList as Types.TreasureHuntStep[])[i] = Types.ProtocolTypeManager.GetInstance<Types.TreasureHuntStep>(reader.ReadShort());
          (knownStepsList as Types.TreasureHuntStep[])[i].Deserialize(reader);
     }
     totalStepCount = reader.ReadSByte();
     if (totalStepCount < 0)
         throw new Exception("Forbidden value on totalStepCount = " + totalStepCount + ", it doesn't respect the following condition : totalStepCount < 0");
     checkPointCurrent = reader.ReadVarUhInt();
     if (checkPointCurrent < 0)
         throw new Exception("Forbidden value on checkPointCurrent = " + checkPointCurrent + ", it doesn't respect the following condition : checkPointCurrent < 0");
     checkPointTotal = reader.ReadVarUhInt();
     if (checkPointTotal < 0)
         throw new Exception("Forbidden value on checkPointTotal = " + checkPointTotal + ", it doesn't respect the following condition : checkPointTotal < 0");
     availableRetryCount = reader.ReadInt();
     limit = reader.ReadUShort();
     flags = new Types.TreasureHuntFlag[limit];
     for (int i = 0; i < limit; i++)
     {
          (flags as Types.TreasureHuntFlag[])[i] = new Types.TreasureHuntFlag();
          (flags as Types.TreasureHuntFlag[])[i].Deserialize(reader);
     }
 }
コード例 #2
0
 public virtual void Deserialize(ICustomDataInput reader)
 {
     var limit = reader.ReadUShort();
     quantities = new uint[limit];
     for (int i = 0; i < limit; i++)
     {
          (quantities as uint[])[i] = reader.ReadVarUhInt();
     }
     limit = reader.ReadUShort();
     types = new uint[limit];
     for (int i = 0; i < limit; i++)
     {
          (types as uint[])[i] = reader.ReadVarUhInt();
     }
     taxPercentage = reader.ReadFloat();
     taxModificationPercentage = reader.ReadFloat();
     maxItemLevel = reader.ReadByte();
     if ((maxItemLevel < 0) || (maxItemLevel > 255))
         throw new Exception("Forbidden value on maxItemLevel = " + maxItemLevel + ", it doesn't respect the following condition : (maxItemLevel < 0) || (maxItemLevel > 255)");
     maxItemPerAccount = reader.ReadVarUhInt();
     if (maxItemPerAccount < 0)
         throw new Exception("Forbidden value on maxItemPerAccount = " + maxItemPerAccount + ", it doesn't respect the following condition : maxItemPerAccount < 0");
     npcContextualId = reader.ReadInt();
     unsoldDelay = reader.ReadVarUhShort();
     if (unsoldDelay < 0)
         throw new Exception("Forbidden value on unsoldDelay = " + unsoldDelay + ", it doesn't respect the following condition : unsoldDelay < 0");
 }
コード例 #3
0
 public override void Deserialize(ICustomDataInput reader)
 {
     elemId = reader.ReadVarUhInt();
     if (elemId < 0)
         throw new Exception("Forbidden value on elemId = " + elemId + ", it doesn't respect the following condition : elemId < 0");
     skillInstanceUid = reader.ReadVarUhInt();
     if (skillInstanceUid < 0)
         throw new Exception("Forbidden value on skillInstanceUid = " + skillInstanceUid + ", it doesn't respect the following condition : skillInstanceUid < 0");
 }
コード例 #4
0
 public override void Deserialize(ICustomDataInput reader)
 {
     objectUID = reader.ReadVarUhInt();
     if (objectUID < 0)
         throw new Exception("Forbidden value on objectUID = " + objectUID + ", it doesn't respect the following condition : objectUID < 0");
     quantity = reader.ReadVarUhInt();
     if (quantity < 0)
         throw new Exception("Forbidden value on quantity = " + quantity + ", it doesn't respect the following condition : quantity < 0");
 }
コード例 #5
0
 public override void Deserialize(ICustomDataInput reader)
 {
     weight = reader.ReadVarUhInt();
     if (weight < 0)
         throw new Exception("Forbidden value on weight = " + weight + ", it doesn't respect the following condition : weight < 0");
     weightMax = reader.ReadVarUhInt();
     if (weightMax < 0)
         throw new Exception("Forbidden value on weightMax = " + weightMax + ", it doesn't respect the following condition : weightMax < 0");
 }
コード例 #6
0
 public override void Deserialize(ICustomDataInput reader)
 {
     attackerId = reader.ReadVarUhInt();
     if (attackerId < 0)
         throw new Exception("Forbidden value on attackerId = " + attackerId + ", it doesn't respect the following condition : attackerId < 0");
     defenderId = reader.ReadVarUhInt();
     if (defenderId < 0)
         throw new Exception("Forbidden value on defenderId = " + defenderId + ", it doesn't respect the following condition : defenderId < 0");
 }
コード例 #7
0
 public override void Deserialize(ICustomDataInput reader)
 {
     initiatorId = reader.ReadVarUhInt();
     if (initiatorId < 0)
         throw new Exception("Forbidden value on initiatorId = " + initiatorId + ", it doesn't respect the following condition : initiatorId < 0");
     otherId = reader.ReadVarUhInt();
     if (otherId < 0)
         throw new Exception("Forbidden value on otherId = " + otherId + ", it doesn't respect the following condition : otherId < 0");
     role = reader.ReadSByte();
 }
コード例 #8
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     cancelerId = reader.ReadVarUhInt();
     if (cancelerId < 0)
         throw new Exception("Forbidden value on cancelerId = " + cancelerId + ", it doesn't respect the following condition : cancelerId < 0");
     guestId = reader.ReadVarUhInt();
     if (guestId < 0)
         throw new Exception("Forbidden value on guestId = " + guestId + ", it doesn't respect the following condition : guestId < 0");
 }
コード例 #9
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     target = reader.ReadVarUhInt();
     if (target < 0)
         throw new Exception("Forbidden value on target = " + target + ", it doesn't respect the following condition : target < 0");
     skillId = reader.ReadVarUhInt();
     if (skillId < 0)
         throw new Exception("Forbidden value on skillId = " + skillId + ", it doesn't respect the following condition : skillId < 0");
 }
コード例 #10
0
 public override void Deserialize(ICustomDataInput reader)
 {
     houseId = reader.ReadVarUhInt();
     if (houseId < 0)
         throw new Exception("Forbidden value on houseId = " + houseId + ", it doesn't respect the following condition : houseId < 0");
     realPrice = reader.ReadVarUhInt();
     if (realPrice < 0)
         throw new Exception("Forbidden value on realPrice = " + realPrice + ", it doesn't respect the following condition : realPrice < 0");
     buyerName = reader.ReadUTF();
 }
コード例 #11
0
 public override void Deserialize(ICustomDataInput reader)
 {
     buyOrSell = reader.ReadBoolean();
     purchasableId = reader.ReadVarUhInt();
     if (purchasableId < 0)
         throw new Exception("Forbidden value on purchasableId = " + purchasableId + ", it doesn't respect the following condition : purchasableId < 0");
     price = reader.ReadVarUhInt();
     if (price < 0)
         throw new Exception("Forbidden value on price = " + price + ", it doesn't respect the following condition : price < 0");
 }
コード例 #12
0
 public override void Deserialize(ICustomDataInput reader)
 {
     houseId = reader.ReadVarUhInt();
     if (houseId < 0)
         throw new Exception("Forbidden value on houseId = " + houseId + ", it doesn't respect the following condition : houseId < 0");
     guildInfo = new Types.GuildInformations();
     guildInfo.Deserialize(reader);
     rights = reader.ReadVarUhInt();
     if (rights < 0)
         throw new Exception("Forbidden value on rights = " + rights + ", it doesn't respect the following condition : rights < 0");
 }
コード例 #13
0
 public override void Deserialize(ICustomDataInput reader)
 {
     uid = reader.ReadVarUhInt();
     if (uid < 0)
         throw new Exception("Forbidden value on uid = " + uid + ", it doesn't respect the following condition : uid < 0");
     qty = reader.ReadVarUhInt();
     if (qty < 0)
         throw new Exception("Forbidden value on qty = " + qty + ", it doesn't respect the following condition : qty < 0");
     price = reader.ReadVarUhInt();
     if (price < 0)
         throw new Exception("Forbidden value on price = " + price + ", it doesn't respect the following condition : price < 0");
 }
コード例 #14
0
 public override void Deserialize(ICustomDataInput reader)
 {
     livingUID = reader.ReadVarUhInt();
     if (livingUID < 0)
         throw new Exception("Forbidden value on livingUID = " + livingUID + ", it doesn't respect the following condition : livingUID < 0");
     livingPosition = reader.ReadByte();
     if ((livingPosition < 0) || (livingPosition > 255))
         throw new Exception("Forbidden value on livingPosition = " + livingPosition + ", it doesn't respect the following condition : (livingPosition < 0) || (livingPosition > 255)");
     skinId = reader.ReadVarUhInt();
     if (skinId < 0)
         throw new Exception("Forbidden value on skinId = " + skinId + ", it doesn't respect the following condition : skinId < 0");
 }
コード例 #15
0
 public override void Deserialize(ICustomDataInput reader)
 {
     mountUid = reader.ReadVarUhInt();
     if (mountUid < 0)
         throw new Exception("Forbidden value on mountUid = " + mountUid + ", it doesn't respect the following condition : mountUid < 0");
     mountLocation = reader.ReadSByte();
     mountFoodUid = reader.ReadVarUhInt();
     if (mountFoodUid < 0)
         throw new Exception("Forbidden value on mountFoodUid = " + mountFoodUid + ", it doesn't respect the following condition : mountFoodUid < 0");
     quantity = reader.ReadVarUhInt();
     if (quantity < 0)
         throw new Exception("Forbidden value on quantity = " + quantity + ", it doesn't respect the following condition : quantity < 0");
 }
コード例 #16
0
 public override void Deserialize(ICustomDataInput reader)
 {
     entityId = reader.ReadVarUhInt();
     if (entityId < 0)
         throw new Exception("Forbidden value on entityId = " + entityId + ", it doesn't respect the following condition : entityId < 0");
     elemId = reader.ReadVarUhInt();
     if (elemId < 0)
         throw new Exception("Forbidden value on elemId = " + elemId + ", it doesn't respect the following condition : elemId < 0");
     skillId = reader.ReadVarUhShort();
     if (skillId < 0)
         throw new Exception("Forbidden value on skillId = " + skillId + ", it doesn't respect the following condition : skillId < 0");
     duration = reader.ReadVarUhShort();
     if (duration < 0)
         throw new Exception("Forbidden value on duration = " + duration + ", it doesn't respect the following condition : duration < 0");
 }
コード例 #17
0
 public override void Deserialize(ICustomDataInput reader)
 {
     byte flag1 = reader.ReadByte();
     self = BooleanByteWrapper.GetFlag(flag1, 0);
     verbose = BooleanByteWrapper.GetFlag(flag1, 1);
     position = reader.ReadSByte();
     accountNickname = reader.ReadUTF();
     accountId = reader.ReadInt();
     if (accountId < 0)
         throw new Exception("Forbidden value on accountId = " + accountId + ", it doesn't respect the following condition : accountId < 0");
     playerName = reader.ReadUTF();
     playerId = reader.ReadVarUhInt();
     if (playerId < 0)
         throw new Exception("Forbidden value on playerId = " + playerId + ", it doesn't respect the following condition : playerId < 0");
     areaId = reader.ReadShort();
     var limit = reader.ReadUShort();
     socialGroups = new Types.AbstractSocialGroupInfos[limit];
     for (int i = 0; i < limit; i++)
     {
          (socialGroups as Types.AbstractSocialGroupInfos[])[i] = Types.ProtocolTypeManager.GetInstance<Types.AbstractSocialGroupInfos>(reader.ReadShort());
          (socialGroups as Types.AbstractSocialGroupInfos[])[i].Deserialize(reader);
     }
     playerState = reader.ReadSByte();
     if (playerState < 0)
         throw new Exception("Forbidden value on playerState = " + playerState + ", it doesn't respect the following condition : playerState < 0");
 }
コード例 #18
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     bonusQuantity = reader.ReadVarUhInt();
     if (bonusQuantity < 0)
         throw new Exception("Forbidden value on bonusQuantity = " + bonusQuantity + ", it doesn't respect the following condition : bonusQuantity < 0");
 }
コード例 #19
0
 public override void Deserialize(ICustomDataInput reader)
 {
     characterId = reader.ReadVarUhInt();
     if (characterId < 0)
         throw new Exception("Forbidden value on characterId = " + characterId + ", it doesn't respect the following condition : characterId < 0");
     isReady = reader.ReadBoolean();
 }
コード例 #20
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     kamas = reader.ReadVarUhInt();
     if (kamas < 0)
         throw new Exception("Forbidden value on kamas = " + kamas + ", it doesn't respect the following condition : kamas < 0");
     experience = reader.ReadVarUhLong();
     if ((experience < 0) || (experience > 9.007199254740992E15))
         throw new Exception("Forbidden value on experience = " + experience + ", it doesn't respect the following condition : (experience < 0) || (experience > 9.007199254740992E15)");
     pods = reader.ReadVarUhInt();
     if (pods < 0)
         throw new Exception("Forbidden value on pods = " + pods + ", it doesn't respect the following condition : pods < 0");
     itemsValue = reader.ReadVarUhInt();
     if (itemsValue < 0)
         throw new Exception("Forbidden value on itemsValue = " + itemsValue + ", it doesn't respect the following condition : itemsValue < 0");
 }
コード例 #21
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     monsterCount = reader.ReadVarUhInt();
     if (monsterCount < 0)
         throw new Exception("Forbidden value on monsterCount = " + monsterCount + ", it doesn't respect the following condition : monsterCount < 0");
 }
コード例 #22
0
 public override void Deserialize(ICustomDataInput reader)
 {
     id = reader.ReadInt();
     waitTime = reader.ReadVarUhInt();
     if (waitTime < 0)
         throw new Exception("Forbidden value on waitTime = " + waitTime + ", it doesn't respect the following condition : waitTime < 0");
 }
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     grade = reader.ReadVarUhInt();
     if (grade < 0)
         throw new Exception("Forbidden value on grade = " + grade + ", it doesn't respect the following condition : grade < 0");
 }
コード例 #24
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     lifePointsGained = reader.ReadVarUhInt();
     if (lifePointsGained < 0)
         throw new Exception("Forbidden value on lifePointsGained = " + lifePointsGained + ", it doesn't respect the following condition : lifePointsGained < 0");
 }
コード例 #25
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     maxPods = reader.ReadVarUhShort();
     if (maxPods < 0)
         throw new Exception("Forbidden value on maxPods = " + maxPods + ", it doesn't respect the following condition : maxPods < 0");
     prospecting = reader.ReadVarUhShort();
     if (prospecting < 0)
         throw new Exception("Forbidden value on prospecting = " + prospecting + ", it doesn't respect the following condition : prospecting < 0");
     wisdom = reader.ReadVarUhShort();
     if (wisdom < 0)
         throw new Exception("Forbidden value on wisdom = " + wisdom + ", it doesn't respect the following condition : wisdom < 0");
     taxCollectorsCount = reader.ReadSByte();
     if (taxCollectorsCount < 0)
         throw new Exception("Forbidden value on taxCollectorsCount = " + taxCollectorsCount + ", it doesn't respect the following condition : taxCollectorsCount < 0");
     taxCollectorAttack = reader.ReadInt();
     kamas = reader.ReadVarUhInt();
     if (kamas < 0)
         throw new Exception("Forbidden value on kamas = " + kamas + ", it doesn't respect the following condition : kamas < 0");
     experience = reader.ReadVarUhLong();
     if ((experience < 0) || (experience > 9.007199254740992E15))
         throw new Exception("Forbidden value on experience = " + experience + ", it doesn't respect the following condition : (experience < 0) || (experience > 9.007199254740992E15)");
     pods = reader.ReadVarUhInt();
     if (pods < 0)
         throw new Exception("Forbidden value on pods = " + pods + ", it doesn't respect the following condition : pods < 0");
     itemsValue = reader.ReadVarUhInt();
     if (itemsValue < 0)
         throw new Exception("Forbidden value on itemsValue = " + itemsValue + ", it doesn't respect the following condition : itemsValue < 0");
 }
コード例 #26
0
 public override void Deserialize(ICustomDataInput reader)
 {
     enable = reader.ReadBoolean();
     rights = reader.ReadVarUhInt();
     if (rights < 0)
         throw new Exception("Forbidden value on rights = " + rights + ", it doesn't respect the following condition : rights < 0");
 }
コード例 #27
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     partyLeaderId = reader.ReadVarUhInt();
     if (partyLeaderId < 0)
         throw new Exception("Forbidden value on partyLeaderId = " + partyLeaderId + ", it doesn't respect the following condition : partyLeaderId < 0");
 }
コード例 #28
0
 public virtual void Deserialize(ICustomDataInput reader)
 {
     modelId = reader.ReadVarUhInt();
     if (modelId < 0)
         throw new Exception("Forbidden value on modelId = " + modelId + ", it doesn't respect the following condition : modelId < 0");
     ownerName = reader.ReadUTF();
     ownerConnected = reader.ReadBoolean();
     worldX = reader.ReadShort();
     if ((worldX < -255) || (worldX > 255))
         throw new Exception("Forbidden value on worldX = " + worldX + ", it doesn't respect the following condition : (worldX < -255) || (worldX > 255)");
     worldY = reader.ReadShort();
     if ((worldY < -255) || (worldY > 255))
         throw new Exception("Forbidden value on worldY = " + worldY + ", it doesn't respect the following condition : (worldY < -255) || (worldY > 255)");
     subAreaId = reader.ReadVarUhShort();
     if (subAreaId < 0)
         throw new Exception("Forbidden value on subAreaId = " + subAreaId + ", it doesn't respect the following condition : subAreaId < 0");
     nbRoom = reader.ReadSByte();
     nbChest = reader.ReadSByte();
     var limit = reader.ReadUShort();
     skillListIds = new int[limit];
     for (int i = 0; i < limit; i++)
     {
          (skillListIds as int[])[i] = reader.ReadInt();
     }
     isLocked = reader.ReadBoolean();
     price = reader.ReadVarUhInt();
     if (price < 0)
         throw new Exception("Forbidden value on price = " + price + ", it doesn't respect the following condition : price < 0");
 }
コード例 #29
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     allianceId = reader.ReadVarUhInt();
     if (allianceId < 0)
         throw new Exception("Forbidden value on allianceId = " + allianceId + ", it doesn't respect the following condition : allianceId < 0");
     allianceTag = reader.ReadUTF();
 }
コード例 #30
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     name = reader.ReadUTF();
     id = reader.ReadVarUhInt();
     if (id < 0)
         throw new Exception("Forbidden value on id = " + id + ", it doesn't respect the following condition : id < 0");
 }
コード例 #31
0
        public override void Deserialize(ICustomDataInput reader)
        {
            base.Deserialize(reader);
            partyType = reader.ReadSByte();
            if (partyType < 0)
            {
                throw new Exception("Forbidden value on partyType = " + partyType + ", it doesn't respect the following condition : partyType < 0");
            }
            partyLeaderId = reader.ReadVarUhInt();
            if (partyLeaderId < 0)
            {
                throw new Exception("Forbidden value on partyLeaderId = " + partyLeaderId + ", it doesn't respect the following condition : partyLeaderId < 0");
            }
            maxParticipants = reader.ReadSByte();
            if (maxParticipants < 0)
            {
                throw new Exception("Forbidden value on maxParticipants = " + maxParticipants + ", it doesn't respect the following condition : maxParticipants < 0");
            }
            var limit = reader.ReadShort();

            members = new Types.PartyMemberInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                (members as Types.PartyMemberInformations[])[i] = Types.ProtocolTypeManager.GetInstance <Types.PartyMemberInformations>(reader.ReadShort());
                (members as Types.PartyMemberInformations[])[i].Deserialize(reader);
            }
            limit  = reader.ReadShort();
            guests = new Types.PartyGuestInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                (guests as Types.PartyGuestInformations[])[i] = new Types.PartyGuestInformations();
                (guests as Types.PartyGuestInformations[])[i].Deserialize(reader);
            }
            restricted = reader.ReadBoolean();
            partyName  = reader.ReadUTF();
        }
コード例 #32
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     reason = reader.ReadSByte();
     if (reason < 0)
     {
         throw new Exception("Forbidden value on reason = " + reason + ", it doesn't respect the following condition : reason < 0");
     }
     memberId = reader.ReadVarUhInt();
     if (memberId < 0)
     {
         throw new Exception("Forbidden value on memberId = " + memberId + ", it doesn't respect the following condition : memberId < 0");
     }
     memberAccountId = reader.ReadInt();
     if (memberAccountId < 0)
     {
         throw new Exception("Forbidden value on memberAccountId = " + memberAccountId + ", it doesn't respect the following condition : memberAccountId < 0");
     }
     memberName = reader.ReadUTF();
     fightId    = reader.ReadInt();
     fightMap   = new Types.MapCoordinatesExtended();
     fightMap.Deserialize(reader);
     timeBeforeFightStart = reader.ReadVarShort();
 }
コード例 #33
0
 public override void Deserialize(ICustomDataInput reader)
 {
     areaId        = reader.ReadInt();
     atLeastNbRoom = reader.ReadSByte();
     if (atLeastNbRoom < 0)
     {
         throw new Exception("Forbidden value on atLeastNbRoom = " + atLeastNbRoom + ", it doesn't respect the following condition : atLeastNbRoom < 0");
     }
     atLeastNbChest = reader.ReadSByte();
     if (atLeastNbChest < 0)
     {
         throw new Exception("Forbidden value on atLeastNbChest = " + atLeastNbChest + ", it doesn't respect the following condition : atLeastNbChest < 0");
     }
     skillRequested = reader.ReadVarUhShort();
     if (skillRequested < 0)
     {
         throw new Exception("Forbidden value on skillRequested = " + skillRequested + ", it doesn't respect the following condition : skillRequested < 0");
     }
     maxPrice = reader.ReadVarUhInt();
     if (maxPrice < 0)
     {
         throw new Exception("Forbidden value on maxPrice = " + maxPrice + ", it doesn't respect the following condition : maxPrice < 0");
     }
 }
コード例 #34
0
 public override void Deserialize(ICustomDataInput reader)
 {
     entityId = reader.ReadVarUhLong();
     if (entityId < 0 || entityId > 9007199254740990)
     {
         throw new Exception("Forbidden value on entityId = " + entityId + ", it doesn't respect the following condition : entityId < 0 || entityId > 9007199254740990");
     }
     elemId = reader.ReadVarUhInt();
     if (elemId < 0)
     {
         throw new Exception("Forbidden value on elemId = " + elemId + ", it doesn't respect the following condition : elemId < 0");
     }
     skillId = reader.ReadVarUhShort();
     if (skillId < 0)
     {
         throw new Exception("Forbidden value on skillId = " + skillId + ", it doesn't respect the following condition : skillId < 0");
     }
     duration = reader.ReadVarUhShort();
     if (duration < 0)
     {
         throw new Exception("Forbidden value on duration = " + duration + ", it doesn't respect the following condition : duration < 0");
     }
     canMove = reader.ReadBoolean();
 }
コード例 #35
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_livingUID      = reader.ReadVarUhInt();
     m_livingPosition = reader.ReadSByte();
     m_skinId         = reader.ReadVarUhInt();
 }
コード例 #36
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_objectUID = reader.ReadVarUhInt();
     m_position  = reader.ReadSByte();
     m_quantity  = reader.ReadVarUhInt();
 }
コード例 #37
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_dungeonId = reader.ReadVarUhShort();
     m_buddyId   = reader.ReadVarUhLong();
     m_timeLeft  = reader.ReadVarUhInt();
 }
コード例 #38
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_kicked  = reader.ReadBoolean();
     m_guildId = reader.ReadVarUhInt();
 }
コード例 #39
0
        public virtual void Deserialize(ICustomDataInput reader)
        {
            this.lifePoints = reader.ReadVarUhInt();

            if (this.lifePoints < 0)
            {
                throw new Exception("Forbidden value on lifePoints = " + this.lifePoints + ", it doesn't respect the following condition : lifePoints < 0");
            }
            this.maxLifePoints = reader.ReadVarUhInt();

            if (this.maxLifePoints < 0)
            {
                throw new Exception("Forbidden value on maxLifePoints = " + this.maxLifePoints + ", it doesn't respect the following condition : maxLifePoints < 0");
            }
            this.baseMaxLifePoints = reader.ReadVarUhInt();

            if (this.baseMaxLifePoints < 0)
            {
                throw new Exception("Forbidden value on baseMaxLifePoints = " + this.baseMaxLifePoints + ", it doesn't respect the following condition : baseMaxLifePoints < 0");
            }
            this.permanentDamagePercent = reader.ReadVarUhInt();

            if (this.permanentDamagePercent < 0)
            {
                throw new Exception("Forbidden value on permanentDamagePercent = " + this.permanentDamagePercent + ", it doesn't respect the following condition : permanentDamagePercent < 0");
            }
            this.shieldPoints = reader.ReadVarUhInt();

            if (this.shieldPoints < 0)
            {
                throw new Exception("Forbidden value on shieldPoints = " + this.shieldPoints + ", it doesn't respect the following condition : shieldPoints < 0");
            }
            this.actionPoints      = reader.ReadVarShort();
            this.maxActionPoints   = reader.ReadVarShort();
            this.movementPoints    = reader.ReadVarShort();
            this.maxMovementPoints = reader.ReadVarShort();
            this.summoner          = reader.ReadDouble();

            if (this.summoner < -9007199254740990 || this.summoner > 9007199254740990)
            {
                throw new Exception("Forbidden value on summoner = " + this.summoner + ", it doesn't respect the following condition : summoner < -9007199254740990 || summoner > 9007199254740990");
            }
            this.summoned = reader.ReadBoolean();
            this.neutralElementResistPercent    = reader.ReadVarShort();
            this.earthElementResistPercent      = reader.ReadVarShort();
            this.waterElementResistPercent      = reader.ReadVarShort();
            this.airElementResistPercent        = reader.ReadVarShort();
            this.fireElementResistPercent       = reader.ReadVarShort();
            this.neutralElementReduction        = reader.ReadVarShort();
            this.earthElementReduction          = reader.ReadVarShort();
            this.waterElementReduction          = reader.ReadVarShort();
            this.airElementReduction            = reader.ReadVarShort();
            this.fireElementReduction           = reader.ReadVarShort();
            this.criticalDamageFixedResist      = reader.ReadVarShort();
            this.pushDamageFixedResist          = reader.ReadVarShort();
            this.pvpNeutralElementResistPercent = reader.ReadVarShort();
            this.pvpEarthElementResistPercent   = reader.ReadVarShort();
            this.pvpWaterElementResistPercent   = reader.ReadVarShort();
            this.pvpAirElementResistPercent     = reader.ReadVarShort();
            this.pvpFireElementResistPercent    = reader.ReadVarShort();
            this.pvpNeutralElementReduction     = reader.ReadVarShort();
            this.pvpEarthElementReduction       = reader.ReadVarShort();
            this.pvpWaterElementReduction       = reader.ReadVarShort();
            this.pvpAirElementReduction         = reader.ReadVarShort();
            this.pvpFireElementReduction        = reader.ReadVarShort();
            this.dodgePALostProbability         = reader.ReadVarUhShort();

            if (this.dodgePALostProbability < 0)
            {
                throw new Exception("Forbidden value on dodgePALostProbability = " + this.dodgePALostProbability + ", it doesn't respect the following condition : dodgePALostProbability < 0");
            }
            this.dodgePMLostProbability = reader.ReadVarUhShort();

            if (this.dodgePMLostProbability < 0)
            {
                throw new Exception("Forbidden value on dodgePMLostProbability = " + this.dodgePMLostProbability + ", it doesn't respect the following condition : dodgePMLostProbability < 0");
            }
            this.tackleBlock           = reader.ReadVarShort();
            this.tackleEvade           = reader.ReadVarShort();
            this.fixedDamageReflection = reader.ReadVarShort();
            this.invisibilityState     = reader.ReadSByte();

            if (this.invisibilityState < 0)
            {
                throw new Exception("Forbidden value on invisibilityState = " + this.invisibilityState + ", it doesn't respect the following condition : invisibilityState < 0");
            }
        }
コード例 #40
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_skillId          = reader.ReadVarUhInt();
     m_skillInstanceUid = reader.ReadInt();
 }
コード例 #41
0
ファイル: ObjectFeedMessage.cs プロジェクト: xvolks/Cookie
 public override void Deserialize(ICustomDataInput reader)
 {
     m_objectUID    = reader.ReadVarUhInt();
     m_foodUID      = reader.ReadVarUhInt();
     m_foodQuantity = reader.ReadVarUhInt();
 }
コード例 #42
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_weight    = reader.ReadVarUhInt();
     m_weightMax = reader.ReadVarUhInt();
 }
コード例 #43
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_type  = reader.ReadVarUhInt();
     m_genId = reader.ReadVarUhShort();
 }
コード例 #44
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     m_allianceId = reader.ReadVarUhInt();
 }
コード例 #45
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_currentWeight = reader.ReadVarUhInt();
     m_maxWeight     = reader.ReadVarUhInt();
 }
コード例 #46
0
ファイル: ExchangeBuyMessage.cs プロジェクト: xvolks/Cookie
 public override void Deserialize(ICustomDataInput reader)
 {
     m_objectToBuyId = reader.ReadVarUhInt();
     m_quantity      = reader.ReadVarUhInt();
 }
コード例 #47
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_guildId = reader.ReadVarUhInt();
     m_rights  = reader.ReadByte();
 }
コード例 #48
0
ファイル: ObjectEffectLadder.cs プロジェクト: xvolks/Cookie
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     m_monsterCount = reader.ReadVarUhInt();
 }
コード例 #49
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_nuggetsForPrism  = reader.ReadVarUhInt();
     m_nuggetsForPlayer = reader.ReadVarUhInt();
 }
コード例 #50
0
ファイル: PresetItem.cs プロジェクト: xvolks/Cookie
 public override void Deserialize(ICustomDataInput reader)
 {
     m_position = reader.ReadSByte();
     m_objGid   = reader.ReadVarUhShort();
     m_objUid   = reader.ReadVarUhInt();
 }
コード例 #51
0
ファイル: MonsterBoosts.cs プロジェクト: xvolks/Cookie
 public override void Deserialize(ICustomDataInput reader)
 {
     m_ObjectId  = reader.ReadVarUhInt();
     m_xpBoost   = reader.ReadVarUhShort();
     m_dropBoost = reader.ReadVarUhShort();
 }
コード例 #52
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     m_targetId = reader.ReadDouble();
     m_delta    = reader.ReadVarUhInt();
 }
コード例 #53
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     m_objectUID = reader.ReadVarUhInt();
     m_quantity  = reader.ReadVarUhInt();
 }
コード例 #54
0
 public virtual void Deserialize(ICustomDataInput reader)
 {
     lifePoints = reader.ReadVarUhInt();
     if (lifePoints < 0)
     {
         throw new Exception("Forbidden value on lifePoints = " + lifePoints + ", it doesn't respect the following condition : lifePoints < 0");
     }
     maxLifePoints = reader.ReadVarUhInt();
     if (maxLifePoints < 0)
     {
         throw new Exception("Forbidden value on maxLifePoints = " + maxLifePoints + ", it doesn't respect the following condition : maxLifePoints < 0");
     }
     baseMaxLifePoints = reader.ReadVarUhInt();
     if (baseMaxLifePoints < 0)
     {
         throw new Exception("Forbidden value on baseMaxLifePoints = " + baseMaxLifePoints + ", it doesn't respect the following condition : baseMaxLifePoints < 0");
     }
     permanentDamagePercent = reader.ReadVarUhInt();
     if (permanentDamagePercent < 0)
     {
         throw new Exception("Forbidden value on permanentDamagePercent = " + permanentDamagePercent + ", it doesn't respect the following condition : permanentDamagePercent < 0");
     }
     shieldPoints = reader.ReadVarUhInt();
     if (shieldPoints < 0)
     {
         throw new Exception("Forbidden value on shieldPoints = " + shieldPoints + ", it doesn't respect the following condition : shieldPoints < 0");
     }
     actionPoints                = reader.ReadVarShort();
     maxActionPoints             = reader.ReadVarShort();
     movementPoints              = reader.ReadVarShort();
     maxMovementPoints           = reader.ReadVarShort();
     summoner                    = reader.ReadInt();
     summoned                    = reader.ReadBoolean();
     neutralElementResistPercent = reader.ReadVarShort();
     earthElementResistPercent   = reader.ReadVarShort();
     waterElementResistPercent   = reader.ReadVarShort();
     airElementResistPercent     = reader.ReadVarShort();
     fireElementResistPercent    = reader.ReadVarShort();
     neutralElementReduction     = reader.ReadVarShort();
     earthElementReduction       = reader.ReadVarShort();
     waterElementReduction       = reader.ReadVarShort();
     airElementReduction         = reader.ReadVarShort();
     fireElementReduction        = reader.ReadVarShort();
     criticalDamageFixedResist   = reader.ReadVarShort();
     pushDamageFixedResist       = reader.ReadVarShort();
     dodgePALostProbability      = reader.ReadVarUhShort();
     if (dodgePALostProbability < 0)
     {
         throw new Exception("Forbidden value on dodgePALostProbability = " + dodgePALostProbability + ", it doesn't respect the following condition : dodgePALostProbability < 0");
     }
     dodgePMLostProbability = reader.ReadVarUhShort();
     if (dodgePMLostProbability < 0)
     {
         throw new Exception("Forbidden value on dodgePMLostProbability = " + dodgePMLostProbability + ", it doesn't respect the following condition : dodgePMLostProbability < 0");
     }
     tackleBlock       = reader.ReadVarShort();
     tackleEvade       = reader.ReadVarShort();
     invisibilityState = reader.ReadSByte();
     if (invisibilityState < 0)
     {
         throw new Exception("Forbidden value on invisibilityState = " + invisibilityState + ", it doesn't respect the following condition : invisibilityState < 0");
     }
 }
コード例 #55
0
 public override void Deserialize(ICustomDataInput reader)
 {
     base.Deserialize(reader);
     Grade = reader.ReadVarUhInt();
 }
コード例 #56
0
ファイル: MountClientData.cs プロジェクト: xvolks/Cookie
        public override void Deserialize(ICustomDataInput reader)
        {
            byte flag = reader.ReadByte();

            m_sex                = BooleanByteWrapper.GetFlag(flag, 0);
            m_isRideable         = BooleanByteWrapper.GetFlag(flag, 1);
            m_isWild             = BooleanByteWrapper.GetFlag(flag, 2);
            m_isFecondationReady = BooleanByteWrapper.GetFlag(flag, 3);
            m_useHarnessColors   = BooleanByteWrapper.GetFlag(flag, 4);
            m_ObjectId           = reader.ReadDouble();
            m_model              = reader.ReadVarUhInt();
            int ancestorCount = reader.ReadUShort();
            int ancestorIndex;

            m_ancestor = new System.Collections.Generic.List <int>();
            for (ancestorIndex = 0; (ancestorIndex < ancestorCount); ancestorIndex = (ancestorIndex + 1))
            {
                m_ancestor.Add(reader.ReadInt());
            }
            int behaviorsCount = reader.ReadUShort();
            int behaviorsIndex;

            m_behaviors = new System.Collections.Generic.List <int>();
            for (behaviorsIndex = 0; (behaviorsIndex < behaviorsCount); behaviorsIndex = (behaviorsIndex + 1))
            {
                m_behaviors.Add(reader.ReadInt());
            }
            m_name                   = reader.ReadUTF();
            m_ownerId                = reader.ReadInt();
            m_experience             = reader.ReadVarUhLong();
            m_experienceForLevel     = reader.ReadVarUhLong();
            m_experienceForNextLevel = reader.ReadDouble();
            m_level                  = reader.ReadByte();
            m_maxPods                = reader.ReadVarUhInt();
            m_stamina                = reader.ReadVarUhInt();
            m_staminaMax             = reader.ReadVarUhInt();
            m_maturity               = reader.ReadVarUhInt();
            m_maturityForAdult       = reader.ReadVarUhInt();
            m_energy                 = reader.ReadVarUhInt();
            m_energyMax              = reader.ReadVarUhInt();
            m_serenity               = reader.ReadInt();
            m_aggressivityMax        = reader.ReadInt();
            m_serenityMax            = reader.ReadVarUhInt();
            m_love                   = reader.ReadVarUhInt();
            m_loveMax                = reader.ReadVarUhInt();
            m_fecondationTime        = reader.ReadInt();
            m_boostLimiter           = reader.ReadInt();
            m_boostMax               = reader.ReadDouble();
            m_reproductionCount      = reader.ReadInt();
            m_reproductionCountMax   = reader.ReadVarUhInt();
            m_harnessGID             = reader.ReadVarUhShort();
            int effectListCount = reader.ReadUShort();
            int effectListIndex;

            m_effectList = new System.Collections.Generic.List <ObjectEffectInteger>();
            for (effectListIndex = 0; (effectListIndex < effectListCount); effectListIndex = (effectListIndex + 1))
            {
                ObjectEffectInteger objectToAdd = new ObjectEffectInteger();
                objectToAdd.Deserialize(reader);
                m_effectList.Add(objectToAdd);
            }
        }
コード例 #57
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_genericId    = reader.ReadVarUhShort();
     m_baseQuantity = reader.ReadVarUhInt();
 }
コード例 #58
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_elemId  = reader.ReadVarUhInt();
     m_skillId = reader.ReadVarUhShort();
 }
コード例 #59
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_houseId = reader.ReadVarUhInt();
 }
コード例 #60
0
        public virtual void Deserialize(ICustomDataInput reader)
        {
            experience = reader.ReadVarUhLong();
            if (experience < 0 || experience > 9007199254740990)
            {
                throw new Exception("Forbidden value on experience = " + experience + ", it doesn't respect the following condition : experience < 0 || experience > 9007199254740990");
            }
            experienceLevelFloor = reader.ReadVarUhLong();
            if (experienceLevelFloor < 0 || experienceLevelFloor > 9007199254740990)
            {
                throw new Exception("Forbidden value on experienceLevelFloor = " + experienceLevelFloor + ", it doesn't respect the following condition : experienceLevelFloor < 0 || experienceLevelFloor > 9007199254740990");
            }
            experienceNextLevelFloor = reader.ReadVarUhLong();
            if (experienceNextLevelFloor < 0 || experienceNextLevelFloor > 9007199254740990)
            {
                throw new Exception("Forbidden value on experienceNextLevelFloor = " + experienceNextLevelFloor + ", it doesn't respect the following condition : experienceNextLevelFloor < 0 || experienceNextLevelFloor > 9007199254740990");
            }
            kamas = reader.ReadInt();
            if (kamas < 0)
            {
                throw new Exception("Forbidden value on kamas = " + kamas + ", it doesn't respect the following condition : kamas < 0");
            }
            statsPoints = reader.ReadVarUhShort();
            if (statsPoints < 0)
            {
                throw new Exception("Forbidden value on statsPoints = " + statsPoints + ", it doesn't respect the following condition : statsPoints < 0");
            }
            additionnalPoints = reader.ReadVarUhShort();
            if (additionnalPoints < 0)
            {
                throw new Exception("Forbidden value on additionnalPoints = " + additionnalPoints + ", it doesn't respect the following condition : additionnalPoints < 0");
            }
            spellsPoints = reader.ReadVarUhShort();
            if (spellsPoints < 0)
            {
                throw new Exception("Forbidden value on spellsPoints = " + spellsPoints + ", it doesn't respect the following condition : spellsPoints < 0");
            }
            alignmentInfos = new Types.ActorExtendedAlignmentInformations();
            alignmentInfos.Deserialize(reader);
            lifePoints = reader.ReadVarUhInt();
            if (lifePoints < 0)
            {
                throw new Exception("Forbidden value on lifePoints = " + lifePoints + ", it doesn't respect the following condition : lifePoints < 0");
            }
            maxLifePoints = reader.ReadVarUhInt();
            if (maxLifePoints < 0)
            {
                throw new Exception("Forbidden value on maxLifePoints = " + maxLifePoints + ", it doesn't respect the following condition : maxLifePoints < 0");
            }
            energyPoints = reader.ReadVarUhShort();
            if (energyPoints < 0)
            {
                throw new Exception("Forbidden value on energyPoints = " + energyPoints + ", it doesn't respect the following condition : energyPoints < 0");
            }
            maxEnergyPoints = reader.ReadVarUhShort();
            if (maxEnergyPoints < 0)
            {
                throw new Exception("Forbidden value on maxEnergyPoints = " + maxEnergyPoints + ", it doesn't respect the following condition : maxEnergyPoints < 0");
            }
            actionPointsCurrent   = reader.ReadVarShort();
            movementPointsCurrent = reader.ReadVarShort();
            initiative            = new CharacterBaseCharacteristic();
            initiative.Deserialize(reader);
            prospecting = new CharacterBaseCharacteristic();
            prospecting.Deserialize(reader);
            actionPoints = new CharacterBaseCharacteristic();
            actionPoints.Deserialize(reader);
            movementPoints = new CharacterBaseCharacteristic();
            movementPoints.Deserialize(reader);
            strength = new CharacterBaseCharacteristic();
            strength.Deserialize(reader);
            vitality = new CharacterBaseCharacteristic();
            vitality.Deserialize(reader);
            wisdom = new CharacterBaseCharacteristic();
            wisdom.Deserialize(reader);
            chance = new CharacterBaseCharacteristic();
            chance.Deserialize(reader);
            agility = new CharacterBaseCharacteristic();
            agility.Deserialize(reader);
            intelligence = new CharacterBaseCharacteristic();
            intelligence.Deserialize(reader);
            range = new CharacterBaseCharacteristic();
            range.Deserialize(reader);
            summonableCreaturesBoost = new CharacterBaseCharacteristic();
            summonableCreaturesBoost.Deserialize(reader);
            reflect = new CharacterBaseCharacteristic();
            reflect.Deserialize(reader);
            criticalHit = new CharacterBaseCharacteristic();
            criticalHit.Deserialize(reader);
            criticalHitWeapon = reader.ReadVarUhShort();
            if (criticalHitWeapon < 0)
            {
                throw new Exception("Forbidden value on criticalHitWeapon = " + criticalHitWeapon + ", it doesn't respect the following condition : criticalHitWeapon < 0");
            }
            criticalMiss = new CharacterBaseCharacteristic();
            criticalMiss.Deserialize(reader);
            healBonus = new CharacterBaseCharacteristic();
            healBonus.Deserialize(reader);
            allDamagesBonus = new CharacterBaseCharacteristic();
            allDamagesBonus.Deserialize(reader);
            weaponDamagesBonusPercent = new CharacterBaseCharacteristic();
            weaponDamagesBonusPercent.Deserialize(reader);
            damagesBonusPercent = new CharacterBaseCharacteristic();
            damagesBonusPercent.Deserialize(reader);
            trapBonus = new CharacterBaseCharacteristic();
            trapBonus.Deserialize(reader);
            trapBonusPercent = new CharacterBaseCharacteristic();
            trapBonusPercent.Deserialize(reader);
            glyphBonusPercent = new CharacterBaseCharacteristic();
            glyphBonusPercent.Deserialize(reader);
            runeBonusPercent = new CharacterBaseCharacteristic();
            runeBonusPercent.Deserialize(reader);
            permanentDamagePercent = new CharacterBaseCharacteristic();
            permanentDamagePercent.Deserialize(reader);
            tackleBlock = new CharacterBaseCharacteristic();
            tackleBlock.Deserialize(reader);
            tackleEvade = new CharacterBaseCharacteristic();
            tackleEvade.Deserialize(reader);
            PAAttack = new CharacterBaseCharacteristic();
            PAAttack.Deserialize(reader);
            PMAttack = new CharacterBaseCharacteristic();
            PMAttack.Deserialize(reader);
            pushDamageBonus = new CharacterBaseCharacteristic();
            pushDamageBonus.Deserialize(reader);
            criticalDamageBonus = new CharacterBaseCharacteristic();
            criticalDamageBonus.Deserialize(reader);
            neutralDamageBonus = new CharacterBaseCharacteristic();
            neutralDamageBonus.Deserialize(reader);
            earthDamageBonus = new CharacterBaseCharacteristic();
            earthDamageBonus.Deserialize(reader);
            waterDamageBonus = new CharacterBaseCharacteristic();
            waterDamageBonus.Deserialize(reader);
            airDamageBonus = new CharacterBaseCharacteristic();
            airDamageBonus.Deserialize(reader);
            fireDamageBonus = new CharacterBaseCharacteristic();
            fireDamageBonus.Deserialize(reader);
            dodgePALostProbability = new CharacterBaseCharacteristic();
            dodgePALostProbability.Deserialize(reader);
            dodgePMLostProbability = new CharacterBaseCharacteristic();
            dodgePMLostProbability.Deserialize(reader);
            neutralElementResistPercent = new CharacterBaseCharacteristic();
            neutralElementResistPercent.Deserialize(reader);
            earthElementResistPercent = new CharacterBaseCharacteristic();
            earthElementResistPercent.Deserialize(reader);
            waterElementResistPercent = new CharacterBaseCharacteristic();
            waterElementResistPercent.Deserialize(reader);
            airElementResistPercent = new CharacterBaseCharacteristic();
            airElementResistPercent.Deserialize(reader);
            fireElementResistPercent = new CharacterBaseCharacteristic();
            fireElementResistPercent.Deserialize(reader);
            neutralElementReduction = new CharacterBaseCharacteristic();
            neutralElementReduction.Deserialize(reader);
            earthElementReduction = new CharacterBaseCharacteristic();
            earthElementReduction.Deserialize(reader);
            waterElementReduction = new CharacterBaseCharacteristic();
            waterElementReduction.Deserialize(reader);
            airElementReduction = new CharacterBaseCharacteristic();
            airElementReduction.Deserialize(reader);
            fireElementReduction = new CharacterBaseCharacteristic();
            fireElementReduction.Deserialize(reader);
            pushDamageReduction = new CharacterBaseCharacteristic();
            pushDamageReduction.Deserialize(reader);
            criticalDamageReduction = new CharacterBaseCharacteristic();
            criticalDamageReduction.Deserialize(reader);
            pvpNeutralElementResistPercent = new CharacterBaseCharacteristic();
            pvpNeutralElementResistPercent.Deserialize(reader);
            pvpEarthElementResistPercent = new CharacterBaseCharacteristic();
            pvpEarthElementResistPercent.Deserialize(reader);
            pvpWaterElementResistPercent = new CharacterBaseCharacteristic();
            pvpWaterElementResistPercent.Deserialize(reader);
            pvpAirElementResistPercent = new CharacterBaseCharacteristic();
            pvpAirElementResistPercent.Deserialize(reader);
            pvpFireElementResistPercent = new CharacterBaseCharacteristic();
            pvpFireElementResistPercent.Deserialize(reader);
            pvpNeutralElementReduction = new CharacterBaseCharacteristic();
            pvpNeutralElementReduction.Deserialize(reader);
            pvpEarthElementReduction = new CharacterBaseCharacteristic();
            pvpEarthElementReduction.Deserialize(reader);
            pvpWaterElementReduction = new CharacterBaseCharacteristic();
            pvpWaterElementReduction.Deserialize(reader);
            pvpAirElementReduction = new CharacterBaseCharacteristic();
            pvpAirElementReduction.Deserialize(reader);
            pvpFireElementReduction = new CharacterBaseCharacteristic();
            pvpFireElementReduction.Deserialize(reader);
            var limit = reader.ReadUShort();

            spellModifications = new CharacterSpellModification[limit];
            for (int i = 0; i < limit; i++)
            {
                spellModifications[i] = new CharacterSpellModification();
                spellModifications[i].Deserialize(reader);
            }
            probationTime = reader.ReadInt();
            if (probationTime < 0)
            {
                throw new Exception("Forbidden value on probationTime = " + probationTime + ", it doesn't respect the following condition : probationTime < 0");
            }
        }