示例#1
0
        public override VehicleEntry ConvertTo(byte[] rawData, ref int id)
        {
            id = DBCRecordConverter.GetInt32(rawData, 0);
            VehicleEntry vehicleEntry = new VehicleEntry()
            {
                Id         = DBCRecordConverter.GetUInt32(rawData, 0),
                Flags      = (VehicleFlags)DBCRecordConverter.GetUInt32(rawData, 1),
                TurnSpeed  = DBCRecordConverter.GetFloat(rawData, 2),
                PitchSpeed = DBCRecordConverter.GetFloat(rawData, 3),
                PitchMin   = DBCRecordConverter.GetFloat(rawData, 4),
                PitchMax   = DBCRecordConverter.GetFloat(rawData, 5)
            };
            int num1 = 0;
            int num2 = 0;

            for (int index = 0; index < vehicleEntry.Seats.Length; ++index)
            {
                uint uint32 = DBCRecordConverter.GetUInt32(rawData, 6 + index);
                if (uint32 > 0U)
                {
                    VehicleSeatEntry vehicleSeatEntry = NPCMgr.GetVehicleSeatEntry(uint32);
                    vehicleEntry.Seats[index] = vehicleSeatEntry;
                    ++num2;
                    num1 = index;
                }
            }

            vehicleEntry.SeatCount = num2;
            if (num1 < 7)
            {
                Array.Resize <VehicleSeatEntry>(ref vehicleEntry.Seats, num1 + 1);
            }
            vehicleEntry.PowerType = (VehiclePowerType)DBCRecordConverter.GetInt32(rawData, 37);
            return(vehicleEntry);
        }
示例#2
0
 public override BaseRace ConvertTo(byte[] rawData, ref int id)
 {
     return(new BaseRace()
     {
         Id = (RaceId)(id = (int)DBCRecordConverter.GetUInt32(rawData, 0)),
         FactionTemplateId = (FactionTemplateId)DBCRecordConverter.GetUInt32(rawData, 8),
         MaleDisplayId = DBCRecordConverter.GetUInt32(rawData, 4),
         FemaleDisplayId = DBCRecordConverter.GetUInt32(rawData, 5),
         Scale = DBCRecordConverter.GetFloat(rawData, 7),
         Name = this.GetString(rawData, 14),
         ClientId = (ClientId)DBCRecordConverter.GetUInt32(rawData, 68)
     });
 }
