您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Расширение базового функционала в браузерной игре Сказка
// ==UserScript== // @name The Tale Extended // @description Расширение базового функционала в браузерной игре Сказка // @author standy <[email protected]> // @version 0.5.4 // @include /^https?://the-tale.org/game/ // @run-at document-end // @license MIT License // @namespace the-tale-extended // @grant none // ==/UserScript== var ext = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/EventEmitter.ts ///<reference path="../typings.d.ts"/> function EventEmitter() { const callbacks = []; const emitter = (callback => { callbacks.push(callback); }); emitter.emit = arg => { for (let i = 0; i < callbacks.length; i++) { const callback = callbacks[i]; callback(arg); } }; return emitter; } /* harmony default export */ var EventEmitter_defaultExport = (EventEmitter); // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/tabs/tabs.ts const tabs_$root = $('#pgf-diary-container').parent().parent(); const $navTabs = tabs_$root.children('.nav-tabs'); const $tabContent = tabs_$root.children('.tab-content'); const tabs_$tab = $(`<li><a href="#pgf-ext-container" class="pgf-ext-tab-button" data-toggle="tab">e</a></li>`).prependTo($navTabs); const $container = $(`<div class="tab-pane log-block ext-container" id="pgf-ext-container"> <div class="ext-tabs"></div> </div>`).appendTo($tabContent); tabs_$tab.addClass('active').siblings().removeClass('active'); $container.addClass('active').siblings().removeClass('active'); const $extTabs = $container.find('.ext-tabs'); const tabs = []; function createTab(title) { const $tab = $(`<span class="ext-tab">${title}</span>`).appendTo($extTabs); const $content = $(`<div class="ext-content"></div>`).appendTo($container); const tab = { $tab: $tab, $content: $content, onTabChange: EventEmitter_defaultExport(), }; tabs.push(tab); $tab.on('click', () => { toggleTab(tab); }); if (tabs.length === 1) toggleTab(tab); return tab; } function toggleTab(tab) { tabs.forEach(t => { const isActive = t === tab; t.onTabChange.emit(isActive); t.$content.toggleClass('active', isActive); t.$tab.toggleClass('active', isActive); }); } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/clientStorage.ts ///<reference path="../typings.d.ts"/> function set(name, messages) { try { pgf.base.settings.set(name, JSON.stringify(messages)); } catch (e) { console.warn('setLog', name, e); } } function get(name) { const g = pgf.base.settings.get(name); return g ? JSON.parse(g) : null; } function remove(name) { if (!window.localStorage) return; localStorage.removeItem(pgf.base.settings._prefix + '_' + name); } function size() { let t = 0; for (const x in localStorage) { if (localStorage.hasOwnProperty(x)) { t += localStorage[x].length * 2; } } return t; } /* harmony default export */ var clientStorage_defaultExport = ({ remove, set, get, size, }); // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/tabs/settings/sets-auto.ts const setsAuto = [{ title: 'Помощь герою (<span class="link-ajax" data-auto="rest">миролюбие</span>/<span class="link-ajax" data-auto="fight">агрессия</span>)', fields: [{ label: 'Автоматическая помощь', note: 'Внимание! Настройки применяются в момент нажатия', name: 'autohelp', isToggle: true, value: false, subs: [{ label: 'Уведомлять о помощи', name: 'autohelpNotify', isToggle: true, value: false, }, { label: 'Использовать бонусную энергию, оставить', note: 'Указанный запас энергии тратиться не будет', name: 'autohelpEnergyBonus', isToggle: true, value: false, inputs: [{ name: 'autohelpEnergyBonusMax', type: 'num', value: 0, }], }, { label: 'Герой бездействует', name: 'autohelpIdle', isToggle: true, value: true, }, { label: 'Герой воскресает', name: 'autohelpDead', isToggle: true, value: true, }, { label: 'Здоровье в бою ниже ', name: 'autohelpHp', isToggle: true, value: true, inputs: [{ type: 'num', name: 'autohelpHpLowerValue', value: 200, }], subs: [{ label: 'только против босса', name: 'autohelpHpBoss', isToggle: true, isInline: true, value: true, }], }, { label: 'Лечение спутника, если его здоровье меньше', name: 'autohelpCompanion', isToggle: true, isInline: true, value: true, inputs: [{ type: 'num', name: 'autohelpCompanionHp', isInline: true, value: 20, }], }, { label: 'Энергия выше ', name: 'autohelpEnergy', isToggle: true, value: true, inputs: [{ type: 'num', name: 'autohelpEnergyGreaterValue', value: 10, }], subs: [{ label: 'в бою', name: 'autohelpEnergyFight', isToggle: true, isInline: true, value: false, }, { label: 'вне боя', name: 'autohelpEnergyRest', isToggle: true, isInline: true, value: false, }, { label: 'в пути', name: 'autohelpEnergyWalk', isToggle: true, isInline: true, value: true, }, { label: 'торг/медитация', name: 'autohelpEnergyTradeMed', isToggle: true, isInline: true, value: true, }, ], }], }, { label: 'Автоматический выбор в задании', name: 'autoquest', isToggle: true, value: false, subs: [{ label: 'Уведомлять о выборе', name: 'autoquestNotify', isToggle: true, value: false, }, { label: 'Задания, влияющие на честь', // note: 'Доставка, сопроводить караван, пошпионить', name: 'autoquestHonor', isToggle: true, value: true, subs: [{ label: 'честно', name: 'autoquestHonorPlus', isToggle: true, isInline: true, value: true, }, { label: 'бесчестно', name: 'autoquestHonorMinus', isToggle: true, isInline: true, value: false, }], }, { label: 'Задания, влияющие на миролюбие', // note: 'Выбить долг', name: 'autoquestPeace', isToggle: true, value: true, subs: [{ label: 'миролюбиво', name: 'autoquestPeacePlus', isToggle: true, isInline: true, value: true, }, { label: 'воинственно', name: 'autoquestPeaceMinus', isToggle: true, isInline: true, value: false, }], }], }, { label: 'Брать карты', name: 'autocard', isToggle: true, value: false, }], }]; // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/tabs/settings/sets-game.ts const MAX_LOG_LENGTH = 100000; const setsGame = [ { title: 'Уведомления', fields: [{ label: 'Отправлять уведомления (<span class="link-ajax" id="test-notifications">тест</span>)', name: 'notify', isToggle: true, value: true, subs: [{ label: 'Выбор в задании', name: 'notifyQuestChoose', isToggle: true, value: true, }, { label: 'Герой бездействует', name: 'notifyHeroIdle', isToggle: true, value: true, }, { label: 'Здоровье ниже ', name: 'notifyHeroHp', isToggle: true, value: true, inputs: [{ type: 'num', name: 'notifyHeroHpLowerValue', value: 200, }], }, { label: 'Энергия выше ', name: 'notifyHeroEnergy', isToggle: true, value: true, inputs: [{ type: 'num', name: 'notifyHeroEnergyGreaterValue', value: 9, }], }], }], }, { title: 'Отображение', fields: [{ label: 'Использовать глобальные стили расширения', name: 'extHtml', isToggle: true, value: true, }], }, { title: 'Хранилище <span id="storage-size"></span>', fields: [{ label: 'Сохранять последние сообщения:', name: '', inputs: [{ name: 'maxLogLength', type: 'num', value: MAX_LOG_LENGTH, }], }, { name: '', label: '<span class="link-ajax" id="reset-stats">Очистить хранилище</span>', }], }, ]; // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/notifications/sendNotify.ts $('body').one('click', request); function request() { const Notify = Notification; if (Notify.permission.toLowerCase() !== 'granted') { Notify.requestPermission().then((permission) => { if (permission !== 'granted') return; Notify('Thanks for letting notify you'); }); } } function generateRandomString() { return Math.random().toString(36).slice(2); } let rndStr = generateRandomString(); function sendNotify(name, options) { const d = new Date(); const h = d.getHours(); const m = d.getMinutes(); const time = `${h}:${m < 10 ? '0' + m : m}`; const nt = new Notification(name, { tag: options.tag + rndStr, body: options.body + (options.addTime ? '\n' + time : ''), icon: options.icon || (`${window.extPath}img/128.png`), }); nt.onclick = nt.onclose = () => { rndStr = generateRandomString(); }; } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/tabs/settings/Settings.ts clientStorage_defaultExport.remove('settings'); class Settings_Settings { constructor() { this.tab = createTab(`настройки`); this.$root = this.tab.$content; this.settingsValues = clientStorage_defaultExport.get('ext_settings') || {}; this.deps = {}; this.onCleanup = EventEmitter_defaultExport(); this._onNamedSettingChange = EventEmitter_defaultExport(); this.onNamedSettingChange = (settingName, callback) => { this._onNamedSettingChange(({ name, value }) => { if (name === settingName) { callback(value); } }); }; this.drawInput = (st) => { const settingsValues = this.settingsValues; let html = ''; if (st.isToggle || st.type === 'checkbox') { html = `<input type="checkbox" data-name="${st.name}" ${settingsValues[st.name] ? 'checked' : ''}> `; } else if (st.type === 'text' || st.type === 'num') { html = `<input type="text" class="input-tiny input-tiny-${st.type}" data-name="${st.name}" data-type="${st.type}" ${settingsValues[st.name] ? ' value="' + settingsValues[st.name] + '"' : ''}>`; if (st.addOn) { html = `<div class="input-wrap input-append">${html}<span class="add-on">${st.addOn}</span></div>`; } else { html = `<div class="input-wrap input-wrap-inline">${html}</div>`; } } return html; }; this.addSets(setsGame); this.addSets(setsAuto); console.log('settingsValues>', this.settingsValues); this.handlersGame(); this.handlersAuto(); } static getData($input) { const name = $input.data('name'); const isDisabled = $input.closest('.input-wrap').hasClass('disabled'); let value; if (isDisabled) { value = null; } if ($input.is('[type="checkbox"]')) { value = $input.prop('checked'); } else if ($input.data('type') === 'num') { value = +$input.val(); } else { value = $input.val(); } return { name, value }; } handlersGame() { $('#test-notifications').on('click', e => { e.preventDefault(); sendNotify('Проверка уведомлений', { body: 'Проверка уведомлений', tag: 'test', }); }); $('#reset-stats').on('click', e => { if (!confirm('Очистить историю сообщений?')) { return; } this.onCleanup.emit(undefined); }); } handlersAuto() { this.$root.find('[data-auto]') .on('click', function (e) { e.preventDefault(); const type = $(this).data('auto'); const types = { rest: { autohelpIdle: 1, autohelpDead: 1, autohelpHp: 1, autohelpHpBoss: 1, autohelpEnergy: 1, autohelpEnergyFight: 0, autohelpEnergyRest: 0, autohelpEnergyWalk: 1, autohelpEnergyTradeMed: 1, }, fight: { autohelpIdle: 0, autohelpDead: 0, autohelpHp: 1, autohelpHpBoss: 0, autohelpEnergy: 1, autohelpEnergyFight: 1, autohelpEnergyRest: 0, autohelpEnergyWalk: 0, autohelpEnergyTradeMed: 0, }, }; const conf = types[type]; for (const key in conf) { if (conf.hasOwnProperty(key)) { const value = !!conf[key]; const $input = getSettingInput(key); $input.prop('checked', value).trigger('change'); } } }); } addSets(sets) { let html = ''; for (let i = 0; i < sets.length; i++) { const st = sets[i]; this.settingsDefaults(st.fields); html += `<div class=""> <div class="sets-header">${st.title || ''}</div> ${this.drawSetsGroup(st.fields)} </div>`; } const $sets = $(`<div class="settings-form form-horizontal">${html}</div>`).appendTo(this.$root); $sets.find('input') .each((i, input) => { const $input = $(input); const data = Settings_Settings.getData($input); this.checkDependencies(data); }) .on('change', e => { const $input = $(e.target); const data = Settings_Settings.getData($input); this.checkDependencies(data); this.settingsValues[data.name] = data.value; this._onNamedSettingChange.emit(data); clientStorage_defaultExport.set('ext_settings', this.settingsValues); console.log('settings: ', this.settingsValues); }); } drawSetsGroup(fields) { let html = ''; for (let i = 0; i < fields.length; i++) { const st = fields[i]; const label = `<div class="input-wrap ${st.isToggle ? 'checkbox' : ''}"> <label>${this.drawInput(st)}${st.label}</label> ${st.inputs ? st.inputs.map(this.drawInput).join('') : ''} </div>`; html += `<div class="sets${st.isInline ? ' sets-inline' : ''}"> <div class="sets-title"> ${label} ${st.note ? '<div class="note-block">' + st.note + '</div>' : ''} </div> ${st.subs ? this.drawSetsGroup(st.subs) : ''} </div>`; } clientStorage_defaultExport.set('ext_settings', this.settingsValues); return html; } checkDependencies(settingsData) { const key = settingsData.name; const value = settingsData.value; if (!this.deps[key]) return; this.deps[key].forEach(keyName => { getSettingInput(keyName).closest('.input-wrap').toggleClass('disabled', !value); // .prop('disabled', !value); }); } /** * Проставляет дефолтные значения и заполняет зависимости */ settingsDefaults(fields) { if (!fields) return []; let childs = []; for (let i = 0; i < fields.length; i++) { const st = fields[i]; const name = st.name; if (name) { childs.push(name); const storedValue = this.settingsValues[name]; this.settingsValues[name] = typeof storedValue === 'undefined' ? st.value : storedValue; } const subsChilds = [ ...this.settingsDefaults(st.inputs), ...this.settingsDefaults(st.subs), ]; if (subsChilds.length && name) { this.deps[name] = subsChilds.filter(x => x); childs = subsChilds.concat(childs); } } return childs; } } function getSettingInput(key) { return $(`input[data-name="${key}"]`); } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/tables.js /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(1); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__); //console.log('tables.js') window.tables = ((_tables => { 'use strict'; function makeSortable($table) { const $head = $table.find('thead tr').first(); const $rows = $table.find('tbody tr'); $head.children('th') .wrapInner('<span class="sort" />') .each(function() { const $th = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a(this); const thIndex = $th.index(); $th.children('.sort').click(function() { $th.siblings('th').children('.sort').attr('class', 'sort'); const inverse = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a(this).hasClass('sort-up'); __WEBPACK_IMPORTED_MODULE_0_jquery___default.a(this).attr('class', `sort sort-${inverse ? 'down' : 'up'}`); const arr = []; $rows.each(function() { const valueText = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.trim(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a(this).children('td').eq(thIndex).text()); const value = (-valueText) || parseDate(valueText) || valueText; arr.push({ $item: this, value, }); }); arr.sort((a, b) => { if (a.value === b.value) { return 0; } return a.value > b.value ? inverse ? 1 : -1 : inverse ? -1 : 1; }); arr.forEach(item => { $table.append(item.$item); }); }); }); } __WEBPACK_IMPORTED_MODULE_0_jquery___default.a('.table').each(function() { makeSortable(__WEBPACK_IMPORTED_MODULE_0_jquery___default.a(this)); }); __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.extend(_tables, { makeSortable, }); function parseDate(str) { //02.04.2014 10:50 const p = /(\d{2})\.(\d{2})\.(\d{4})\s(\d{1,2}):(\d{2})/.exec(str); if (!p) { return 0; } return +new Date(p[3], p[2] - 1, p[1], p[4], p[5]); } return _tables; }))({}); // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/const/vars.ts ///<reference path="../../typings.d.ts"/> ///<reference path="../../typings.d.ts"/> const PHRASE_NUMBER_KEYS = ['damage', 'health', 'coins', 'sell_price']; // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/storage/storage.ts /* harmony default export */ var storage_defaultExport = ({ heroName: '', companionName: '', }); // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/tracking/Tracking.ts ///<reference path="../typings.d.ts"/> const NEGATIVE_PHRASE_ID = [ 1, 11, 12, 280001, 280004, 280010, 280014, 280016, 280019, ]; const COMPANION_PHRASE_ID = [ 580003, 580004, ]; clientStorage_defaultExport.remove('messagesLog'); /** * Позволяет подписаться на обновление данных */ class Tracking_Tracking { constructor() { this.messagesLog = clientStorage_defaultExport.get('ext_log') || []; this.onNewTurn = EventEmitter_defaultExport(); this.onNewMessages = EventEmitter_defaultExport(); this.onLoad = EventEmitter_defaultExport(); this.onLoadDone = false; this.setMaxLogLength = (value) => { this.maxLogLength = value; }; this.emitLoad(); } static convertMessageFromRaw(messageRaw) { return [ messageRaw[0 /* TimeStamp */], messageRaw[1 /* TimeSting */], messageRaw[2 /* PhraseSting */], messageRaw[3 /* PhraseId */], Tracking_Tracking.convertPhraseDataFromRaw(messageRaw[4 /* PhraseData */]), Tracking_Tracking.getMeta(messageRaw), ]; } static convertPhraseDataFromRaw(phraseDataRaw) { const phraseData = Object.assign({}, phraseDataRaw); for (let i = 0; i < PHRASE_NUMBER_KEYS.length; i++) { const key = PHRASE_NUMBER_KEYS[i]; const value = phraseDataRaw[key]; if (typeof value === 'string') phraseData[key] = +value; } return phraseData; } static getMeta(message) { const phraseId = message[3 /* PhraseId */]; const phraseDataRaw = message[4 /* PhraseData */]; const actor = phraseDataRaw.attacker || phraseDataRaw.actor; const isMyName = actor === storage_defaultExport.heroName; const isMe = isMyName !== NEGATIVE_PHRASE_ID.includes(phraseId); const isCompanion = !isMyName && actor === storage_defaultExport.companionName || COMPANION_PHRASE_ID.includes(phraseId); const owner = isMe ? 0 /* me */ : isCompanion ? 2 /* companion */ : 1 /* mob */; return { owner: owner }; } getMessagesLog() { return this.messagesLog.map(Tracking_Tracking.convertMessageFromRaw); } clear() { clientStorage_defaultExport.remove('ext_log'); this.messagesLog = []; } track(game_data) { if (!this.onLoadDone) return; const hero = game_data.account.hero; if (!hero) return; const messagesLog = this.messagesLog; const lastLog = messagesLog[messagesLog.length - 1] || []; const lastTimestamp = lastLog[0 /* TimeStamp */]; const messages = hero.messages; const messagesNew = []; for (let i = 0; i < messages.length; i++) { const messageRaw = messages[i]; const message = Tracking_Tracking.convertMessageFromRaw(messageRaw); // console.log('time>', lastTimestamp, message[0], message[0] > lastTimestamp, lastLog[1], message[1]); if (!lastTimestamp || message[0 /* TimeStamp */] > lastTimestamp) { messagesLog.push(messageRaw); messagesNew.push(message); } } this.messagesLog = messagesLog.slice(this.maxLogLength ? messagesLog.length - this.maxLogLength : 0); clientStorage_defaultExport.set('ext_log', this.messagesLog); this.onNewTurn.emit(hero); if (messagesNew.length) { this.onNewMessages.emit(messagesNew); } } emitMessages() { $(document).on(`${pgf.game.events.DATA_REFRESHED}.ext-tracking`, (e, game_data) => { this.track(game_data); }); } emitLoad() { this.onLoadDone = false; $(document).on('ajaxSuccess.ext', (event, XMLHttpRequest, setting, result) => { if (this.onLoadDone || setting.url.indexOf('/game/api/info') !== 0) { return; } const game_data = result.data; if (game_data.account.is_old) { return; } this.onLoadDone = true; const hero = game_data.account.hero; storage_defaultExport.heroName = hero.base.name; storage_defaultExport.companionName = hero.companion && hero.companion.name.toLowerCase(); this.onLoad.emit(game_data); this.track(game_data); this.emitMessages(); $(document).off('ajaxSuccess.ext'); }); } } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/const/icons.ts /* harmony default export */ var icons_defaultExport = ({ fight: __webpack_require__(2), peace: __webpack_require__(3), hit: __webpack_require__(4), might: __webpack_require__(5), fire: __webpack_require__(6), flame: __webpack_require__(7), poisoncloud: __webpack_require__(8), poison: __webpack_require__(9), vampire: __webpack_require__(10), reckless: __webpack_require__(11), disorientation: __webpack_require__(12), miss: __webpack_require__(13), slow: __webpack_require__(14), strength: __webpack_require__(15), speed: __webpack_require__(16), stunHit: __webpack_require__(17), stun: __webpack_require__(18), heal: __webpack_require__(19), companion: `<span class="companion">${__webpack_require__(20)}</span>`, god: `<span class="god-icon">${__webpack_require__(21)}</span>`, trade: __webpack_require__(22), rest: __webpack_require__(23), loot: __webpack_require__(24), death: __webpack_require__(25), travel: __webpack_require__(26), travelWagon: __webpack_require__(27), }); // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/act/act.ts function act_act(modificator, shortMsg) { return `<span class="act ${modificator}">${shortMsg}</span>`; } function actPositive(actor, shortMsg) { const isCompanion = actor === storage_defaultExport.companionName; const isPositive = isCompanion || actor === storage_defaultExport.heroName; return `<span class="act ${isPositive ? 'positive' : 'negative'}">${isCompanion ? icons_defaultExport.companion : ''}${shortMsg}</span>`; } function actNegative(actor, shortMsg) { const isCompanion = actor === storage_defaultExport.companionName; const isPositive = !isCompanion && actor !== storage_defaultExport.heroName; return `<span class="act ${isPositive ? 'positive' : 'negative'}">${isCompanion ? icons_defaultExport.companion : ''}${shortMsg}</span>`; } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/act/act-fight.ts ///<reference path="../../typings.d.ts"/> /* harmony default export */ var act_fight_defaultExport = ({ 1: { fn: debuff(icons_defaultExport.stun), type: 'inline' }, 11: { fn: dot(icons_defaultExport.flame), type: 'inline' }, 12: { fn: dot(icons_defaultExport.poisoncloud), type: 'inline' }, 280000: { fn: damage(icons_defaultExport.fire), type: 'inline' }, 280001: { fn: miss(icons_defaultExport.fire), type: 'inline' }, 280002: { fn: cast(icons_defaultExport.slow), type: 'inline' }, 280003: { fn: damage(''), type: 'inline' }, 280004: { fn: miss(icons_defaultExport.hit), type: 'inline' }, 280005: { fn: buff(icons_defaultExport.miss), type: 'inline' }, 280006: { fn: buff(icons_defaultExport.strength), type: 'inline' }, 280007: { fn: cast(icons_defaultExport.poison), type: 'inline' }, 280008: { fn: heal(icons_defaultExport.heal), type: 'inline' }, 280009: { fn: damage(icons_defaultExport.stunHit), type: 'inline' }, 280010: { fn: miss(icons_defaultExport.stunHit), type: 'inline' }, 280011: { fn: cast(icons_defaultExport.disorientation), type: 'inline' }, 280012: { fn: cast(icons_defaultExport.speed), type: 'inline' }, 280013: { fn: damage(icons_defaultExport.might), type: 'inline' }, 280014: { fn: miss(icons_defaultExport.might), type: 'inline' }, 280015: { fn: vampire(icons_defaultExport.vampire), type: 'inline' }, 280016: { fn: miss(icons_defaultExport.vampire), type: 'inline' }, 280017: { fn: companionHeal(icons_defaultExport.heal), type: 'inline' }, 280018: { fn: reckless(icons_defaultExport.reckless), type: 'inline' }, 280019: { fn: miss(icons_defaultExport.reckless), type: 'inline' }, 580003: { fn: companionDefended(icons_defaultExport.miss), type: 'inline' }, 580004: { fn: companionInjured(), type: 'inline' }, }); function damage(icon) { // attacker атакующий // damage количество урона // defender защищающийся return (phraseData) => actPositive(phraseData.attacker, `<span class="damage">${phraseData.damage}</span>${icon}`); } function miss(icon) { // attacker атакующий // defender защищающийся return (phraseData) => actNegative(phraseData.attacker, `${icon}<span class="sub-icon">${icons_defaultExport.miss}</span>`); } function cast(icon) { // attacker атакующий // defender защищающийся return (phraseData) => actPositive(phraseData.attacker, `${icon}`); } function buff(icon) { // actor герой или монстр return (phraseData) => actPositive(phraseData.actor, `${icon}`); } function debuff(icon) { // actor герой или монстр return (phraseData) => actNegative(phraseData.actor, `${icon}`); } function reckless(icon) { // attacker атакующий // defender защищающийся // damage количество урона // attacker_damage количество урона по атакующему return (phraseData) => actPositive(phraseData.attacker, `<span class="damage">${phraseData.damage}</span>${icon}<span class="damage-reverse">${phraseData.attacker_damage}</span>`); } function vampire(icon) { // attacker атакующий // health количество вылеченного здоровья // damage количество урона // defender защищающийся return (phraseData) => actPositive(phraseData.attacker, `<span class="damage">${phraseData.damage}</span>${icon}<span class="vamp">${phraseData.health}</span>`); } function dot(icon) { // damage количество урона // actor герой или монстр return (phraseData) => actNegative(phraseData.actor, `<span class="damage">${phraseData.damage}</span>${icon}`); } function heal(icon) { // health количество вылеченного здоровья // actor герой или монстр return (phraseData) => actPositive(phraseData.actor, `<span class="heal">${phraseData.health}</span>${icon}`); } function companionHeal(icon) { // actor герой или монстр // companion спутник // health количество вылеченного здоровья return (phraseData) => actPositive(phraseData.actor, `${icons_defaultExport.companion}<span class="heal">${phraseData.health}</span>${icon}`); } function companionDefended(icon) { // companion_owner владелец спутника // companion спутник // attacker атакущий спутника return (phraseData) => actPositive(phraseData.companion_owner, `${icons_defaultExport.companion}${icon}`); } function companionInjured() { // companion_owner владелец спутника // companion спутник // attacker атакущий спутника // damage урон return (phraseData) => actPositive(phraseData.attacker, `${icons_defaultExport.companion}${phraseData.damage}`); } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/const/mobs.ts /* $('table tbody tr').map((i, tr) => ({ name: $(tr).children().eq(1).text().trim(), id: +$(tr).children().eq(1).find('a').attr('href').replace('/guide/mobs/', ''), level: +$(tr).children().eq(0).text().trim(), })).get() .sort((a, b) => a.id - b.id); */ /* harmony default export */ var mobs_defaultExport = ([ { name: 'букавац', id: 1, level: 1 }, { name: 'призрачная одежда', id: 2, level: 2 }, { name: 'зазовка', id: 3, level: 4 }, { name: 'хищный кустик', id: 4, level: 5 }, { name: 'нук-секач', id: 5, level: 7 }, { name: 'бродячий дуб', id: 6, level: 8 }, { name: 'волк', id: 7, level: 10 }, { name: 'дух леса', id: 8, level: 11 }, { name: 'эльриада', id: 9, level: 13 }, { name: 'блюститель природы', id: 10, level: 14 }, { name: 'медведь', id: 11, level: 15 }, { name: 'аристократ', id: 12, level: 17 }, { name: 'единорог', id: 13, level: 18 }, { name: 'призрачный волк', id: 14, level: 19 }, { name: 'астральный охотник', id: 15, level: 21 }, { name: 'головоног', id: 16, level: 1 }, { name: 'домашний поползень', id: 17, level: 1 }, { name: 'гнилушь', id: 18, level: 3 }, { name: 'ползун', id: 19, level: 4 }, { name: 'сушилец', id: 20, level: 6 }, { name: 'гигантская росянка', id: 21, level: 7 }, { name: 'сбежавший эксперимент', id: 22, level: 9 }, { name: 'слизь', id: 23, level: 10 }, { name: 'гидра', id: 24, level: 12 }, { name: 'щупальце', id: 25, level: 13 }, { name: 'химический мусорник', id: 26, level: 15 }, { name: 'упырь', id: 27, level: 16 }, { name: 'кикимора', id: 28, level: 17 }, { name: 'бесхозный голем', id: 29, level: 19 }, { name: 'охотник за реагентами', id: 30, level: 20 }, { name: 'мутировавший гоблин', id: 31, level: 21 }, { name: 'василиск', id: 32, level: 21 }, { name: 'ожившее пугало', id: 33, level: 1 }, { name: 'хищный хомяк', id: 34, level: 2 }, { name: 'борец за справедливость', id: 35, level: 4 }, { name: 'клешнец', id: 36, level: 5 }, { name: 'маньяк', id: 37, level: 7 }, { name: 'карточный шулер', id: 38, level: 8 }, { name: 'богомол', id: 39, level: 10 }, { name: 'благородный разбойник', id: 40, level: 11 }, { name: 'одержимый колдун', id: 41, level: 13 }, { name: 'механический дракончик', id: 42, level: 14 }, { name: 'дварф-изгнанник', id: 43, level: 15 }, { name: 'неистовый сектант', id: 44, level: 17 }, { name: 'механический голем', id: 45, level: 18 }, { name: 'убийца', id: 46, level: 19 }, { name: 'полоумный маг', id: 47, level: 21 }, { name: 'шакал', id: 48, level: 1 }, { name: 'скорпион', id: 49, level: 1 }, { name: 'налётчик', id: 50, level: 3 }, { name: 'огненная лиса', id: 51, level: 4 }, { name: 'орк-изгнанник', id: 52, level: 6 }, { name: 'белый скарабей', id: 53, level: 7 }, { name: 'гремучая змея', id: 54, level: 9 }, { name: 'саламандра', id: 55, level: 10 }, { name: 'пустынный дракончик', id: 56, level: 12 }, { name: 'джинн', id: 57, level: 13 }, { name: 'берсерк', id: 58, level: 15 }, { name: 'смерч', id: 59, level: 16 }, { name: 'заблудший шаман', id: 60, level: 17 }, { name: 'шайтан', id: 61, level: 19 }, { name: 'крыса', id: 62, level: 1 }, { name: 'бандит', id: 63, level: 1 }, { name: 'призрак', id: 64, level: 7 }, { name: 'неупокоенный', id: 65, level: 15 }, { name: 'гремлин', id: 66, level: 1 }, { name: 'подыльник', id: 67, level: 3 }, { name: 'странствующий рыцарь', id: 68, level: 24 }, { name: 'нага', id: 69, level: 18 }, { name: 'охотник за головами', id: 70, level: 24 }, { name: 'суккуб', id: 71, level: 25 }, { name: 'вирика', id: 72, level: 1 }, { name: 'див', id: 73, level: 1 }, { name: 'додо', id: 74, level: 1 }, { name: 'ангиак', id: 75, level: 1 }, { name: 'бхут', id: 76, level: 1 }, { name: 'гвиллион', id: 77, level: 1 }, { name: 'вилах', id: 78, level: 1 }, { name: 'вендиго', id: 79, level: 1 }, { name: 'галд', id: 80, level: 1 }, { name: 'ачери', id: 81, level: 1 }, { name: 'земляная даппи', id: 82, level: 3 }, { name: 'огненная даппи', id: 83, level: 3 }, { name: 'анчутка', id: 84, level: 1 }, { name: 'жихарь', id: 85, level: 2 }, { name: 'йиена', id: 86, level: 10 }, { name: 'мара', id: 87, level: 19 }, { name: 'боец Серого Ордена', id: 88, level: 43 }, { name: 'спятивший лорд', id: 89, level: 21 }, { name: 'волколак', id: 90, level: 24 }, { name: 'медвелак', id: 91, level: 41 }, { name: 'аколит огня', id: 92, level: 28 }, { name: 'ламия', id: 93, level: 43 }, { name: 'баргест', id: 94, level: 22 }, { name: 'вий', id: 95, level: 42 }, { name: 'гьюнальский паук', id: 96, level: 42 }, { name: 'дэра', id: 97, level: 23 }, { name: 'гриндель', id: 98, level: 22 }, { name: 'грим', id: 99, level: 40 }, { name: 'кагир', id: 100, level: 37 }, { name: 'друджи', id: 101, level: 30 }, { name: 'даса', id: 102, level: 36 }, { name: 'ичетик', id: 103, level: 28 }, { name: 'кера', id: 104, level: 24 }, { name: 'куд', id: 105, level: 37 }, { name: 'ларва', id: 106, level: 29 }, { name: 'егви', id: 107, level: 27 }, { name: 'каменный великан', id: 108, level: 38 }, { name: 'каннибал', id: 109, level: 35 }, { name: 'ламашту', id: 110, level: 40 }, { name: 'лахама', id: 111, level: 26 }, { name: 'наркоман', id: 112, level: 22 }, { name: 'бывший палач', id: 113, level: 32 }, { name: 'мародёр', id: 114, level: 26 }, { name: 'страхолев', id: 115, level: 27 }, { name: 'злоцвет', id: 116, level: 32 }, { name: 'варвар', id: 117, level: 30 }, { name: 'ночная хныка', id: 118, level: 31 }, { name: 'омерзень', id: 119, level: 39 }, { name: 'смрадень', id: 120, level: 36 }, { name: 'глыдень', id: 121, level: 38 }, { name: 'песчаный холерник', id: 122, level: 39 }, { name: 'мать анаконд', id: 123, level: 31 }, { name: 'белая гиена', id: 124, level: 44 }, { name: 'мраморный бык', id: 125, level: 33 }, { name: 'язвомор', id: 126, level: 41 }, { name: 'лишайница', id: 127, level: 33 }, { name: 'жирница', id: 128, level: 35 }, { name: 'бульг', id: 129, level: 41 }, { name: 'костогрыз', id: 130, level: 34 }, { name: 'каменник', id: 131, level: 26 }, { name: 'вирница', id: 132, level: 9 }, { name: 'тигр', id: 133, level: 9 }, { name: 'барбегаз', id: 134, level: 12 }, { name: 'бродячий огонек', id: 135, level: 2 }, { name: 'скальник', id: 136, level: 23 }, { name: 'пупырник', id: 137, level: 24 }, { name: 'стогница', id: 138, level: 9 }, { name: 'гунила', id: 139, level: 18 }, { name: 'пёстробородый', id: 140, level: 28 }, { name: 'капитан Серых Плащей', id: 141, level: 45 }, { name: 'аколит льда', id: 142, level: 41 }, { name: 'семиглаз', id: 143, level: 12 }, { name: 'гюрза', id: 144, level: 8 }, { name: 'медвежук', id: 145, level: 15 }, { name: 'снежная росомаха', id: 146, level: 30 }, { name: 'койот', id: 147, level: 2 }, { name: 'горный манул', id: 148, level: 13 }, { name: 'мастер огня', id: 149, level: 33 }, { name: 'мастер льда', id: 150, level: 43 }, { name: 'кобольд', id: 151, level: 1 }, { name: 'пожиратель плоти', id: 152, level: 44 }, { name: 'главарь пёстробородых', id: 153, level: 38 }, { name: 'ученик Силы', id: 154, level: 11 }, { name: 'гомункул', id: 155, level: 10 }, { name: 'некромант', id: 156, level: 46 }, { name: 'тагар', id: 157, level: 52 }, { name: 'стрига', id: 158, level: 50 }, { name: 'приземник', id: 159, level: 48 }, { name: 'лесной тролль', id: 160, level: 50 }, { name: 'вурдалак', id: 161, level: 56 }, { name: 'болотный тролль', id: 162, level: 55 }, { name: 'бескуд', id: 163, level: 45 }, { name: 'атач', id: 164, level: 51 }, { name: 'камелопард', id: 165, level: 50 }, { name: 'невиданная тварь', id: 166, level: 1 }, { name: 'ырка', id: 167, level: 61 }, { name: 'шоток', id: 168, level: 58 }, { name: 'хрустальный барс', id: 169, level: 56 }, { name: 'галлу', id: 170, level: 48 }, { name: 'джудцгу', id: 171, level: 65 }, { name: 'изг', id: 172, level: 61 }, { name: 'ведомый', id: 182, level: 40 }, { name: 'комол', id: 189, level: 47 }, { name: 'ледяной тур', id: 190, level: 53 }, { name: 'нахцерер', id: 191, level: 54 }, { name: 'склеповник', id: 192, level: 60 }, { name: 'хала', id: 193, level: 45 }, { name: 'кумо', id: 194, level: 35 }, { name: 'мботата', id: 195, level: 33 }, { name: 'ракопаук', id: 196, level: 25 }, { name: 'иеля', id: 197, level: 20 } ]); // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/const/artifacts.ts /* NOTE со страницы: http://the-tale.org/guide/artifacts/ $('table').eq(1) .find('tbody tr') .filter((i, tr) => $(tr).children().eq(3).text().trim() !== 'хлам') .map((i, tr) => ({ name: $(tr).children().eq(1).text().trim(), id: +$(tr).children().eq(1).find('a').attr('href').replace('/guide/artifacts/', ''), level: +$(tr).children().eq(0).text().trim(), })) .get() .sort((a, b) => a.id - b.id); */ /* harmony default export */ var artifacts_defaultExport = ([ { name: 'портки', id: 1, level: 1 }, { name: 'лапти', id: 2, level: 1 }, { name: 'роба', id: 3, level: 1 }, { name: 'рукавицы', id: 4, level: 1 }, { name: 'дубинка', id: 5, level: 1 }, { name: 'оленьи рога', id: 6, level: 1 }, { name: 'волшебные штаны', id: 7, level: 2 }, { name: 'осиное жало', id: 8, level: 4 }, { name: 'живой корень', id: 9, level: 5 }, { name: 'пятачок', id: 10, level: 7 }, { name: 'дубина', id: 11, level: 8 }, { name: 'волчьи клыки', id: 12, level: 10 }, { name: 'сердце леса', id: 13, level: 11 }, { name: 'боевая помада', id: 14, level: 13 }, { name: 'короткое копьё', id: 15, level: 14 }, { name: 'медвежья лапа', id: 16, level: 15 }, { name: 'тонкие перчатки', id: 17, level: 17 }, { name: 'налобный рог', id: 18, level: 18 }, { name: 'призрачные наплечники', id: 19, level: 19 }, { name: 'магическая броня', id: 20, level: 21 }, { name: 'мёртвый головастик', id: 21, level: 1 }, { name: 'тулуп поползня', id: 22, level: 1 }, { name: 'звёздный венок', id: 23, level: 3 }, { name: 'склизкие сапоги', id: 24, level: 4 }, { name: 'болотные сапоги', id: 25, level: 6 }, { name: 'пасть росянки', id: 26, level: 7 }, { name: 'химический доспех', id: 27, level: 9 }, { name: 'мозговой слизень', id: 28, level: 10 }, { name: 'кожаные штаны', id: 29, level: 12 }, { name: 'галстук из щупальца', id: 30, level: 13 }, { name: 'пропитанный химией плащ', id: 31, level: 15 }, { name: 'рваные перчатки', id: 32, level: 16 }, { name: 'рваньё', id: 33, level: 17 }, { name: 'глиняные штаны', id: 34, level: 19 }, { name: 'белый халат', id: 35, level: 20 }, { name: 'узкие штаны', id: 36, level: 21 }, { name: 'сверкающий плащ', id: 37, level: 21 }, { name: 'метла', id: 38, level: 1 }, { name: 'волшебное зёрнышко', id: 39, level: 2 }, { name: 'меч справедливости', id: 40, level: 4 }, { name: 'выеденный плащ', id: 41, level: 5 }, { name: 'резиновые перчатки', id: 42, level: 7 }, { name: 'джокер', id: 43, level: 8 }, { name: 'лапа богомола', id: 44, level: 10 }, { name: 'отравленный кинжал', id: 45, level: 11 }, { name: 'одержалка', id: 46, level: 13 }, { name: 'шипованный хвост', id: 47, level: 14 }, { name: 'рунный топор', id: 48, level: 15 }, { name: 'молот атеистов', id: 49, level: 17 }, { name: 'стальные трусы', id: 50, level: 18 }, { name: 'убивалка', id: 51, level: 19 }, { name: 'разумный обруч', id: 52, level: 21 }, { name: 'шкура шакала', id: 53, level: 1 }, { name: 'жало скорпиона', id: 54, level: 1 }, { name: 'добротные штаны', id: 55, level: 3 }, { name: 'пламенный воротник', id: 56, level: 4 }, { name: 'большой-большой меч', id: 57, level: 6 }, { name: 'высушенный скарабей', id: 58, level: 7 }, { name: 'погремушка', id: 59, level: 9 }, { name: 'огненный плащ', id: 60, level: 10 }, { name: 'доспех из чешуек дракона', id: 61, level: 12 }, { name: 'волшебная лампа', id: 62, level: 13 }, { name: 'концентрированная ярость', id: 63, level: 15 }, { name: 'ветреные сапоги', id: 64, level: 16 }, { name: 'волшебный посох', id: 65, level: 17 }, { name: 'пергамент', id: 66, level: 19 }, { name: 'корона', id: 67, level: 1 }, { name: 'дряхлый доспех', id: 68, level: 1 }, { name: 'цепи', id: 69, level: 7 }, { name: 'каска', id: 70, level: 15 }, { name: 'разбитый щит', id: 138, level: 1 }, { name: 'старое кольцо', id: 139, level: 1 }, { name: 'мех подыльника', id: 140, level: 3 }, { name: 'гербовый щит', id: 142, level: 24 }, { name: 'перчатки из кожи наги', id: 144, level: 18 }, { name: 'боевая плеть', id: 146, level: 24 }, { name: 'катар', id: 149, level: 25 }, { name: 'каменный нож', id: 150, level: 1 }, { name: 'кусочек янтаря', id: 152, level: 1 }, { name: 'лопатки додо', id: 155, level: 1 }, { name: 'перепончатые крылья', id: 157, level: 1 }, { name: 'бхулава', id: 158, level: 1 }, { name: 'маска гвиллиона', id: 161, level: 1 }, { name: 'ухо вилаха', id: 162, level: 1 }, { name: 'туманные наплечники', id: 164, level: 1 }, { name: 'боевой цеп', id: 167, level: 1 }, { name: 'колечко с камушком', id: 168, level: 1 }, { name: 'песчаное кольцо', id: 170, level: 3 }, { name: 'угольное кольцо', id: 172, level: 3 }, { name: 'медное кольцо', id: 174, level: 1 }, { name: 'печатка жихаря', id: 176, level: 2 }, { name: 'могильный перстень', id: 178, level: 10 }, { name: 'солидное кольцо', id: 180, level: 19 }, { name: 'чистый щит', id: 182, level: 43 }, { name: 'фамильный перстень', id: 184, level: 21 }, { name: 'кольцо зверя', id: 186, level: 24 }, { name: 'плащ зверя', id: 188, level: 41 }, { name: 'горячее кольцо', id: 190, level: 28 }, { name: 'хрустальный коготь', id: 192, level: 43 }, { name: 'чёрный волос', id: 194, level: 22 }, { name: 'кольцо первородного', id: 196, level: 42 }, { name: 'паучий щит', id: 199, level: 42 }, { name: 'доспех из дэры', id: 201, level: 23 }, { name: 'гринделевые ботинки', id: 203, level: 22 }, { name: 'гримовый хопеш', id: 204, level: 40 }, { name: 'кагирские перчатки', id: 206, level: 37 }, { name: 'друджийская сабля', id: 208, level: 30 }, { name: 'дасийские наплечники', id: 210, level: 36 }, { name: 'слёзы ичетики', id: 212, level: 28 }, { name: 'теневой плащ', id: 215, level: 24 }, { name: 'кудово кольцо', id: 217, level: 37 }, { name: 'топор ларвы', id: 218, level: 29 }, { name: 'белая туника', id: 220, level: 27 }, { name: 'скалистая накидка', id: 222, level: 38 }, { name: 'мясорез', id: 224, level: 35 }, { name: 'голова ламашту', id: 226, level: 40 }, { name: 'лахамовый плащ', id: 228, level: 26 }, { name: 'лезвие', id: 231, level: 22 }, { name: 'поцелуй смерти', id: 232, level: 32 }, { name: 'обувь мертвеца', id: 234, level: 26 }, { name: 'седые чикчиры', id: 236, level: 27 }, { name: 'плетёнки', id: 239, level: 32 }, { name: 'зубастая кожа', id: 240, level: 30 }, { name: 'холодные наручи', id: 242, level: 31 }, { name: 'червивы', id: 244, level: 39 }, { name: 'тёплые сандалии', id: 247, level: 36 }, { name: 'шнурок-лекарь', id: 249, level: 38 }, { name: 'холерные наплечники', id: 250, level: 39 }, { name: 'буро-зелёные штаны', id: 252, level: 31 }, { name: 'крылья гиены', id: 254, level: 44 }, { name: 'мраморный мантлет', id: 256, level: 33 }, { name: 'язвенный гиматий', id: 258, level: 41 }, { name: 'цветик', id: 260, level: 33 }, { name: 'жирник', id: 263, level: 35 }, { name: 'бульгово зеркало', id: 265, level: 41 }, { name: 'белокостник', id: 267, level: 34 }, { name: 'базальтовый шар', id: 268, level: 26 }, { name: 'виринки', id: 271, level: 9 }, { name: 'тигриная шкура', id: 272, level: 9 }, { name: 'пятки барбегаза', id: 275, level: 12 }, { name: 'болотная искра', id: 277, level: 2 }, { name: 'диадема зрячего', id: 278, level: 23 }, { name: 'лягушачья кожа', id: 281, level: 24 }, { name: 'луговые наплечники', id: 282, level: 9 }, { name: 'роуч', id: 284, level: 18 }, { name: 'братец-топор', id: 287, level: 28 }, { name: 'золочёная шпага', id: 288, level: 45 }, { name: 'морозная пика', id: 290, level: 41 }, { name: 'тараканий щит', id: 292, level: 12 }, { name: 'гюрзовые ботинки', id: 294, level: 8 }, { name: 'костяной щит', id: 296, level: 15 }, { name: 'снежные наплечники', id: 299, level: 30 }, { name: 'лёгкий коготь', id: 300, level: 2 }, { name: 'горная мантия', id: 303, level: 13 }, { name: 'красный капюшон', id: 304, level: 33 }, { name: 'белая кираса', id: 306, level: 43 }, { name: 'костяной нож', id: 308, level: 1 }, { name: 'мясник', id: 310, level: 44 }, { name: 'ониксовый марион', id: 313, level: 38 }, { name: 'радужная кольчуга', id: 314, level: 38 }, { name: 'крылатое манто', id: 315, level: 11 }, { name: 'гомункуловые перчатки', id: 317, level: 10 }, { name: 'печатка праха', id: 319, level: 46 }, { name: 'амулет смерти', id: 320, level: 46 }, { name: 'тагарин', id: 322, level: 52 }, { name: 'кольцо очарования', id: 324, level: 50 }, { name: 'пушистая шкура', id: 327, level: 48 }, { name: 'лесной оберег', id: 328, level: 50 }, { name: 'глаза мёртвого', id: 330, level: 56 }, { name: 'болотный оберег', id: 333, level: 55 }, { name: 'чёрный плащ', id: 335, level: 45 }, { name: 'шрам атача', id: 336, level: 51 }, { name: 'кисы', id: 338, level: 50 }, { name: 'светящийся глаз', id: 345, level: 61 }, { name: 'шотоковая капелина', id: 347, level: 58 }, { name: 'хрустальная шкура', id: 349, level: 56 }, { name: 'шипованная плеть', id: 351, level: 48 }, { name: 'сапоги мертвеца', id: 354, level: 65 }, { name: 'изгилии', id: 356, level: 61 }, { name: 'кеньги', id: 357, level: 47 }, { name: 'железные копыта', id: 359, level: 53 }, { name: 'каменные чётки', id: 361, level: 54 }, { name: 'костяной цеп', id: 363, level: 60 }, { name: 'чешуйчатые руки', id: 366, level: 45 }, { name: 'сверкающий хлыст', id: 367, level: 40 }, { name: 'заговорённый балахон', id: 370, level: 35 }, { name: 'зоркий камень', id: 372, level: 33 }, { name: 'баклеранер', id: 373, level: 25 } ]); // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/act/group-fight.ts ///<reference path="../../typings.d.ts"/> /* harmony default export */ var group_fight_defaultExport = ({ // 3: {fn: fn, type: 'block'}, // Дневник: Герой убит' // 4: {fn: fn, type: 'block'}, // Дневник: Получить опыт за убийство монстра' // 5: {fn: fn, type: 'block'}, // Журнал: Герой убит' 6: { fn: flightStart(icons_defaultExport.fight, icons_defaultExport.death), type: 'block' }, 7: { fn: flightStart(icons_defaultExport.fight, icons_defaultExport.travel), type: 'block' }, 8: { fn: mobAct(icons_defaultExport.death), type: 'inline' }, 9: { fn: lootEmpty, type: 'block' }, 10: { fn: flightStart(icons_defaultExport.peace), type: 'block' }, 13: { fn: loot(''), type: 'block' }, 14: { fn: loot('drop', ' (нет места)'), type: 'block' }, 15: { fn: flightStart(icons_defaultExport.fight), type: 'block' }, 16: { fn: flightStart(icons_defaultExport.fight, icons_defaultExport.companion), type: 'block' }, }); function flightStart(icon, icon2 = '') { // mob монстр // hero герой // companion? спутник return (phraseData) => { const mob = mobs_defaultExport.filter(m => m.name === phraseData.mob)[0] || ({ level: 'неизвестен', id: 'неизвестен' }); return act_act('', `${icon} ${icon2} ${phraseData.mob} (уровень ${mob.level}) <a href="/guide/mobs/${mob.id}">#</a>`); }; } function mobAct(icon) { // mob монстр // hero герой return (phraseData) => { return act_act('', `${icon} ${phraseData.mob}`); }; } function lootEmpty(phraseData) { // mob монстр // hero герой return act_act('loot empty', `нет добычи`); } function loot(modificator, msg = '') { // mob монстр // hero герой // artifact предмет return (phraseData) => { const artifact = artifacts_defaultExport.filter(m => m.name === phraseData.artifact)[0]; const artifactHtml = artifact ? `<a href="/guide/artifacts/${artifact.id}">${phraseData.artifact}</a>` : phraseData.artifact; return act_act(`loot ${modificator}`, `${icons_defaultExport.loot} <span class="artifact">${artifactHtml}</span>${msg}`); }; } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/act/act-travel.ts ///<reference path="../../typings.d.ts"/> /* harmony default export */ var act_travel_defaultExport = ({ 120001: { fn: travel(icons_defaultExport.travel), type: 'block' }, 120002: { fn: travel(icons_defaultExport.travel), type: 'block' }, 120003: { fn: travel(icons_defaultExport.travelWagon), type: 'block' }, 180001: { fn: rest(icons_defaultExport.rest), type: 'inline' }, 220001: { fn: tradeSell, type: 'inline' }, 80001: { fn: tradeBuy, type: 'inline' }, 80002: { fn: tradeChange, type: 'inline' }, 80003: { fn: tradeChange, type: 'inline' }, }); function tradeSell(phraseData) { // coins количество монет // hero герой // artifact предмет return act_act('trade', `<span class="artifact">${phraseData.artifact}</span>→<span class="coins">${phraseData.coins}${icons_defaultExport.trade}</span>`); } function tradeBuy(phraseData) { // coins количество монет // hero герой // artifact предмет return act_act('trade', `<span class="coins">${phraseData.coins}${icons_defaultExport.trade}→<span class="artifact">${phraseData.artifact}</span></span>`); } function tradeChange(phraseData) { // sell_price цена продажи // hero герой // old_artifact? старый артефакт // coins количество монет // artifact предмет return (tradeSell({ artifact: phraseData.old_artifact || phraseData.artifact, hero: phraseData.hero, coins: phraseData.sell_price, }) + '|' + tradeBuy({ artifact: phraseData.artifact, hero: phraseData.hero, coins: phraseData.coins, })); } function rest(icon) { // hero герой // health количество здоровья return (phraseData) => act_act('positive', `${icon}<span class="heal">${phraseData.health}</span>`); } function travel(icon) { // destination конечное место назначения // hero герой // current_destination текущее место назначения return (phraseData) => act_act('', `${icon} ${phraseData.destination}`); } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/act/act-god-abilities.ts ///<reference path="../../typings.d.ts"/> const CRIT = '!'; /* harmony default export */ var act_god_abilities_defaultExport = ({ // 240002: {fn: test, type: 'block'}, // Журнал: Вызов ремонтника // 240003: {fn: test, type: 'block'}, // Журнал: Вызов ремонтника (критический эффект) // 240004: {fn: test, type: 'block'}, // Журнал: Выкинуть самый дешёвый предмет из рюкзака // 240005: {fn: test, type: 'block'}, // Журнал: Выкинуть самый дешёвый предмет из рюкзака (критическое срабатывание) 240006: { fn: abilityExp(), type: 'block' }, 240008: { fn: abilityHeal(''), type: 'inline' }, 240009: { fn: abilityHeal('', CRIT), type: 'inline' }, 240010: { fn: abilityDamage(), type: 'inline' }, 240011: { fn: abilityDamage(CRIT), type: 'inline' }, 240012: { fn: abilityCoins(), type: 'inline' }, 240013: { fn: abilityCoins(CRIT), type: 'inline' }, 240014: { fn: abilityText('воскрешение'), type: 'block' }, 240015: { fn: abilityMove('телепорт'), type: 'block' }, 240016: { fn: abilityMove('телепорт', CRIT), type: 'block' }, 240017: { fn: abilityMove('начало задания'), type: 'block' }, 240018: { fn: abilityText('запасение энергии'), type: 'block' }, 240019: { fn: abilityText('запасение энергии', CRIT), type: 'block' }, 240020: { fn: abilityHeal(icons_defaultExport.companion), type: 'inline' }, 240021: { fn: abilityHeal(icons_defaultExport.companion, CRIT), type: 'inline' }, 300006: { fn: abilityGiftReturn(), type: 'block' }, }); function abilityText(text, crit = '') { return (phraseData) => act_act('god', `${icons_defaultExport.god}${text}${crit}`); } function abilityGiftReturn() { // hero герой // artifact артефакт return (phraseData) => act_act('god', `${icons_defaultExport.god}${phraseData.artifact}→вернулся ребёнку`); } function abilityMove(text, crit = '') { // hero герой return (phraseData) => act_act('god', `${icons_defaultExport.god}${icons_defaultExport.travel}${text}${crit}`); } function abilityExp(crit = '') { // hero герой // experience количество опыта return (phraseData) => act_act('god', `${icons_defaultExport.god}+${phraseData.experience}${crit} опыта`); } function abilityCoins(crit = '') { // coins количество монет // hero герой return (phraseData) => act_act('god', `${icons_defaultExport.god}${phraseData.coins}${crit}${icons_defaultExport.trade}`); } function abilityHeal(icon, crit = '') { // hero герой // health количество здоровья // companion? спутник return (phraseData) => act_act('god', `${icons_defaultExport.god}${phraseData.health}${crit}${icons_defaultExport.heal}${icon}`); } function abilityDamage(crit = '') { // attacker атакующий // damage количество урона // defender защищающийся return (phraseData) => act_act('god', `${icons_defaultExport.god}<span class="damage">${phraseData.damage}${crit}</span>${icons_defaultExport.hit}`); } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/phraseToHtml.ts ///<reference path="../typings.d.ts"/> const actsByIds = Object.assign({}, group_fight_defaultExport, act_fight_defaultExport, act_travel_defaultExport, act_god_abilities_defaultExport); function actToHtmlShort(act, message) { return `<span title="${details(message)}">${act.fn(message[4 /* PhraseData */])}</span>`; } function actToHtmlDefault(message) { return `<span title="${details(message)}">${message[2 /* PhraseSting */]}</span>`; } function details(message) { const timeSting = message[1 /* TimeSting */]; const phraseSting = message[2 /* PhraseSting */]; const phraseId = message[3 /* PhraseId */]; const phraseData = message[4 /* PhraseData */]; return `[${timeSting}] ${phraseSting}\n${phraseId}: ${JSON.stringify(phraseData).replace(/"/g, '"')}`; } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/tabs/short/ShortMessages.ts /** * @typedef {[number, string, string, number, object]} Message - сообщения журнала из API */ class ShortMessages_ShortMessages { constructor() { this.tab = createTab('кратко'); this.$root = this.tab.$content; this.$list = $(`<ul class="unstyled pgf-log-list"></ul>`).appendTo(this.$root); this.$prevGroup = null; } addMessages(messages) { for (let i = 0; i < messages.length; i++) { const message = messages[i]; this.addMessage(message); } } addMessage(message) { const act = actsByIds[message[3 /* PhraseId */]]; const html = act ? actToHtmlShort(act, message) : actToHtmlDefault(message); const type = act && act.type || 'block'; if (type === 'inline') { if (!this.$prevGroup) { this.$prevGroup = this.createRecord(html, true); } else { this.addToRecord(html, this.$prevGroup); } } else { this.createRecord(html, false); this.$prevGroup = null; } } clear() { this.$list.html(''); } createRecord(html, isShort) { return $(`<li class="log-record ${isShort ? 'ext' : ''}">` + `<div class="time">↓</div>` + `<div class="pgf-message message">` + `<span class="submessage">` + `${html}` + `</span>` + `</div>` + `</li>`).prependTo(this.$list); } addToRecord(html, $record) { $record.find('.submessage').prepend(html); } } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/const/texts.ts ///<reference path="../../typings.d.ts"/> ///<reference path="../../typings.d.ts"/> const PHRASE_ID_TO_TEXT = { 1: 'Стан', 11: 'Горение', 12: 'Яд', 280000: 'Пиромания', 280001: 'Пиромания', 280002: 'Контроль', 280003: 'Удар', 280004: 'Удар', 280005: 'Последний шанс', 280006: 'Ярость', 280007: 'Ядовитость', 280008: 'Регенерация', 280009: 'Ошеломление', 280010: 'Ошеломление', 280011: 'Дезориентация', 280012: 'Ускорение', 280013: 'Сильный удар', 280014: 'Сильный удар', 280015: 'Вампиризм', 280016: 'Вампиризм', 280017: 'Лечение', 280018: 'Безрассудная атака', 280019: 'Безрассудная атака', 580003: 'Спутник увернулся', 580004: 'Спутник ранен', }; const ACTION_TYPE_TEXTS = { [0 /* idle */]: 'безделие', [1 /* quest */]: 'задание', [2 /* walk */]: 'путешествие между городами', [3 /* fight */]: 'сражение 1x1 с монстром', [4 /* dead */]: 'воскрешение', [5 /* city */]: 'действия в городе', [6 /* rest */]: 'отдых', [7 /* equip */]: 'экипировка', [8 /* trade */]: 'торговля', [9 /* nearcity */]: 'путешествие около города', [10 /* energy */]: 'восстановление энергии', [11 /* noeffect */]: 'действие без эффекта на игру', [12 /* proxy */]: 'прокси-действия для взаимодействия героев', [13 /* pvp */]: 'PvP 1x1', [15 /* companionHeal */]: 'уход за спутником', }; // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/tabs/stats/Stats.ts ///<reference path="../../typings.d.ts"/> const statsList = [ 1, 11, 12, 280000, 280001, 280002, 280003, 280004, 280005, 280006, 280007, 280008, 280009, 280010, 280011, 280012, 280013, 280014, 280015, 280016, 280017, 280018, 280019, 580003, 580004, ]; class Stats_Stats { constructor() { this.tab = createTab('статистика'); this.statistics = []; } static drawCellByStat(stat) { if (!stat) return ''; const phraseId = stat.phraseId; const averagePhraseData = {}; Object.keys(stat.phraseData).forEach((key) => { const value = stat.phraseData[key]; if (PHRASE_NUMBER_KEYS.includes(key)) { if (value) { averagePhraseData[key] = Math.round(value / stat.count); } } else { averagePhraseData[key] = value; } }); const cell = `<span title="${stat.example}\n${JSON.stringify(averagePhraseData).replace(/"/g, '"')}">` + `${act_fight_defaultExport[phraseId].fn(averagePhraseData)}x${stat.count}` + `</span>`; return cell; } static drawTotalCount(count, icon = '') { return `<span class="act">${icon}x${count}</span>`; } addToStats(messages) { this.addPhrases(messages); this.drawStats(); } clear() { this.statistics = []; this.tab.$content.html(''); } addPhrases(messages) { for (let i = 0; i < messages.length; i++) { const message = messages[i]; const phraseId = message[3 /* PhraseId */]; if (statsList.includes(phraseId)) { this.addPhrase(message); } } } addPhrase(message) { const phraseSting = message[2 /* PhraseSting */]; const phraseId = message[3 /* PhraseId */]; const phraseData = message[4 /* PhraseData */]; const phraseMeta = message[5 /* PhraseMeta */]; const owner = phraseMeta.owner; const statInList = this.statistics.find(s => s.owner === owner && s.phraseId === phraseId); if (!statInList) { this.statistics.push({ owner: owner, phraseId: phraseId, count: 1, example: phraseSting, phraseData: phraseData, }); } else { statInList.count++; for (let i = 0; i < PHRASE_NUMBER_KEYS.length; i++) { const numberKey = PHRASE_NUMBER_KEYS[i]; const value = phraseData[numberKey]; if (value) { statInList.phraseData[numberKey] = (statInList.phraseData[numberKey] || 0) + value; } } } } drawStats() { const phraseIds = []; for (let i = 0; i < this.statistics.length; i++) { const stat = this.statistics[i]; if (!phraseIds.includes(stat.phraseId)) phraseIds.push(stat.phraseId); } phraseIds.sort((a, b) => a - b); let html = ``; let countMe = 0; let countCompanion = 0; let countMob = 0; for (let i = 0; i < phraseIds.length; i++) { const phraseId = phraseIds[i]; const text = PHRASE_ID_TO_TEXT[phraseId]; const statsMe = this.statistics.find(s => s.owner === 0 /* me */ && s.phraseId === phraseId); const statsCompanion = this.statistics.find(s => s.owner === 2 /* companion */ && s.phraseId === phraseId); const statsMob = this.statistics.find(s => s.owner === 1 /* mob */ && s.phraseId === phraseId); if (statsMe) countMe += statsMe.count; if (statsCompanion) countCompanion += statsCompanion.count; if (statsMob) countMob += statsMob.count; html += `<tr>` + `<th>${text}</th>` + `<td>${Stats_Stats.drawCellByStat(statsMe) + (statsMe && statsCompanion ? `<br>` : '') + Stats_Stats.drawCellByStat(statsCompanion)}</td>` + `<td>${Stats_Stats.drawCellByStat(statsMob)}</td>` + `</tr>`; } html += `<tr>` + `<th>Всего кол-во</th>` + `<td>${Stats_Stats.drawTotalCount(countMe) + (countCompanion ? `<br>${Stats_Stats.drawTotalCount(countCompanion, icons_defaultExport.companion)}` : '')}</td>` + `<td>${Stats_Stats.drawTotalCount(countMob)}</td>` + `</tr>`; const $root = this.tab.$content; $root.html(`<table class="table-stats">` + `<thead>` + `<tr>` + `<td></td>` + `<td>Герой</td>` + `<td>Моб</td>` + `</tr>` + `</thead>` + `<tbody>` + html + `</tbody>` + `</table>` // `<pre>${JSON.stringify(this.statistics, null, 2)}</pre>` ); } } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/notifications/Notifications.ts ///<reference path="../typings.d.ts"/> class Notifications_Notifications { constructor() { this.lastNotifyMessagesText = ''; } static isSameQuest(q1, q2) { return Notifications_Notifications.questTests.every(key => q1[key] === q2[key]); } check(hero, settingsValues) { if (!settingsValues.notify) return; this.checkHero(hero, settingsValues); this.checkQuests(hero.quests.quests, settingsValues); } checkHero(hero, settingsValues) { if (!settingsValues.notify) return; const notifyMessages = []; const minHp = settingsValues.notifyHeroHpLowerValue; if (settingsValues.notifyHeroHp && minHp) { const health = hero.base.health; if (health < minHp) { notifyMessages.push(`Низкое здоровье: ${health} HP`); } } const maxEnergy = settingsValues.notifyHeroEnergyGreaterValue; if (settingsValues.notifyHeroEnergy && maxEnergy) { const energy = hero.energy.value; if (energy > maxEnergy) { notifyMessages.push(`Энергия накопилась: ${energy}`); } } if (settingsValues.notifyHeroIdle) { const actionType = hero.action.type; if (actionType === 0) { notifyMessages.push('Герой бездействует'); } } if (notifyMessages.length) { const notifyMessagesText = notifyMessages.join('\n'); if (notifyMessagesText !== this.lastNotifyMessagesText) { sendNotify(`The Tale Extended - ${storage_defaultExport.heroName}`, { tag: 'send', body: notifyMessagesText, }); } this.lastNotifyMessagesText = notifyMessagesText; } } checkQuests(quests, settingsValues) { const line = quests[1].line; const lineOld = this.lastQuests && this.lastQuests[1] && this.lastQuests[1].line || []; const newLines = []; for (let i = 0; i < line.length; i++) { const q = line[i]; const qOld = lineOld[i]; if (!qOld || !Notifications_Notifications.isSameQuest(q, qOld)) { if (settingsValues.notify && settingsValues.notifyQuestChoose && q.choice_alternatives && q.choice_alternatives.length) { sendNotify(q.name, { tag: 'quest', body: `${storage_defaultExport.heroName} ${q.action}!`, icon: `${window.extPath}img/quest/caravan.png`, addTime: true, }); } newLines.push(q); } } this.lastQuests = quests; } } Notifications_Notifications.questTests = ['action', 'choice', 'name', 'type', 'uid']; // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/auto/Auto.ts ///<reference path="../typings.d.ts"/> class Auto_Auto { constructor() { this.lastquest = ''; } check(hero, settingsValues) { setTimeout(() => { this.checkHero(hero, settingsValues); this.checkQuest(hero, settingsValues); }, 1000); } checkHero(hero, settingsValues) { const actionType = hero.action.type; const actionPercent = hero.action.percents; const energy = hero.energy.value; let energyBonus = settingsValues.autohelpEnergyBonus ? hero.energy.bonus - settingsValues.autohelpEnergyBonusMax : 0; if (energyBonus < 0) energyBonus = 0; if (energy + energyBonus < 4) return; const isFight = actionType === 3 /* fight */; const isRest = actionType < 10 && actionType !== 3 /* fight */; const isBoss = !!hero.action.is_boss; if (settingsValues.autohelpHp && hero.base.health < settingsValues.autohelpHpLowerValue && isFight && (!settingsValues.autohelpHpBoss || isBoss)) { godHelp(`Низкое здоровье: ${hero.base.health}`); return; } const isHeplingCompanion = actionType === 15 /* companionHeal */; if (settingsValues.autohelpCompanion && isHeplingCompanion && hero.companion.health < settingsValues.autohelpCompanionHp) { godHelp(`Низкое здоровье спутника: ${hero.companion.health}`); return; } if (settingsValues.autohelpEnergy && energy > settingsValues.autohelpEnergyGreaterValue && ((settingsValues.autohelpEnergyFight && isFight) || (settingsValues.autohelpEnergyRest && isRest) || (settingsValues.autohelpEnergyWalk && actionType === 2 /* walk */) || (settingsValues.autohelpEnergyTradeMed && (actionType === 8 /* trade */ || actionType === 10 /* energy */)))) { godHelp(`Накопилась энергия: ${energy}`); return; } if (settingsValues.autohelpIdle && actionType === 0 && !isFight && actionPercent > 0 && actionPercent < 0.8) { godHelp('Герой бездействует'); return; } if (settingsValues.autohelpDead && actionType === 4 && !isFight && actionPercent > 0 && actionPercent < 0.8) { godHelp('Герой умер'); return; } const hasCard = !$('.pgf-get-card-button').hasClass('pgf-hidden'); if (settingsValues.autocard && hasCard) { $('.pgf-get-card-button a').trigger('click'); return; } const hasModal = $('.modal-header') && ($('.pgf-dialog-title').text() === 'Вы получаете новую карту!'); if (hasModal) { $('.pgf-dialog-button-0').trigger('click'); return; } return; function godHelp(msg) { const ability = 'help'; console.log(`god ${ability}!`, actionType, msg, Object.assign({}, hero)); if (settingsValues.autohelpNotify) { sendNotify(`The Tale Extended - ${storage_defaultExport.heroName}`, { tag: 'autohelp', body: `Сработала автоматическая помощь ${msg} Текущее действие: ${ACTION_TYPE_TEXTS[actionType]}`, addTime: true, }); } if (!settingsValues.autohelp) { return; } // return; const url = `/game/abilities/${ability}/api/use?api_version=1.0&api_client=${window.API_CLIENT}`; hero.energy.value -= 4; // const csrf = document.head.innerHTML.match(/"X-CSRFToken"[^"]*(".*")/)[1].replace(/"/g, ''); $.ajax({ url, dataType: 'json', type: 'post', // beforeSend: function(xhr) { // xhr.setRequestHeader('X-CSRFToken', csrf); // }, data: {}, }); } } checkQuest(hero, settingsValues) { const selectChoices = { peacePlus: settingsValues.autoquestPeacePlus, peaceMinus: settingsValues.autoquestPeaceMinus, honorPlus: settingsValues.autoquestHonorPlus, honorMinus: settingsValues.autoquestHonorMinus, }; const quests = hero.quests.quests; const line = quests[1].line; for (let i = 0; i < line.length; i++) { const q = line[i]; for (let choiceIndex = 0; choiceIndex < q.choice_alternatives.length; choiceIndex++) { const choiceName = q.choice_alternatives[choiceIndex][1]; const option_uid = q.choice_alternatives[choiceIndex][0]; for (const reward in Auto_Auto.CHOICES) { if (selectChoices[reward] && Auto_Auto.CHOICES.hasOwnProperty(reward) && Auto_Auto.CHOICES[reward].includes(choiceName)) { this.chooseQuest(option_uid, choiceName, settingsValues); } } } } } chooseQuest(uid, name, settingsValues) { if (settingsValues.autoquestNotify && this.lastquest !== name) { this.lastquest = name; sendNotify(`The Tale Extended - ${storage_defaultExport.heroName}`, { tag: 'autoquest', body: `Сделан выбор! \n— ${name}`, addTime: true, icon: `${window.extPath}img/quest/caravan.png`, }); } if (!settingsValues.autoquest) { return; } // const csrf = document.head.innerHTML.match(/("X-CSRFToken")(.*)(".*")/, 'g')[3].replace(/"/g, ''); $.ajax({ url: `/game/quests/api/choose?api_version=1.0&api_client=${window.API_CLIENT}&option_uid=${encodeURIComponent(uid)}`, dataType: 'json', type: 'post', // beforeSend: function(xhr) { // xhr.setRequestHeader('X-CSRFToken', csrf); // }, data: {}, }); } } Auto_Auto.CHOICES = { /* peacefullnes */ peacePlus: [ 'прибегнуть к дипломатии', ], peaceMinus: [ 'задействовать грубую силу', ], honorPlus: [ 'довести дело до конца', 'защищать торговца', 'честно выполнить свои обязательства', ], honorMinus: [ 'поддаться укорам совести и раскрыться', 'шантажировать самостоятельно', 'присвоить письмо и продать', 'украсть-украсть-украсть', 'подделать письмо', ], }; // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/js/utils/fixHtml.ts function fixHtml(isFix) { $('html').toggleClass('ext-html', isFix); } // CONCATENATED MODULE: D:/dev/github/the-tale-ext/source/ext.ts /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ext_css__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ext_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__ext_css__); const tracking = new Tracking_Tracking(); const shortMessages = new ShortMessages_ShortMessages(); const stats = new Stats_Stats(); const settings = new Settings_Settings(); const notifications = new Notifications_Notifications(); const auto = new Auto_Auto(); tracking.onLoad(() => { const pastMessages = tracking.getMessagesLog(); shortMessages.addMessages(pastMessages.slice(pastMessages.length - 1000)); stats.addToStats(pastMessages); }); tracking.onNewMessages(messages => { shortMessages.addMessages(messages); stats.addToStats(messages); }); tracking.onNewTurn(hero => { notifications.check(hero, settings.settingsValues); auto.check(hero, settings.settingsValues); }); settings.onCleanup(() => { tracking.clear(); stats.clear(); shortMessages.clear(); }); fixHtml(settings.settingsValues.extHtml); settings.onNamedSettingChange('extHtml', fixHtml); tracking.setMaxLogLength(settings.settingsValues.maxLogLength); settings.onNamedSettingChange('maxLogLength', tracking.setMaxLogLength); window.ext = { tracking, shortMessages, stats, settings, notifications, }; // CONCATENATED MODULE: ./the-tale-extension.user.js /***/ }), /* 1 */ /***/ (function(module, exports) { module.exports = jQuery; /***/ }), /* 2 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 486.991 486.991\">\r\n <path d=\"M415.143 58.34c3.685-3.79 9.73-3.863 13.516-.178 3.778 3.666 3.86 9.72.177 13.507-.048.046-.13.13-.188.176L303.493 193.588l24.31 26.475L452.25 105.82c12.09-11.092 20.316-25.765 23.478-41.866l11.148-56.81c.382-1.958-.233-3.973-1.643-5.39C483.817.344 481.8-.27 479.843.112L423.035 11.26c-16.1 3.16-30.775 11.39-41.865 23.478L269.426 156.47l24.414 26.596L415.143 58.34zM161.5 274.043l-51.735 56.37c-17.35-12.004-37.024-20.932-58.507-25.38-10.344-2.166-20.437 4.486-22.573 14.83-2.146 10.327 4.495 20.44 14.83 22.574 15.803 3.275 30.29 9.787 43.172 18.45l-71.397 55.42C6.335 423.258.803 433.718.084 445.03c-.71 11.305 3.48 22.377 11.493 30.392 7.424 7.433 17.48 11.566 27.92 11.566.82 0 1.64-.018 2.472-.074 11.313-.71 21.77-6.24 28.72-15.196l54.177-69.793c6.12 10.83 10.746 22.622 13.36 35.223 1.864 9.03 9.81 15.233 18.682 15.233 1.287 0 2.582-.13 3.89-.4 10.335-2.136 16.977-12.248 14.832-22.574-3.805-18.405-11.037-35.4-20.476-50.857l60.092-55.168-53.75-49.34z\"/>\r\n <path d=\"M471.7 416.308l-54.935-42.64-16.464-12.78c12.147-8.17 32.236-15.34 43.174-18.45 10.944-3.114 16.977-12.248 14.832-22.574-2.146-10.345-12.324-17.014-22.575-14.832-8.135 1.688-16.007 4.03-23.618 6.876-12.51 4.672-24.103 11.043-34.888 18.506L105.82 34.738c-11.092-12.09-25.766-20.316-41.864-23.48L7.146.113C6.763.038 6.38 0 5.998 0 4.422 0 2.89.625 1.753 1.754.346 3.17-.27 5.187.114 7.146L11.26 63.954c3.162 16.1 11.39 30.774 23.48 41.865l297.09 272.728c-6.956 11.39-12.47 23.684-16.453 36.753-1.418 4.665-3.022 9.265-4.02 14.106-2.145 10.326 4.496 20.438 14.83 22.574 1.308.27 2.605.4 3.89.4 6.57 0 12.595-3.422 16.056-8.852 1.213-1.902 2.145-4.028 2.63-6.38 2.612-12.6 7.24-24.392 13.358-35.223l11.53 14.85 42.648 54.943c6.95 8.957 17.408 14.487 28.722 15.196 11.305.708 22.38-3.47 30.393-11.492 8.013-8.015 12.2-19.087 11.49-30.393-.717-11.314-6.247-21.772-15.204-28.722zM266.664 266.562c-2.18 2.24-5.772 2.297-8.02.113L58.338 71.845c-.057-.046-.14-.13-.188-.176-3.685-3.79-3.6-9.842.176-13.508 3.79-3.685 9.834-3.61 13.52.177l194.817 200.313c2.127 2.19 2.146 5.7 0 7.91z\"/>\r\n</svg>" /***/ }), /* 3 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 492.904 492.904\">\r\n <path d=\"M246.452.002C110.342.002 0 110.342 0 246.452c0 136.11 110.342 246.45 246.452 246.45s246.452-110.34 246.452-246.45c0-136.11-110.34-246.45-246.452-246.45zm197.16 246.45c0 44.22-14.81 84.942-39.488 117.867L271.097 231.264V51.002C368.2 63.195 443.61 146.108 443.61 246.452zM221.808 441.906c-37.144-4.66-71.115-19.607-98.89-42.022l98.89-98.885v140.907zm49.287-140.923l98.9 98.9c-27.788 22.415-61.757 37.362-98.9 42.022V300.982zM221.81 51.002v180.28L88.774 364.32C64.1 331.395 49.29 290.673 49.29 246.454c0-100.346 75.414-183.26 172.52-195.452z\"/>\r\n</svg>" /***/ }), /* 4 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 290.226 290.226\">\r\n <path d=\"M63.95 243.575c-1.944-3.578-4.4-6.907-7.362-9.87-3.106-3.1-6.626-5.632-10.4-7.63-4.51-2.386-.945-7.5-.945-7.5 4.616-7.022 8.825-14.078 12.305-20.225l-23.363-23.344h-22.68c-4.363 0-7.9-3.54-7.9-7.902 0-4.36 3.537-7.9 7.9-7.9H37.45c2.1 0 4.108.832 5.59 2.312l85.378 85.29c1.483 1.484 2.315 3.496 2.315 5.59v26.073c0 4.364-3.537 7.896-7.9 7.896-4.367 0-7.904-3.53-7.904-7.897v-22.8l-23.27-23.24c-6.282 3.708-13.583 8.253-20.817 13.25 0 0-4.145 2.95-6.892-2.105zM26.61 237.102c-7.106 0-13.784 2.764-18.812 7.784C2.778 249.9.016 256.572.016 263.664c0 7.097 2.764 13.762 7.782 18.776 5.027 5.016 11.706 7.783 18.812 7.785 7.102 0 13.78-2.77 18.804-7.785 5.023-5.015 7.79-11.682 7.79-18.776 0-7.093-2.768-13.764-7.79-18.778-5.022-5.02-11.702-7.784-18.804-7.784zM100.985 182.318c-3.502 3.5-9.232 3.5-12.734 0l-8.81-8.8c-3.5-3.498-3.5-9.223 0-12.72L229.833 10.563c3.502-3.498 10.4-6.727 15.33-7.175L282.024.036c4.93-.448 8.596 3.218 8.148 8.148l-3.346 36.79c-.448 4.93-3.68 11.826-7.182 15.325l-150.4 150.25c-3.502 3.5-9.232 3.5-12.734 0l-8.822-8.812c-3.502-3.498-3.502-9.223 0-12.722l125.92-125.803c1.854-1.848 1.856-4.852.003-6.702-1.847-1.852-4.852-1.852-6.708 0L100.985 182.317z\"/>\r\n</svg>" /***/ }), /* 5 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512.012 512.012\">\r\n <path d=\"M505.756 475.587l-225.26-225.26 14.145-14.143c8.32-8.34 8.32-21.845 0-30.165l-7.636-7.638c13.035-6.656 46.293-8.384 90.453 7.7 5.952 2.156 12.63 1.558 18.112-1.663s9.258-8.726 10.24-15.02c.554-3.307 12.394-81.94-46.892-141.205C299.698-11.048 221.04.792 217.734 1.305c-6.293 1.002-11.797 4.778-15.02 10.26-3.22 5.483-3.84 12.117-1.642 18.09 16.98 46.72 18.54 82.69 13.312 96.108l-7.424-7.424c-3.99-4.012-9.408-6.252-15.083-6.252s-11.072 2.24-15.083 6.25l-58.453 58.454c-4.01 4.01-6.25 9.43-6.25 15.083s2.24 11.093 6.25 15.083l7.425 7.424c-13.42 5.227-49.344 3.67-96.085-13.333-5.952-2.177-12.63-1.558-18.112 1.642-5.483 3.243-9.26 8.747-10.26 15.02-.534 3.306-12.374 81.94 46.91 141.204 41.708 41.728 92.993 48.213 120.897 48.213 11.733 0 19.307-1.153 20.288-1.324 6.293-1.003 11.797-4.757 15.02-10.24 3.22-5.483 3.84-12.117 1.642-18.112-16.043-44.16-14.336-77.44-7.68-90.453l7.637 7.638c4.18 4.16 9.62 6.25 15.083 6.25 5.46 0 10.923-2.09 15.083-6.25l14.144-14.144L475.59 505.752c4.16 4.16 9.62 6.25 15.083 6.25s10.923-2.09 15.083-6.25c8.34-8.34 8.34-21.824 0-30.165z\"/>\r\n</svg>" /***/ }), /* 6 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 533.333 533.333\">\r\n <path d=\"M165.494 533.333C129.95 459.37 148.878 416.99 176.197 377.06c29.917-43.727 37.627-87.012 37.627-87.012s23.518 30.573 14.11 78.39c41.548-46.25 49.39-119.938 43.115-148.16 93.913 65.63 134.05 207.738 79.96 313.055 287.694-162.776 71.56-406.34 33.933-433.775 12.543 27.435 14.922 73.88-10.416 96.42C331.635 33.333 225.583 0 225.583 0c12.543 83.877-45.466 175.596-101.404 244.13-1.966-33.446-4.054-56.525-21.642-88.53-3.948 60.757-50.38 110.284-62.955 171.16C22.55 409.2 52.34 469.562 165.493 533.333z\"/>\r\n</svg>" /***/ }), /* 7 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 611.999 611.999\">\r\n <path d=\"M216.02 611.195c5.978 3.178 12.284-3.704 8.624-9.4-19.866-30.92-38.678-82.947-8.706-149.952 49.982-111.737 80.396-169.61 80.396-169.61s16.177 67.537 60.03 127.586c42.204 57.792 65.305 130.477 28.063 191.028-3.495 5.683 2.668 12.388 8.607 9.35 46.1-23.583 97.806-70.886 103.64-165.018 2.15-28.764-1.075-69.034-17.206-119.85-20.74-64.407-46.24-94.46-60.992-107.366-4.413-3.86-11.276-.44-10.914 5.413 4.3 69.494-21.845 87.13-36.726 47.386-5.943-15.874-9.41-43.33-9.41-76.766 0-55.665-16.15-112.967-51.754-159.53-9.26-12.11-20.093-23.425-32.523-33.074-4.5-3.494-11.024.018-10.612 5.7 2.734 37.736.257 145.885-94.624 275.09-86.03 119.85-52.693 211.895-40.864 236.825 22.616 47.76 54.162 75.806 84.97 92.187z\"/>\r\n</svg>" /***/ }), /* 8 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 383.344 383.345\">\r\n <path d=\"M273.217 106.9C246.037 62.034 215.804 23.205 200.2 4.052 198.114 1.488 194.98 0 191.674 0c-3.308 0-6.44 1.49-8.53 4.054-15.6 19.16-45.833 58-73.014 102.87-35.03 57.822-52.79 105.63-52.79 142.09 0 74.07 60.26 134.33 134.332 134.33s134.332-60.26 134.332-134.33c0-36.485-17.758-84.3-52.787-142.115zm-63.11 226.968c-7.845 2.006-15.987 3.022-24.206 3.022-50.185 0-91.014-37.93-91.014-84.55 0-11.255 2.97-24.405 8.825-39.083.99-2.48 3.808-3.895 6.586-3.295 2.776.598 4.64 3.018 4.354 5.65-.342 3.148-.516 6.223-.516 9.136 0 50.735 40.88 93.22 95.093 98.82 2.698.28 4.803 2.298 5.018 4.813.216 2.516-1.522 4.818-4.14 5.488z\"/>\r\n</svg>" /***/ }), /* 9 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 264.695 264.695\">\r\n <path d=\"M219.17 216.785c-4.76 0-10.32 2.3-16.67 6.88L167.287 210.7l35.734-12.978c6.003 3.888 11.558 5.833 16.682 5.833 5.64 0 9.347-2.917 11.117-8.733.352-1.235.528-2.57.528-3.98 0-7.398-4.766-11.38-14.295-11.9 3.876-3.883 5.828-7.688 5.828-11.393 0-3.87-2.038-7.15-6.09-9.797-2.12-1.05-4.326-1.584-6.616-1.584-7.77 0-13.064 6.258-15.887 18.797l-61.94 23.04-61.94-22.505c-2.824-12.885-8.126-19.332-15.886-19.332-2.292 0-4.5.535-6.62 1.584-3.875 2.647-5.82 5.926-5.82 9.797 0 3.705 1.945 7.51 5.82 11.392-9.7.52-14.554 4.502-14.554 11.9 0 1.41.18 2.746.526 3.98 1.946 5.816 5.65 8.733 11.122 8.733 5.113 0 10.67-1.945 16.677-5.832l36 12.978-35.477 12.698c-6.175-4.406-11.637-6.61-16.402-6.61-5.653 0-9.622 2.917-11.918 8.732-.348 1.235-.526 2.553-.526 3.975 0 7.405 4.853 11.385 14.555 11.907-3.875 3.883-5.82 7.688-5.82 11.393 0 3.87 1.945 7.134 5.82 9.797 2.478 1.412 4.855 2.105 7.154 2.105 7.227 0 12.443-6.176 15.62-18.525l61.672-22.504 61.678 22.504c3.178 12.35 8.475 18.525 15.882 18.525 2.12 0 4.407-.693 6.884-2.105 4.052-2.663 6.092-5.928 6.092-9.797 0-3.705-1.953-7.51-5.828-11.393 9.528-.522 14.295-4.502 14.295-11.907 0-1.422-.178-2.74-.528-3.975-2.12-5.816-6.002-8.733-11.65-8.733z\"/>\r\n <path d=\"M48.436 128.904c9.703 11.114 23.38 19.242 41.035 24.346v3.986c0 4.936 1.673 9.086 5.026 12.433 3.35 3.357 7.498 5.21 12.44 5.562 5.117.357 8.906-.528 11.38-2.646 3.878 2.817 8.203 4.23 12.973 4.23 4.41 0 8.473-1.317 12.174-3.964 2.47 1.934 6.087 2.738 10.856 2.38 4.937-.527 9.09-2.425 12.44-5.688 3.35-3.28 5.025-7.37 5.025-12.307v-2.91c19.057-4.945 33.795-13.237 44.21-24.898 10.06-11.11 15.087-24.254 15.087-39.436 0-3.36-.355-6.886-1.063-10.597-3.526-22.57-13.94-41.2-31.23-55.844C180.612 7.856 158.464 0 132.347 0c-26.123 0-48.27 7.767-66.44 23.282C48.61 38.118 38.29 56.825 34.937 79.396c-.71 3.71-1.064 7.238-1.064 10.597 0 14.824 4.85 27.785 14.563 38.91zm104.43-68.155c5.205-6.086 11.513-9.13 18.92-9.13 7.593 0 13.987 3.044 19.195 9.13 5.2 6.075 7.81 13.445 7.81 22.086 0 8.65-2.608 16.02-7.81 22.108-5.207 6.097-11.602 9.13-19.193 9.13-7.408 0-13.716-3.033-18.922-9.13-5.21-6.087-7.814-13.46-7.814-22.108 0-8.64 2.604-16.01 7.815-22.087zm-28.06 60.678c2.555-3.307 5.064-4.968 7.54-4.968 2.47 0 4.803 1.83 7.013 5.51 2.204 3.66 3.316 7.144 3.316 10.468 0 5.062-3.36 7.58-10.067 7.58-4.415 0-7.678-1.135-9.793-3.395-1.237-1.41-1.85-3.147-1.85-5.25.002-3.308 1.278-6.62 3.838-9.945zm-53.34-60.68c5.294-6.084 11.65-9.13 19.058-9.13 7.406 0 13.762 3.046 19.06 9.13 5.296 6.077 7.948 13.447 7.948 22.088 0 8.65-2.65 16.02-7.948 22.108-5.297 6.097-11.654 9.13-19.06 9.13-7.41 0-13.764-3.033-19.06-9.13-5.29-6.087-7.943-13.46-7.943-22.108 0-8.64 2.653-16.01 7.945-22.087z\"/>\r\n</svg>" /***/ }), /* 10 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 297.288 297.288\">\r\n <path d=\"M.207 83.397c8.326 37.91 36.12 147.72 36.12 147.72 1.455 5.892 6.74 9.964 12.743 9.964.262 0 .524-.017.79-.032 6.322-.377 11.475-5.22 12.25-11.505l9.982-80.853 13.583 9.816c4.592 3.32 10.793 3.32 15.388 0l20.256-14.643 20.255 14.642c2.297 1.66 4.995 2.49 7.693 2.49 2.697 0 5.396-.83 7.692-2.49l20.26-14.644 20.26 14.646c4.593 3.318 10.796 3.318 15.387 0l12.602-9.107 9.9 80.28c.774 6.286 5.93 11.124 12.252 11.5.265.017.526.024.787.024 6.003 0 11.29-4.093 12.743-9.986 0 0 27.42-110.076 35.896-146.174 1.657-7.062-5.69-14.236-12.943-14.236H13.374c-7.252 0-14.722 5.506-13.167 12.59zm44.56 72.635L30.142 96.807h21.934l-7.31 59.224zm160.41-24.374l-20.264-14.644c-4.593-3.32-10.795-3.32-15.386 0l-20.26 14.643-20.255-14.642c-4.594-3.32-10.795-3.32-15.388 0L93.37 131.658l-17.606-12.545 2.776-22.306h140.4l2.86 23.017-16.624 11.836zm47.54 24.448l-7.313-59.3h21.94l-14.628 59.3zM78.41 271.02c-3.456 0-6.84 1.394-9.286 3.84-2.444 2.444-3.848 5.83-3.848 9.294 0 3.455 1.403 6.84 3.848 9.284 2.445 2.445 5.83 3.85 9.285 3.85 3.452 0 6.836-1.404 9.28-3.85 2.445-2.444 3.85-5.83 3.85-9.283 0-3.464-1.404-6.85-3.85-9.294-2.444-2.444-5.83-3.837-9.282-3.837z\"/>\r\n <path d=\"M100.046 179.227c-3.454 0-6.84 1.405-9.284 3.85-2.444 2.445-3.85 5.828-3.85 9.283 0 3.456 1.405 6.84 3.85 9.284 2.445 2.444 5.83 3.85 9.284 3.85 3.455 0 6.84-1.405 9.283-3.85 2.444-2.444 3.85-5.828 3.85-9.284 0-3.455-1.405-6.838-3.85-9.283-2.446-2.445-5.83-3.85-9.285-3.85zm96.294-41.205c-3.455 0-6.84 1.404-9.285 3.85-2.444 2.443-3.85 5.827-3.85 9.283 0 3.455 1.405 6.84 3.85 9.283 2.445 2.445 5.83 3.85 9.284 3.85 3.453 0 6.837-1.404 9.28-3.85 2.446-2.444 3.85-5.828 3.85-9.283 0-3.456-1.403-6.84-3.85-9.284-2.443-2.443-5.827-3.847-9.282-3.847zm43.277 93.252c-3.455 0-6.84 1.403-9.284 3.848-2.444 2.445-3.85 5.83-3.85 9.285s1.405 6.838 3.85 9.284c2.444 2.446 5.84 3.85 9.284 3.85 3.455 0 6.84-1.403 9.283-3.85 2.455-2.444 3.85-5.827 3.85-9.282s-1.405-6.84-3.85-9.285c-2.444-2.445-5.828-3.848-9.283-3.848z\"/>\r\n</svg>" /***/ }), /* 11 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\r\n <path d=\"M231.97 25.5c-82.09.7-162.87 37.735-213.314 103.625 26.08-22.208 57.052-38.305 90.063-47.5-62.24 53.704-94.583 139.09-79.626 225.28 1.09-28.258 7.8-55.66 19.28-80.655 1.154 51.488 18.492 102.143 52.22 143.344-38.003-76.004-22.756-193.02 39.844-240.313 11.657-5.955 24.047-10.833 37.093-14.436C284.597 85.27 394.467 151.13 423.157 261.5c16.562 63.723 2.315 128.343-33.25 177.313-4.68 4.68-9.852 8.942-15.47 12.875-5.947-1.8-11.324-4.187-16.03-7.22-12.01-7.737-19.51-19.947-20.656-33.624-2.096-24.99 14.13-53.014 46.53-80.53l-29.717-22.095c-16.038 39.73-38.954 61.946-64.188 65.186-13.836 1.777-27.648-2.677-39.03-11.844-8.41-6.77-15.634-16.017-21.5-27.406-16.69 19.306-20.72 43.155-16 67.28 5.483 28.04 23.502 55.683 47.28 72.252 21.973 15.312 49.595 21.202 74.813 16.375 9.043-1.732 17.75-4.832 25.843-9.344 18.055-8.925 34.396-20.126 47.25-35 65.17-57.975 96.26-151.12 72.47-242.658C453.52 95.415 358.743 24.782 255.47 25.875c-1.612.017-3.23.042-4.845.094-6.22-.368-12.44-.523-18.656-.47zm-90.657 145.125c-12.53-.06-18.07 15.934-6.063 23.656l188.688 133.032c4.29-6.45 8.42-14.145 12.25-23.187L150.968 173.53c-3.503-2.022-6.764-2.89-9.655-2.905z\"/>\r\n</svg>" /***/ }), /* 12 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\r\n <path d=\"M221.313 16a23.682 23.695 0 0 0-23.688 23.688v106.406a23.682 23.695 0 0 0 2.156 9.72 23.682 23.695 0 0 0 3.157 13.81l41.75 71.626-79 55.438 6.094-48.625a23.682 23.695 0 0 0-8.186-20.97l-66.28-81.937a23.682 23.695 0 0 0-33.314-3.5l-9.188 7.438a23.682 23.695 0 0 0-3.53 33.344l59.78 73.906-11.25 89.937a23.682 23.695 0 0 0 12.47 23.876l37.468 53.47a23.695 23.682 1.57 0 0 2.344 2.812 23.682 23.695 0 0 0 13.594 20.062L262 491.53a23.682 23.695 0 0 0 9.97 2.22 23.682 23.695 0 0 0 23.53-2.063l87.156-60.937a23.682 23.695 0 0 0 5.844-33l-6.78-9.688a23.682 23.695 0 0 0-32.97-5.875l-72.406 50.657-59.063-27.625 120.595-84.626a23.695 23.682 1.57 0 0 5.53-5.5 23.682 23.695 0 0 0 14.626-13.594l37.22-91.53 87.813-44.845a23.694 23.682 1.18 0 0 10.312-31.875L488 122.687a23.694 23.682 1.18 0 0-31.875-10.343l-94.688 48.375a23.694 23.682 1.18 0 0-9.843 9.436 23.682 23.695 0 0 0-8.344 10.47l-27.375 67.31-5.22-7.436a23.682 23.695 0 0 0-3-8.844l-50.81-87.094V39.688A23.682 23.695 0 0 0 233.154 16h-11.843zM77.75 376A59.994 60 0 0 0 16 436a59.994 60 0 1 0 120 0 59.994 60 0 0 0-58.25-60z\"/>\r\n</svg>" /***/ }), /* 13 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 265.2 459\">\r\n <path d=\"M265.2 423.3L71.4 229.5 214.2 86.7V204h51V0h-204v51h117.3L0 229.5 229.5 459\"/>\r\n</svg>" /***/ }), /* 14 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\r\n <path d=\"M495.664 318.553l-17.338-31.233-67.478 37.458-24.212-13.98 24.58-12.152-15.833-32.02-45.925 22.71-29.963-17.3c1.298-5.134 1.993-10.504 1.993-16.036s-.695-10.902-1.993-16.035l29.963-17.3 45.925 22.71 15.833-32.02-24.58-12.155 24.212-13.98 67.478 37.46 17.338-31.232-48.74-27.056 39.708-22.924-17.86-30.934-39.707 22.924.938-55.737-35.716-.6-1.298 77.168-24.213 13.98 1.765-27.363-35.647-2.3-3.297 51.127-30.004 17.323c-7.675-7.455-17.163-13.044-27.733-16.046v-34.612l42.63-28.42-19.815-29.723-22.814 15.21V87.507L340.04 47.8l-18.38-30.63-47.8 28.68V0h-35.72v45.85l-47.8-28.68-18.38 30.63 66.18 39.708v27.956l-22.814-15.21-19.814 29.722 42.628 28.42v34.61c-10.57 3.003-20.057 8.592-27.733 16.047l-30.004-17.323-3.297-51.126-35.647 2.3 1.764 27.36-24.212-13.978-1.298-77.167-35.716.6.938 55.736-39.707-22.923-17.86 30.934 39.706 22.924-48.74 27.058 17.34 31.23 67.477-37.457 24.212 13.98-24.58 12.154 15.833 32.02 45.925-22.71 29.963 17.3c-1.298 5.134-1.993 10.504-1.993 16.036s.695 10.902 1.993 16.035l-29.963 17.3-45.925-22.71-15.833 32.02 24.58 12.154-24.212 13.978-67.48-37.458-17.337 31.23 48.74 27.057-39.708 22.926 17.86 30.934 39.707-22.924-.938 55.737 35.716.6 1.298-77.167 24.213-13.98-1.765 27.363 35.647 2.3 3.297-51.127 30.004-17.324c7.675 7.455 17.163 13.044 27.733 16.046v34.61l-42.63 28.42 19.815 29.722 22.814-15.208v27.956L171.96 464.2l18.378 30.63 47.8-28.68V512h35.722v-45.85l47.8 28.68 18.38-30.63-66.18-39.708v-27.956l22.814 15.21 19.814-29.722-42.628-28.42v-34.61c10.57-3.003 20.057-8.592 27.733-16.047l30.004 17.323 3.297 51.126 35.647-2.3-1.764-27.36 24.212 13.978 1.298 77.167 35.716-.6-.938-55.736 39.707 22.924 17.86-30.934-39.706-22.924 48.74-27.057z\"/>\r\n</svg>" /***/ }), /* 15 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\r\n <path d=\"M164.188 40.375c-168.48 35.59-220.94 167.97-17 187.47-13.147 35.014-21.172 74.948-22.22 114.218-35.694 33.01-59.593 66.343-59.593 66.343l47.72 47.72-39.345 26.218h113.28c-73.368-73.383-21.278-104.5 65.626-104.5 88.096 0 134.175 35.905 65.594 104.5h114.5l-40.563-26.22 47.72-47.718s-22.25-31.027-55.844-62.844c-.65-40.39-8.807-81.663-22.344-117.718 203.953-19.496 151.482-151.878-17-187.47-40.813 30.863 6.55 79.75 43.717 44.626 36.908 54.048 8.752 99.845-71.937 65.594-.02-.022-.042-.04-.063-.063-9.66 28.054-33.333 48.47-61.968 48.47-28.637 0-52.332-20.416-62-48.47l-.064.064C111.736 184.826 83.596 139.042 120.5 85c37.168 35.125 84.5-13.763 43.688-44.625zm90.28 24.063c-25.736 0-48 25.088-48 57.937 0 32.85 22.264 57.938 48 57.938 25.738 0 47.97-25.086 47.97-57.938 0-32.852-22.232-57.938-47.97-57.938z\"/>\r\n</svg>" /***/ }), /* 16 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\r\n <path d=\"M169.53 16.344L259.345 88 337 92.28l-1.03 18.657-161.376-8.906-118.78-4.904 227.28 68.03-197.72 246.75-14.53-17.655-49.22 96.626 248.69-202.78 51.81 11.592-38.78 40.594L270.5 329.5l-57.28 84.125L444.843 273.47 328 241.06l100.22-81.718c1.132.46 2.3.898 3.5 1.22 23.324 6.248 49.764-16.835 59.06-51.533 9.298-34.696-2.08-67.875-25.405-74.125-23.325-6.25-49.765 16.802-59.063 51.5-1.467 5.476-2.403 10.918-2.875 16.22L169.53 16.343z\"/>\r\n</svg>" /***/ }), /* 17 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 209.841 209.841\">\r\n <path d=\"M209.572 57.2c2.77-26.837-16.525-41.194-27.115-45.036-2.348-.854-5.24-.063-6.402 2.15-1.134 2.16-.8 4.6 1.106 6.065.552.878 3.11 5.73 2.414 19.116-.13 2.48-.472 9.068-13.93 9.07-1.47 0-2.824-.09-3.93-.2-.957-2-2.527-4.618-4.926-8.26-3.986-6.054-10.233-9.253-18.067-9.253-4.53 0-9.62 1.157-13.967 3.175-4.647 2.158-15.527 3.447-19.834 3.81-4.308-.362-15.187-1.65-19.834-3.81-4.346-2.018-9.437-3.175-13.968-3.175-7.834 0-14.08 3.2-18.067 9.252-2.397 3.643-3.968 6.262-4.926 8.26-1.105.11-2.46.2-3.93.2-13.457 0-13.8-6.59-13.93-9.07C29.57 26.11 32.128 21.26 32.68 20.38c1.907-1.466 2.24-3.906 1.106-6.065-1.162-2.213-4.052-3.005-6.402-2.15C16.794 16.004-2.5 30.364.27 57.2 2.185 75.776 10.485 83.244 17.58 86.198c-5.747 5.5-11.913 12.858-12.09 19.237-.123 4.396 1.027 7.87 3.417 10.328 2.53 2.602 6.18 3.866 11.16 3.866 2.266 0 4.866-.256 7.95-.78 7.076-1.204 14.068-2.94 18.456-4.112 2.317 6.3 6.745 17.98 10.533 25.902 4.03 8.428 5.998 16.358 6.57 18.91-.758 4.618-2.663 20.932 6.328 29.922 7.06 7.06 20.983 8.542 31.42 8.542 1.763 0 3.045-.05 3.592-.075.548.025 1.83.075 3.59.075 10.44 0 24.364-1.482 31.423-8.542 8.99-8.99 7.086-25.303 6.328-29.92.574-2.56 2.542-10.486 6.572-18.912 3.788-7.922 8.216-19.602 10.533-25.902 4.388 1.173 11.38 2.907 18.456 4.11 3.085.526 5.686.782 7.95.782 4.98 0 8.632-1.265 11.162-3.866 2.39-2.457 3.54-5.932 3.418-10.33-.178-6.377-6.344-13.735-12.09-19.235 7.096-2.954 15.395-10.42 17.312-28.997zM59.048 101.576c0-4.13 1.86-7.97 5.106-10.54 1.89-1.5 4.578-1.433 6.396.153l12.5 10.927c1.816 1.588 2.24 4.245 1.01 6.318-2.417 4.065-6.847 6.59-11.562 6.59-7.416.002-13.45-6.033-13.45-13.45zm25.42 82.566c-.9.35-1.843.527-2.804.527-4.59 0-8.6-3.99-9.976-9.93-1.582-6.825.796-13.148 5.654-15.035.9-.35 1.845-.527 2.804-.527 4.59 0 8.6 3.99 9.976 9.93 1.582 6.824-.796 13.147-5.654 15.034zm53.83-9.402c-1.377 5.938-5.386 9.93-9.976 9.93-.96 0-1.904-.178-2.805-.528-4.857-1.886-7.235-8.21-5.653-15.034 1.377-5.938 5.386-9.93 9.976-9.93.96 0 1.902.178 2.803.527 4.86 1.887 7.237 8.21 5.655 15.035zm-.955-59.713c-4.715 0-9.145-2.525-11.56-6.59-1.232-2.074-.81-4.73 1.007-6.32l12.5-10.927c1.818-1.586 4.507-1.652 6.397-.154 3.245 2.57 5.106 6.412 5.106 10.54 0 7.416-6.034 13.45-13.45 13.45z\"/>\r\n</svg>" /***/ }), /* 18 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 69.406 69.407\">\r\n <path d=\"M32.95 34.21H3.84c-1.138 0-2.163-.686-2.597-1.74-.43-1.053-.178-2.25.63-3.054L26.1 5.604H3.84c-1.55 0-2.8-1.267-2.8-2.802C1.04 1.248 2.29 0 3.84 0h29.11c1.136 0 2.163.69 2.592 1.743.432 1.053.18 2.252-.627 3.053L10.687 28.61H32.95c1.545 0 2.802 1.26 2.802 2.802 0 1.55-1.262 2.8-2.803 2.8zm32.612 5.757H51.85l15.687-15.42c.812-.807 1.05-2 .63-3.053-.43-1.053-1.466-1.747-2.604-1.747H44.995c-1.538 0-2.802 1.255-2.802 2.8 0 1.536 1.264 2.803 2.802 2.803h13.72L43.028 40.766c-.818.81-1.058 1.998-.627 3.054.434 1.062 1.456 1.75 2.595 1.75H65.56c1.55 0 2.803-1.258 2.803-2.8 0-1.545-1.253-2.803-2.8-2.803zM33.935 63.804H24.37L35.9 52.477c.814-.8 1.06-2.01.63-3.063-.432-1.052-1.46-1.74-2.596-1.74h-16.41c-1.547 0-2.803 1.257-2.803 2.8s1.257 2.803 2.804 2.803h9.565L15.556 64.602c-.812.81-1.06 1.998-.627 3.054.43 1.056 1.456 1.75 2.595 1.75h16.41c1.548 0 2.802-1.258 2.802-2.8s-1.243-2.802-2.802-2.802z\"/>\r\n</svg>" /***/ }), /* 19 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 329.928 329.928\">\r\n <path d=\"M232.478 13.406c-24.56 0-48.827 9.248-67.51 25.28-18.69-16.033-42.957-25.28-67.517-25.28C42.807 13.406 0 56.212 0 110.856c0 66.056 45.99 106.43 115.604 167.544 5.95 5.224 12.09 10.614 18.41 16.202l.13.115 21.02 18.155c2.815 2.433 6.31 3.65 9.805 3.65s6.99-1.218 9.806-3.65l21.014-18.155.13-.114c41.606-36.796 72.8-64.966 95.37-92.44 26.36-32.088 38.638-61.1 38.638-91.305 0-54.646-42.805-97.452-97.45-97.452zM176.113 272.07l-11.146 9.63-11.143-9.626c-6.325-5.593-12.472-10.99-18.43-16.22C69.672 198.157 30 163.33 30 110.858c0-38.454 28.998-67.45 67.45-67.45 20.926 0 42.408 10.03 56.066 26.175 2.85 3.37 7.04 5.313 11.454 5.313 4.414 0 8.603-1.944 11.453-5.315 13.652-16.145 35.13-26.174 56.056-26.174 38.45 0 67.448 28.997 67.448 67.45 0 49.296-44.74 91.28-123.815 161.214z\"/>\r\n <path d=\"M184.964 94.964h-40v40h-40v40h40v40h40v-40h40v-40h-40\"/>\r\n</svg>" /***/ }), /* 20 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\r\n <path d=\"M494 20L304.887 143.357c16.494 14.608 32.743 22.57 44.963 36.97zM298.346 93.594c-12.58.436-26.59 4.984-38.047 11.77-7.64 4.523-14.115 9.97-18.304 15.142-4.19 5.173-5.79 9.832-5.648 12.668l.283 5.73-5.075 2.676C133.713 193.16 80.945 250.727 18 310.594V494h166.047c6.145-15.424 12.724-33.898 15.086-47.535 1.728-9.977-2.783-21.807-8.23-35.244-5.444-13.436-11.85-28.706-7.63-45.423 3.49-13.827 14.375-25.752 24.096-35.656 4.45-4.534 8.71-8.463 12.075-11.445-6.558-8.577-14.065-20.315-16.51-34.894l17.75-2.978c2.68 15.976 15.203 28.533 22.8 39.24l-.323.23c10.54 14.634 18.892 28.395 30.72 37.546 13.358 10.337 31.484 16.39 66.526 11.49l6.658-.932 2.782 6.124c6.96 15.322 14.372 23.89 21.015 28.423 6.643 4.535 12.63 5.46 18.692 4.79 12.125-1.34 24.29-10.974 27.76-14.264 4.13-3.92 9.657-9.476 13.32-16.124 3.347-6.076 5.073-12.687 3.48-20.744-42.68-37.562-69.592-108.75-90.256-152.6-9.245-19.62-35.786-34.492-52.967-47.95-2.427-1.4-2.675-2.582-3.24-5.154-4.215-19.167 3.188-40.257 10.974-57.298-.096.002-.186-.01-.28-.006zM59.352 136.55c17.863 4.925 37.775 9.665 57.406 14.815 14.803 3.883 29.26 7.935 42.406 12.766 17.914-12.178 37.407-24.123 59.072-35.77-51.62-13.3-109.928-3.148-158.884 8.19zm28.738 26.126c-23.002 4.133-45.974 10.254-67.147 16.662 18.133 3.813 38.298 7.314 58.207 11.242 11.774 2.323 23.337 4.766 34.256 7.643a686.475 686.475 0 0 1 27.403-21.15c-9.044-2.932-18.71-5.698-28.62-8.298-7.952-2.086-16.043-4.098-24.1-6.1zM47.44 202.94c-9.875 2.096-19.728 4.582-29.44 7.29v18.04a2251.165 2251.165 0 0 1 20.172 3.146c10.505 1.7 20.847 3.498 30.734 5.625 8.836-8.185 17.887-16.322 27.268-24.397-6.64-1.56-13.52-3.024-20.508-4.403-9.32-1.838-18.81-3.566-28.227-5.3zM304 224c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zM18 246.512v26.58c4.16.195 8.28.425 12.342.71 7.44-7.2 14.878-14.384 22.387-21.538a604.747 604.747 0 0 0-17.433-3.078A1501.67 1501.67 0 0 0 18 246.512z\"/>\r\n</svg>" /***/ }), /* 21 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\r\n\t<path d=\"M18.465 20.182v192.9c38.45 80.782 55.772 134.822 150.726 221.098l.167.15.16.158c3.06 3.06 5.89 3.828 10.14 3.455 4.247-.373 9.65-2.494 14.738-5.912 9.313-6.256 16.457-17.503 17.67-22.266l-56.06-56.065 13.214-13.216 62.94 62.944c1.316 1.316 2.67 1.804 6.508 1.115 3.838-.69 9.267-3.1 14.61-6.78 10.098-6.954 19.75-18.663 22.835-26.454l-56.02-56.02 13.216-13.216 63.667 63.67c19.495-3.225 35.412-16.64 41.65-32.52l.756.296-71.514-71.516 13.214-13.215L447.81 415.52c7.58 7.58 14.7 9.95 21.032 9.853 6.33-.096 12.216-2.88 16.62-7.41 8.805-9.06 12.096-23.49-2.255-37.84L259.97 156.88l13.214-13.214 33.08 33.08c46.988-3.724 84.773-17.932 102.148-33.6 8.914-8.04 12.147-15.414 11.424-22.306-.644-6.142-5.172-13.675-15.865-21.79-52.33 22.22-109.035 19.23-162.685 2.538-54.338-16.908-105.852-47.735-148.47-81.406h-74.35z\"/>\r\n</svg>" /***/ }), /* 22 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\r\n <path d=\"M8 2.313c3.15 0 5.688 2.537 5.688 5.687 0 3.15-2.538 5.688-5.688 5.688S2.312 11.15 2.312 8 4.85 2.312 8 2.312zM8 1C4.15 1 1 4.15 1 8s3.15 7 7 7 7-3.15 7-7-3.15-7-7-7z\"/>\r\n <path d=\"M9.662 10.012c-.437.35-1.05.613-1.662.613-1.487 0-2.625-1.137-2.625-2.625 0-1.487 1.138-2.625 2.625-2.625.7 0 1.4.263 1.837.787L10.8 5.2c-.7-.7-1.75-1.138-2.8-1.138-2.188 0-3.938 1.75-3.938 3.938S5.813 11.938 8 11.938c.963 0 1.75-.35 2.45-.876z\"/>\r\n</svg>" /***/ }), /* 23 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 488.683 488.683\">\r\n <path d=\"M478.467 376.122l-58.143-58.19c-14.212-14.218-27.14-29.663-38.648-46.16L253.872 88.378c-2.153-3.087-5.68-4.93-9.45-4.93-3.765 0-7.292 1.842-9.444 4.93l-127.81 183.36c-11.518 16.513-24.463 31.982-38.706 46.216l-58.08 58.087c-8.526 8.53-12.058 20.86-9.32 32.6l15.92 68.343c1.22 5.213 5.857 8.9 11.204 8.9h173.7l42.553-220.375 42.54 220.377h173.665c5.35 0 9.985-3.688 11.205-8.9l15.92-68.272c2.74-11.743-.776-24.063-9.303-32.593zM60.264 120.473c18.454 0 34.895-8.325 45.94-21.39.812-.956.966-2.31.398-3.425-.568-1.116-1.756-1.78-3.023-1.684-1.363.11-2.753.165-4.147.165-33.28 0-60.264-26.983-60.264-60.263 0-9.56 2.28-18.57 6.25-26.587.554-1.124.398-2.468-.428-3.41-.822-.952-2.117-1.315-3.305-.936C17.505 10.78 0 33.426 0 60.21c0 33.28 26.982 60.263 60.264 60.263zM155.23 45.522c.398.38.588.936.493 1.472l-2.185 12.692c-.11.626.143 1.26.663 1.63.51.372 1.19.42 1.76.128l11.393-5.997c.492-.254 1.06-.254 1.553 0l11.393 5.997c.57.292 1.25.244 1.758-.127.52-.372.774-1.005.663-1.63l-2.183-12.693c-.096-.536.095-1.09.492-1.472l9.206-8.99c.445-.434.62-1.097.413-1.7-.192-.6-.712-1.044-1.348-1.13L176.58 31.85c-.552-.08-1.013-.42-1.25-.91l-5.713-11.544c-.27-.57-.854-.927-1.485-.927-.636 0-1.22.357-1.49.926l-5.71 11.545c-.24.49-.7.83-1.252.91l-12.723 1.85c-.636.088-1.156.53-1.347 1.133-.206.602-.03 1.265.413 1.7l9.207 8.99zM333.158 56.348c.392.38.567.934.488 1.472l-2.185 12.69c-.106.626.144 1.26.668 1.63.505.372 1.188.42 1.756.128l11.395-5.998c.488-.254 1.06-.254 1.55 0l11.395 5.998c.567.292 1.247.244 1.755-.127.52-.37.775-1.004.664-1.63l-2.186-12.69c-.075-.538.096-1.092.493-1.472l9.212-8.99c.44-.434.6-1.1.41-1.7-.188-.603-.712-1.046-1.344-1.133l-12.725-1.85c-.553-.08-1.014-.42-1.248-.91L347.54 30.22c-.267-.57-.854-.925-1.486-.925-.635 0-1.22.355-1.49.925l-5.71 11.545c-.24.49-.696.83-1.252.91l-12.723 1.85c-.633.087-1.156.53-1.348 1.132-.187.602-.03 1.267.413 1.702l9.213 8.988zM411.48 203.222c.392.38.583.936.487 1.472l-2.185 12.693c-.11.625.143 1.26.667 1.63.504.372 1.183.42 1.755.127l11.392-5.998c.493-.254 1.06-.254 1.554 0l11.393 5.998c.57.292 1.25.245 1.76-.127.52-.37.774-1.005.663-1.63l-2.185-12.693c-.095-.536.096-1.09.493-1.472l9.21-8.988c.442-.435.617-1.1.41-1.7-.19-.602-.71-1.045-1.346-1.132l-12.723-1.85c-.553-.08-1.014-.42-1.252-.91l-5.71-11.546c-.272-.57-.855-.927-1.487-.927-.635 0-1.22.356-1.49.926l-5.71 11.545c-.24.492-.696.83-1.252.91l-12.723 1.852c-.636.087-1.155.53-1.347 1.132-.206.602-.03 1.265.414 1.7l9.212 8.988z\"/>\r\n</svg>" /***/ }), /* 24 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 485.202 485.202\">\r\n <path d=\"M318.416 106.132c8.378 0 15.163 6.784 15.163 15.166 0 8.38-6.786 15.16-15.164 15.16H166.788c-8.384 0-15.166-6.78-15.166-15.16 0-8.382 6.782-15.166 15.166-15.166h151.628zm8.765 45.488H158.005C82.887 206.41 30.32 322.526 30.32 396.27c0 99.182 95.036 88.605 212.28 88.605 117.24 0 212.282 10.576 212.282-88.604 0-73.744-52.566-189.86-127.7-244.65zM158.005 90.97H327.18s67.05-58.49 36.722-84.076C333.58-18.693 266.294 35.324 242.6 33.43c-23.692 1.894-90.978-52.123-121.302-26.536C90.97 32.48 158.004 90.97 158.004 90.97z\"/>\r\n</svg>" /***/ }), /* 25 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 226.5 226.501\">\r\n <path d=\"M78.892 91.198h-3.888v17.826h2.965c2.64 0 5.085-.706 5.085-5.824v-6.363c0-5.203-2.057-5.64-4.163-5.64zM155.518 91.198h-3.795v19.854h3.795c2.098 0 3.98-.39 3.98-5.086v-9.682c0-4.697-1.884-5.086-3.98-5.086z\"/>\r\n <path d=\"M202 181.67h-8.902c.147-1.294.23-2.605.23-3.938V54.242c0-13.33-7.607-24.876-18.715-30.556C169.006 9.8 155.41 0 139.518 0H86.984C71.09 0 57.494 9.8 51.887 23.686 40.78 29.366 33.172 40.91 33.172 54.243v123.49c0 1.33.084 2.643.23 3.936H24.5c-5.522 0-10 4.477-10 10v24.83c0 5.523 4.478 10 10 10H202c5.523 0 10-4.477 10-10v-24.83c0-5.524-4.476-10-10-10zM94.528 145.16c-.76.867-1.856 1.363-3.01 1.363h-4.14c-1.977 0-3.656-1.44-3.955-3.396-.194-1.272-.277-2.927-.277-5.534v-10.145c0-6.648-2.786-7.205-5.64-7.205h-2.504v22.28c0 2.208-1.79 4-4 4H66.86c-2.21 0-4-1.792-4-4V83.977c0-2.21 1.79-4 4-4h12.307c10.937 0 16.03 5.035 16.03 15.846v5.072c0 6.264-1.815 10.556-5.538 13.054 3.83 2.397 5.63 6.835 5.63 13.778v9.96c0 1.75.032 3.08.195 4.31.153 1.145-.197 2.296-.957 3.162zm28.61-2.637c0 2.21-1.79 4-4 4h-4.143c-2.21 0-4-1.79-4-4V83.978c0-2.21 1.79-4 4-4h4.144c2.208 0 4 1.79 4 4v58.545zm48.503-37.202c0 14.012-8.768 16.952-16.122 16.952h-3.795v20.252c0 2.21-1.79 4-4 4h-4.143c-2.21 0-4-1.79-4-4V83.978c0-2.21 1.79-4 4-4h11.938c7.354 0 16.123 2.94 16.123 16.953v8.39z\"/>\r\n</svg>" /***/ }), /* 26 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 105.144 105.144\">\r\n <path d=\"M98.126 30.812c-9.885-11.406-33.412-10.61-35.012-1.417-1.328 7.66 6.71 11.943 10.554 15.915 4.445 4.592 5.2 12.01 1.535 17.07-1.528 2.102-10.65 11.332-7.938 20.447 1.378 4.624 4.48 6.696 8.54 7.537 13.495 2.81 14.92-7.9 15.06-12.65.124-4.46.79-8.794 2.626-12.878 4.507-10.246 11.34-26.286 4.636-34.024zM63.99.045c3.054-.49 6.167 3.114 6.958 8.045.79 4.932-1.034 9.33-4.083 9.82-3.053.49-6.163-3.114-6.957-8.045-.788-4.932 1.037-9.33 4.083-9.82zM81.83 9.37c.186 3.455-1.39 6.346-3.522 6.464-2.137.115-4.015-2.59-4.205-6.045s1.393-6.346 3.523-6.464c2.133-.114 4.015 2.592 4.205 6.045zm8.96 2.492c.155 2.802-1.126 5.154-2.862 5.247-1.736.092-3.257-2.102-3.41-4.908-.155-2.806 1.123-5.154 2.86-5.25 1.735-.097 3.263 2.104 3.413 4.91zm5.527 4.144c-.147 2.072-1.306 3.68-2.588 3.586-1.28-.09-2.2-1.843-2.054-3.915s1.303-3.68 2.588-3.586c1.278.09 2.202 1.844 2.055 3.916zm3.915 4.89c-.115 1.652-1.04 2.934-2.065 2.862-1.02-.075-1.757-1.474-1.643-3.128.118-1.653 1.045-2.935 2.07-2.863 1.023.075 1.756 1.478 1.638 3.128zM42.027 43.71c-1.6-9.194-25.127-9.985-35.008 1.417-6.704 7.737.12 23.78 4.634 34.024 1.836 4.088 2.498 8.415 2.627 12.874.14 4.753 1.57 15.46 15.06 12.658 4.06-.845 7.162-2.913 8.537-7.54 2.713-9.116-6.406-18.346-7.934-20.447-3.668-5.06-2.913-12.476 1.532-17.07 3.842-3.972 11.88-8.256 10.552-15.915zM34.186 22.41c.795-4.933 3.908-8.537 6.954-8.046 3.046.49 4.874 4.885 4.083 9.82-.795 4.932-3.908 8.536-6.954 8.045-3.05-.49-4.875-4.886-4.084-9.82zm-3.14 1.692c-.185 3.454-2.07 6.16-4.204 6.04-2.137-.114-3.715-3.01-3.525-6.462.19-3.454 2.072-6.16 4.205-6.04 2.133.116 3.715 3.012 3.525 6.462zm-10.42 2.42c-.154 2.805-1.678 5-3.41 4.906-1.73-.093-3.01-2.444-2.857-5.247.15-2.805 1.677-5.002 3.41-4.91 1.73.097 3.006 2.45 2.856 5.25zm-7.158 3.47c.147 2.072-.773 3.826-2.05 3.915s-2.438-1.517-2.585-3.59.773-3.826 2.05-3.915c1.282-.09 2.438 1.518 2.585 3.59zm-4.86 4.96c.118 1.654-.616 3.057-1.64 3.13-1.02.07-1.942-1.21-2.06-2.864-.118-1.653.616-3.056 1.636-3.128 1.023-.075 1.946 1.206 2.064 2.863z\"/>\r\n</svg>" /***/ }), /* 27 */ /***/ (function(module, exports) { module.exports = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\r\n <path d=\"M437.034 437.002C483.352 390.676 512 326.682 512 256c0-70.6-28.583-134.526-74.806-180.84-.06-.06-.11-.126-.17-.187-.06-.06-.126-.11-.187-.17C390.523 28.583 326.6 0 256 0S121.477 28.582 75.164 74.804c-.06.06-.128.11-.188.17-.06.06-.11.127-.17.188C28.584 121.474 0 185.4 0 256c0 70.683 28.648 134.676 74.966 181.002l.014.015c.005.005.01.01.015.013C121.32 483.35 185.315 512 256 512s134.68-28.65 181.005-74.97l.015-.012.014-.016zM43.726 277.332H151.47c2.765 13.618 8.127 26.29 15.542 37.484l-76.188 76.188c-25.865-31.606-42.838-70.767-47.098-113.67zm47.1-156.34l76.187 76.19c-7.415 11.195-12.78 23.867-15.544 37.485H43.725c4.26-42.905 21.234-82.067 47.1-113.674zm377.448 113.675H360.53c-2.764-13.618-8.127-26.29-15.543-37.486l76.188-76.186c25.865 31.606 42.84 70.768 47.1 113.673zm-167.024 66.58c-.022.023-.04.047-.062.07C289.61 312.86 273.638 320 256 320s-33.61-7.14-45.188-18.684c-.022-.022-.04-.046-.062-.068-.022-.022-.046-.04-.067-.06C199.14 289.61 192 273.637 192 256c0-35.343 28.657-64 64-64s64 28.657 64 64c0 17.638-7.14 33.61-18.683 45.187-.02.022-.045.04-.067.06zm13.567-134.236c-11.195-7.413-23.867-12.776-37.483-15.54V43.725c42.904 4.26 82.065 21.234 113.67 47.098l-76.187 76.187zm-80.15-15.54c-13.617 2.764-26.288 8.126-37.483 15.54l-76.188-76.187c31.606-25.864 70.767-42.838 113.67-47.098V151.47zM197.18 344.986c11.197 7.415 23.87 12.78 37.487 15.544v107.745c-42.905-4.26-82.067-21.235-113.674-47.1l76.188-76.188zm80.153 15.544c13.618-2.764 26.29-8.127 37.486-15.543l76.187 76.188c-31.607 25.865-70.77 42.84-113.674 47.1V360.53zm67.656-45.713c7.413-11.195 12.776-23.867 15.54-37.483h107.745c-4.26 42.904-21.234 82.065-47.098 113.67l-76.188-76.187z\"/>\r\n</svg>" /***/ }), /* 28 */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__(29); if(typeof content === 'string') content = [[module.i, content, '']]; // Prepare cssTransformation var transform; var options = {} options.transform = transform // add the styles to the DOM var update = __webpack_require__(32)(content, options); if(content.locals) module.exports = content.locals; // Hot Module Replacement if(false) { // When the styles change, update the <style> tags if(!content.locals) { module.hot.accept("!!../node_modules/css-loader/index.js??ref--2-1!../node_modules/postcss-loader/lib/index.js!./ext.css", function() { var newContent = require("!!../node_modules/css-loader/index.js??ref--2-1!../node_modules/postcss-loader/lib/index.js!./ext.css"); if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; update(newContent); }); } // When the module is disposed, remove the <style> tags module.hot.dispose(function() { update(); }); } /***/ }), /* 29 */ /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(30)(undefined); // imports // module exports.push([module.i, "html.ext-html {\r\n\theight: 100%;\r\n}\r\n\r\n\thtml.ext-html body {\r\n\t\tbox-sizing: border-box;\r\n\t}\r\n\r\n\thtml.ext-html body footer {\r\n\t\t\tmargin-top: 0;\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\r\n\thtml.ext-html body #main-container {\r\n\t\t\theight: 100%;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t}\r\n\r\n\thtml.ext-html body #main-container #content {\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\r\n\thtml.ext-html .pgf-game-data {\r\n\t\theight: 100%;\r\n\t\tmin-height: 740px;\r\n\t}\r\n\r\n\thtml.ext-html .pgf-hero-column,\r\n\thtml.ext-html .pgf-info-column {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\theight: 100%;\r\n\t}\r\n\r\n\thtml.ext-html .pgf-hero-column .first-row-block, html.ext-html .pgf-info-column .first-row-block {\r\n\t\t\tmin-height: 240px;\r\n\t\t\tflex: 0 0 auto;\r\n\t\t}\r\n\r\n\thtml.ext-html .pgf-hero-column.pgf-info-column .second-row-block, html.ext-html .pgf-info-column.pgf-info-column .second-row-block {\r\n\t\t\tflex: 1 1 auto;\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\t\t\tmargin-bottom: 25px;\r\n\t\t}\r\n\r\n\thtml.ext-html .pgf-hero-column.pgf-info-column .second-row-block .tab-content, html.ext-html .pgf-info-column.pgf-info-column .second-row-block .tab-content {\r\n\t\t\t\tflex: 1 1 auto;\r\n\r\n\t\t\t\tmargin-right: -5px;\r\n\t\t\t\tpadding-right: 5px;\r\n\t\t\t\toverflow-y: scroll;\r\n\t\t\t}\r\n\r\n\thtml.ext-html .pgf-hero-column.pgf-info-column .second-row-block .tab-content::-webkit-scrollbar, html.ext-html .pgf-info-column.pgf-info-column .second-row-block .tab-content::-webkit-scrollbar {\r\n\t\t\t\t\twidth: 5px;\r\n\t\t\t\t}\r\n\r\n\thtml.ext-html .pgf-hero-column.pgf-info-column .second-row-block .tab-content::-webkit-scrollbar-track, html.ext-html .pgf-info-column.pgf-info-column .second-row-block .tab-content::-webkit-scrollbar-track {\r\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, .05);\r\n\t\t\t\t}\r\n\r\n\thtml.ext-html .pgf-hero-column.pgf-info-column .second-row-block .tab-content::-webkit-scrollbar-thumb, html.ext-html .pgf-info-column.pgf-info-column .second-row-block .tab-content::-webkit-scrollbar-thumb {\r\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, .2);\r\n\t\t\t\t\tborder-radius: 2px;\r\n\t\t\t\t}\r\n\r\n\thtml.ext-html .pgf-hero-column.pgf-info-column .second-row-block .tab-content::-webkit-scrollbar-thumb:hover, html.ext-html .pgf-info-column.pgf-info-column .second-row-block .tab-content::-webkit-scrollbar-thumb:hover {\r\n\t\t\t\t\t\tbackground-color: rgba(0, 0, 0, .3);\r\n\t\t\t\t\t}\r\n\r\n\thtml.ext-html .pgf-hero-column.pgf-info-column .second-row-block .tab-content .log-block, html.ext-html .pgf-info-column.pgf-info-column .second-row-block .tab-content .log-block {\r\n\t\t\t\t\toverflow: visible;\r\n\t\t\t\t\theight: auto;\r\n\t\t\t\t}\r\n\r\n.link-ajax {\r\n\tcolor: #0088cc;\r\n\tcursor: default;\r\n\tbackground-image: linear-gradient(to right, #0088cc, #0088cc 50%, transparent 50%);\r\n\tbackground-size: 2px 1px;\r\n\tbackground-position: 0 95%;\r\n\tbackground-repeat: repeat-x;\r\n}\r\n.link-ajax:hover {\r\n\tcolor: #005580;\r\n\tbackground-image: linear-gradient(to right, #005580, #005580 50%, transparent 50%);\r\n}\r\n\r\nbody .nav-tabs > li > a {\r\n\tpadding-left: 9px;\r\n\tpadding-right: 9px;\r\n}\r\n\r\n.pgf-ext-tab-button {\r\n\tbackground: url(" + __webpack_require__(31) + ") center center no-repeat;\r\n\tbackground-size: 16px 16px;\r\n\tcolor: transparent !important;\r\n\ttext-indent: -500px;\r\n\toverflow: hidden;\r\n}\r\n\r\n.ext-container .ext-tabs {\r\n\t\tmargin-bottom: 10px;\r\n\t\ttext-align: right;\r\n\t}\r\n\r\n.ext-container .ext-tabs .ext-tab {\r\n\t\t\ttext-decoration: dotted;\r\n\t\t\tcolor: #0088cc;\r\n\t\t\tbackground-image: linear-gradient(to right, #0088cc, #0088cc 50%, transparent 50%);\r\n\t\t\tbackground-size: 2px 1px;\r\n\t\t\tbackground-position: 0 95%;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t\tcursor: pointer;\r\n\t\t\tmargin-left: 10px;\r\n\r\n\t\t}\r\n\r\n.ext-container .ext-tabs .ext-tab.active {\r\n\t\t\t\tbackground-image: none;\r\n\t\t\t\tcolor: #333;\r\n\t\t\t\tfont-weight: bold;\r\n\t\t\t}\r\n\r\n.ext-container .ext-content {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n.ext-container .ext-content.active {\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\r\n\r\n#abilities-block .angel-ability { width: auto !important; display: inline-block; }\r\n#abilities-block .angel-ability.pgf-ability-help { margin: 0 50px; }\r\n#abilities-block .dropdown { width: auto !important; }\r\n\r\n\r\n\r\n.ext-controls { font-size: 12px; }\r\n.ext-control { margin-right: 10px; }\r\n.ext-control.link-ajax { background: none; }\r\n\r\n\r\n.table-stats {\r\n\twidth: 100%;\r\n}\r\n\r\n\r\n.table-stats thead td {\r\n\t\t\ttext-align: right;\r\n\t\t\tfont-weight: bold;\r\n\t\t\tborder-bottom: 2px solid #ddd;\r\n\t\t}\r\n\r\n\r\n.table-stats tbody th,\r\n\t\t.table-stats tbody td {\r\n\t\t\tvertical-align: top;\r\n\t\t\tborder-top: 1px solid #ddd;\r\n\t\t\tpadding: 5px;\r\n\t\t\twhite-space: nowrap;\r\n\t\t}\r\n\r\n\r\n.table-stats tbody tr:hover {\r\n\t\t\tbackground-color: #e1e6e6;\r\n\t\t}\r\n\r\n\r\n.table-stats tbody th {\r\n\t\t\ttext-align: left;\r\n\t\t}\r\n\r\n\r\n.table-stats tbody td {\r\n\t\t\ttext-align: right;\r\n\t\t}\r\n\r\n\r\n/* short */\r\n.log-record.ext:hover {\r\n\tbackground: none;\r\n}\r\n\r\n.act {\r\n\twhite-space: nowrap;\r\n\tpadding: 1px 5px;\r\n\tmargin: -1px 0;\r\n\tdisplay: inline-block;\r\n}\r\n\r\n.act:hover {\r\n\t\tbackground: #e1e6e6;\r\n\t}\r\n\r\n.act svg {\r\n\t\theight: 13px;\r\n\t\t/*width: 13px;*/\r\n\t\tvertical-align: -1px;\r\n\t\tdisplay: inline-block;\r\n\t}\r\n\r\n.act.positive { color: black; }\r\n\r\n.act.positive svg { fill: #005000; }\r\n\r\n.act.negative { color: #B90000; }\r\n\r\n.act.negative svg { fill: darkred; }\r\n\r\n.act.god{ color: #007b7b; text-decoration: underline; }\r\n\r\n.act.god svg { fill: #007b7b; }\r\n\r\n.act .companion svg {\r\n\t\tfill: #002000;\r\n\t}\r\n\r\n.act .god-icon svg {\r\n\t\tfill: #004F4F;\r\n\t}\r\n\r\n.act.loot { color: darkgoldenrod; }\r\n\r\n.act.loot svg { fill: darkgoldenrod; }\r\n\r\n.act.loot.drop .artifact{ text-decoration: line-through; }\r\n\r\n\r\n\r\n\r\n.act-rest.positive { color: #005000; }\r\n.act-heal.positive { color: #005000; }\r\n.act-heal.negative { color: darkred; }\r\n.act-godheal.act { color: darkmagenta; text-decoration: underline; }\r\n\r\n.act.positive .vamp { color: #005000; }\r\n.act.negative .vamp { color: darkred; }\r\n\r\n.act-slow.positive { color: #00008B; }\r\n\r\n.act-coins.positive { color: darkgoldenrod; }\r\n.act-coins.negative { color: darkgoldenrod; text-decoration: line-through; }\r\n.act-godcoins.act { color: darkmagenta; text-decoration: underline; }\r\n\r\n.act-pvpeff.positive { color: dodgerblue; }\r\n.act-pvpeff.negative { color: dodgerblue; text-decoration: line-through; }\r\n.act-pvpice.positive,\r\n.act-pvpflame.negative,\r\n.act-pvpfail.negative { color: darkgreen; }\r\n.act-pvpice.negative,\r\n.act-pvpflame.positive,\r\n.act-pvpfail.positive { color: darkred; }\r\n/* eo short */\r\n\r\n/* highlight */\r\n.positive .value { color: darkred; }\r\n.negative .value { color: red; }\r\n\r\n.msg-dmg.positive .value { color: darkred; }\r\n.msg-dmg.negative .value { color: red; }\r\n\r\n.msg-godhit { color: darkmagenta; }\r\n.msg-pickup .item { color: darkgoldenrod; }\r\n.msg-empty { color: darkgoldenrod; text-decoration: line-through; }\r\n.msg-drop { color: darkgoldenrod; text-decoration: line-through; }\r\n.msg-death { color: darkred; text-decoration: line-through; }\r\n\r\n.submessage .energy { color: dodgerblue; }\r\n.submessage .coins { color: darkgoldenrod; }\r\n.submessage .coins svg { fill: darkgoldenrod; }\r\n.submessage .godcoins { color: darkmagenta; }\r\n\r\n.submessage .level,\r\n.submessage .exp { color: darkviolet; text-decoration: underline; }\r\n/* eo highlight */\r\n\r\n\r\n/* group */\r\n.archive-content .level { color: darkviolet; text-decoration: underline; }\r\n.group { position: relative; margin-bottom: 2px; }\r\n.group .group-toggle { cursor: default; }\r\n.group .on-open { display: none; }\r\n.group.open .on-open { display: block; }\r\n.group.open .on-close { display: none; }\r\n\r\n.group.open { margin: 0; }\r\n\r\n.group-time { }\r\n.group-time.average { color: #8a6d3b; text-decoration: underline; }\r\n.group-time.bad { color: #a94442; text-decoration: underline; }\r\n\r\n.group-title {\r\n\tcursor: default;\r\n\tmargin-right: 0;\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n}\r\n.group-title:hover { background: #ddd; }\r\n\r\n.action-icon.fight { color: darkred; }\r\n.action-icon.fight-god { color: darkviolet; }\r\n\r\n.action-icon.equip,\r\n.action-icon.trade { color: darkgoldenrod; }\r\n.action-icon.quest,\r\n.action-icon.noeffect { color: dodgerblue; }\r\n.action-icon.idle { color: dodgerblue; }\r\n.action-icon.energy { color: dodgerblue; }\r\n.action-icon.rest { color: #005000; }\r\n.action-icon.dead { color: darkred; }\r\n.action-icon.companionHeal { color: #008000; }\r\n.action-icon.broken { color: red; }\r\n\r\n.action-icon {\r\n\tdisplay: inline-block;\r\n\tvertical-align: text-bottom;\r\n\twidth: 15px;\r\n}\r\n.group-title.god .group-time { color: darkviolet; text-decoration: underline; }\r\n.group-time { margin-right: 3px; }\r\n\r\n.group-controls { position: absolute; right: 0; top: 1px; }\r\n.group-stats { margin-bottom: 2px; }\r\n.group-stats .stat { margin: 0 0 0 4px;}\r\n.group-stats .stat-me + .stat-enemy { margin-left: 8px;}\r\n\r\n.group-stats .stat-me { color: #005000; }\r\n.group-stats .stat-enemy { color: darkred; }\r\n\r\n.group-stats .stat-against {\r\n\tdisplay: inline-block;\r\n\twidth: 35px;\r\n\twhite-space: nowrap;\r\n}\r\n/*.group .pgf-log-list { margin: 0; }*/\r\n/* eo group */\r\n\r\n\r\n.text-muted { color: #999; }\r\n.text-primary { color: #428bca; }\r\n.text-success { color: #3c763d; }\r\n.text-info { color: #31708f; }\r\n.text-warning { color: #8a6d3b; }\r\n.text-danger { color: #a94442; }\r\n\r\n\r\n.quest-icon-mini {\r\n\tfloat: none;\r\n\tdisplay: inline-block;\r\n\tmargin: 0;\r\n\tvertical-align: bottom;\r\n\twidth: 16px;\r\n\theight: 16px;\r\n\tbackground-size: 32px 192px;\r\n\tbackground-image: url('http://static.the-tale.org/static/168/game/images/quests.png');\r\n}\r\n.quest-icon-mini.caravan { background-position: 0 0; }\r\n.quest-icon-mini.delivery { background-position: 0 -16px; }\r\n.quest-icon-mini.help { background-position: 0 -32px; }\r\n.quest-icon-mini.help_friend { background-position: 0 -48px; }\r\n.quest-icon-mini.hometown { background-position: 0 -64px; }\r\n.quest-icon-mini.hunt { background-position: 0 -80px; }\r\n.quest-icon-mini.interfere_enemy { background-position: 0 -96px; }\r\n.quest-icon-mini.collect_debt { background-position: 0 -112px; }\r\n.quest-icon-mini.spying { background-position: 0 -128px; }\r\n.quest-icon-mini.search_smith { background-position: 0 -144px; }\r\n.quest-icon-mini.no-quest { background-position: 0 -160px; }\r\n.quest-icon-mini.next-spending { background-position: 0 -176px; }\r\n.quest-icon-mini.pilgrimage { background-position: -16px -80px; }\r\n\r\n\r\n\r\n/*#pgf-towns-container { background: #fff; }*/\r\n#pgf-towns-container .reload {\r\n\tfont-size: 12px;\r\n}\r\n\r\n\r\n\r\n/* settings */\r\n#log-block-sets { height: auto; }\r\n.sets-header { margin: 10px 0 5px;}\r\n.sets { margin: 5px 0 0 20px; }\r\n.sets-inline { display: inline-block; }\r\n\r\n.note-block { color: #999; }\r\ninput.input-tiny { height: 11px; width: 60px; font-size: 12px; margin: -2px 0 -3px; vertical-align: 0; }\r\ninput.input-tiny-num { width: 45px; }\r\n.input-append .add-on { height: 11px; line-height: 11px; margin-top: -2px; margin-bottom: -3px; vertical-align: -1px; }\r\n\r\n\r\n.sets label {\r\n\tdisplay: inline;\r\n\tfont-weight: normal;\r\n\tmargin-bottom: 0;\r\n}\r\n.sets .input-wrap-inline {\r\n\tdisplay: inline-block;\r\n}\r\n.sets .input-wrap {\r\n\ttransition: opacity .2s;\r\n}\r\n.sets .input-wrap.disabled { opacity: .7; }\r\n/* eo sets */\r\n\r\n\r\ndiv.easy-block {\r\n\tclear: right;\r\n}\r\n", ""]); // exports /***/ }), /* 30 */ /***/ (function(module, exports) { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader module.exports = function(useSourceMap) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item, useSourceMap); if(item[2]) { return "@media " + item[2] + "{" + content + "}"; } else { return content; } }).join(""); }; // import a list of modules into the list list.i = function(modules, mediaQuery) { if(typeof modules === "string") modules = [[null, modules, ""]]; var alreadyImportedModules = {}; for(var i = 0; i < this.length; i++) { var id = this[i][0]; if(typeof id === "number") alreadyImportedModules[id] = true; } for(i = 0; i < modules.length; i++) { var item = modules[i]; // skip already imported module // this implementation is not 100% perfect for weird media query combinations // when a module is imported multiple times with different media queries. // I hope this will never occur (Hey this way we have smaller bundles) if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { if(mediaQuery && !item[2]) { item[2] = mediaQuery; } else if(mediaQuery) { item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; } list.push(item); } } }; return list; }; function cssWithMappingToString(item, useSourceMap) { var content = item[1] || ''; var cssMapping = item[3]; if (!cssMapping) { return content; } if (useSourceMap && typeof btoa === 'function') { var sourceMapping = toComment(cssMapping); var sourceURLs = cssMapping.sources.map(function (source) { return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */' }); return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); } return [content].join('\n'); } // Adapted from convert-source-map (MIT) function toComment(sourceMap) { // eslint-disable-next-line no-undef var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; return '/*# ' + data + ' */'; } /***/ }), /* 31 */ /***/ (function(module, exports) { module.exports = "data:image/png;base64,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" /***/ }), /* 32 */ /***/ (function(module, exports, __webpack_require__) { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ var stylesInDom = {}; var memoize = function (fn) { var memo; return function () { if (typeof memo === "undefined") memo = fn.apply(this, arguments); return memo; }; }; var isOldIE = memoize(function () { // Test for IE <= 9 as proposed by Browserhacks // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 // Tests for existence of standard globals is to allow style-loader // to operate correctly into non-standard environments // @see https://github.com/webpack-contrib/style-loader/issues/177 return window && document && document.all && !window.atob; }); var getElement = (function (fn) { var memo = {}; return function(selector) { if (typeof memo[selector] === "undefined") { memo[selector] = fn.call(this, selector); } return memo[selector] }; })(function (target) { return document.querySelector(target) }); var singleton = null; var singletonCounter = 0; var stylesInsertedAtTop = []; var fixUrls = __webpack_require__(33); module.exports = function(list, options) { if (typeof DEBUG !== "undefined" && DEBUG) { if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); } options = options || {}; options.attrs = typeof options.attrs === "object" ? options.attrs : {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> // tags it will allow on a page if (!options.singleton) options.singleton = isOldIE(); // By default, add <style> tags to the <head> element if (!options.insertInto) options.insertInto = "head"; // By default, add <style> tags to the bottom of the target if (!options.insertAt) options.insertAt = "bottom"; var styles = listToStyles(list, options); addStylesToDom(styles, options); return function update (newList) { var mayRemove = []; for (var i = 0; i < styles.length; i++) { var item = styles[i]; var domStyle = stylesInDom[item.id]; domStyle.refs--; mayRemove.push(domStyle); } if(newList) { var newStyles = listToStyles(newList, options); addStylesToDom(newStyles, options); } for (var i = 0; i < mayRemove.length; i++) { var domStyle = mayRemove[i]; if(domStyle.refs === 0) { for (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j](); delete stylesInDom[domStyle.id]; } } }; }; function addStylesToDom (styles, options) { for (var i = 0; i < styles.length; i++) { var item = styles[i]; var domStyle = stylesInDom[item.id]; if(domStyle) { domStyle.refs++; for(var j = 0; j < domStyle.parts.length; j++) { domStyle.parts[j](item.parts[j]); } for(; j < item.parts.length; j++) { domStyle.parts.push(addStyle(item.parts[j], options)); } } else { var parts = []; for(var j = 0; j < item.parts.length; j++) { parts.push(addStyle(item.parts[j], options)); } stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts}; } } } function listToStyles (list, options) { var styles = []; var newStyles = {}; for (var i = 0; i < list.length; i++) { var item = list[i]; var id = options.base ? item[0] + options.base : item[0]; var css = item[1]; var media = item[2]; var sourceMap = item[3]; var part = {css: css, media: media, sourceMap: sourceMap}; if(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]}); else newStyles[id].parts.push(part); } return styles; } function insertStyleElement (options, style) { var target = getElement(options.insertInto) if (!target) { throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid."); } var lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1]; if (options.insertAt === "top") { if (!lastStyleElementInsertedAtTop) { target.insertBefore(style, target.firstChild); } else if (lastStyleElementInsertedAtTop.nextSibling) { target.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling); } else { target.appendChild(style); } stylesInsertedAtTop.push(style); } else if (options.insertAt === "bottom") { target.appendChild(style); } else { throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'."); } } function removeStyleElement (style) { if (style.parentNode === null) return false; style.parentNode.removeChild(style); var idx = stylesInsertedAtTop.indexOf(style); if(idx >= 0) { stylesInsertedAtTop.splice(idx, 1); } } function createStyleElement (options) { var style = document.createElement("style"); options.attrs.type = "text/css"; addAttrs(style, options.attrs); insertStyleElement(options, style); return style; } function createLinkElement (options) { var link = document.createElement("link"); options.attrs.type = "text/css"; options.attrs.rel = "stylesheet"; addAttrs(link, options.attrs); insertStyleElement(options, link); return link; } function addAttrs (el, attrs) { Object.keys(attrs).forEach(function (key) { el.setAttribute(key, attrs[key]); }); } function addStyle (obj, options) { var style, update, remove, result; // If a transform function was defined, run it on the css if (options.transform && obj.css) { result = options.transform(obj.css); if (result) { // If transform returns a value, use that instead of the original css. // This allows running runtime transformations on the css. obj.css = result; } else { // If the transform function returns a falsy value, don't add this css. // This allows conditional loading of css return function() { // noop }; } } if (options.singleton) { var styleIndex = singletonCounter++; style = singleton || (singleton = createStyleElement(options)); update = applyToSingletonTag.bind(null, style, styleIndex, false); remove = applyToSingletonTag.bind(null, style, styleIndex, true); } else if ( obj.sourceMap && typeof URL === "function" && typeof URL.createObjectURL === "function" && typeof URL.revokeObjectURL === "function" && typeof Blob === "function" && typeof btoa === "function" ) { style = createLinkElement(options); update = updateLink.bind(null, style, options); remove = function () { removeStyleElement(style); if(style.href) URL.revokeObjectURL(style.href); }; } else { style = createStyleElement(options); update = applyToTag.bind(null, style); remove = function () { removeStyleElement(style); }; } update(obj); return function updateStyle (newObj) { if (newObj) { if ( newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap ) { return; } update(obj = newObj); } else { remove(); } }; } var replaceText = (function () { var textStore = []; return function (index, replacement) { textStore[index] = replacement; return textStore.filter(Boolean).join('\n'); }; })(); function applyToSingletonTag (style, index, remove, obj) { var css = remove ? "" : obj.css; if (style.styleSheet) { style.styleSheet.cssText = replaceText(index, css); } else { var cssNode = document.createTextNode(css); var childNodes = style.childNodes; if (childNodes[index]) style.removeChild(childNodes[index]); if (childNodes.length) { style.insertBefore(cssNode, childNodes[index]); } else { style.appendChild(cssNode); } } } function applyToTag (style, obj) { var css = obj.css; var media = obj.media; if(media) { style.setAttribute("media", media) } if(style.styleSheet) { style.styleSheet.cssText = css; } else { while(style.firstChild) { style.removeChild(style.firstChild); } style.appendChild(document.createTextNode(css)); } } function updateLink (link, options, obj) { var css = obj.css; var sourceMap = obj.sourceMap; /* If convertToAbsoluteUrls isn't defined, but sourcemaps are enabled and there is no publicPath defined then lets turn convertToAbsoluteUrls on by default. Otherwise default to the convertToAbsoluteUrls option directly */ var autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap; if (options.convertToAbsoluteUrls || autoFixUrls) { css = fixUrls(css); } if (sourceMap) { // http://stackoverflow.com/a/26603875 css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */"; } var blob = new Blob([css], { type: "text/css" }); var oldSrc = link.href; link.href = URL.createObjectURL(blob); if(oldSrc) URL.revokeObjectURL(oldSrc); } /***/ }), /* 33 */ /***/ (function(module, exports) { /** * When source maps are enabled, `style-loader` uses a link element with a data-uri to * embed the css on the page. This breaks all relative urls because now they are relative to a * bundle instead of the current page. * * One solution is to only use full urls, but that may be impossible. * * Instead, this function "fixes" the relative urls to be absolute according to the current page location. * * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command. * */ module.exports = function (css) { // get current location var location = typeof window !== "undefined" && window.location; if (!location) { throw new Error("fixUrls requires window.location"); } // blank or null? if (!css || typeof css !== "string") { return css; } var baseUrl = location.protocol + "//" + location.host; var currentDir = baseUrl + location.pathname.replace(/\/[^\/]*$/, "/"); // convert each url(...) /* This regular expression is just a way to recursively match brackets within a string. /url\s*\( = Match on the word "url" with any whitespace after it and then a parens ( = Start a capturing group (?: = Start a non-capturing group [^)(] = Match anything that isn't a parentheses | = OR \( = Match a start parentheses (?: = Start another non-capturing groups [^)(]+ = Match anything that isn't a parentheses | = OR \( = Match a start parentheses [^)(]* = Match anything that isn't a parentheses \) = Match a end parentheses ) = End Group *\) = Match anything and then a close parens ) = Close non-capturing group * = Match anything ) = Close capturing group \) = Match a close parens /gi = Get all matches, not the first. Be case insensitive. */ var fixedCss = css.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function(fullMatch, origUrl) { // strip quotes (if they exist) var unquotedOrigUrl = origUrl .trim() .replace(/^"(.*)"$/, function(o, $1){ return $1; }) .replace(/^'(.*)'$/, function(o, $1){ return $1; }); // already a full url? no change if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(unquotedOrigUrl)) { return fullMatch; } // convert the url to a full url var newUrl; if (unquotedOrigUrl.indexOf("//") === 0) { //TODO: should we add protocol? newUrl = unquotedOrigUrl; } else if (unquotedOrigUrl.indexOf("/") === 0) { // path should be relative to the base url newUrl = baseUrl + unquotedOrigUrl; // already starts with '/' } else { // path should be relative to current directory newUrl = currentDir + unquotedOrigUrl.replace(/^\.\//, ""); // Strip leading './' } // send back the fixed url(...) return "url(" + JSON.stringify(newUrl) + ")"; }); // send back the fixed css return fixedCss; }; /***/ }) /******/ ]);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址