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; } }