Расширяем функционал Monopoly City Streets

Разработчиками в MCS, к сожалению, не предусмотрена возможность застройки улицы большим количеством зданий за пару кликов мышкой. Но ведь игра написана на JS, так что ничего нам не мешает написать небольшой букмарклет, который и позволит нам добавить требуемый функционал.

Весь код MCS находится в файле monopoly.1255614067.js. Если посмотреть firebug’ом, что происходит в процессе покупки здания — мы увидим, что используются 2 функции — MCS.BUILD.showLocations() (для отображения маркеров доступных мест) и MCS.BUILD.buyBuilding() (для, собственно, покупки здания). После размышлений у меня получился следующий код:

Перед началом работы скрипт проводит несколько проверок: наличие класса MCS (в противном случае мы точно не на сайте игры), наличие авторизации у пользователя, а так же проверяется текущая выделенная улица. Далее выдаётся запрос для выяснения типа здания — список последних берётся из кода игры. Проверяется наличие денег у игрока и наличие свободных мест на улице. Затем выясняем количество домов для постройки и приступаем к этому увлекательному занятию. Чтобы пользователь не скучал — не забываем отобразить «песочные часы» в верхней панели. И, наконец, выводится количество построенных домов.

Чтобы преобразовать этот скрипт в 1 строку — используем javascriptcompressor.com/, в результате у нас почти есть букмарклет — остаётся только добавить ‘javascript:’ в начало полученной строки.

P.S. В качестве бонуса — букмарклет для отображения стоимости текущей улицы без зданий:

1
javascript:if(typeof MCS != "undefined"&&MCS.STREET.getStreetData().data)alert(MCS.STREET.getStreetData().data.p*1000);

UPD Букмарклет для пакетного удаления зданий:

Comments