Ejemplo n.º 1
0
        private void AdjustSpecialSpawnRulesForVisuals(EntryIconDrawSettings settings)
        {
            if (NPCID.Sets.SpecialSpawningRules.TryGetValue(_npcNetId, out var value) && value == 0)
            {
                Point point = (_npcCache.position - _npcCache.rotation.ToRotationVector2() * -1600f).ToTileCoordinates();
                _npcCache.ai[0] = point.X;
                _npcCache.ai[1] = point.Y;
            }
            switch (_npcNetId)
            {
            case 244:
                _npcCache.AI_001_SetRainbowSlimeColor();
                break;

            case 356:
                _npcCache.ai[2] = 1f;
                break;

            case 330:
            case 372:
            case 586:
            case 587:
            case 619:
            case 620:
                _npcCache.alpha = 0;
                break;

            case 299:
            case 538:
            case 539:
            case 639:
            case 640:
            case 641:
            case 642:
            case 643:
            case 644:
            case 645:
                if (settings.IsPortrait && _npcCache.frame.Y == 0)
                {
                    _npcCache.frame.Y = _npcCache.frame.Height;
                }
                break;

            case 636:
                _npcCache.Opacity = 1f;
                if ((_npcCache.localAI[0] += 1f) >= 44f)
                {
                    _npcCache.localAI[0] = 0f;
                }
                break;

            case 656:
                _npcCache.townNpcVariationIndex = 1;
                break;
            }
        }