Курсоры, обновление документации
This commit is contained in:
+36
-3
@@ -2,6 +2,11 @@
|
||||
* Объект настроек шутки
|
||||
*/
|
||||
export interface JokeSettings {
|
||||
/**
|
||||
* Флаг блокировки срабатывания
|
||||
*/
|
||||
enabled: boolean;
|
||||
|
||||
/**
|
||||
* Вероятность срабатывания в процентах
|
||||
*/
|
||||
@@ -23,9 +28,36 @@ export abstract class Joke {
|
||||
settings: JokeSettings;
|
||||
|
||||
/**
|
||||
* Флаг, указывающий, должна ли шутка быть запущена
|
||||
* Проверка вероятности
|
||||
*
|
||||
* @param {number} chance Вероятность срабатывания
|
||||
* @returns {boolean} Флаг срабатывания (true - сработало)
|
||||
*/
|
||||
enabled: boolean = true;
|
||||
check(chance: number): boolean {
|
||||
return Math.random() < 0.01 * chance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Разблокировать шутку
|
||||
*/
|
||||
enable() {
|
||||
this.settings.enabled = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Заблокировать шутку
|
||||
*/
|
||||
disable() {
|
||||
this.settings.enabled = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Переключить блокировку шутки
|
||||
* @param value Новое значение
|
||||
*/
|
||||
toggle(value: boolean|null = null) {
|
||||
this.settings.enabled = (value === null) ? !this.settings.enabled : value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Запуск шутки
|
||||
@@ -42,4 +74,5 @@ export abstract class StopableJoke extends Joke
|
||||
* Остановка шутки, если возможно
|
||||
*/
|
||||
abstract stop(): void;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user