Beispiel #1
0
        public override void Start()
        {
            _customize = _builder.Sheet("CharaMakeCustomize");
            _type      = _builder.Sheet("CharaMakeType");
            _colorMap  = new SaintCoinach.Graphics.ColorMap(_builder.Realm.GameData.PackCollection.GetFile("chara/xls/charamake/human.cmp"));

            BuildSupplementalData();
            BuildAppearanceData();
        }
Beispiel #2
0
        public override void Start()
        {
            _sCharaMakeCustomize = _builder.Sheet("CharaMakeCustomize");
            _sCharaMakeType      = _builder.Sheet("CharaMakeType");
            _colorMap            = new SaintCoinach.Graphics.ColorMap(_builder.Realm.GameData.PackCollection.GetFile("chara/xls/charamake/human.cmp"));

            IndexLevels();
            BuildNpcs();
            BuildSupplementalData();
            LinkAlternates();
        }
Beispiel #3
0
        void IndexSapphireDataCore(MySql.Data.MySqlClient.MySqlDataReader reader, Saint.IXivSheet <Saint.TerritoryType> sTerritoryTypes)
        {
            BNpcData bnpcData = null;

            while (reader.Read())
            {
                var nameKey = reader.GetInt32("bNPCNameId");
                var baseKey = reader.GetInt32("bNPCBaseId");
                if (bnpcData == null || nameKey != bnpcData.BNpcNameKey || baseKey != bnpcData.BNpcBaseKey)
                {
                    var fullKey = nameKey + baseKey * 10000000000;
                    if (!_bnpcDataByFullKey.TryGetValue(fullKey, out bnpcData))
                    {
                        bnpcData             = new BNpcData();
                        bnpcData.BNpcNameKey = nameKey;
                        bnpcData.BNpcBaseKey = baseKey;
                        bnpcData.FullKey     = fullKey;
                        bnpcData.DebugName   = reader.GetString("name");
                    }
                }

                // Incomplete location data may already exist from Libra.  Fill in.
                var territoryTypeId = reader.GetInt32("territoryTypeId");
                var sTerritoryType  = sTerritoryTypes[territoryTypeId];
                var sMap            = sTerritoryType.Map;

                var bnpcLocation = bnpcData.Locations.FirstOrDefault(l => l.X == 0 && l.PlaceNameKey == sTerritoryType.PlaceName.Key);
                if (bnpcLocation == null)
                {
                    bnpcLocation = new BNpcLocation();
                    bnpcLocation.PlaceNameKey = sTerritoryType.PlaceName.Key;
                    bnpcData.Locations.Add(bnpcLocation);
                }

                bnpcLocation.Radius = reader.GetFloat("r");
                bnpcLocation.X      = sMap.ToMapCoordinate3d(reader.GetDouble("x"), sMap.OffsetX);
                // Z is intentionally used for Y here.
                bnpcLocation.Y = sMap.ToMapCoordinate3d(reader.GetDouble("z"), sMap.OffsetY);
                bnpcLocation.Z = sMap.ToMapCoordinate3d(reader.GetDouble("y"), 0);

                if (bnpcLocation.LevelRange == null)
                {
                    var level = reader.GetInt32("level");
                    bnpcLocation.LevelRange = level.ToString();
                }
            }
        }
Beispiel #4
0
 public SupplyDuties(ItemSourceComplexity complexity)
 {
     _complexity = complexity;
     _sParamGrow = _builder.Sheet <Saint.ParamGrow>();
 }