click me mf
сплаттерпанк | 21+

#барсук

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » #барсук » Расписание маршрутов » Места


Места

Сообщений 1 страница 5 из 5

1

Технические моменты

  • Есть определенные места, которые становятся особенными для твоего персонажа или для других персонажей, либо они известны и/или популярны в определенных кругах. Эта тема как раз для таких мест, чтобы они всегда были под рукой и любой желающий мог бы провести там время.

  • Чтобы добавить свое место обращайся в Вопросы к администрации. С тебя: картинки (если нет, Мастер сам найдет), а также описание!

0

2

[html]<div style="position: relative; width: 600px; margin: 50px auto;">
 
  <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
  <div style="position: relative; z-index: 10; display: inline-block; width: 100%; transform: rotate(-0.5deg);">
   
    <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
      <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
        <div style="position: relative; overflow: hidden; border-radius: 9px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/5f/2a/2c/5f2a2c7e810ad8e2817c8c7ffe643b49.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.35) contrast(1.1) brightness(0.96); border-radius: 9px;">
         
          <div class="scratch-overlay-main"></div>
          <div class="stain-overlay-main"></div>
          <div class="grain-overlay-main"></div>
        </div>
      </div>
    </div>
  </div>
 
</div>

<style>
  /* ЦАРАПИНЫ (основное фото) */
  .scratch-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.05) 2px, rgba(0,0,0,0.05) 5px),
                      repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.04) 3px, rgba(80,60,40,0.04) 7px);
    border-radius: 9px; z-index: 2;
  }
 
  /* ПЯТНА (основное фото) */
  .stain-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.1) 0%, transparent 40%),
                radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.08) 0%, transparent 50%),
                radial-gradient(circle at 50% 50%, rgba(180,155,125,0.05) 0%, transparent 70%);
    border-radius: 9px; z-index: 2;
  }
 
  /* ЗЕРНИСТОСТЬ (основное фото) */
  .grain-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.04"/></svg>');
    background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 3; mix-blend-mode: multiply;
  }
</style>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "THE HANGOVER HAVEN";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 20px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО США - НЬЮ-ЙОРК";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Похмельный приют является одним из старейших баров Нью-Йорка. Это отдельно стоящее двухэтажное здание (на второй этаж посетителям вход воспрещён), расположенное на Манхэттене, в микрорайоне Ист-Виллидж, по адресу: 7-я Восточная улица, 15. Бар был открыт 10 июня 1854 года, и самое забавное, что ни его владелец, ни основной бармен с тех пор не сменились. В 1954 году бар сменил название с «McSorley's Old Ale House» на «The Hangover Haven», официально став «нейтральной территорией» и значительно расширив свой ассортимент. В нём подаются все виды горячительных напитков со всего мира и разнообразные закуски. На вопрос, как Прокинтичу удаётся это провернуть, мужчина только посмеивается, поправляя свои подтяжки. Наркотические вещества здесь не предоставляют, а за употребление их на территории бара вносят в чёрный список и запрещают посещать бар. Вход в бар строго с 16 лет, при этом подросткам спокойно продают алкогольную продукцию.

«Похмельный приют» умело сочетает в себе все удобства современного мира и антураж старины. Мягкое, приглушённое освещение создаёт атмосферу безопасного «логова», а большая вместительность дарит тот самый удивительный эффект, когда ты можешь потеряться в баре, а можешь весело провести время с друзьями или незнакомцами, не мешая друг другу.

В баре имеется небольшая сцена, где время от времени выступают стендап-комики или музыканты. Есть место и под танцы, а также возможность оплатить любую музыку из автомата-проигрывателя с виниловыми пластинками. Музыка на них имеется всех годов и всех исполнителей, включая редкую, которую нигде больше не услышать.

Бар является «нейтральной территорией», где в определённые часы могут спокойно отдохнуть представители ОЦ, ЦСГ, КТ, ведьмы, ведьмаки и существа. Людей в эти часы в баре нет. Если встреча не была назначена тобой, ты понятия не имеешь, с кем именно в данный момент взаимодействуешь. На территории бара запрещено убивать представителей иного ремесла и происхождения, использовать свои способности, проводить ритуалы или обряды, заниматься вербовкой в свои ряды. В случае нарушения этих правил тебя убивают на месте. К дракам и разборкам относятся пятьдесят на пятьдесят — всё зависит от ситуации, однако есть риск, что если ты организовал драку, тебя могут внести в чёрный список и закрыть доступ в бар.

