Erinome Godville UI+: различия между версиями

Материал из Энциклобогии
Перейти к навигации Перейти к поиску
м (Перенос в новую категорию)
 
(не показано 16 промежуточных версий 5 участников)
Строка 1: Строка 1:
[[Категория:Клиенты и плагины]]
[[Категория:Расширения и другое (стороннее)]]
 
 
'''Erinome Godville UI+''' — расширение для браузеров, изначально основанное на [[Godville UI+]], но получившее уже заметное количество отличий и дополнительных возможностей от оригинала.  
'''Erinome Godville UI+''' — расширение для браузеров, изначально основанное на [[Godville UI+]], но получившее уже заметное количество отличий и дополнительных возможностей от оригинала.  


Строка 9: Строка 7:


== Информеры ==
== Информеры ==
Дополнение может отслеживать различные события в жизни героя и выводить уведомления о них. Уведомление производится миганием иконки вкладки, и меткой в верхнем правом углу страницы. Дополнительно доступны всплывающие уведомления и звуковое уведомление.
Дополнение может отслеживать различные события в жизни героя и выводить уведомления о них. Уведомление производится миганием иконки вкладки и меткой в верхнем правом углу страницы. Дополнительно доступны всплывающие уведомления и звуковое уведомление.
 
=== Пользовательские информеры ===
Пользовательские информеры позволяют настроить уведомления на произвольный набор событий в игре.


Настраиваются информетры в:
Настраиваются информетры в:
* в блоке "Герой" при наведении курсора на шапку появится кликабельная иконка шестеренки
* в блоке "Герой" при наведении курсора на шапку появится кликабельная иконка шестеренки
* в верхнем меню по ссылке "настройки ui+" в разделе "Управление информерами" кликабельная ссылка в элементе "пользовательские информеры"
* в верхнем меню по ссылке "настройки ui+" в разделе "Управление информерами" кликабельная ссылка в элементе "пользовательские информеры"
=== Пользовательские информеры ===
Пользовательские информеры позволяют настроить уведомления на произвольный набор событий в игре.


Каждый информер описывается одной строкой в формате:
Каждый информер описывается одной строкой в формате:
Строка 24: Строка 22:
Информер можно временно отключить, убрав галочку в начале строки.
Информер можно временно отключить, убрав галочку в начале строки.


Начиная с версии 1.1.17.4 в тексте уведомлений можно использовать одиночные переменные. Они указываются отдельными словами - gv.variable, либо в фигурных скобках - {gv.variable}. Начиная же с версии 1.1.21.0 - в фигурных скобках можно указывать и целые логические выражения любой сложности. При изменении значений входящих в заголовки переменных, тексты информеров будут соответственным образом обновлены. Для информеров с переменными в названиях существует два дополнительных модификатора работы уведомления - см. в таблице ниже.
Начиная с версии 1.1.17.4, в тексте уведомлений можно использовать одиночные переменные. Они указываются отдельными словами - gv.variable, либо в фигурных скобках - {gv.variable}. Начиная же с версии 1.1.21.0, в фигурных скобках можно указывать и целые логические выражения любой сложности. При изменении значений входящих в заголовки переменных, тексты информеров будут соответственным образом обновлены. Для информеров с переменными в названиях существует два дополнительных модификатора работы уведомления - см. в таблице ниже.


Несколько условий объединяются логическими операторами '''&&''' (логическое «И»), '''||''' (логическое «ИЛИ») и группируются скобками. Доступно логическое отрицание «НЕ» '''!'''true = false
Несколько условий объединяются логическими операторами '''&&''' (логическое «И»), '''||''' (логическое «ИЛИ») и группируются скобками. Доступно логическое отрицание «НЕ» '''!'''true = false


