All pastes #740632 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-10-18 02:35 UTC
rendered paste body
#region AreaTable.dbc

    public struct AreaTable
    {
        public uint Id;
        public uint MapId;
        public uint ParentArea;
        public AreaFlag AreaFlags;
        public string Name;

        public bool IsArena
        {
            get { return (AreaFlags & AreaFlag.Arena) != AreaFlag.None; }
        }

        public bool IsSanctuary
        {
            get { return (AreaFlags & AreaFlag.Sanctuary) != AreaFlag.None; }
        }

        public bool IsCapitalCity
        {
            get { return (AreaFlags & AreaFlag.CapitalCity) != AreaFlag.None; }
        }
    }

    public class AreaTableConverter : DBCRecordConverter<AreaTable>
    {
        public override AreaTable ConvertTo(byte[] rawData, out int id)
        {
            id = GetInt32(rawData, 0);

            AreaTable area = new AreaTable();

            area.Id = GetUInt32(rawData, 0);
            area.MapId = GetUInt32(rawData, 1);
            area.ParentArea = GetUInt32(rawData, 2);
            area.AreaFlags = (AreaFlag)GetUInt32(rawData, 4);
            area.Name = GetString(rawData, 11);

            return area;
        }
    }