Часы работы:
- 18:00 — 00:00 — «часы людей» (работают посменные бармены)
- 00:00 — 06:00 — «нейтральные часы» (в баре работает основной бармен Кристиан, его сменщик — Ди Престон)
- 06:00 — 18:00 — бар закрыт

0

3

[html]<div style="position: relative; width: 600px; margin: 50px auto;">
 
  <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
  <div style="position: relative; z-index: 10; display: inline-block; width: 100%; transform: rotate(-0.5deg);">
   
    <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
      <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
        <div style="position: relative; overflow: hidden; border-radius: 9px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/f8/53/70/f85370b83406db58786dc20d8c241906.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.35) contrast(1.1) brightness(0.96); border-radius: 9px;">
         
          <div class="scratch-overlay-main"></div>
          <div class="stain-overlay-main"></div>
          <div class="grain-overlay-main"></div>
        </div>
      </div>
    </div>
  </div>
 
</div>

<style>
  /* ЦАРАПИНЫ (основное фото) */
  .scratch-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.05) 2px, rgba(0,0,0,0.05) 5px),
                      repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.04) 3px, rgba(80,60,40,0.04) 7px);
    border-radius: 9px; z-index: 2;
  }
 
  /* ПЯТНА (основное фото) */
  .stain-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.1) 0%, transparent 40%),
                radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.08) 0%, transparent 50%),
                radial-gradient(circle at 50% 50%, rgba(180,155,125,0.05) 0%, transparent 70%);
    border-radius: 9px; z-index: 2;
  }
 
  /* ЗЕРНИСТОСТЬ (основное фото) */
  .grain-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.04"/></svg>');
    background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 3; mix-blend-mode: multiply;
  }
</style>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СЕВЕРНОЕ СИЯНИЕ";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 20px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО США - НЬЮ-ЙОРК";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

«Северное Сияние» — это уникальное игорное заведение, расположенное в сердце мегаполиса, которое принадлежит загадочному и противоречивому Николасу Фросту. Этот мир блеска и роскоши манит гостей своими яркими огнями и обещанием незабываемых ночей, наполненных азартом и страстью. Зайдя в «Северное Сияние», вы попадаете в атмосферу, где время словно останавливается, а реальность сливается с мечтой.

Казино предлагает широкий выбор игровых столов и автоматов, где каждый может испытать свою удачу. Здесь вы найдёте всё: от классических игр, таких как покер, рулетка и блэкджек, до самых современных игровых автоматов. Для VIP-гостей предусмотрены отдельные залы с высокими ставками и эксклюзивным обслуживанием, где каждый может почувствовать себя настоящим королём.

Однако «Северное Сияние» славится не только азартными играми. Ночные шоу для взрослых — это настоящее искусство, исполненное профессиональными танцовщицами, которые создают захватывающие номера, оставляющие незабываемые впечатления. Программа шоу меняется каждую неделю, чтобы гости всегда находили что-то новое и интересное.

Для тех, кто ищет более приватные развлечения, в казино предусмотрены уютные интимные кабинки. Однако приставать к девочкам строго запрещено. В этих кабинках могут обслуживать только отдельные девушки, прошедшие специальный отбор и обучение, что гарантирует высокий уровень сервиса и безопасность.

Бар «Северного Сияния» предлагает изысканный выбор напитков на любой вкус. Здесь можно насладиться редкими сортами виски, эксклюзивными коктейлями, созданными лучшими миксологами, и шампанским, искрящимся в бокалах, как северное сияние на ночном небе. Для гурманов предусмотрено меню, составленное шеф-поваром, чьи блюда превращают каждый ужин в кулинарное путешествие.

Николас Фрост, несмотря на свою циничность и пороки, остаётся чрезвычайно принципиальным в вопросах защиты своих сотрудников и бизнеса. Гости казино могут быть уверены, что здесь царит порядок, и любые нарушения правил строго наказываются. Вечеринки и пьянки в «Северном Сиянии» уже стали легендарными, добавляя ещё больше тёмной известности этому месту.