示例#3
0
        public override void Convert(byte[] rawData)
        {
            MapTemplate val = new MapTemplate();

            val.Id = (MapId)DBCRecordConverter.GetUInt32(rawData, 0);
            int         num1         = 2;
            MapTemplate mapTemplate1 = val;

            byte[] data1    = rawData;
            int    field1   = num1;
            int    num2     = field1 + 1;
            int    uint32_1 = (int)DBCRecordConverter.GetUInt32(data1, field1);

            mapTemplate1.Type = (MapType)uint32_1;
            int         num3         = num2 + 1;
            MapTemplate mapTemplate2 = val;

            byte[] data2  = rawData;
            int    field2 = num3;
            int    num4   = field2 + 1;
            int    num5   = DBCRecordConverter.GetUInt32(data2, field2) != 0U ? 1 : 0;

            mapTemplate2.HasTwoSides = num5 != 0;
            MapTemplate mapTemplate3 = val;

            byte[] data3        = rawData;
            int    stringOffset = num4;
            int    num6         = stringOffset + 1;
            string str          = this.GetString(data3, stringOffset);

            mapTemplate3.Name = str;
            int         num7         = num6 + 16 + 1;
            MapTemplate mapTemplate4 = val;

            byte[] data4    = rawData;
            int    field3   = num7;
            int    num8     = field3 + 1;
            int    uint32_2 = (int)DBCRecordConverter.GetUInt32(data4, field3);

            mapTemplate4.AreaTableId = (uint)uint32_2;
            val.ParentMapId          = (MapId)DBCRecordConverter.GetUInt32(rawData, 59);
            val.RepopMapId           = val.ParentMapId;
            val.RepopPosition        = new Vector3(DBCRecordConverter.GetFloat(rawData, 60),
                                                   DBCRecordConverter.GetFloat(rawData, 61), 500f);
            val.RequiredClientId = (ClientId)DBCRecordConverter.GetUInt32(rawData, 63);
            val.DefaultResetTime = DBCRecordConverter.GetInt32(rawData, 64);
            val.MaxPlayerCount   = DBCRecordConverter.GetInt32(rawData, 65);
            ArrayUtil.Set <MapTemplate>(ref WCell.RealmServer.Global.World.s_MapTemplates, (uint)val.Id, val);
        }
        public override CreatureFamily ConvertTo(byte[] rawData, ref int id)
        {
            CreatureFamily creatureFamily = new CreatureFamily()
            {
                Id            = (CreatureFamilyId)(id = (int)DBCRecordConverter.GetUInt32(rawData, 0)),
                MinScale      = DBCRecordConverter.GetFloat(rawData, 1),
                MaxScale      = DBCRecordConverter.GetFloat(rawData, 3),
                MaxScaleLevel = DBCRecordConverter.GetInt32(rawData, 4),
                SkillLine     = SkillHandler.Get(DBCRecordConverter.GetUInt32(rawData, 5)),
                PetFoodMask   = (PetFoodMask)DBCRecordConverter.GetUInt32(rawData, 7),
                PetTalentType = (PetTalentType)DBCRecordConverter.GetUInt32(rawData, 8),
                Name          = this.GetString(rawData, 10)
            };

            creatureFamily.ScaleStep = (creatureFamily.MaxScale - creatureFamily.MinScale) /
                                       (float)creatureFamily.MaxScaleLevel;
            return(creatureFamily);
        }
 public override VehicleSeatEntry ConvertTo(byte[] rawData, ref int id)
 {
     id = DBCRecordConverter.GetInt32(rawData, 0);
     return(new VehicleSeatEntry()
     {
         Id = DBCRecordConverter.GetUInt32(rawData, 0),
         Flags = (VehicleSeatFlags)DBCRecordConverter.GetUInt32(rawData, 1),
         AttachmentId = DBCRecordConverter.GetInt32(rawData, 2),
         AttachmentOffset = new Vector3(DBCRecordConverter.GetFloat(rawData, 3),
                                        DBCRecordConverter.GetFloat(rawData, 4), DBCRecordConverter.GetFloat(rawData, 5)),
         EnterPreDelay = DBCRecordConverter.GetFloat(rawData, 6),
         EnterSpeed = DBCRecordConverter.GetFloat(rawData, 7),
         EnterGravity = DBCRecordConverter.GetFloat(rawData, 8),
         EnterMinDuration = DBCRecordConverter.GetFloat(rawData, 9),
         EnterMaxDuration = DBCRecordConverter.GetFloat(rawData, 10),
         EnterMinArcHeight = DBCRecordConverter.GetFloat(rawData, 11),
         EnterMaxArcHeight = DBCRecordConverter.GetFloat(rawData, 12),
         EnterAnimStart = DBCRecordConverter.GetInt32(rawData, 13),
         EnterAnimLoop = DBCRecordConverter.GetInt32(rawData, 14),
         RideAnimStart = DBCRecordConverter.GetInt32(rawData, 15),
         RideAnimLoop = DBCRecordConverter.GetInt32(rawData, 16),
         RideUpperAnimStart = DBCRecordConverter.GetInt32(rawData, 17),
         RideUpperAnimLoop = DBCRecordConverter.GetInt32(rawData, 18),
         ExitPreDelay = DBCRecordConverter.GetFloat(rawData, 19),
         ExitSpeed = DBCRecordConverter.GetFloat(rawData, 20),
         ExitGravity = DBCRecordConverter.GetFloat(rawData, 21),
         ExitMinDuration = DBCRecordConverter.GetFloat(rawData, 22),
         ExitMaxDuration = DBCRecordConverter.GetFloat(rawData, 23),
         ExitMinArcHeight = DBCRecordConverter.GetFloat(rawData, 24),
         ExitMaxArcHeight = DBCRecordConverter.GetFloat(rawData, 25),
         ExitAnimStart = DBCRecordConverter.GetInt32(rawData, 26),
         ExitAnimLoop = DBCRecordConverter.GetInt32(rawData, 27),
         ExitAnimEnd = DBCRecordConverter.GetInt32(rawData, 28),
         PassengerYaw = DBCRecordConverter.GetFloat(rawData, 29),
         PassengerPitch = DBCRecordConverter.GetFloat(rawData, 30),
         PassengerRoll = DBCRecordConverter.GetFloat(rawData, 31),
         PassengerAttachmentId = DBCRecordConverter.GetInt32(rawData, 32),
         FlagsB = (VehicleSeatFlagsB)DBCRecordConverter.GetUInt32(rawData, 45)
     });
 }
示例#6
0
 public override float ConvertTo(byte[] rawData, ref int id)
 {
     return(DBCRecordConverter.GetFloat(rawData, 0));
 }