Шутка "Обратная гравитация"

This commit is contained in:
2024-03-21 20:14:33 +04:00
parent ca1a01a06e
commit bf90f3d4c2
7 changed files with 120 additions and 8 deletions
+1
View File
@@ -21,6 +21,7 @@
"indent": "off", "indent": "off",
"no-unused-vars": "off", "no-unused-vars": "off",
"new-cap": "off", "new-cap": "off",
"no-debugger": "off",
"@typescript-eslint/no-unused-vars": "off" "@typescript-eslint/no-unused-vars": "off"
} }
} }
+12 -1
View File
@@ -157,6 +157,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
/***/ }), /***/ }),
/***/ "./src/jokes/inverted_scroll.ts":
/*!**************************************!*\
!*** ./src/jokes/inverted_scroll.ts ***!
\**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InvertedScrollJoke: () => (/* binding */ InvertedScrollJoke),\n/* harmony export */ InvertedScrollJokeSettings: () => (/* binding */ InvertedScrollJokeSettings)\n/* harmony export */ });\n/* harmony import */ var _joke__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../joke */ \"./src/joke.ts\");\n\n/**\n * **Обратная гравитация**\n *\n * Скролл в обратную сторону (крутишь вверх, а крутится вниз)\n *\n * @author Идея: Alex_63\n * @author Реализация: Kozhilya\n */\nclass InvertedScrollJoke extends _joke__WEBPACK_IMPORTED_MODULE_0__.Joke {\n constructor() {\n super(...arguments);\n this.id = 'inverted_scroll';\n this.title = 'Обратная гравитация';\n this.description = 'Скролл в обратную сторону';\n this._settings = new InvertedScrollJokeSettings();\n }\n /**\n * Запуск шутки\n */\n start() {\n // let lastScroll = window.scrollY;\n document.addEventListener('wheel', (e) => {\n e.preventDefault();\n scrollBy(0, -e.deltaY);\n }, { passive: false });\n }\n}\n/**\n * Класс настроек для шутки \"Обратная гравитация\"\n */\nclass InvertedScrollJokeSettings {\n constructor() {\n this.enabled = true;\n this.chance = 10;\n }\n}\n\n\n//# sourceURL=webpack://mybb-april-fools/./src/jokes/inverted_scroll.ts?");
/***/ }),
/***/ "./src/jokes/letter_chaos.ts": /***/ "./src/jokes/letter_chaos.ts":
/*!***********************************!*\ /*!***********************************!*\
!*** ./src/jokes/letter_chaos.ts ***! !*** ./src/jokes/letter_chaos.ts ***!
@@ -208,7 +219,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict"; "use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _joker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./joker */ \"./src/joker.ts\");\n/* harmony import */ var _jokes_shake__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jokes/shake */ \"./src/jokes/shake.ts\");\n/* harmony import */ var _jokes_humanitarian_hell__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jokes/humanitarian_hell */ \"./src/jokes/humanitarian_hell.ts\");\n/* harmony import */ var _jokes_mirror__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jokes/mirror */ \"./src/jokes/mirror.ts\");\n/* harmony import */ var _jokes_carnival__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jokes/carnival */ \"./src/jokes/carnival.ts\");\n/* harmony import */ var _jokes_crazy_letters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./jokes/crazy_letters */ \"./src/jokes/crazy_letters.ts\");\n/* harmony import */ var _jokes_letter_chaos__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./jokes/letter_chaos */ \"./src/jokes/letter_chaos.ts\");\n/* harmony import */ var _jokes_cursor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./jokes/cursor */ \"./src/jokes/cursor.ts\");\n/* harmony import */ var _jokes_stupid_title__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./jokes/stupid_title */ \"./src/jokes/stupid_title.ts\");\n\n\n\n\n\n\n\n\n\nwindow.AprilJokes = ((jokes) => {\n const cl = new _joker__WEBPACK_IMPORTED_MODULE_0__.JokerClass();\n jokes.forEach((CustomJoke) => {\n cl.add(new CustomJoke());\n });\n $(() => cl.regularStart());\n return cl;\n})([\n _jokes_shake__WEBPACK_IMPORTED_MODULE_1__.ShakeJoke,\n _jokes_humanitarian_hell__WEBPACK_IMPORTED_MODULE_2__.HumanitarianHellJoke,\n _jokes_mirror__WEBPACK_IMPORTED_MODULE_3__.MirrorJoke,\n _jokes_carnival__WEBPACK_IMPORTED_MODULE_4__.CarnivalJoke,\n _jokes_crazy_letters__WEBPACK_IMPORTED_MODULE_5__.CrazyLettersJoke,\n _jokes_letter_chaos__WEBPACK_IMPORTED_MODULE_6__.LetterChaosJoke,\n _jokes_cursor__WEBPACK_IMPORTED_MODULE_7__.CursorEffectsJoke,\n _jokes_stupid_title__WEBPACK_IMPORTED_MODULE_8__.StupidTitleJoke,\n]);\n\n\n//# sourceURL=webpack://mybb-april-fools/./src/main.ts?"); eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _joker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./joker */ \"./src/joker.ts\");\n/* harmony import */ var _jokes_shake__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jokes/shake */ \"./src/jokes/shake.ts\");\n/* harmony import */ var _jokes_humanitarian_hell__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jokes/humanitarian_hell */ \"./src/jokes/humanitarian_hell.ts\");\n/* harmony import */ var _jokes_mirror__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jokes/mirror */ \"./src/jokes/mirror.ts\");\n/* harmony import */ var _jokes_carnival__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./jokes/carnival */ \"./src/jokes/carnival.ts\");\n/* harmony import */ var _jokes_crazy_letters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./jokes/crazy_letters */ \"./src/jokes/crazy_letters.ts\");\n/* harmony import */ var _jokes_letter_chaos__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./jokes/letter_chaos */ \"./src/jokes/letter_chaos.ts\");\n/* harmony import */ var _jokes_cursor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./jokes/cursor */ \"./src/jokes/cursor.ts\");\n/* harmony import */ var _jokes_stupid_title__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./jokes/stupid_title */ \"./src/jokes/stupid_title.ts\");\n/* harmony import */ var _jokes_inverted_scroll__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./jokes/inverted_scroll */ \"./src/jokes/inverted_scroll.ts\");\n\n\n\n\n\n\n\n\n\n\nwindow.AprilJokes = ((jokes) => {\n const cl = new _joker__WEBPACK_IMPORTED_MODULE_0__.JokerClass();\n jokes.forEach((CustomJoke) => {\n cl.add(new CustomJoke());\n });\n $(() => cl.regularStart());\n return cl;\n})([\n _jokes_shake__WEBPACK_IMPORTED_MODULE_1__.ShakeJoke,\n _jokes_humanitarian_hell__WEBPACK_IMPORTED_MODULE_2__.HumanitarianHellJoke,\n _jokes_mirror__WEBPACK_IMPORTED_MODULE_3__.MirrorJoke,\n _jokes_carnival__WEBPACK_IMPORTED_MODULE_4__.CarnivalJoke,\n _jokes_crazy_letters__WEBPACK_IMPORTED_MODULE_5__.CrazyLettersJoke,\n _jokes_letter_chaos__WEBPACK_IMPORTED_MODULE_6__.LetterChaosJoke,\n _jokes_cursor__WEBPACK_IMPORTED_MODULE_7__.CursorEffectsJoke,\n _jokes_stupid_title__WEBPACK_IMPORTED_MODULE_8__.StupidTitleJoke,\n _jokes_inverted_scroll__WEBPACK_IMPORTED_MODULE_9__.InvertedScrollJoke,\n]);\n\n\n//# sourceURL=webpack://mybb-april-fools/./src/main.ts?");
/***/ }), /***/ }),
+10
View File
@@ -3,6 +3,11 @@ window.AprilJokes.disableAll();
window.AprilJokes.jokes.cursor.disableAll(); window.AprilJokes.jokes.cursor.disableAll();
window.AprilJokes.settings = { window.AprilJokes.settings = {
core: {
enabled: true,
chance: 100,
},
shake: { shake: {
enabled: true, enabled: true,
chance: 1, chance: 1,
@@ -157,4 +162,9 @@ window.AprilJokes.settings = {
p: { ...window.AprilJokes.settings.stupid_title.variants.p }, p: { ...window.AprilJokes.settings.stupid_title.variants.p },
}, },
}, },
inverted_scroll: {
enabled: true,
chance: 10,
},
}; };
+20 -7
View File
@@ -14,17 +14,17 @@ window.AprilJokes.settings = {
*/ */
core: { core: {
/** /**
* Активность шутки. * Активность системы.
* Установите это значение `false`, что бы отключить шутку. * Установите это значение `false`, что бы отключить всю системы.
* Если `true`, то шутка будет обработана как обычно. * Если `true`, то система будет обработана как обычно.
*/ */
enabled: true, enabled: true,
/** /**
* Вероятность срабатывания в процентах. * Вероятность срабатывания всей системы в процентах.
* Если установлено значение `100`, шутка будет срабатывать всегда. * Если установлено значение `100`, система будет срабатывать всегда.
* Если установлено значение `0`, шутка никогда не сработает. * Если установлено значение `0`, система никогда не сработает.
* Лучше отключать шутку, используя enabled = false! * Лучше отключать систему, используя `enabled = false`!
*/ */
chance: 100, chance: 100,
}, },
@@ -450,4 +450,17 @@ window.AprilJokes.settings = {
p: { ...window.AprilJokes.settings.stupid_title.variants.p }, p: { ...window.AprilJokes.settings.stupid_title.variants.p },
}, },
}, },
/**
* **Обратная гравитация**
*
* Скролл в обратную сторону (крутишь вверх, а крутится вниз)
*
* @author Идея: Alex_63
* @author Реализация: Kozhilya
*/
inverted_scroll: {
enabled: true,
chance: 10,
},
}; };
+35
View File
@@ -0,0 +1,35 @@
import {Joke, JokeSettings} from '../joke';
import $ from 'jquery';
/**
* **Шаблон**
*
* Описание
*
* @author Kozhilya
*/
export class TemplateJoke extends Joke<TemplateJokeSettings> {
id = '';
title = '';
description = '';
_settings = new TemplateJokeSettings();
/**
* Запуск шутки
*/
start(): void {
}
}
/**
* Класс настроек для шутки ""
*/
export class TemplateJokeSettings implements JokeSettings {
enabled: boolean = true;
chance: number = 100;
}
+40
View File
@@ -0,0 +1,40 @@
import {Joke, JokeSettings} from '../joke';
/**
* **Обратная гравитация**
*
* Скролл в обратную сторону (крутишь вверх, а крутится вниз)
*
* @author Идея: Alex_63
* @author Реализация: Kozhilya
*/
export class InvertedScrollJoke extends Joke<InvertedScrollJokeSettings> {
id = 'inverted_scroll';
title = 'Обратная гравитация';
description = 'Скролл в обратную сторону';
_settings = new InvertedScrollJokeSettings();
/**
* Запуск шутки
*/
start(): void {
// let lastScroll = window.scrollY;
document.addEventListener('wheel', (e) => {
e.preventDefault();
scrollBy(0, -e.deltaY);
}, {passive: false});
}
}
/**
* Класс настроек для шутки "Обратная гравитация"
*/
export class InvertedScrollJokeSettings implements JokeSettings {
enabled: boolean = true;
chance: number = 10;
}
+2
View File
@@ -8,6 +8,7 @@ import {CrazyLettersJoke} from './jokes/crazy_letters';
import {LetterChaosJoke} from './jokes/letter_chaos'; import {LetterChaosJoke} from './jokes/letter_chaos';
import {CursorEffectsJoke} from './jokes/cursor'; import {CursorEffectsJoke} from './jokes/cursor';
import {StupidTitleJoke} from './jokes/stupid_title'; import {StupidTitleJoke} from './jokes/stupid_title';
import {InvertedScrollJoke} from './jokes/inverted_scroll';
declare global { declare global {
interface Window { AprilJokes: JokerClass; } interface Window { AprilJokes: JokerClass; }
@@ -32,6 +33,7 @@ window.AprilJokes = ((jokes: JokeList): JokerClass => {
LetterChaosJoke, LetterChaosJoke,
CursorEffectsJoke, CursorEffectsJoke,
StupidTitleJoke, StupidTitleJoke,
InvertedScrollJoke,
]); ]);
interface JokeList extends Array<new () => Joke<JokeSettings>> {} interface JokeList extends Array<new () => Joke<JokeSettings>> {}