Также имеются другие операторы:
Также имеются другие операторы:
{| class="standard"  
{| class="standard"  
|-
|-
!Операторы || Описание || Примеры
! Операторы || Описание || Примеры
|-
|-
|style="text-align: center;" | ==, !=<br><, <=<br>>, >= || равенство и неравенство<br>меньше и меньше или равно<br>больше и больше или равно || <span style="background: silver;">100 == 100</span> →‎ <span style="background: lime;">истина</span><br><span style="background: silver;">"строка" != "другая строка"</span> →‎ <span style="background: lime;">истина</span><br><span style="background: silver;">100 > 200</span> →‎ <span style="background: #f99;">ложь</span>
| style="text-align: center" | ==, != <br> <, <= <br> >, >=
| равенство и неравенство
меньше и меньше или равно<br>
больше и больше или равно
| <span style="background: silver">100 == 100</span> →‎ <span style="background: lime">истина</span>
<span style="background: silver">"строка" != "другая строка"</span> →‎ <span style="background: lime">истина</span><br>
<span style="background: silver">100 > 200</span> →‎ <span style="background: #F99">ложь</span>
|-
|-
|style="text-align: center;" | ~, ~* || регистрозависимое и регистронезависимое [https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F#.D0.A1.D0.B8.D0.BD.D1.82.D0.B0.D0.BA.D1.81.D0.B8.D1.81 регулярное выражение],<br> возвращает результат в виде массива или '''null''', если совпадения нет || <span style="background: silver;">"здесь есть число 4 и буква Ё" ~ "число \\d+"</span> →‎ <span style="background: lime;">["число 4"]</span><br><span style="background: silver;">"здесь есть число 4 и буква Ё" ~ "число (.*?) и"</span> →‎ <span style="background: lime;">["число 4 и", "4"]</span>
| style="text-align: center" | ~, ~*
| регистрозависимое и регистронезависимое [[wikipedia:ru:Регулярные выражения#Синтаксис|регулярное выражение]],<br>возвращает результат в виде массива или '''null''', если совпадения нет
| <span style="background: silver">"здесь есть число 4 и буква Ё" ~ "число \\d+"</span> →‎ <span style="background: lime">["число 4"]</span>
<span style="background: silver">"здесь есть число 4 и буква Ё" ~ "число (.*?) и"</span> →‎ <span style="background: lime">["число 4 и", "4"]</span>
|-
|-
|style="text-align: center;" | !~, !~* || инвертированная версия регистрозависимого и регистронезависимого [https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F#.D0.A1.D0.B8.D0.BD.D1.82.D0.B0.D0.BA.D1.81.D0.B8.D1.81 регулярного выражения],<br> возвращает '''true''' или '''false''' || <span style="background: silver;">"здесь есть число 4 и буква Ё" !~ "число \\d+"</span> →‎ <span style="background: #f99;">ложь</span><br><span style="background: silver;">"здесь есть число 4 и буква Ё" !~ "число 5"</span> →‎ <span style="background: lime;">истина</span>
| style="text-align: center" | !~, !~*
| инвертированная версия регистрозависимого и регистронезависимого [[wikipedia:ru:Регулярные выражения#Синтаксис|регулярного выражения]],<br> возвращает '''true''' или '''false'''
| <span style="background: silver">"здесь есть число 4 и буква Ё" !~ "число \\d+"</span> →‎ <span style="background: #F99">ложь</span>
<span style="background: silver">"здесь есть число 4 и буква Ё" !~ "число 5"</span> →‎ <span style="background: lime">истина</span>
|-
|-
|style="text-align: center;" | A[x] ||  извлечение элемента номер ''x'' из массива ''A'' (отсчет x ведется с нуля) || <span style="background: silver;">("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[1]</span> →‎ <span style="background: lime;">"4"</span><br><span style="background: silver;">("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[5]</span> →‎ <span style="background: #f99;">undefined</span>
| style="text-align: center" | A[x]
|  извлечение элемента номер ''x'' из массива ''A'' (отсчет x ведется с нуля)
| <span style="background: silver">("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[1]</span> →‎ <span style="background: lime;">"4"</span>
<span style="background: silver">("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[5]</span> →‎ <span style="background: #F99">undefined</span>
|-
|-
|style="text-align: center;" | +, -<br>*, /<br>% || сложение и вычитание<br>умножение и деление<br>остаток от деления || <span style="background: silver;">100 + 200</span> →‎ <span style="background: lime;">300</span><br><span style="background: silver;">50 * "строка"</span> →‎ <span style="background: #f99;">NaN</span><br><span style="background: silver;">1898 % 13</span> →‎ <span style="background: #f99;">0</span>
| style="text-align: center" | +, - <br> *, / <br> %
| сложение и вычитание
умножение и деление<br>
остаток от деления
| <span style="background: silver">100 + 200</span> →‎ <span style="background: lime">300</span>
<span style="background: silver">50 * "строка"</span> →‎ <span style="background: #F99">NaN</span><br>
<span style="background: silver">1898 % 13</span> →‎ <span style="background: #F99">0</span>
|-
|-
|style="text-align: center;" | +, -<br>! || преобразование строки к числу, изменение знака<br>логическое отрицание || <span style="background: silver;">+"50"</span> →‎ <span style="background: lime;">50</span><br><span style="background: silver;">!"строка"</span> →‎ <span style="background: #f99;">ложь</span>
| style="text-align: center" | +, - <br> !
| преобразование строки к числу, изменение знака<br>логическое отрицание
| <span style="background: silver">+"50"</span> →‎ <span style="background: lime">50</span>
<span style="background: silver">!"строка"</span> →‎ <span style="background: #F99">ложь</span>
|}
|}
Набор условий считается выполненным и активирует информер, когда итоговый результат преобразуем к истине:
Набор условий считается выполненным и активирует информер, когда итоговый результат преобразуем к истине:
{| class="standard"  
{| class="standard"  
|-
|-
!Результат || Примеры || Описание
! Результат || Примеры || Описание
|-
|-
|style="text-align: center;" | ложь || style="text-align: center;" | 0, ""<br>false, null<br>undefined, NaN || ноль (как цифра), пустая строка, специальные значения,<br>которые могут принимать переменные и могут получиться <br>в результате применения операторов
| style="text-align: center" | ложь
| style="text-align: center" | 0, ""<br>false, null<br>undefined, NaN
| ноль (как цифра), пустая строка, специальные значения,<br>которые могут принимать переменные и могут получиться <br>в результате применения операторов
|-
|-
|style="text-align: center;" | истина || style="text-align: center;" | - || истиной считается всё, что не попадает под ложь<br>(в т.ч. включая пустые массивы)
| style="text-align: center" | истина
| style="text-align: center" | -  
| истиной считается всё, что не попадает под ложь<br>(в т. ч. включая пустые массивы)
|}
|}


Начиная с версии 1.1.17.4 тип информера кодируется комбинацией букв, соответствующих указанным в таблице модификаторам.
Начиная с версии 1.1.17.4 тип информера кодируется комбинацией букв, соответствующих указанным в таблице модификаторам.
Из соображений обратной совместимости старый тип кодирования суммированием по-прежнему работает.
Из соображений обратной совместимости старый тип кодирования суммированием по-прежнему работает.
{| class="standard"  
{| class="standard"  
|-
|-
!Буква || Код || Название || Описание
! Буква || Код || Название || Описание
|-
|-
|style="text-align: center;" | <никакая> ||style="text-align: center;" | 0 || style="text-align: center;" | стандартный информер || включается, когда условие активации информера выполняется, выключается - когда условие активации информера перестает выполняться
| style="text-align: center" | <никакая>
| style="text-align: center" | 0
| style="text-align: center" | стандартный информер
| включается, когда условие активации информера выполняется; выключается, когда условие активации информера перестает выполняться
|-
|-
|style="text-align: center;" | S ||style="text-align: center;" | 1 || style="text-align: center;" | неотключаемый информер || включается при выполнении условия активации информера, выключается - только когда пользователь кликнет на этот информер (или после перезагрузки страницы, когда условие перестает выполняться)
| style="text-align: center" | S
| style="text-align: center" | 1
| style="text-align: center" | неотключаемый информер
| включается при выполнении условия активации информера; выключается, когда пользователь кликнет на этот информер (или после перезагрузки страницы, когда условие перестанет выполняться)
|-
|-
|style="text-align: center;" | L ||style="text-align: center;" | 16 || тип: стандартное уведомление || мигание заголовком окна браузера и соответствующей вкладки, добавляет метку в углу страницы
| style="text-align: center" | L
| style="text-align: center" | 16
| тип: стандартное уведомление
| мигает заголовком окна браузера и соответствующей вкладки, добавляет метку в углу страницы
|-
|-
|style="text-align: center;" | D ||style="text-align: center;" | 32 || тип: всплывающее уведомление || отображается всплывающим окошком поверх всех окон
| style="text-align: center" | D
| style="text-align: center" | 32
| тип: всплывающее уведомление
| отображается всплывающим окошком поверх всех окон
|-
|-
|style="text-align: center;" | A ||style="text-align: center;" | 64 || тип: звуковое уведомление || звуковое оповещение согласно настройкам eGUI+
| style="text-align: center" | A
| style="text-align: center" | 64
| тип: звуковое уведомление
| звуковое оповещение согласно настройкам eGUI+
|-
|-
|style="text-align: center;" | R ||style="text-align: center;" | 128 || тип: повторяющееся звуковое уведомление || звуковое оповещение, которое будет повторяться каждые несколько секунд (обратите внимание, что если тип "L" не включен, то данный тип будет работать как тип "A")
| style="text-align: center" | R
| style="text-align: center" | 128
| тип: повторяющееся звуковое уведомление
| звуковое оповещение, которое будет повторяться каждые несколько секунд (обратите внимание, что если тип "L" не включен, то данный тип будет работать как тип "A")
|-
|-
|style="text-align: center;" | Q ||style="text-align: center;" | - || мод: возобновимое уведомление || имеет смысл только для информеров, имеющих в своем названии переменные; если информер был выключен пользователем (или не имел тип "L" и был отключен автоматически), а затем его текст изменился, то информер будет автоматически включен обратно
| style="text-align: center" | Q
| style="text-align: center" | -
| мод: возобновимое уведомление
| имеет смысл только для информеров, имеющих в своем названии переменные; если информер был выключен пользователем (или не имел тип "L" и был отключен автоматически), а затем его текст изменился, то информер будет автоматически включен обратно
|-
|-
|style="text-align: center;" | W ||style="text-align: center;" | - || мод: настырное уведомление || имеет смысл только для информеров, имеющих в своем названии переменные; если текст информера поменялся, то информер будет полностью перезапущен (что актуально для типов "D", "A" или "R")
| style="text-align: center" | W
| style="text-align: center" | -
| мод: настырное уведомление
| имеет смысл только для информеров, имеющих в своем названии переменные; если текст информера поменялся, то информер будет полностью перезапущен (что актуально для типов "D", "A" или "R")
|-
|-
|style="text-align: center;" | N ||style="text-align: center;" | - || мод: ненавязчивое уведомление || имеющий смысл для стандартных информеров (L), модификатор типа N отключает мигание данного уведомления в заголовке окна, и оно только скромно висит в углу экрана<br>добавлен в версии 1.1.20.12.
| style="text-align: center" | N
| style="text-align: center" | -
| мод: ненавязчивое уведомление
| имеющий смысл для стандартных информеров (L), модификатор типа N отключает мигание данного уведомления в заголовке окна, и оно только скромно висит в углу экрана<br>добавлен в версии 1.1.20.12.
|-
| style="text-align: center" | I
| style="text-align: center" | -
| мод: неубиваемое уведомление
| имеющий смысл для ненавязчивых информеров (N), модификатор типа I отключает всякую возможность убрать данное уведомление нажатием на себя<br>добавлен в версии 1.1.35.3.
|-
| style="text-align: center" | Z
| style="text-align: center" | -
| мод: логирующее уведомление
| модификатор типа Z вынуждает данный информер дополнительно оставлять записи в консоли браузера о том, когда он был включен, отключен или изменил свой заголовок (ежели в оном использовались переменные)<br>добавлен в версии 1.1.35.3.
|}
|}
Например, чтобы создать неотключаемый информер, уведомляющий миганием и всплывающим окном, необходимо указать тип: SLD (или, если вам нравится складывать числа, то 49 (1+16+32)).
Например, чтобы создать неотключаемый информер, уведомляющий миганием и всплывающим окном, необходимо указать тип: SLD (или, если вам нравится складывать числа, то 49 (1+16+32)).


Если модификаторы типа уведомления не указаны, то информер будет использовать набор уведомлений, выбранный для всех пользовательских информеров в общей таблице настроек информеров.
Если модификаторы типа уведомления не указаны, то информер будет использовать набор уведомлений, выбранный для всех пользовательских информеров в общей таблице настроек информеров.
==== Переменные ====
==== Переменные ====
Полный и актуальный перечень доступных переменных находится в файле [https://gv.erinome.net/godville/?show=FAQ FAQ] на странице дополнения.
Полный и актуальный перечень доступных переменных находится в файле [https://gv.erinome.net/godville/?show=FAQ FAQ] на странице дополнения.


Примечание: с апреля 2016 года разработчиками игры было запрещено использовать в аддонах точные внутриигровые данные, поэтому начиная с версии 1.1.1.0 вся информация для переменных берется из общедоступных внешних источников, а некоторые значения, которые более недоступны в точном виде, теперь рассчитываются косвенно - следовательно, возможны неточности.
Примечание: с апреля 2016 года разработчиками игры было запрещено использовать в аддонах точные внутриигровые данные, поэтому начиная с версии 1.1.1.0 вся информация для переменных берется из общедоступных внешних источников, а некоторые значения, которые более недоступны в точном виде, теперь рассчитываются косвенно - следовательно, возможны неточности.
{| class="standard collapsible collapsed"  
{| class="standard collapsible collapsed"  
|-
|-
!colspan="3" align="left" |Полный перечень переменных версии 1.1.21.18
! colspan="3" align="left" | Полный перечень переменных, доступных в версии 1.1.35.3
|-
|-
!Категория || Переменная || Описание  
! Категория || Переменная || Описание  
|-
|-
|rowspan="32" valign="top"|Общие переменные || gv.health || здоровье героя  
| rowspan="41" valign="top" | Общие переменные
| gv.health || здоровье героя  
|-
|-
|gv.healthMax || максимальное здоровье героя  
| gv.healthMax || максимальное здоровье героя  
|-
|-
|gv.healthPrc || здоровье героя в процентах  
| gv.healthPrc || здоровье героя в процентах  
|-
|-
|gv.gold || количество золота у героя  
| gv.gold || количество золота у героя  
|-
|-
|gv.inventory || количество предметов в инвентаре  
| gv.inventory || количество предметов в инвентаре  
|-
|-
|gv.inventoryMax || максимальное количество предметов в инвентаре  
| gv.inventoryMax || максимальное количество предметов в инвентаре  
|-
|-
|gv.inventoryPrc || количество предметов в процентах  
| gv.inventoryPrc || количество предметов в процентах  
|-
|-
|gv.inventoryHealing || количество лечебных трофеев в инвентаре  
| gv.inventoryHealing || количество лечебных трофеев в инвентаре  
|-
|-
|gv.inventoryUnsellable || количество непродаваемых торговцам трофеев в инвентаре
| gv.inventoryUnsellable || количество трофеев, которые могут быть не проданы во время фазы торговли (лечилки, трибблы и проч.)
|-
|-
|gv.inventoryHasItem("название предмета") || проверка, есть ли в инвентаре героя указанный предмет
| gv.inventoryHasItem("название предмета") || проверка, есть ли в инвентаре героя указанный предмет
|-
|-
|valign="top"|gv.inventoryHasType("тип предмета") || проверка, есть ли в инвентаре героя предмет указанного типа:
| valign="top" | gv.inventoryHasType("тип предмета")
                {| class="standard"  
| проверка, есть ли в инвентаре героя предмет указанного типа:
                |aura-box      || коробка, дающая герою случайную ауру
    {| class="standard"  
                |-
    | aura-box      || коробка, дающая герою случайную ауру
                |arena-box      || коробка, стабилизирующая вероятность в боевых режимах
    |-
                |-
    | arena-box      || коробка, стабилизирующая вероятность в боевых режимах
                |black-box      || всевозможные варианты черных ящиков  
    |-
                |-
    | black-box      || всевозможные варианты черных ящиков  
                |boss-box      || коробка, вызывающая личного босса
    |-
                |-
    | boss-box      || коробка, вызывающая личного босса
                |coolstory-box  || коробка, сочиняющая былину о герое
    |-
                |-
    | charge-box    || коробка, добавляющая заряд в праноаккумулятор
                |friend-box    || коробка, знакомящая героя с другим случайным героем
    |-
                |-
    | coolstory-box  || коробка, сочиняющая былину о герое
                |gift-box      || коробка, дарующая герою что-то полезное
    |-
                |-
    | friend-box    || коробка, знакомящая героя с другим случайным героем
                |good-box      || коробка, делающая что-то хорошее
    |-
                |-
    | gift-box      || коробка, дарующая герою что-то полезное
                |invite        || инвайт на Годвилль
    |-
                |-
    | godpower-box  || коробка, пополняющая полоску праны
                |heal-box       || коробка, лечащая героя
    |-
                |-
    | good-box      || коробка, делающая что-то хорошее
                |charge-box     || коробка, добавляющая заряд в праноаккумулятор
    |-
                |-
    | heal-box      || коробка, лечащая героя
                |raidboss-box  || коробка, отправляющая героя на раскопки босса
    |-
                |-
    | invite        || инвайт на Годвилль
                |smelter        || коробка, выплавляющая золотой кирпич
    |-
                |-
    | prize-box     || коробка с призовыми трофеями и золотом, но требует праны для открытия
                |teleporter    || коробка, телепортирующая героя в случайный город
    |-
                |-
    | quest-box     || коробка, назначающая герою случайный мини-квест
                |temper-box    || коробка, усиливающая характер героя
    |-
                |-
    | raidboss-box  || коробка, отправляющая героя на раскопки босса
                |to-arena-box  || коробка, отправляющая героя на арену
    |-
                |-
    | skill-box      || коробка, заменяющая одно умение на другое
                |transformer    || коробка, превращающая жирные предметы в золотые кирпичи
    |-
                |-
    | smelter        || коробка, выплавляющая золотой кирпич
                |quest-box      || коробка, назначающая герою случайный мини-квест
    |-
                |-
    | teleporter    || коробка, телепортирующая героя в случайный город
                |treasure-box  || коробка, внутри которой может находиться как что-то ценное, так и не очень
    |-
                |}
    | temper-box    || коробка, усиливающая характер героя
    |-
    | to-arena-box  || коробка, отправляющая героя на арену
    |-
    | transformer    || коробка, превращающая жирные предметы в золотые кирпичи
    |-
    | treasure-box  || коробка, внутри которой может находиться как что-то ценное, так и не очень
    |}
|-
|-
|valign="top"|gv.inventoryCountLike("regex",флаги) || возвращает количество предметов в инвентаре, подходящих под указанное регулярное выражение и необязательный список флагов-ограничителей:  
| valign="top" | gv.inventoryCountLike("regexp", флаги)
              {| class="standard"  
| возвращает количество предметов в инвентаре, подходящих под указанное регулярное выражение и необязательный список флагов-ограничителей:  
                |h      || лечебные
  {| class="standard"  
                |-
    | h      || лечебные             || || H      || не лечебные
                |H      || не лечебные
    |-
                |-
    | b      || жирные               || || B      || не жирные
                |b      || жирные
    |-
                |-
    | a      || активируемые         || || A      || не активируемые
                |B      || не жирные
    |-
                |-
    | c      || крафтящиеся         || || C      || не крафтящиеся
                |a      || активируемые
    |-
                |-
    | s      || продаваемые          || || S      || не продаваемые
                |A      || не активируемые
    |-
                |-
    | g      || подходящие для бинго || || G     || не подходящие для бинго
                |c      || крафтящиеся
    |}
                |-
                |C      || не крафтящиеся
                |-
                |s      || продаваемые
                |-
                |S     || не продаваемые
                |}
|-
|-
|gv.godpower || количество праны  
|gv.godpower || количество праны  
Строка 186: Строка 250:
|-
|-
|gv.charges || количество зарядов  
|gv.charges || количество зарядов  
|-
|gv.monstersKilled || общее количество поверженных монстров
|-
|-
|gv.inFight || герой находится в боевом режиме  
|gv.inFight || герой находится в боевом режиме  
Строка 192: Строка 258:
|-
|-
|valign="top"|gv.fightType || тип боевого режима, возможные варианты:
|valign="top"|gv.fightType || тип боевого режима, возможные варианты:
                {| class="standard"  
    {| class="standard"
                |dungeon        || коридоры подземелья  
    | arena          || арена
                |-
    |-
                |sail          || режим плавания  
    | dungeon        || коридоры подземелья
                |-
    |-
                |mining        || полигон для франкенбосса
    | mining        || полигон для франкенбосса
                |-
    |-
                |spar      || тренировка
    | monster        || любой другой боевой режим или если боевой режим определился неверно
                |-
    |-
                |arena          || арена
    | multi_monster  || любой корован
                |-
    |-
                |multi_monster  || любой корован
    | sail          || режим плавания
                |-
    |-
                |monster        || любой другой боевой режим, или если боевой режим определился неверно
    | spar          || тренировка
                |-
    |-
                |""             || если герой не в бою.
    | ""            || если герой не в бою
                |}
    |}
|-
| gv.hasTemple || герой имеет достроенный храм
|-
| gv.hasArk || герой имеет достроенный ковчег
|-
| gv.lastGuildChat || текст последних сообщений гильдчата (доступен только когда открыта и развернута вкладка гильдчата)
|-
| gv.dailyForecast || текст астропрогноза
|-
| valign="top"| gv.isForecast("тип")
| проверка на определенный тип астропрогноза:
    {| class="standard"
    | accu70 || распаковка аккумуляторов в 70% праны
    |-
    | arena || стоимость отправки на арену составляет 25% праны
    |-
    | badtraders || риск потери трофеев при торговле больше обычного
    |-
    | bingo || награда за бинго больше обычного
    |-
    | cheapactivatables || активируемые трофеи стоят меньше обычного
    |-
    | corovans || повышена вероятность встречи с корованами
    |-
    | easybosses || боссы выкапываются проще обычного
    |-
    | epic || внеплановые эпические задания
    |-
    | expensiveactivatables || активируемые трофеи стоят больше обычного
    |-
    | fame || усиленные гильдвлияния в городах
    |-
    | fishing || герои рыбачат чаще обычного
    |-
    | goldbosses || у наземных боссов золота больше обычного
    |-
    | goldmonsters || каждый монстр имеет при себе что-то ценное
    |-
    | gvroads || все дороги ведут в Годвилль
    |-
    | hearing || хорошие условия для слышимости гласов
    |-
    | itemsloss || риск потери трофеев в поле больше обычного
    |-
    | longauras || ауры действуют дольше обычного
    |-
    | longquests || взятые задания выполняются дольше обычного
    |-
    | lowpoweractivatables || стоимость активации трофеев составляет 25% праны
    |-
    | melting || упрощенная переплавка монет в золотые кирпичи
    |-
    | noconversion || день без возложений золота в храме
    |-
    | nodrinking || пенсионный день
    |-
    | noequip || день без покупки снаряжения
    |-
    | noguildhealing || день без гильдлечения
    |-
    | nopotions || день без покупки лечебных зелий
    |-
    | norstraders || отсутствие бродячих торговцев
    |-
    | notraining || день без покупки новых уровней умений
    |-
    | personality || влияния меняют характер героев больше обычного
    |-
    | prayer || усиленные молитвы в городах
    |-
    | selfhealing || эффективность лежания под деревом выше обычного
    |-
    | shortauras || ауры действуют короче обычного
    |-
    | sidejobs || вероятность получения незапланированных подрядов
    |-
    | skills || умения используются чаще обычного
    |-
    | sleeping || герои стремятся чаще отсыпаться в городах
    |-
    | tribbles || трибблы встречаются чаще обычного
    |-
    | undead || день самовоскрешающихся монстров
    |-
    | unhearing || плохие условия для слышимости гласов
    |}
|-
| gv.couponPrize || товар, который можно получить по купону из газеты (если купон уже забран - пустая строка)
|-
| gv.godpowerCapAvailable || доступен ли праноконденсатор
|-
| gv.expTimeout || количество минут до окончания штрафа возложения золота в храме (или 10080, если данных нет)
|-
| gv.logTimeout || количество минут до гарантированного бревна в подземелье (или 10080, если данных нет)
|-
| gv.byteTimeout || количество минут до гарантированного слога на полигоне
|-
| gv.byteDoubleTimeout || количество минут до гарантированных двух слогов на полигоне
|-
| gv.sparTimeout || количество минут до экспоносной тренировки (или 10080, если данных нет)
|-
| gv.getSeconds || точное локальное время: секунды (0-59)
|-
| gv.getMinutes || точное локальное время: минуты (0-59)
|-
| gv.getHours || точное локальное время: часы (0-23)
|-
| gv.getHoursUTC || точное время UTC (GMT+0): часы (0-23)
|-
| gv.getHoursMSK || точное московское время (GMT+3): часы (0-23)
|-
| gv.getDay || текущий день недели (1-7)
|-
| gv.getDayUTC || текущий день недели по UTC (GMT+0) (1-7)
|-
| gv.getDayMSK || текущий день недели по московскому времени (GMT+3) (1-7)
|-
| gv.windowFocused || определяет, активна ли текущая вкладка браузера
|-
| rowspan="74" valign="top" | Полевые переменные
| gv.exp || количество опыта героя до следующего уровня в процентах
|-
| gv.expTrader || количество опыта торговца до следующего уровня в процентах
|-
|gv.expForge
|прогресс Творительной до получения следующего уровня инструментов
|-
| gv.mileStones || количество столбов от столицы до героя в поле
|-
| gv.poiMileStones || местоположение ближайшей к герою интересной точки на карте в столбах от столицы
|-
| gv.poiDistance || расстояние от героя до ближайшей к нему интересной точки в столбах
|-
| gv.poiMileStonesAhead || аналог gv.poiMileStones, но только для точки впереди героя (дальше от столицы)
|-
| gv.poiMileStonesBehind || аналог gv.poiMileStones, но только для точки позади героя (ближе к столице)
|-
| gv.selTownName || название выбранного в городском информере города
|-
| gv.selTownMileStones || местоположение выбранного города в столбах от столицы
|-
| gv.selTownDistance || расстояние в столбах от героя до выбранного города
|-
| gv.auraName || название ауры, если она есть
|-
| gv.auraDuration || оставшаяся длительность ауры, если она есть (в секундах, но округляется до целых минут)
|-
| gv.bingoItems || количество подходящих в бинго трофеев в инвентаре (работает даже после того, как попытки заполнения исчерпаны)
|-
| gv.bingoSlotsLeft || количество незаполненных слотов в бинго (работает даже после того, как попытки заполнения исчерпаны)
|-
| gv.bingoTriesLeft || количество оставшихся попыток заполнения
|-
| gv.questName || название квеста
|-
| gv.questNumber || номер квеста
|-
| gv.questProgress || прогресс выполнения квеста в процентах
|-
| gv.sideJobName || название подряда
|-
| gv.sideJobDuration || длительность подряда в секундах
|-
| gv.sideJobProgress || прогресс выполнения подряда в процентах
|-
| gv.sideJobRequirements || количество того, что требуется для выполнения подряда (в штуках, или 0 если требование несчетное)
|-
| gv.bookBytes || количество байт для книги
|-
| gv.bookWords || количество слов для книги
|-
|gv.forgeBytes
|количество байт в Творительной
|-
|gv.forgeWords
|количество слов в Творительной
|-
|gv.souls || количество собранных душ
|-
|gv.soulsProcessed || прогресс обработки в Душевой
|-
|-
|gv.hasTemple || герой имеет достроенный храм
| gv.nearestTown || название ближайшего города
|-
|-
|gv.hasArk || герой имеет достроенный ковчег
| gv.currentTown || название текущего города, если герой в нем, иначе - пустая строка
|-
|-
|gv.lastGuildChat || текст последних сообщений гильдчата (доступен только когда открыта и развернута вкладка гильдчата)
| gv.inShop || герой-торговец работает в своей лавке
|-
|-
|gv.dailyForecast || текст астропрогноза
| gv.inTown || герой находится в городе
|-
|-
|valign="top"|gv.isForecast("тип") || проверка на определенный тип астропрогноза:
| gv.isBlessed || у героя есть активное благословление, покупаемое за ворох пранозарядов
                {| class="standard"
|accu70 || распаковка аккумуляторов в 70% праны
|-
|gvroads || все дороги ведут в Годвилль
|-
|hearing || хорошие условия для слышимости гласов
|-
|unhearing || плохие условия для слышимости гласов
|-
|epic || внеплановые эпические задания
|-
|fame || усиленные гильдвлияния в городах
|-
|melting || упрощенная переплавка монет в золотые кирпичи
|-
|nodrinking ||пенсионный день
|-
|nolaying || день без возложений золота в храме
|-
|notraining || день без покупки новых уровней умений
|-
|nopotions || день без покупки лечебных зелий
|-
|noequip || день без покупки снаряжения
|-
|noguildhealing || день без гильдлечения
|-
                |norstraders || отсутствие бродячих торговцев
                |-
|prayer || усиленные молитвы в городах
|-
|longquests || взятые задания выполняются дольше обычного
|-
|longauras || ауры действуют дольше обычного
|-
|shortauras || ауры действуют короче обычного
|-
|undead || день самовоскрешающихся монстров
|-
|goldmonsters || каждый монстр имеет при себе что-то ценное
|-
|goldbosses || у наземных боссов золота больше обычного
|-
|easybosses || боссы выкапываются проще обычного
|-
|badtraders || риск потери трофеев при торговле больше обычного
|-
|skills || умения используются чаще обычного
|-
|arena || стоимость отправки на арену составляет 25% праны
|-
|personality || влияния меняют характер героев больше обычного
|-
|itemsloss || риск потери трофеев в поле больше обычного
|-
|lowpoweractivatables || стоимость активации трофеев составляет 25% праны
|-
|cheapactivatables || активируемые трофеи стоят меньше обычного
|-
|expensiveactivatables || активируемые трофеи стоят больше обычного
|-
|bingo || награда за бинго больше обычного
|-
|fishing || герои рыбачат чаще обычного
|-
|selfhealing || эффективность лежания под деревом выше обычного
|}
|-
|-
|gv.expTimeout || количество минут до окончания штрафа возложения золота в храме (или 10080, если данных нет)  
| gv.isEquipmentBold(номер_слота) || жирное ли снаряжение в указанном слоте (слоты: 1 - оружие, 2 - щит и т. д.)
|-
|-
|gv.logTimeout || количество минут до гарантированного бревна в подземелье (или 10080, если данных нет)
| gv.isGoingBack || герой идет из поля в город
|-
|-
|gv.sparTimeout || количество минут до экспоносной тренировки (или 10080, если данных нет)  
| gv.isGoingForth || герой идет из города в поле (экспериментально, может ошибаться!)
|-
|-
|gv.getSeconds || точное локальное время: секунды (0-59)
| gv.isGoingGodville || герой идет из поля в столицу (экспериментально, может ошибаться, точно не работает на ближайших к Годвиллю городах)
|-
|-
|gv.getMinutes || точное локальное время: минуты (0-59)  
| gv.isHealing || герой лечится (как в городе, так и в полевых условиях)
|-
|-
|gv.getHours || точное локальное время: часы (0-23)
| gv.isTrading || герой продает трофеи и покупает снаряжение
|-
|-
|gv.getDay || текущий день недели (1-7)
| gv.isPartying || герой ищет в городе развлечений или возможности вложить средства
|-
|-
|gv.windowFocused || определяет, активна ли текущая вкладка браузера
| gv.isSleeping || герой в городе спит и видит сны
|-
|-
|rowspan="46" valign="top"|Полевые переменные|| gv.exp || количество опыта героя до следующего уровня в процентах
| gv.isPraying || герой молится в городском храме
|-
|-
|gv.expTrader || количество опыта торговца до следующего уровня в процентах
| gv.isWalking || герой идет из города в поля или выполняет задание
|-
|-
|gv.mileStones || количество столбов от столицы до героя в поле
| gv.isBattling || герой бьется с монстром
|-
|-
|gv.poiMileStones || местоположение интересной точки на карте в столбах от столицы
| gv.isReturning || герой возвращается в город
|-
|-
|gv.poiDistance || расстояние от героя до точки в столбах
| gv.isFishing || герой рыбачит
|-
|-
|gv.auraName || название ауры, если она есть
| gv.isWaiting || герой находится в ожидании "авантюры" или же переводит дух после завершения оной
|-
|-
|gv.auraDuration || оставшаяся длительность ауры, если она есть (в секундах, но округляется до целых минут)
| valign="top"| gv.heroState || код одного из состояний героя:
    {| class="standard"
    | healing || лечение в городе или поле
    |-
    | trading || торговля в городе или поле
    |-
    | partying || развлечение в городе
    |-
    | sleeping || сон в городе
    |-
    | praying || молитва в городе
    |-
    | walking || движение из города
    |-
    | battling || бой с монстром
    |-
    | returning || возврат в город
    |-
    | fishing || рыболовля
    |-
    | preAdventure || ожидание боевого режима
    |-
    | postAdventure || окончание боевого режима
    |-
    | profiteering || торговля в своей лавке
    |-
    | dying || жизнь после смерти
    |-
    | unparsed || текст заголовка не распознался
    |}
|-
|-
|gv.bingoItems || количество подходящих в бинго трофеев в инвентаре
| gv.heroStateText || текст заголовка блока вестей
|-
|-
|gv.bingoSlotsLeft || количество незаполненных слотов в бинго
| gv.currentMonster || название монстра, если герой бьется с ним в поле, иначе - пустая строка
|-
|-
|gv.bingoTriesLeft || количество оставшихся попыток заполнения
| gv.chosenMonster || идет бой с монстром из настроенного списка избранных
|-
|-
|gv.questName || название квеста
| gv.soulMonster || идет бой с душесодержащим монстром
|-
|-
|gv.questNumber || номер квеста
| gv.specialMonster || идет бой со спецмонстром из настроенного списка префиксов
|-
|-
|gv.questProgress || прогресс выполнения квеста в процентах
| gv.strongMonster || идет бой с сильным монстром
|-
|-
|gv.sideJobName || название подряда
| gv.tamableMonster || идет бой с монстром, которого можно приручить (только если у героя нет питомца)
|-
|-
|gv.sideJobDuration || длительность подряда в секундах
| gv.wantedMonster || идет бой с монстром дня
|-
|-
|gv.sideJobProgress || прогресс выполнения подряда в процентах
| gv.petKnockedOut || питомец героя контужен
|-
|-
|gv.nearestTown || название ближайшего города
| gv.lastNews || текст строки из Вестей
|-
|-
|gv.currentTown || название текущего города, если герой в нем, иначе - пустая строка
| gv.lastDiary || текст последней записи из дневника (не включая гласы и влияния)
|-
|-
|gv.inShop || герой-торговец работает в своей лавке
| gv.lastDiaryVoice || текст последнего гласа другого бога из дневника (вернёт пустую строку, если в дневнике не видно ни одного чужого гласа)
|-
|-
|gv.inTown || герой находится в городе
| gv.voiceCooldown || время отката в секундах после гласа, который был услышан героем (уменьшается до 0)
|-
|-
|gv.isGoingBack || герой идет из поля в город
| gv.arenaAvailable || доступен поход на арену
|-
|-
|gv.isGoingForth || герой идет из города в поле (экспериментально, может ошибаться!)
| gv.sparAvailable || доступен тренировочный бой
|-
|-
|gv.isGoingGodville || герой идет из поля в столицу (экспериментально, может ошибаться, точно не работает на ближайших к Годвиллю городах)
| gv.dungeonAvailable || доступен поход в подземелье
|-
|-
|gv.isTrading || герой продает трофеи (экспериментально, может ошибаться!)
| gv.sailAvailable || доступен заплыв в море
|-
|-
|gv.isFishing || герой рыбачит (экспериментально, может очень ошибаться!)
| gv.miningAvailable || доступен поход на полигон
|-
|-
|gv.currentMonster || название монстра, если герой бьется с ним в поле, иначе - пустая строка
| gv.arenaSendDelay || время до доступности похода на арену (в секундах, но округляется до минут (равно 0, когда недоступно))
|-
|-
|gv.chosenMonster || идет бой с монстром из настроенного списка избранных
| gv.sparSendDelay || время до доступности тренировочного боя (в секундах, но округляется до минут (равно 0, когда недоступно))
|-
|-
|gv.specialMonster || идет бой со спец-монстром из настроенного списка префиксов
| gv.dungeonSendDelay || время до доступности похода в подземелье (в секундах, но округляется до минут (равно 0, когда недоступно))
|-
|-
|gv.strongMonster || идет бой с сильным монстром
| gv.sailSendDelay || время до доступности заплыва в море (в секундах, но округляется до минут (равно 0, когда недоступно))
|-
|-
|gv.tamableMonster || идет бой с монстром, которого можно приручить (только если у героя нет питомца)
| gv.miningSendDelay || время до доступности похода на полигон (в секундах, но округляется до минут (равно 0, когда недоступно))  
|-
|-
|gv.wantedMonster || идет бой с монстром дня
| gv.pendingShop || было запрошено посещение лавки для героя-торговца
|-
|-
|gv.petKnockedOut || питомец героя контужен
| gv.hpd || дельта изменения здоровья героя (работает только вне боевых режимов)
|-
|-
|gv.lastNews || текст строки из Вестей
| rowspan="19" valign="top" | Боевые переменные
| gv.fightStep || номер шага в боевом режиме
|-
|-
|gv.lastDiary || текст последней строки из дневника
|gv.fightStepText
|полный текст хроники текущего шага
|-
|-
|gv.lastDiaryVoice || текст последнего гласа другого бога из дневника (вернёт пустую строку, если в дневнике не видно ни одного чужого гласа)
| gv.lowHealth || низкий уровень здоровья в боевых режимах
|-
|-
|gv.voiceCooldown || время отката в секундах после гласа, который был услышан героем (уменьшается до 0)
| gv.enemyHealth || суммарное здоровье противников в боевом режиме
|-
|-
|gv.arenaAvailable || доступен поход на арену
| gv.enemyHealthMax || максимальное суммарное здоровье противников в боевом режиме
|-
|-
|gv.sparAvailable || доступен тренировочный бой
| gv.enemyHealthPrc || суммарное здоровье противников в процентах (имеет смысл для одиночных противников)
|-
|-
|gv.dungeonAvailable || доступен поход в подземелье
| gv.enemyGold || количество золота у противника
|-
|-
|gv.sailAvailable || доступен заплыв в море
| gv.enemyCount || количество противников (имеет смысл для корованов)
|-
|-
|gv.miningAvailable || доступен поход на полигон
| gv.enemyAliveCount || количество живых противников (имеет смысл для корованов)
|-
|-
|gv.arenaSendDelay || время до доступности похода на арену (в секундах, но округляется до минут (равно 0, когда недоступно))  
| gv.enemyHasAbility("название способности") || проверяет, имеет ли противник указанную способность (имеет смысл для боссов)
|-
|-
|gv.sparSendDelay || время до доступности тренировочного боя (в секундах, но округляется до минут (равно 0, когда недоступно))  
| gv.enemyAbilitiesCount || количество способностей у противника (имеет смысл для боссов)  
|-
|-
|gv.dungeonSendDelay || время до доступности похода в подземелье (в секундах, но округляется до минут (равно 0, когда недоступно))
| gv.alliesAliveHealthMax || суммарный максимум здоровья живых союзников
|-
|-
|gv.sailSendDelay || время до доступности заплыва в море секундах, но округляется до минут (равно 0, когда недоступно))  
| gv.enemyName || имя текущего противника (если их несколько - то первого в списке)
|-
|-
|miningSendDelay || время до доступности похода на полигон (в секундах, но округляется до минут (равно 0, когда недоступно))  
| gv.bossFightType || категоря босса во время боя с оным:
    {| class="standard"
    | dungeon || подземный босс
    |-
    | field || полевой босс
    |-
    | "" || если сейчас нет боя с боссом
    |}
Примечание: в случае боя с франкенбоссом, собранным из запчастей полевого босса, может ошибочно посчитать такого босса полевым, если страница игры была открыта сразу во время боя (т.е. расширение не видело подземелья)
|-
|-
|rowspan="15" valign="top"|Боевые переменные||gv.fightStep || номер шага в боевом режиме  
| gv.alliesHealthMax || суммарный максимум здоровья союзников в боевом режиме  
|-
|-
|gv.lowHealth || низкий уровень здоровья в боевых режимах
| gv.alliesHealthPrc || суммарное здоровье союзников в процентах (фактически не имеет смысла)
|-
|-
|gv.enemyHealth || суммарное здоровье противников в боевом режиме
| gv.alliesCount || количество союзников
|-
|-
|gv.enemyHealthMax || максимальное суммарное здоровье противников в боевом режиме
| gv.alliesAliveCount || количество живых союзников
|-
|-
|gv.enemyHealthPrc || суммарное здоровье противников в процентах (имеет смысл для одиночных противников)
| gv.alliesAliveHealthMax || суммарный максимум здоровья живых союзников
|-
|-
|gv.enemyGold || количество золота у противника
| rowspan="3" valign="top" |Подземельные переменные
| valign="top" | gv.dungeonChallenge
|дополнительная задача, которую можно выполнить во время похода по подземелью:
{| class="standard"
|nook
|посетить тайную комнату
|-
|-
|gv.enemyCount || количество противников (имеет смысл для корованов)
|silence
|суммарно рулить не более 8 раз за весь поход
|-
|-
|gv.enemyAliveCount || количество живых противников (имеет смысл для корованов)
|agility
|дойти до клада за 40 шагов
|-
|-
|gv.enemyHasAbility("название способности") || проверяет, имеет ли противник указанную способность (имеет смысл для боссов)
|ecology
|не трогать боссов
|-
|-
|gv.enemyAbilitiesCount || количество способностей у противника (имеет смысл для боссов)
|genocide
|перебить всех боссов
|-
|-
|gv.alliesHealth || суммарное здоровье союзников в боевом режиме
|survivors
|до сокровищницы должны дойти 2 или 5 участников
|-
|-
|gv.alliesHealthMax || суммарный максимум здоровья союзников в боевом режиме
|""
|нет задания
|}
|-
|-
|gv.alliesHealthPrc || суммарное здоровье союзников в процентах (фактически, не имеет смысла)
| valign="top" | gv.dungeonChallengeReward
|награда за выполненную дополнительную задачу:
{| class="standard"
|key
|ключ от сокровищницы
|-
|-
|gv.alliesCount || количество союзников
|hints
|включение указателей на сокровищницу
|-
|-
|gv.alliesAliveCount || количество живых союзников
|dice
|перевод всех тайников в ловушки (или наоборот)
|-
|-
|rowspan="6" valign="top"|Морские переменные||gv.supplies || количество припасов
|gold
|дополнительное золото
|-
|-
|gv.suppliesMax || максимальное количество припасов
|artifacts
|дополнительные трофеи
|-
|-
|gv.suppliesPrc || количество припасов в процентах
|double
|дополнительный гофер
|-
|-
|gv.cargo || содержимое трюма ковчега (строкой, включая квадратные скобки)
|notraps
|отключение ловушек
|-
|-
|gv.portDistance || расстояние до порта в режиме плавания
|noboss
|убирание финального босса
|-
|-
|valign="top"|gv.sailConditions || показывает дополнительные условия карты (если условий несколько - они выводятся через запятую):
|clarity
                {| class="standard"
|отображение всех интересных мест на карте
                |pois || все подсказки являются метками
                |-
                |migration || нет зависимости силы тварей от расстояния до порта
                |-
                |double || все клады двойные
                |-
                |beasties || во всех кладах только твари
                |-
                |winds || ветер раскидывает ковчеги от порта
                |-
                |small || утыканное рыбами малое море и ограничение в 50 шагов на заплыв
                |-
                |fires || огромное количество маяков
                |-
                |locked || закрытая граница, выплыть можно только через порт
                |-
                |roaming || все рыбы в море бродячие
                |-
                |faststart || в начале заплыва уже есть несколько подсказок
                |-
                |multipass || острова можно посещать неоднократно
                |-
                |noempty || все острова непустые, но загадочные
                |-
                |reefs || в море множество рифов и практически отсутствуют морские твари
                |-
                |farsight || увеличена дальность обзора с ковчега, но нет подсказок
                |-
                |kindness || в море нельзя напрямую атаковать других игроков
                |-
                |}
|-
|-
|rowspan="4" valign="top"|Полигональные переменные||gv.bits|| число собранных боссом бит
|transformation
|смена типа подземелья
|-
|-
|gv.bytes|| число собранных боссом байт
|unknown
|что-то заранее неизвестное
|-
|-
|gv.pushReadiness|| уровень готовности божественного толкания
|""
|нет награды
|}
|-
|gv.guidedStepsCount
|общее количество совершенных направляющих гласов для задачи "silence", если данных нет - null
|-
| rowspan="6" valign="top" | Морские переменные
| gv.supplies || количество припасов
|-
| gv.suppliesMax || максимальное количество припасов
|-
| gv.suppliesPrc || количество припасов в процентах
|-
| gv.cargo || содержимое трюма ковчега (строкой, включая квадратные скобки)
|-
| gv.portDistance || расстояние до порта
|-
| valign="top" | gv.sailConditions
| показывает дополнительные условия карты (если условий несколько - они выводятся через запятую):
    {| class="standard"
    | beasties || во всех кладах только твари
    |-
    | double || все клады двойные
    |-
    | extrabooty || вместо ящиков здесь есть лишний клад
    |-
    | farsight || увеличена дальность обзора с ковчега, но нет подсказок
    |-
    | faststart || в начале заплыва уже есть несколько подсказок
    |-
    | fires || огромное количество маяков
    |-
    | kindness || в море нельзя напрямую атаковать других игроков
    |-
    | locked || закрытая граница, выплыть можно только через порт
    |-
    | migration || нет зависимости силы тварей от расстояния до порта
    |-
    | multipass || острова можно посещать неоднократно
    |-
    | noempty || все острова непустые, но загадочные
    |-
    | pois || все подсказки являются метками
    |-
    | reefs || в море множество рифов и практически отсутствуют морские твари
    |-
    | roaming || все рыбы в море бродячие
    |-
    | small || утыканное рыбами малое море и ограничение в 50 шагов на заплыв
    |-
    | winds || ветер раскидывает ковчеги от порта
    |}
|-
| rowspan="4" valign="top" | Полигонные переменные
| gv.bits || число собранных боссом бит
|-
| gv.bytes || число собранных боссом байт
|-
| gv.bitsPerByte || количество бит в одном байте
|-
| gv.pushReadiness || уровень готовности божественного толкания
|}
|}


Строка 481: Строка 754:
!style="background:#6599FF"|Здесь можно посмотреть примеры пользовательских информеров
!style="background:#6599FF"|Здесь можно посмотреть примеры пользовательских информеров
|-
|-
| '''Мониторинг удачного стечения обстоятельств'''
| '''Мониторинг удачного стечения обстоятельств'''
|-
|-
Строка 570: Строка 842:
|-
|-
| <pre>
| <pre>
+гласс | gv.lastDiaryVoice
+глас | gv.lastDiaryVoice
</pre>
</pre>


Строка 595: Строка 867:


==== Готовые примеры ====
==== Готовые примеры ====
{| class="wikitable collapsible collapsed"  
{| class="wikitable collapsible collapsed"  
|-
|-
Строка 638: Строка 909:
|-
|-
| Покрасить жирное снаряжение в красный цвет || <pre>.eq_b { color: red; }</pre>
| Покрасить жирное снаряжение в красный цвет || <pre>.eq_b { color: red; }</pre>
|-
| Покрасить свои сообщения в гильдчате в тёмно-зелёный цвет || <pre>.fr_msg_l_my { color:darkgreen; }</pre>
|-
| Отображать информеры в столбик с выравниванием по правому краю окна браузера || <pre>#informer_bar { display: grid; justify-items: end; }</pre>
|}
|}


-------------
-------------
<references/>
<references/>

Текущая версия от 09:23, 9 мая 2024

Erinome Godville UI+ — расширение для браузеров, изначально основанное на Godville UI+, но получившее уже заметное количество отличий и дополнительных возможностей от оригинала.

Тема на форуме в квартале мастеровых: Erinome Godville UI+ - браузерное расширение для Годвилля (Firefox, Chrome, Opera).

Информеры

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

Пользовательские информеры

Пользовательские информеры позволяют настроить уведомления на произвольный набор событий в игре.

Настраиваются информетры в:

  • в блоке "Герой" при наведении курсора на шапку появится кликабельная иконка шестеренки
  • в верхнем меню по ссылке "настройки ui+" в разделе "Управление информерами" кликабельная ссылка в элементе "пользовательские информеры"

Каждый информер описывается одной строкой в формате:

Текст уведомления | набор условий | тип информера и уведомлений

Информер можно временно отключить, убрав галочку в начале строки.

Начиная с версии 1.1.17.4, в тексте уведомлений можно использовать одиночные переменные. Они указываются отдельными словами - gv.variable, либо в фигурных скобках - {gv.variable}. Начиная же с версии 1.1.21.0, в фигурных скобках можно указывать и целые логические выражения любой сложности. При изменении значений входящих в заголовки переменных, тексты информеров будут соответственным образом обновлены. Для информеров с переменными в названиях существует два дополнительных модификатора работы уведомления - см. в таблице ниже.

Несколько условий объединяются логическими операторами && (логическое «И»), || (логическое «ИЛИ») и группируются скобками. Доступно логическое отрицание «НЕ» !true = false

Также имеются другие операторы:

Операторы Описание Примеры
==, !=
<, <=
>, >=
равенство и неравенство

меньше и меньше или равно
больше и больше или равно

100 == 100 →‎ истина

"строка" != "другая строка" →‎ истина
100 > 200 →‎ ложь

~, ~* регистрозависимое и регистронезависимое регулярное выражение,
возвращает результат в виде массива или null, если совпадения нет
"здесь есть число 4 и буква Ё" ~ "число \\d+" →‎ ["число 4"]

"здесь есть число 4 и буква Ё" ~ "число (.*?) и" →‎ ["число 4 и", "4"]

!~, !~* инвертированная версия регистрозависимого и регистронезависимого регулярного выражения,
возвращает true или false
"здесь есть число 4 и буква Ё" !~ "число \\d+" →‎ ложь

"здесь есть число 4 и буква Ё" !~ "число 5" →‎ истина

A[x] извлечение элемента номер x из массива A (отсчет x ведется с нуля) ("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[1] →‎ "4"

("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[5] →‎ undefined

+, -
*, /
 %
сложение и вычитание

умножение и деление
остаток от деления

100 + 200 →‎ 300

50 * "строка" →‎ NaN
1898 % 13 →‎ 0

+, -
 !
преобразование строки к числу, изменение знака
логическое отрицание
+"50" →‎ 50

!"строка" →‎ ложь

Набор условий считается выполненным и активирует информер, когда итоговый результат преобразуем к истине:

Результат Примеры Описание
ложь 0, ""
false, null
undefined, NaN
ноль (как цифра), пустая строка, специальные значения,
которые могут принимать переменные и могут получиться
в результате применения операторов
истина - истиной считается всё, что не попадает под ложь
(в т. ч. включая пустые массивы)

Начиная с версии 1.1.17.4 тип информера кодируется комбинацией букв, соответствующих указанным в таблице модификаторам. Из соображений обратной совместимости старый тип кодирования суммированием по-прежнему работает.

Буква Код Название Описание
<никакая> 0 стандартный информер включается, когда условие активации информера выполняется; выключается, когда условие активации информера перестает выполняться
S 1 неотключаемый информер включается при выполнении условия активации информера; выключается, когда пользователь кликнет на этот информер (или после перезагрузки страницы, когда условие перестанет выполняться)
L 16 тип: стандартное уведомление мигает заголовком окна браузера и соответствующей вкладки, добавляет метку в углу страницы
D 32 тип: всплывающее уведомление отображается всплывающим окошком поверх всех окон
A 64 тип: звуковое уведомление звуковое оповещение согласно настройкам eGUI+
R 128 тип: повторяющееся звуковое уведомление звуковое оповещение, которое будет повторяться каждые несколько секунд (обратите внимание, что если тип "L" не включен, то данный тип будет работать как тип "A")
Q - мод: возобновимое уведомление имеет смысл только для информеров, имеющих в своем названии переменные; если информер был выключен пользователем (или не имел тип "L" и был отключен автоматически), а затем его текст изменился, то информер будет автоматически включен обратно
W - мод: настырное уведомление имеет смысл только для информеров, имеющих в своем названии переменные; если текст информера поменялся, то информер будет полностью перезапущен (что актуально для типов "D", "A" или "R")
N - мод: ненавязчивое уведомление имеющий смысл для стандартных информеров (L), модификатор типа N отключает мигание данного уведомления в заголовке окна, и оно только скромно висит в углу экрана
добавлен в версии 1.1.20.12.
I - мод: неубиваемое уведомление имеющий смысл для ненавязчивых информеров (N), модификатор типа I отключает всякую возможность убрать данное уведомление нажатием на себя
добавлен в версии 1.1.35.3.
Z - мод: логирующее уведомление модификатор типа Z вынуждает данный информер дополнительно оставлять записи в консоли браузера о том, когда он был включен, отключен или изменил свой заголовок (ежели в оном использовались переменные)
добавлен в версии 1.1.35.3.

Например, чтобы создать неотключаемый информер, уведомляющий миганием и всплывающим окном, необходимо указать тип: SLD (или, если вам нравится складывать числа, то 49 (1+16+32)).

Если модификаторы типа уведомления не указаны, то информер будет использовать набор уведомлений, выбранный для всех пользовательских информеров в общей таблице настроек информеров.

Переменные

Полный и актуальный перечень доступных переменных находится в файле FAQ на странице дополнения.

Примечание: с апреля 2016 года разработчиками игры было запрещено использовать в аддонах точные внутриигровые данные, поэтому начиная с версии 1.1.1.0 вся информация для переменных берется из общедоступных внешних источников, а некоторые значения, которые более недоступны в точном виде, теперь рассчитываются косвенно - следовательно, возможны неточности.

Готовые примеры

Пользовательский CSS

Дополнение позволяет добавлять на страницу игры дополнительные CSS-стили без необходимости заводить для этого дополнительный аддон вроде Stylish, Stylus и других подобных. Поле ввода CSS находится на странице настройки дополнения, каждое правило требуется вписывать на отдельной строке. Указываемые там правила применяются как к странице героя, так и к страницам хроник, форума и газете. После сохранения изменений страницу игры перезагружать не требуется и изменения будут активированы автоматически, а другие страницы понадобится переоткрыть для применения введенных правил.

Базовое описание синтаксиса CSS можно легко найти в интернете (например), а с определением классов и идентификаторов компонентов HTML-кода страницы поможет инструмент "Исследовать элемент" (или "Просмотреть код"), доступный по клику правой кнопкой мыши по интересующему элементу на странице.

Готовые примеры


  1. «Кстати, помните активируемые былиноделы, сундуки со сказками и прочие довольно бесполезные куплетописи? Теперь при активации в городе эти трофеи заодно усиливают там влияние гильдии — совершенно задаром». «Богучёт», пост в блоге от 12.05.2017