«Северное Сияние» — это мир, где каждый шаг может привести как к спасению, так и к новым приключениям. Это не просто место развлечений, но и убежище для тех, кто ищет второй шанс или спасение от трудностей жизни. Здесь каждый может найти своё вдохновение и утешение, погрузившись в мир азарта, страстей и искушений.

Это место, где мечты становятся реальностью, а пороки находят своё воплощение в самом изысканном и притягательном виде. Здесь каждый шаг — это рискованная игра, где ставка может привести к невероятным высотам или сокрушительным падениям.

+2

4

[html]<div style="position: relative; width: 600px; margin: 50px auto;">
 
  <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
  <div style="position: relative; z-index: 10; display: inline-block; width: 100%; transform: rotate(-0.5deg);">
   
    <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
      <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
        <div style="position: relative; overflow: hidden; border-radius: 9px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/1200x/48/71/8a/48718a5b684d51c48fb20ee2be722443.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.35) contrast(1.1) brightness(0.96); border-radius: 9px;">
         
          <div class="scratch-overlay-main"></div>
          <div class="stain-overlay-main"></div>
          <div class="grain-overlay-main"></div>
        </div>
      </div>
    </div>
  </div>
 
</div>

<style>
  /* ЦАРАПИНЫ (основное фото) */
  .scratch-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.05) 2px, rgba(0,0,0,0.05) 5px),
                      repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.04) 3px, rgba(80,60,40,0.04) 7px);
    border-radius: 9px; z-index: 2;
  }
 
  /* ПЯТНА (основное фото) */
  .stain-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.1) 0%, transparent 40%),
                radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.08) 0%, transparent 50%),
                radial-gradient(circle at 50% 50%, rgba(180,155,125,0.05) 0%, transparent 70%);
    border-radius: 9px; z-index: 2;
  }
 
  /* ЗЕРНИСТОСТЬ (основное фото) */
  .grain-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.04"/></svg>');
    background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 3; mix-blend-mode: multiply;
  }
</style>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ ЧЕРВОТОЧИНЫ И ВЗЯТОЧНИЧЕСТВА";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="20" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО ИТАЛИИ - СОЛОВЕЦКИЕ ОСТРОВА - ГОРОД СОЛОВЕЦ";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

Внешне выглядит как небольшое здание. Учреждение делится на основное здание, где работают и учатся обычные люди, и секцию на верхнем этаже, куда доступ имеют научные сотрудники с первой формой допуска к государственной тайне (маги). За счёт искажения пространства главный коридор НИИ Чародейства и Волшебства занимает несколько километров, комнаты могут иметь собственное пространство и безграничные размеры (например, книгохранилище). В институте не менее 12 этажей. Точную этажность здания никто не знает, так как лифт постоянно находится на ремонте. При этом в обычной части института лифт работает стабильно.

0

5

[html]<div style="position: relative; width: 600px; margin: 50px auto;">
 
  <!-- ОСНОВНАЯ ФОТОГРАФИЯ -->
  <div style="position: relative; z-index: 10; display: inline-block; width: 100%; transform: rotate(-0.5deg);">
   
    <div style="background: #9a8b7a; border-radius: 14px; padding: 4px; box-shadow: 0 0 0 1px #7a6b5a, inset 0 0 0 1px #b8a99a;">
      <div style="background: #c0c0c0; border-radius: 10px; padding: 1px; box-shadow: inset 0 0 0 1px #e8e8e8, inset 0 0 3px rgba(0,0,0,0.15);">
        <div style="position: relative; overflow: hidden; border-radius: 9px;">
          <!-- ⬇️ ЗАМЕНИ ССЫЛКУ НА СВОЮ КАРТИНКУ ⬇️ -->
          <img src="https://i.pinimg.com/736x/f9/7e/2f/f97e2f5a13be91bb2f47b8a5127bcd11.jpg" width="600" height="250" style="width: 600px; height: 250px; display: block; object-fit: cover; filter: sepia(0.35) contrast(1.1) brightness(0.96); border-radius: 9px;">
         
          <div class="scratch-overlay-main"></div>
          <div class="stain-overlay-main"></div>
          <div class="grain-overlay-main"></div>
        </div>
      </div>
    </div>
  </div>
 
