/** * Отключение всех шуток */ window.AprilJokes.disableAll(); /** * Отключение всех эффектов курсора */ window.AprilJokes.jokes.cursor.disableAll(); window.AprilJokes.settings = { /** * Глобальные настройки */ core: { /** * Активность системы. * Установите это значение `false`, что бы отключить всю системы. * Если `true`, то система будет обработана как обычно. */ enabled: true, /** * Вероятность срабатывания всей системы в процентах. * Если установлено значение `100`, система будет срабатывать всегда. * Если установлено значение `0`, система никогда не сработает. * Лучше отключать систему, используя `enabled = false`! */ chance: 100, }, /** * Форумо-трясение * * Страница форума начинает трястись. * * @author Kozhilya */ shake: { enabled: false, chance: 1, /** * Направление тряски */ directions: ["top", "left", "bottom", "left"], /** * Сила тряски */ force: 0.5, /** * Селектор всех элементов, которые будут трястись */ selector: "[id^=pun]", /** * Частота тряски */ interval: 100, }, /** * Зеркало * * Элементы форума отражаются (по крайней мере, пытаются) * * @author Kozhilya */ mirror: { enabled: false, chance: 30, }, /** * Карнавал * * Аватарки приобретают интересные цвета * * @author Kozhilya */ carnival: { enabled: true, chance: 30, /** * Селектор всех элементов, которые будут перекрашены. */ selector: 'img[src*="/avatars/"]', /** * Вероятность применения фильтра (может сработать нескольк раз). */ variant_chance: 20, /** * Список фильтров и диапозона случайных параметров. */ variants: { "sepia({0}%)": 100, "saturate({0}%)": 100, "hue-rotate({0}deg)": 360, "invert({0}%)": 100, }, }, /** * Ад гуманитария * * Все "тся" заменяются на "ться", а все "ться" на "тся" * * @author Kozhilya */ humanitarian_hell: { enabled: true, chance: 20, /** * Селектор всех элементов, которые будут затронуты. */ selector: ".post-content", }, /** * Мама, Я сОшЛа С уМа! * * иМеНа ЗаБоРчИкОм * * @author Kozhilya */ crazy_letters: { enabled: true, chance: 20, /** * Селектор всех элементов, которые будут затронуты. */ selector: ".pa-author a", }, /** * **Буквенный хаос** * * Все буквы в словах, кроме первой и последней, перемешены. * * @author Kozhilya */ letter_chaos: { enabled: true, chance: 20, /** * Селектор всех элементов, которые будут затронуты */ selector: ".post-content", /** * Вероятность того, что буквы будут перемешаны */ shuffle_chance: 50, }, /** * **Красивый курсор** * * Эффекты, следующие за курсором * * @author Tim Holman * @author Kozhilya * * @link https://tholman.com/cursor-effects/ */ cursor: { enabled: true, chance: 100, /** * Список эффектов курсора */ effects: { /** * Радужный след за курсором */ rainbow: { enabled: true, weight: 50, /** * Длина полосы */ length: 20, /** * Ширина полосы */ size: 3, /** * Цвета полос (сверху вниз) */ colors: [ "#9400D3", "#4B0082", "#0000FF", "#00FF00", "#FFFF00", "#FF7F00", "#FF0000", ], }, /** * Цепочка из эмодзи "на резинке" под курсором */ springy_emoji: { enabled: true, weight: 50, /** * Висящий эмодзи */ emoji: "🤪", }, /** * Падающие от курсора эмодзи */ emoji: { enabled: true, weight: 50, /** * Падающие эмодзи */ emoji: ["🔥", "🐬", "🦆"], }, /** * Падающие от курсора пылинки */ fairy_dust: { enabled: true, weight: 50, /** * Цвет пылинок */ colors: ["#ff0000", "#00ff00", "#0000ff"], }, /** * След "зависших" курсоров */ ghost: { enabled: true, weight: 50, }, /** * След курсоров "на резинке" */ trailing: { enabled: true, weight: 50, /** * Количество элементов */ particles: 15, /** * Скорость частиц */ rate: 0.4, /** * Ссылка на картинку с курсором * Используйте `null`, что бы использовать картинку курсора по умолчанию */ baseImageSrc: null, }, /** * Текст, развивающийся флагом от курсора */ text_flag: { enabled: true, weight: 50, /** * Отображаемый текст */ text: "С днём смеха!", /** * Цвет текста */ color: "#000000", /** * Шрифт текста */ font: "monospace", /** * Размер текста */ textSize: 12, /** * Растояние между бквами */ gap: 14, }, /** * Точка, преследующая курсор */ following_dot: { enabled: true, weight: 50, /** * Цвет догоняющей точки */ color: "#323232a6", }, /** * Пузырьки от курсора */ bubbles: { enabled: true, weight: 50, }, /** * Снежинки, летящие от курсора * * Отключено, потому что сейчас не зима :D */ snowflake: { enabled: false, weight: 50, }, /** * Циферблат вокруг курсора */ clock: { enabled: true, weight: 50, /** * Цвет даты */ dateColor: (string = "blue"), /** * Цвет циферблата */ faceColor: (string = "black"), /** * Цвет секундной стрелки */ secondsColor: (string = "red"), /** * Цвет минутной стрелки */ minutesColor: (string = "black"), /** * Цвет часовой стрелки */ hoursColor: (string = "black"), }, }, }, /** * **Глупые статусы** * * Каждому пользователю даётся новый глупый статус. * * @author Kozhilya */ stupid_title: { enabled: true, chance: 20, /** * Определение пола по имени. * По умолчанию род устанавливается случайным образом * * Если установлено значение `null`, система попытается загрузить пол, установленный в настройках аккаунта. Если этот пол определить невозможно, то он будет выбран случайно. Эта настройка позволяет изменить это поведение, если ваш форум обладает ролевой системой, в которой пол определяется иным образом. * * @param name Имя персонажа * @returns true, если мужской род; false, если женский род */ gender_resolver: null, /** * Разрешить возможно оскорбительные слова */ rude: false, /** * Частота смены статусов (в минутах) * Установите значение 0, что бы обновление происходило при каждом обновлении страницы */ change_frequency: 5, /** * Разрешённые схемы формирования статусов * * {adj} - прилагательное * {noun} - имя существительно * {verb} - глагол * {adv} - наречие * {p} - знак препинания */ schemas: { "{adj} {noun}{p}": 10, "{noun} {adj}{p}": 3, "{adj}, {adj} {noun}{p}": 10, "{adj} и очень {adj} {noun}{p}": 10, "{adj} {noun} {verb}{p}": 10, "{adj} {noun} {adv} {verb}{p}": 5, "{adj} {noun} {verb} {place}{p}": 5, "{adj} {noun} {adv} {verb} {place}{p}": 5, }, /** * Вариант слов. * Смотрите раздел описания скрипта, что бы настроить это поле */ variants: { adj: { ...window.AprilJokes.settings.stupid_title.variants.adj, ...BuildStupdiTitleVariant(true, "скромный, шутливый, !грубый"), ...BuildStupdiTitleVariant(false, "скромная, шутливая, !грубая"), }, noun: { ...window.AprilJokes.settings.stupid_title.variants.noun }, verb: { ...window.AprilJokes.settings.stupid_title.variants.verb }, place: { ...window.AprilJokes.settings.stupid_title.variants.place }, adv: { ...window.AprilJokes.settings.stupid_title.variants.adv }, p: { ...window.AprilJokes.settings.stupid_title.variants.p }, }, }, /** * **Обратная гравитация** * * Скролл в обратную сторону (крутишь вверх, а крутится вниз) * * @author Идея: Alex_63 * @author Реализация: Kozhilya */ inverted_scroll: { enabled: true, chance: 10, }, /** * **Латинизация** * * Все символы на странице или только в постах или еще где-то местами - * латиницей вместо кириллицы и наоборот * * @author Идея: Alex_63 * @author Kozhilya */ latinization: { enabled: true, chance: 10, /** * Селектор, в котором может изменяться текст */ selector: '.post-content', /** * Правила преобразования из кириллицы в латиницу */ ruToEn: { 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'shch', 'ъ': 'ie', 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'u', 'я': 'ya', }, /** * Правила преобразования из латиницы в кириллицу */ enToRu: { 'a': 'а', 'b': 'б', 'c': 'с', 'd': 'д', 'e': 'е', 'f': 'ф', 'gh': 'ж', 'g': 'г', 'h': 'х', 'i': 'и', 'j': 'й', 'k': 'к', 'l': 'л', 'm': 'м', 'n': 'н', 'o': 'о', 'p': 'п', 'q': 'кью', 'r': 'р', 's': 'с', 't': 'т', 'u': 'ю', 'v': 'в', 'w': 'в', 'x': 'кс', 'y': 'ы', 'z': 'з', }, }, /** * **Свежая трава** * * Предложение потрогать траву * @author Идея: Magia * @author Kozhilya */ fresh_grass: { enabled: true, chance: 100, /** * Расстояние, на котором трава начнёт убегать */ keepDistance: 200, /** * Максимальная скорость картинки (в пикселях в секунду) */ maxVelocity: 500, /** * Минимальная скорость картинки (в пикселях в секунду) */ minVelocity: 20, /** * Количество отметок времени за секунду */ tickPerSecond: 50, /** * Сила притяжения в центр */ gravity: 20, /** * Сила исправления скорости */ correctionForce: 0.8, /** * Максимальная сила отталкивания от курсора */ mouseForceMax: 5000, /** * Степень увеличения силы отталкивания от курсора */ mouseForcePow: 5, /** * Общая масса картинки */ mass: 1, /** * Доля скорости, сохраняемой при столкновении со стеной */ collisionElasticity: 0.9, } };