</div>

<style>
  /* ЦАРАПИНЫ (основное фото) */
  .scratch-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.05) 2px, rgba(0,0,0,0.05) 5px),
                      repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(80,60,40,0.04) 3px, rgba(80,60,40,0.04) 7px);
    border-radius: 9px; z-index: 2;
  }
 
  /* ПЯТНА (основное фото) */
  .stain-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background: radial-gradient(ellipse at 15% 25%, rgba(160,130,95,0.1) 0%, transparent 40%),
                radial-gradient(ellipse at 85% 70%, rgba(110,85,60,0.08) 0%, transparent 50%),
                radial-gradient(circle at 50% 50%, rgba(180,155,125,0.05) 0%, transparent 70%);
    border-radius: 9px; z-index: 2;
  }
 
  /* ЗЕРНИСТОСТЬ (основное фото) */
  .grain-overlay-main {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.04"/></svg>');
    background-repeat: repeat; background-size: 200px; border-radius: 9px; z-index: 3; mix-blend-mode: multiply;
  }
</style>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="30" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "«Красная Зона»";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

[html]<div style="text-align: center;">
  <font face="ClickClack" size="20" style="font-size: 30px; color: #3c322b; letter-spacing: 1px; display: inline-block;" id="typewriterText"></font>
</div>
<script>
  const text = "СОДРУЖЕСТВО США - ЧАРЛСТОН";
  const container = document.getElementById('typewriterText');
  let i = 0;
  let isDeleting = false;
 
  // Храним позиции для каждой буквы (фиксированные, чтобы не дёргались при каждом обновлении)
  let positions = [];
 
  function generatePositions(length) {
    const newPositions = [];
    for (let j = 0; j < length; j++) {
      // Очень маленькое смещение: -1, 0, или +1 (редко)
      const offset = Math.floor(Math.random() * 3) - 1; // -1, 0, или 1
      newPositions.push(offset);
    }
    return newPositions;
  }
 
  function updateDisplay() {
    if (i === 0) {
      container.innerHTML = '';
      return;
    }
   
    const currentText = text.substring(0, i);
    let html = '';
    for (let j = 0; j < currentText.length; j++) {
      const char = currentText[j];
      // Для пробела не применяем смещение
      if (char === ' ') {
        html += `<span style="display: inline-block;">&nbsp;</span>`;
      } else {
        const offset = positions[j] || 0;
        // Очень мягкое смещение с плавным переходом
        html += `<span style="display: inline-block; transform: translateY(${offset}px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);">${char}</span>`;
      }
    }
    container.innerHTML = html;
  }
 
  function typeWriterEffect() {
    if (!isDeleting && i < text.length) {
      // Печатаем новую букву — обновляем позиции для всех напечатанных букв
      if (i + 1 <= text.length) {
        positions = generatePositions(i + 1);
      }
      i++;
      updateDisplay();
      setTimeout(typeWriterEffect, 140);
    }
    else if (!isDeleting && i === text.length) {
      isDeleting = true;
      setTimeout(typeWriterEffect, 2000);
    }
    else if (isDeleting && i > 0) {
      i--;
      updateDisplay();
      setTimeout(typeWriterEffect, 80);
    }
    else if (isDeleting && i === 0) {
      isDeleting = false;
      positions = [];
      setTimeout(typeWriterEffect, 1500);
    }
  }
 
  // Запускаем анимацию
  typeWriterEffect();
</script>[/html]

«Красная Зона» — это стрип-караоке-бар.

«Таро и судьба говорят подниматься тебе наверх!» — вот такой слоган располагается на визитках клуба. Лерой любит символизм, но не слишком в него упарывается. Это скорее шутка, потому что у бара нет второго этажа и никогда не было.

Бар располагается напротив пляжа. Перейдёшь дорогу — и вот тебе океан. Место довольно популярное. Три дня в неделю здесь выступают мальчики, три дня — девочки. В среду — выступления смешанные.

За пределами бара девочки и мальчики сами за себя отвечают, но вот в доме… их никто и пальцем против их воли тронуть не может. В «Красной Зоне» сбываются самые сокровенные мечты, если знать, как правильно их загадать.

0


Вы здесь » #барсук » Расписание маршрутов » Места