Utf8 convert

This commit is contained in:
2023-01-10 18:29:32 +02:00
parent 71b759232c
commit 90b9c8325e
3572 changed files with 35191 additions and 395614 deletions
+120 -120
View File
@@ -626,10 +626,10 @@ function showPetProps(e)
var pet = pets[state.pet.n];
var pl = pet.levels['L' + state.pet.level];
var html = '<b>' + pet.caption2 + ' [' + pl.level + ']</b><br />';
html += 'Èìÿ: ' + state.pet.name + '<br />';
html += 'Имя: ' + state.pet.name + '<br />';
if ('skill' in pl)
{
html += '<b>Îñâîåííûå íàâûêè</b><br />';
html += '<b>Освоенные навыки</b><br />';
html += pl.skill.caption + ' [' + pl.skill.level + ']';
}
showPopup(html);
@@ -839,7 +839,7 @@ function changePersName()
{
return;
}
var name = window.prompt('Ââåäèòå èìÿ ýòîãî ïåðñîíàæà', state.name);
var name = window.prompt('Введите имя этого персонажа', state.name);
if (name == null)
{
return;
@@ -912,7 +912,7 @@ function changePersClan()
{
return;
}
var clan = window.prompt('Ââåäèòå íàçâàíèå êëàíà', state.clan);
var clan = window.prompt('Введите название клана', state.clan);
if (clan == null)
{
return;
@@ -1400,7 +1400,7 @@ function getItemPropTNMRBHtml(mf, total, natural, modify, maxv, req, noLabel, ba
html += '</span>';
if (battlemf != 0)
{
html += '<span title="îò çâåðÿ òîëüêî â áîþ">';
html += '<span title="от зверя только в бою">';
html += (battlemf >= 0) ? '+' : '';
html += getItemPropFormattedValue(mf, battlemf);
html += '</span>';
@@ -1752,17 +1752,17 @@ function getDresserInfoPaneCombatTrickHtml(ctrick)
}
if (targeter != null)
{
var count = 'Îäíà öåëü';
var count = 'Одна цель';
if ('mincount' in targeter)
{
count = targeter.mincount + ' - ' + targeter.maxcount + ' öåëåé';
count = targeter.mincount + ' - ' + targeter.maxcount + ' целей';
}
else if ('count' in targeter)
{
count = targeter.count + ' öåëåé';
count = targeter.count + ' целей';
}
chapterHtml += '<tr><td valign="top">';
chapterHtml += 'Êîëè÷åñòâî öåëåé';
chapterHtml += 'Количество целей';
chapterHtml += ': </td><td valign="top">';
chapterHtml += count;
}
@@ -1849,8 +1849,8 @@ function getDresserPetPaneHtml()
html += '<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tab-content"><tr><td colspan="2">';
html += '<table width="100%" border="0" cellspacing="0" class="tcontent" style="padding: 2px 8px 0px 0px;">';
html += '<tr><td>';
html += '<b>Èíôîðìàöèÿ î âûáðàííîì ïèòîìöå</b><br />';
html += 'Òèï: ' + pet.caption;
html += '<b>Информация о выбранном питомце</b><br />';
html += 'Тип: ' + pet.caption;
for (var name in pl)
{
if (name in item_props)
@@ -1861,7 +1861,7 @@ function getDresserPetPaneHtml()
if ('foods' in pet)
{
html += '<hr class="dashed" />';
html += '<small>Åäà</small><br />';
html += '<small>Еда</small><br />';
for (var foodn in pet.foods)
{
var food = pet.foods[foodn];
@@ -1906,7 +1906,7 @@ function getCharmChooserHtml(sloti)
continue;
}
}
var text = '<img border="0" width="40" height="25" src="' + itemImgPath + charm.id + '.gif" + title="Íàëîæèòü ' + charm.caption + '" />';
var text = '<img border="0" width="40" height="25" src="' + itemImgPath + charm.id + '.gif" + title="Наложить ' + charm.caption + '" />';
var action = "doPredefinedCharm('" + sloti + "', '" + charm.v + "')";
html += getCellMenuItemHtml(text, action);
}
@@ -1930,7 +1930,7 @@ function getCharmChooserHtml(sloti)
html += '<label for="charm_mf_replace">' + localizer.charmReplace + '.</label><br />';
if (!('canCharm' in slot))
{
html += '<div style="color: red; font-size: x-small;">Çà÷àðîâàíèå ýòîãî ñëîòà â ÁÊ íåâîçìîæíî.</div>';
html += '<div style="color: red; font-size: x-small;">Зачарование этого слота в БК невозможно.</div>';
}
if ('artefact' in o)
{
@@ -1939,7 +1939,7 @@ function getCharmChooserHtml(sloti)
if ('level' in o.required)
{
if (o.required.level < 10)
{ html += '<div style="color: red; font-size: x-small;">Çà÷àðîâàíèå àðòåôàêòîâ ìåíåå 10-ãî óðîâíÿ â ÁÊ íåâîçìîæíî.</div>'; }
{ html += '<div style="color: red; font-size: x-small;">Зачарование артефактов менее 10-го уровня в БК невозможно.</div>'; }
}
}
}
@@ -1958,28 +1958,28 @@ function getASChooserHtml(sloti,numb)
html += format(localizer.addstatsHint, clanImgPath);
html += '<div style="text-align: left;">';
html += '<table cellspacing="0" cellpadding="0" border="0"><tr>';
html += '<td><div id="awsdstats">Êîëè÷åñòâî óâåëè÷åíèé:';
html += '<td><div id="awsdstats">Количество увеличений:';
html += '<input type="hidden" id="itemstat" class="ABTextAA" value="'+numb+'">';
html += '<input type="text" id="alst" class="ABTextAA" value="'+numb+'" READONLY></div></td><tr><td>';
html += '<input class="ABTextAA" id="add_strength" type="text" maxlength="3" value="0" READONLY/> Ñèëà</td><td>'
html += '<a onclick="item_ad_p(\'add_strength\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="óâåëè÷èòü" border=0> </a>';
html += '<a onclick="item_ad_m(\'add_strength\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="óìåíøèòü" border=0> </a>';
html += '<input class="ABTextAA" id="add_strength" type="text" maxlength="3" value="0" READONLY/> Сила</td><td>'
html += '<a onclick="item_ad_p(\'add_strength\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="увеличить" border=0> </a>';
html += '<a onclick="item_ad_m(\'add_strength\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="уменшить" border=0> </a>';
html += '</td></tr><tr><td>';
html += '<input class="ABTextAA" id="add_dexterity" type="text" maxlength="3" value="0" READONLY /> Ëîâêîñòü</td><td>';
html += '<a onclick="item_ad_p(\'add_dexterity\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="óâåëè÷èòü" border=0> </a>';
html += '<a onclick="item_ad_m(\'add_dexterity\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="óìåíøèòü" border=0> </a>';
html += '<input class="ABTextAA" id="add_dexterity" type="text" maxlength="3" value="0" READONLY /> Ловкость</td><td>';
html += '<a onclick="item_ad_p(\'add_dexterity\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="увеличить" border=0> </a>';
html += '<a onclick="item_ad_m(\'add_dexterity\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="уменшить" border=0> </a>';
html += '</td></tr><tr><td>';
html += '<input class="ABTextAA" id="add_intuition" type="text" maxlength="3" value="0" READONLY/> Èíòóèöèÿ</td><td>';
html += '<a onclick="item_ad_p(\'add_intuition\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="óâåëè÷èòü" border=0> </a>';
html += '<a onclick="item_ad_m(\'add_intuition\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="óìåíøèòü" border=0> </a>';
html += '<input class="ABTextAA" id="add_intuition" type="text" maxlength="3" value="0" READONLY/> Интуиция</td><td>';
html += '<a onclick="item_ad_p(\'add_intuition\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="увеличить" border=0> </a>';
html += '<a onclick="item_ad_m(\'add_intuition\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="уменшить" border=0> </a>';
html += '</td></tr><tr><td>';
html += '<input class="ABTextAA" id="add_intellect" type="text" maxlength="3" value="0" READONLY /> Èíòåëëåêò</td><td>';
html += '<a onclick="item_ad_p(\'add_intellect\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="óâåëè÷èòü" border=0> <a>';
html += '<a onclick="item_ad_m(\'add_intellect\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="óìåíøèòü" border=0> <a>';
html += '<input class="ABTextAA" id="add_intellect" type="text" maxlength="3" value="0" READONLY /> Интеллект</td><td>';
html += '<a onclick="item_ad_p(\'add_intellect\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="увеличить" border=0> <a>';
html += '<a onclick="item_ad_m(\'add_intellect\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="уменшить" border=0> <a>';
html += '</td></tr></table>';
html += '</div>';
html += '</td></tr></table>';
@@ -2097,7 +2097,7 @@ function getDresserListPaneHtml(state)
html += "'" + o2.id + "', 'goodies'";
html += ')" >';
html += htmlstring(o.caption);
html += '&nbsp;<img alt="Èíôîðìàöèÿ" src="' + infospaceImgPath + 'info.gif" width="12" height="11" border="0" /></a>';
html += '&nbsp;<img alt="Информация" src="' + infospaceImgPath + 'info.gif" width="12" height="11" border="0" /></a>';
html += '<br />';
}
html += '<hr class="dashed" />';
@@ -2341,9 +2341,9 @@ function getDresserComponentsPaneHtml(state)
}
if (chtml != '')
{
html += '<br /><b><i>' + 'Ñîçäàíèå' + '</i></b>';
html += '<br /><b><i>' + 'Создание' + '</i></b>';
html += chtml;
html += '<br /><i><b>Âñåãî</b></i>: ';
html += '<br /><i><b>Всего</b></i>: ';
html +- '<ul>';
var firstc = true;
for (var cn in totals)
@@ -2379,7 +2379,7 @@ function getDresserComponentsPaneHtml(state)
{
html += '<br /><b title="' + ep.description + '"><i>' + ep.caption + '</i></b><br />';
html += ephtml;
html += '<i>Âñåãî</i>: ';
html += '<i>Всего</i>: ';
var firstc = true;
for (var ci in totals)
{
@@ -2540,7 +2540,7 @@ function getDresserInfoPaneHtml(state)
if (waddo != null)
{
chapterHtml += '<tr><td valign="top">';
chapterHtml += localizer.waddInfo; //Ïðîäóêòû - Ïîäàðîê
chapterHtml += localizer.waddInfo; //Продукты - Подарок
chapterHtml += ': </td><td valign="top">';
chapterHtml += format(
'<u onmouseout="hidePopup()" onmouseover="showItemProps2({1}, {2})">{0}</u></td></tr>',
@@ -2606,7 +2606,7 @@ function getDresserInfoPaneHtml(state)
var caption = damageelix.caption;
if ('buylink' in damageelix)
{
caption += '&nbsp;<a title="Êóïèòü" target="_blank" class="TLink" href="' + damageelix.buylink + '">&gt;&gt;</a>';
caption += '&nbsp;<a title="Купить" target="_blank" class="TLink" href="' + damageelix.buylink + '">&gt;&gt;</a>';
}
chapterHtml += format(
'<tr><td valign="top">{1}: </td><td valign="top">{0}</td></tr>',
@@ -2618,7 +2618,7 @@ function getDresserInfoPaneHtml(state)
{
var defelix = knownDefElix[defelixn];
chapterHtml += format(
'<tr><td valign="top">{3}: </td><td valign="top">{0}: {2} íà <i>{1} åä.</i></td></tr>',
'<tr><td valign="top">{3}: </td><td valign="top">{0}: {2} на <i>{1} ед.</i></td></tr>',
defelix.caption,
state.defElixes[defelixn],
getItemPropLabel(defelix.makeUp),
@@ -2627,7 +2627,7 @@ function getDresserInfoPaneHtml(state)
if ('makeUp2' in defelix)
{
chapterHtml += format(
'<tr><td valign="top">{3}: </td><td valign="top">{0}: {2} íà <i>{1} åä.</i></td></tr>',
'<tr><td valign="top">{3}: </td><td valign="top">{0}: {2} на <i>{1} ед.</i></td></tr>',
defelix.caption,
getDefElixSecondValue(defelix, state.defElixes[defelixn]),
getItemPropLabel(defelix.makeUp2),
@@ -2705,7 +2705,7 @@ function getDresserInfoPaneHtml(state)
var caption = spell.caption;
if ('buylink' in spell)
{
caption += '&nbsp;<a title="Êóïèòü" target="_blank" class="TLink" href="' + spell.buylink + '">&gt;&gt;</a>';
caption += '&nbsp;<a title="Купить" target="_blank" class="TLink" href="' + spell.buylink + '">&gt;&gt;</a>';
}
if (spell.id in knownPowerUps)
{
@@ -2720,7 +2720,7 @@ function getDresserInfoPaneHtml(state)
chapterHtml += localizer.appliedSpell;
chapterHtml += ': </td><td valign="top">';
chapterHtml += format(
'{0} íà <i>{1} åä.</i>'+link+'</td></tr>',
'{0} на <i>{1} ед.</i>'+link+'</td></tr>',
caption,
state.spellPowerUps[powerupn]
);
@@ -3451,7 +3451,7 @@ function onSpellMenu()
for (var powerupn in knownECRPowerUps)
{
var o = getObjectById(powerupn);
var caption = format('<img src="{0}{1}.gif" width="15" height="15" alt="{2}" border="0" />&nbsp; Íàëîæèòü {3}', itemImgPath, o.id, o.caption, htmlstring(o.caption));
var caption = format('<img src="{0}{1}.gif" width="15" height="15" alt="{2}" border="0" />&nbsp; Наложить {3}', itemImgPath, o.id, o.caption, htmlstring(o.caption));
menuHtml += getRowMenuItemHtml(caption, format("onECRPowerUp('{0}')", powerupn));
}
menuHtml += '</table></td></tr><tr><td colspan="2" valign="top"><table width="480px" border="0">';
@@ -3511,7 +3511,7 @@ function onConcretePetMenu(petn)
var level = pet.levels[leveln];
if (level.level <= state.natural.level)
{
var text = format('[{0}] Óðîâåíü', level.level);
var text = format('[{0}] Уровень', level.level);
menuHtml += getRowMenuItemHtml(text, format("summonPet('{0}', {1})", petn, level.level));
}
}
@@ -3781,7 +3781,7 @@ function handleCharInfo(state, text)
{
if (parseInt(propVal) === 0)
{
alert('Ïåðñîíàæ ñ òàêèìè íèêîì íå íàéäåí');
alert('Персонаж с такими ником не найден');
return;
}
}
@@ -3893,7 +3893,7 @@ function onDressFromCombatsMenu(stateid)
{
return;
}
var menuHtml ='<table width="260px" border="0"><tr><td><img src="' + clanImgPath + 'DarkClan.gif" width="24" height="15" border="0" align="right" /><b>Çàãðóçêà ìàíåêåíà ñ ïåðñîíàæà ÁÊ</b><form name="dfc" method="GET" onreset="hideMenu()" onsubmit="return false"><center>';
var menuHtml ='<table width="260px" border="0"><tr><td><img src="' + clanImgPath + 'DarkClan.gif" width="24" height="15" border="0" align="right" /><b>Загрузка манекена с персонажа БК</b><form name="dfc" method="GET" onreset="hideMenu()" onsubmit="return false"><center>';
menuHtml += localizer.FCPlayerNick + ': <input id="dfcnick" name="dfcnick" type="text" value="';
menuHtml += state.name;
menuHtml += '" class="ABText80" />';
@@ -4138,8 +4138,8 @@ function getDresserNaturalEditors(state)
html += '</td>';
html += '<td>';
var fiop = 'edit'+state.id+name;
html += '<a onclick="adm(\''+fiop+'\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="óìåíøèòü" border=0> </a></td>';
html += '<td><a onclick="adp(\''+fiop+'\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="óâåëè÷èòü" border=0> </a>';
html += '<a onclick="adm(\''+fiop+'\')" href="javascript:;"><img src="http://img.combats.com/i/minus.gif" alt="уменшить" border=0> </a></td>';
html += '<td><a onclick="adp(\''+fiop+'\')" href="javascript:;"><img src="http://img.combats.com/i/plus.gif" alt="увеличить" border=0> </a>';
html += '</td>';
html += '</tr>';
}
@@ -4818,7 +4818,7 @@ function showExpTable()
var expTableDiv = document.getElementById(expTableDivId);
if (!expTableBuilt)
{
expTableDiv.innerHTML = 'Ïîäîæäèòå, ïîêà èä¸ò ôîðìàòèðîâàíèå òàáëèöû îïûòà...';
expTableDiv.innerHTML = 'Подождите, пока идёт форматирование таблицы опыта...';
}
expTableDiv.style.display = '';
if (!expTableBuilt)
@@ -4911,45 +4911,45 @@ function evaluateHealerPrice()
var sourceState = dressStates[document.getElementById('sourcecab').value];
if (sourceState == null)
{
html += '<p><font color="red">Íå âûáðàíà èñõîäíàÿ êàáèíêà.</font></p>';
html += '<p><font color="red">Не выбрана исходная кабинка.</font></p>';
errorsFound = true;
}
var targetState = dressStates[document.getElementById('targetcab').value];
if (targetState == null)
{
html += '<p><font color="red">Íå âûáðàíà öåëåâàÿ êàáèíêà.</font></p>';
html += '<p><font color="red">Не выбрана целевая кабинка.</font></p>';
errorsFound = true;
}
var freeSwapsCount = parseInt(document.getElementById('freeswaps').value);
if (isNaN(freeSwapsCount) || freeSwapsCount < 0)
{
html += '<p><font color="red">Êîëè÷åñòâî îñòàâøèõñÿ áåñïëàòíûõ ïåðåêèäîê ñòàòîâ äîëæíî áûòü öåëûì íåîòðèöàòåëüíûì ÷èñëîì.</font></p>';
html += '<p><font color="red">Количество оставшихся бесплатных перекидок статов должно быть целым неотрицательным числом.</font></p>';
errorsFound = true;
}
if (freeSwapsCount > 15)
{
html += '<p><font color="red">Êîëè÷åñòâî îñòàâøèõñÿ áåñïëàòíûõ ïåðåêèäîê ñòàòîâ íå ìîæåò áûòü âûøå 15.</font></p>';
html += '<p><font color="red">Количество оставшихся бесплатных перекидок статов не может быть выше 15.</font></p>';
errorsFound = true;
}
if (sourceState == targetState)
{
html += '<p><font color="red">Âû âûáðàëè îäíó è òó æå êàáèíêó â êà÷åñòâå èñõîäíîé è öåëåâîé. Ñòîèìîñòü ïåðåêèäêè ðàâíà 0êð.</font></p>';
html += '<p><font color="red">Вы выбрали одну и ту же кабинку в качестве исходной и целевой. Стоимость перекидки равна 0кр.</font></p>';
errorsFound = true;
}
recalcDresserState(sourceState);
recalcDresserState(targetState);
if (sourceState.natural.totalstats != targetState.natural.totalstats)
{
html += '<p><font color="red">Îáùàÿ ñóììà ðîäíûõ ñòàòîâ â âûáðàííûõ êàáèíêàõ íå ñîâïàäàåò.';
html += ' Äëÿ èñõîäíîé êàáèíêè ñóììà ðîäíûõ ñòàòîâ ðàâíà ' + sourceState.natural.totalstats;
html += ', à äëÿ öåëåâîé êàáèíêè ñóììà ðîäíûõ ñòàòîâ ðàâíà ' + targetState.natural.totalstats;
html += '. Ïîæàëóéñòà, âûðîâíÿéòå êîëè÷åñòâî ðîäíûõ ñòàòîâ â ýòèõ êàáèíêàõ.</font></p>';
html += '<p><font color="red">Общая сумма родных статов в выбранных кабинках не совпадает.';
html += ' Для исходной кабинки сумма родных статов равна ' + sourceState.natural.totalstats;
html += ', а для целевой кабинки сумма родных статов равна ' + targetState.natural.totalstats;
html += '. Пожалуйста, выровняйте количество родных статов в этих кабинках.</font></p>';
errorsFound = true;
}
if (sourceState.natural.spirituality < targetState.natural.spirituality)
{
html += '<p><font color="red">Çíà÷åíèå äóõîâíîñòè â öåëåâîé êàáèíêå áîëüøå, ÷åì â èñõîäíîé.';
html += '. Ê ñîæàëåíèþ, Àäìèíèñòðàöèÿ ÁÊ ïîêà íå ïðåäîñòàâèëà íàì èíôîðìàöèþ î ñòîèìîñòè ïåðåêèäêè ñòàòîâ â Äóõîâíîñòü.</font></p>';
html += '<p><font color="red">Значение духовности в целевой кабинке больше, чем в исходной.';
html += '. К сожалению, Администрация БК пока не предоставила нам информацию о стоимости перекидки статов в Духовность.</font></p>';
errorsFound = true;
}
var freeStats = '';
@@ -4960,14 +4960,14 @@ function evaluateHealerPrice()
var tval = targetState.natural[mfname];
if (tval > sval && tval > dressHealerData.length)
{
html += '<p><font color="red">' + getItemPropLabel(mfname) + ': Çíà÷åíèå â öåëåâîé êàáèíêå áîëüøå, ÷åì ìû ìîæåì îáðàáîòàòü.';
html += 'Äëÿ ïåðåêèäêè áîëüøå ' + dressHealerData.length + ' ñòàòîâ äåøåâëå âîñïîëüçîâàòñÿ êíîïêîé "Ñêèíóòü âñå" â êîìíàòå çíàõàðÿ.</font></p>';
html += '<p><font color="red">' + getItemPropLabel(mfname) + ': Значение в целевой кабинке больше, чем мы можем обработать.';
html += 'Для перекидки больше ' + dressHealerData.length + ' статов дешевле воспользоватся кнопкой "Скинуть все" в комнате знахаря.</font></p>';
errorsFound = true;
}
if (tval > sval && tval < 0)
{
html += '<p><font color="red">' + getItemPropLabel(mfname) + ': Çíà÷åíèå â öåëåâîé êàáèíêå ìåíüøå íóëÿ, è áîëüøå çíà÷åíèÿ â èñõîäíîé êàáèíêå.';
html += '. Çíà÷åíèÿ ðîäíûõ ñòàòîâ íå ìîãóò áûòü ìåíüøå 0.</font></p>';
html += '<p><font color="red">' + getItemPropLabel(mfname) + ': Значение в целевой кабинке меньше нуля, и больше значения в исходной кабинке.';
html += '. Значения родных статов не могут быть меньше 0.</font></p>';
errorsFound = true;
}
if (sval > tval)
@@ -5000,7 +5000,7 @@ function evaluateHealerPrice()
if (freeSwapsCount > 0)
{
freeSwapsCount--;
history += 'Ïåðåêèäûâàåì îäèí ñòàò èç [' + freeStats + '] â ' + getItemPropLabel(mfname) + ' áåñïëàòíî <i>(' + getItemPropLabel(mfname) + ': áûëî ' + (sval + j).toString() + ', ñòàëî ' + (sval + j + 1).toString() + ')</i>.<br />';
history += 'Перекидываем один стат из [' + freeStats + '] в ' + getItemPropLabel(mfname) + ' бесплатно <i>(' + getItemPropLabel(mfname) + ': было ' + (sval + j).toString() + ', стало ' + (sval + j + 1).toString() + ')</i>.<br />';
}
else
{
@@ -5009,12 +5009,12 @@ function evaluateHealerPrice()
if (m2 < 0) m2 = 0;
var stepPrice = dressHealerData[m2][i];
price += stepPrice;
history += 'Ïåðåêèäûâàåì îäèí ñòàò èç [' + freeStats + '] â ' + getItemPropLabel(mfname) + ' çà ' + stepPrice + 'êð. <i>(' + getItemPropLabel(mfname) + ': áûëî ' + m.toString() + ', ñòàëî ' + (m + 1).toString() + ')</i>.<br />';
history += 'Перекидываем один стат из [' + freeStats + '] в ' + getItemPropLabel(mfname) + ' за ' + stepPrice + 'кр. <i>(' + getItemPropLabel(mfname) + ': было ' + m.toString() + ', стало ' + (m + 1).toString() + ')</i>.<br />';
}
}
}
}
html += '<p>Îáùàÿ ñòîèìîñòü ïåðåêèäêè ñòàòîâ: <b>' + price + '</b>êð.</p>';
html += '<p>Общая стоимость перекидки статов: <b>' + price + '</b>кр.</p>';
html += '<hr class="dashed" />';
html += history;
}
@@ -5025,15 +5025,15 @@ function evaluateHealerPrice()
function getHealerInnerHtml()
{
var html = '<table class="tcontent" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td align="left" valign="top">';
html += '<p>Êîìíàòà Çíàõàðÿ ïîçâîëèò Âàì îöåíèòü çàòðàòû íà ïåðåêèäêó ñòàòîâ.</p>';
html += '<p>1. Âûáåðèòå êàáèíêó ñ èñõîäíûì êîìïëåêòîì: <select id="sourcecab" name="sourcecab" class="ABTextR">';
html += '<p>Комната Знахаря позволит Вам оценить затраты на перекидку статов.</p>';
html += '<p>1. Выберите кабинку с исходным комплектом: <select id="sourcecab" name="sourcecab" class="ABTextR">';
html += getCabsAsOptions();
html += '</select><br />';
html += '2. Âûáåðèòå êàáèíêó ñ öåëåâûì êîìïëåêòîì: <select id="targetcab" name="targetcab" class="ABTextR">';
html += '2. Выберите кабинку с целевым комплектом: <select id="targetcab" name="targetcab" class="ABTextR">';
html += getCabsAsOptions();
html += '</select><br />';
html += '3. Óêàæèòå êîëè÷åñòâî îñòàâøèõñÿ áåñïëàòíûõ ïåðåêèäîê ñòàòîâ: <input type="text" id="freeswaps" name="freeswaps" value="0" class="ABTextR" size="2" maxlength="2" /><br />';
html += '4. È íàæìèòå íà ýòó êíîïêó: <input class="inpButton" type="button" id="evaluatehealerprice" name="evaluatehealerprice" value="Ðàññ÷èòàòü ñòîèìîñòü ïåðåêèäêè ñòàòîâ" onclick="evaluateHealerPrice(); return false" /></p>';
html += '3. Укажите количество оставшихся бесплатных перекидок статов: <input type="text" id="freeswaps" name="freeswaps" value="0" class="ABTextR" size="2" maxlength="2" /><br />';
html += '4. И нажмите на эту кнопку: <input class="inpButton" type="button" id="evaluatehealerprice" name="evaluatehealerprice" value="Рассчитать стоимость перекидки статов" onclick="evaluateHealerPrice(); return false" /></p>';
html += '<div id="evaluatedHealerInfo"></div>';
html += '</td></tr></table>';
return html;
@@ -5185,7 +5185,7 @@ function blockChosen(id)
function doBattleTurn()
{
document.getElementById('battlechoose').innerHTML = 'Îæèäàåì îòâåòà';
document.getElementById('battlechoose').innerHTML = 'Ожидаем ответа';
battleRequest();
}
@@ -5307,7 +5307,7 @@ function getStrikeBlockSelector(attackCount, blockCount)
for (azi = 0; azi < attackCount; azi++)
{
html += '<td valign="top">';
html += '<label>Óäàð</label>';
html += '<label>Удар</label>';
var rn = 'atck' + azi;
for (var i = 0; i < localizer.attackZone.length; i++)
{
@@ -5318,7 +5318,7 @@ function getStrikeBlockSelector(attackCount, blockCount)
}
}
html += '</td><td valign="top">';
html += '<label>Áëîê</label>';
html += '<label>Блок</label>';
var rn = 'blck0';
for (var i = 0; i < bzd.length; i++)
{
@@ -5389,15 +5389,15 @@ function startBattle()
function getBattlesInnerHtml()
{
var html = '<table class="tcontent" width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td align="left" valign="top">';
html += '<p>Çäåñü Âû ìîæåòå ïðîâåñòè òåñòîâûå ïîåäèíêè.</p>';
html += '<p><font color="red">Âïëîòü äî îôèöèàëüíîãî ðåëèçà ïîåäèíêîâ îíûå áóäóò ëèìèòèðîâàíû. Ñïåðâà ïîÿâÿòñÿ òîëüêî ïîåäèíêè áîéöîâ, è òîëüêî ïîòîì ïîÿâèòñÿ ìàãèÿ.</font></p>';
html += '<p>1. Âûáåðèòå êàáèíêó ñî ñâîèì êîìïëåêòîì: <select id="bcab1" name="bcab1" class="ABTextR">';
html += '<p>Здесь Вы можете провести тестовые поединки.</p>';
html += '<p><font color="red">Вплоть до официального релиза поединков оные будут лимитированы. Сперва появятся только поединки бойцов, и только потом появится магия.</font></p>';
html += '<p>1. Выберите кабинку со своим комплектом: <select id="bcab1" name="bcab1" class="ABTextR">';
html += getCabsAsOptions();
html += '</select><br />';
html += '2. Âûáåðèòå êàáèíêó ñ êîìïëåêòîì ïðîòèâíèêà: <select id="bcab2" name="bcab2" class="ABTextR">';
html += '2. Выберите кабинку с комплектом противника: <select id="bcab2" name="bcab2" class="ABTextR">';
html += getCabsAsOptions();
html += '</select><br />';
html += '3. È íàæìèòå íà ýòó êíîïêó: <input class="inpButton" type="button" id="startbattle" name="startbattle" value="Íà÷àòü ïîåäèíîê îäèí íà îäèí" onclick="startBattle(); return false" /></p>';
html += '3. И нажмите на эту кнопку: <input class="inpButton" type="button" id="startbattle" name="startbattle" value="Начать поединок один на один" onclick="startBattle(); return false" /></p>';
html += '</td></tr></table>';
return html;
}
@@ -5454,7 +5454,7 @@ function applyFakeParam(id)
var value = parseFloat(document.getElementById('fakeParamValue').value);
if (isNaN(value))
{
alert('Ââåäèòå ÷èñëî.');
alert('Введите число.');
return;
}
var o = getObjectById(id);
@@ -5484,7 +5484,7 @@ function addFakeParam(id)
var html = '';
html += getSelectItemListHtml('cmn', getCommonItemList());
html += '<br /><input id="fakeParamValue" type="text" value="0" />';
html += '<br /><input class="inpButton" type="button" value="Äîáàâèòü" onclick="applyFakeParam(' + "'" + id + "'" + ')" /></div>';
html += '<br /><input class="inpButton" type="button" value="Добавить" onclick="applyFakeParam(' + "'" + id + "'" + ')" /></div>';
document.getElementById('param_newline').innerHTML = html;
}
@@ -5512,7 +5512,7 @@ function applyFakeReq(id)
var value = document.getElementById('fakeReqValue').value;
if (isNaN(value))
{
alert('Ââåäèòå ÷èñëî.');
alert('Введите число.');
return;
}
var o = getObjectById(id);
@@ -5541,7 +5541,7 @@ function addFakeReq(id)
var html = '';
html += getSelectItemListHtml('req', getRequiredItemList());
html += '<br /><input id="fakeReqValue" type="text" value="0" />';
html += '<br /><input class="inpButton" type="button" value="Äîáàâèòü" onclick="applyFakeReq(' + "'" + id + "'" + ')" /></div>';
html += '<br /><input class="inpButton" type="button" value="Добавить" onclick="applyFakeReq(' + "'" + id + "'" + ')" /></div>';
document.getElementById('req_newline').innerHTML = html;
}
@@ -5555,7 +5555,7 @@ function applyFakeCleanMf(id)
var value = document.getElementById('fakeMfValue').value;
if (isNaN(value))
{
alert('Ââåäèòå ÷èñëî.');
alert('Введите число.');
return;
}
var o = getObjectById(id);
@@ -5584,7 +5584,7 @@ function addFakeCleanMf(id)
var html = '';
html += getSelectItemListHtml('cmf', getCleanModifyItemList());
html += '<br /><input id="fakeMfValue" type="text" value="0" />';
html += '<br /><input class="inpButton" type="button" value="Äîáàâèòü" onclick="applyFakeCleanMf(' + "'" + id + "'" + ')" /></div>';
html += '<br /><input class="inpButton" type="button" value="Добавить" onclick="applyFakeCleanMf(' + "'" + id + "'" + ')" /></div>';
document.getElementById('mf_newline').innerHTML = html;
}
@@ -5598,7 +5598,7 @@ function applyFakeCleanPrp(id)
var value = document.getElementById('fakePrpValue').value;
if (isNaN(value))
{
alert('Ââåäèòå ÷èñëî.');
alert('Введите число.');
return;
}
var o = getObjectById(id);
@@ -5627,7 +5627,7 @@ function addFakeCleanPrp(id)
var html = '';
html += getSelectItemListHtml('prp', getCleanPropertiesItemList());
html += '<br /><input id="fakePrpValue" type="text" value="0" />';
html += '<br /><input class="inpButton" type="button" value="Äîáàâèòü" onclick="applyFakeCleanPrp(' + "'" + id + "'" + ')" /></div>';
html += '<br /><input class="inpButton" type="button" value="Добавить" onclick="applyFakeCleanPrp(' + "'" + id + "'" + ')" /></div>';
document.getElementById('prp_newline').innerHTML = html;
}
@@ -5640,7 +5640,7 @@ function renameFake(id)
{
caption = fake.caption;
}
caption = window.prompt('Ââåäèòå èìÿ ïðåäìåòà', caption);
caption = window.prompt('Введите имя предмета', caption);
if (caption != null)
{
if (caption == o.caption)
@@ -5671,7 +5671,7 @@ function getFakeItemEditor(id)
html += format('<img border="0" align="right" src="{0}{1}.gif" width="{2}" height="{3}" />', itemImgPath, id, fake.width, fake.height);
html += '<b>' + getUpgradeCaption(getObjectById(id), fake) + '</b> ';
html += '<input class="inpButton" type="button" value="Ïåðåèìåíîâàòü" onclick="renameFake(' + "'" + id + "'" + ')" /><br />';
html += '<input class="inpButton" type="button" value="Переименовать" onclick="renameFake(' + "'" + id + "'" + ')" /><br />';
if ('common' in fake)
{
for (var mf in fake.common)
@@ -5679,7 +5679,7 @@ function getFakeItemEditor(id)
html += getHtmlOfProp(null, fake.common, common_props[mf], mf);
}
}
html += '<div id="param_newline"><input class="inpButton" type="button" value="Äîáàâèòü â Ïàðàìåòðû" onclick="addFakeParam(' + "'" + id + "'" + ')" /></div>';
html += '<div id="param_newline"><input class="inpButton" type="button" value="Добавить в Параметры" onclick="addFakeParam(' + "'" + id + "'" + ')" /></div>';
html += localizer.itemRequiredGroup.bold() + '<br />';
if ('required' in fake)
{
@@ -5688,7 +5688,7 @@ function getFakeItemEditor(id)
html += getHtmlOfProp(null, fake.required, item_props[mf], mf);
}
}
html += '<div id="req_newline"><input class="inpButton" type="button" value="Äîáàâèòü â Òðåáîâàíèÿ" onclick="addFakeReq(' + "'" + id + "'" + ')" /></div>';
html += '<div id="req_newline"><input class="inpButton" type="button" value="Добавить в Требования" onclick="addFakeReq(' + "'" + id + "'" + ')" /></div>';
html += localizer.itemModifyGroup.bold() + '<br />';
if ('modify' in fake)
{
@@ -5705,7 +5705,7 @@ function getFakeItemEditor(id)
html += getHtmlOfArmorProp(fake.modify, armorn, getItemPropLabel(armorn));
}
}
html += '<div id="mf_newline"><input class="inpButton" type="button" value="Äîáàâèòü â Äåéñòâóåò íà" onclick="addFakeCleanMf(' + "'" + id + "'" + ')" /></div>';
html += '<div id="mf_newline"><input class="inpButton" type="button" value="Добавить в Действует на" onclick="addFakeCleanMf(' + "'" + id + "'" + ')" /></div>';
html += localizer.itemPropertiesGroup.bold() + '<br />';
if ('properties' in fake)
{
@@ -5714,7 +5714,7 @@ function getFakeItemEditor(id)
html += getHtmlOfSignedProp(fake.properties, item_props[mf], mf, null, null, null);
}
}
html += '<div id="prp_newline"><input class="inpButton" type="button" value="Äîáàâèòü â Ñâîéñòâà ïðåäìåòà" onclick="addFakeCleanPrp(' + "'" + id + "'" + ')" /></div>';
html += '<div id="prp_newline"><input class="inpButton" type="button" value="Добавить в Свойства предмета" onclick="addFakeCleanPrp(' + "'" + id + "'" + ')" /></div>';
return html;
}
@@ -5758,7 +5758,7 @@ function builderEditItem(isNewItem)
}
if (getObjectById(id) != null)
{
alert('Ïðåäìåò ñ òàêèì êîäîì óæå ñóùåñòâóåò!');
alert('Предмет с таким кодом уже существует!');
return;
}
}
@@ -5768,13 +5768,13 @@ function builderEditItem(isNewItem)
}
if (id == '')
{
alert('Ïóñòîå èìÿ ïðåäìåòà');
alert('Пустое имя предмета');
return;
}
var oidx = getJSName(id);
if (!(oidx in dressItems))
{
dressItems[oidx] = {id: id, fakebase: true, caption: 'Íîâûé ïðåäìåò', category: c.id, slot: c.slot, width: slot.width, height: slot.height};
dressItems[oidx] = {id: id, fakebase: true, caption: 'Новый предмет', category: c.id, slot: c.slot, width: slot.width, height: slot.height};
c.items.push(dressItems[oidx]);
for (var ci in categories)
{
@@ -5820,14 +5820,14 @@ function rebuildItems()
html += '<option value="' + it.id + '">' + htmlstring(it.caption) + '</option>';
}
html += '</select>';
html += '<br /><input class="inpButton" type="button" value="Îòêðûòü â êîíñòðóêòîðå" onclick="builderEditItem(false);" />';
html += '<br /><input class="inpButton" type="button" value="Открыть в конструкторе" onclick="builderEditItem(false);" />';
document.getElementById('builderItemChooserDiv').innerHTML = html;
}
function builderChooseItem()
{
var html = '';
html += 'Âûáåðèòå ïðåäìåò äëÿ íà÷àëà êîíñòðóèðîâàíèÿ<br />';
html += 'Выберите предмет для начала конструирования<br />';
html += '<select id="builderCategoryChooser" onchange="rebuildItems()">';
for (var ci in categories)
{
@@ -5850,7 +5850,7 @@ function builderChooseItem()
function builderComposeItem()
{
var html = '';
html += 'Ââåäèòå êîä ïðåäìåòà èëè ññûëêó íà åãî èçîáðàæåíèå<br />';
html += 'Введите код предмета или ссылку на его изображение<br />';
html += '<select id="builderCategoryChooser">';
for (var ci in categories)
{
@@ -5865,7 +5865,7 @@ function builderComposeItem()
}
html += '</select>';
html += '<br /><input id="builderItemComposeName" type="text" value="" />';
html += '<br /><input class="inpButton" type="button" value="Îòêðûòü â êîíñòðóêòîðå" onclick="builderEditItem(true);" />';
html += '<br /><input class="inpButton" type="button" value="Открыть в конструкторе" onclick="builderEditItem(true);" />';
document.getElementById('buildings').innerHTML = html;
}
@@ -5918,7 +5918,7 @@ function builderDropItem()
function builderForgotItem()
{
var html = '';
html += 'Âûáåðèòå ïðåäìåò äëÿ çàáûâàíèÿ<br />';
html += 'Выберите предмет для забывания<br />';
html += '<select id="builderItemChooser">';
var items = [];
@@ -5932,7 +5932,7 @@ function builderForgotItem()
html += '<option value="' + it.id + '">' + htmlstring(it.caption) + '</option>';
}
html += '</select>';
html += '<br /><input class="inpButton" type="button" value="Çàáûòü â êîíñòðóêòîðå" onclick="builderDropItem();" />';
html += '<br /><input class="inpButton" type="button" value="Забыть в конструкторе" onclick="builderDropItem();" />';
document.getElementById('buildings').innerHTML = html;
}
@@ -5940,11 +5940,11 @@ function builderForgotItem()
function getBuilderCommands()
{
var html = '<table cellpadding="0" cellspacing="0" border="0"><tr>';
html += getCell2MenuItemHtml('Ìîäèôèöèðîâàòü èçâåñòíûé ïðåäìåò', 'builderChooseItem()');
html += getCell2MenuItemHtml('Модифицировать известный предмет', 'builderChooseItem()');
html += getCell2MenuSeparatorHtml();
html += getCell2MenuItemHtml('Ñîçäàòü íîâûé ïðåäìåò', 'builderComposeItem()');
html += getCell2MenuItemHtml('Создать новый предмет', 'builderComposeItem()');
html += getCell2MenuSeparatorHtml();
html += getCell2MenuItemHtml('Çàáûòü ñêîíñòðóèðîâàííûé ïðåäìåò', 'builderForgotItem()');
html += getCell2MenuItemHtml('Забыть сконструированный предмет', 'builderForgotItem()');
html += '</table>';
return html;
}
@@ -5955,9 +5955,9 @@ function getBuilderInnerHtml()
html += getBuilderCommands();
html += '<div id="buildings">';
html += '<p><font color="red">Êîíñòðóêòîð â ðåæèìå òåñòèðîâàíèÿ è ðåàëèçàöèè, èñïîëüçîâàòü ïîêà íå ðåêîìåíäóåòñÿ.</font></p>';
html += '<p>Çäåñü Âû ìîæåòå êîíñòðóèðîâàòü ñâîè ïðåäìåòû èëè ìîäèôèöèðîâàòü ñóùåñòâóþùèå.</p>';
html += '<p>Ðåñóðñ ïîëåçåí ïðè èçìåíåíèÿõ â ìèðå ÁÊ ëþáûì èãðîêàì, à òàêæå ïåðåä îíûìè äëÿ ãåéì-ìàñòåðîâ.</p>';
html += '<p><font color="red">Конструктор в режиме тестирования и реализации, использовать пока не рекомендуется.</font></p>';
html += '<p>Здесь Вы можете конструировать свои предметы или модифицировать существующие.</p>';
html += '<p>Ресурс полезен при изменениях в мире БК любым игрокам, а также перед оными для гейм-мастеров.</p>';
html += '</div>';
return html;
@@ -7485,7 +7485,7 @@ function getFittedArmor(armorObject)
var armorLevel = (('required' in fittedArmor) && ('level' in fittedArmor.required)) ? parseInt(fittedArmor.required.level) : 0;
fittedArmor.modify.hitpoints += ((armorLevel + 1) * 6);
fittedArmor.armorWasFit = true;
fittedArmor.destiny = 'Áðîíÿ ïîäîãíàíà ïîä ïåðñîíàæà';
fittedArmor.destiny = 'Броня подогнана под персонажа';
return fittedArmor;
}
@@ -7933,7 +7933,7 @@ function getSharpenWeapon(weaponObject, sharp)
if ((sharp > 5 && oldmode == 1) || (oldmode != 1))
{
sharpenWeapon.destiny = 'Ñâÿçàíî ñóäüáîé ñ ïåðñîíàæåì, çàòî÷èâøèì ýòî îðóæèå';
sharpenWeapon.destiny = 'Связано судьбой с персонажем, заточившим это оружие';
}
return sharpenWeapon;
}
@@ -8075,7 +8075,7 @@ function getUpgradeCaption(o, upgrade)
}
if ('fake' in upgrade)
{
caption = caption + '&nbsp;[êîíñòðóêòîð]';
caption = caption + '&nbsp;[конструктор]';
}
return caption;
}
@@ -9047,7 +9047,7 @@ function getItemSortHtml()
{
var html = '';
html += getFilterHeaderHtml();
html += 'Ïîêà íå ðåàëèçîâàíî.';
html += 'Пока не реализовано.';
html += getFilterFooterHtml();
return html;
}
@@ -9263,8 +9263,8 @@ function onCategorySelect(stateid, slotid, catId)
menuHtml += '<input type="hidden" id="chosenCategory" value="' + catId + '" />';
menuHtml += '<table width="' + tableWidth + '" style="cellspacing="0" cellpadding="0" border="0"><tr><td valign="top">';
//menuHtml += '<div id="itemsView" style="width: 500px; height:250px; overflow:auto; filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1,enabled=false) progid:DXImageTransform.Microsoft.Alpha(opacity=50,style=0,enabled=false);"><center>Èä¸ò ôèëüòðàöèÿ...</center></div>';
menuHtml += '<div id="itemsView" style="width: 100%; filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1,enabled=false) progid:DXImageTransform.Microsoft.Alpha(opacity=50,style=0,enabled=false);"><center>Èä¸ò ôèëüòðàöèÿ...</center></div>';
//menuHtml += '<div id="itemsView" style="width: 500px; height:250px; overflow:auto; filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1,enabled=false) progid:DXImageTransform.Microsoft.Alpha(opacity=50,style=0,enabled=false);"><center>Идёт фильтрация...</center></div>';
menuHtml += '<div id="itemsView" style="width: 100%; filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1,enabled=false) progid:DXImageTransform.Microsoft.Alpha(opacity=50,style=0,enabled=false);"><center>Идёт фильтрация...</center></div>';
menuHtml += '</td></tr><tr><td valign="bottom"><hr class="dashed" />';
menuHtml += '</td></tr>';
menuHtml += getRowMenuItemHtml(localizer.closeMenu, 'hideMenu()');
@@ -9931,7 +9931,7 @@ function loadEnteredSet()
}
if (text == '')
{
alert('Ââåäèòå ñïåðâà òåêñò, îïèñûâàþùèé ñîñòàâ êîìïëåêòà.');
alert('Введите сперва текст, описывающий состав комплекта.');
return;
}
var dstate = deserializeObject(text);
@@ -10357,7 +10357,7 @@ function removeCab2(cabId)
}
if (stateCount < 2)
{
alert('Óäàëåíèå åäèíñòâåííîé êàáèíêè íå ðàçðåøàåòñÿ');
alert('Удаление единственной кабинки не разрешается');
return;
}
if (activeState.id == cabId)
@@ -10417,13 +10417,13 @@ function getTabsHtml(tabActive)
}
if (dressOptions.showHealer)
{
html += format('<li id="tabx_healer"><a title="{1}" onclick="changeCab({2})" href="javascript:;"><nobr>{0}</nobr></a></li>', localizer.healerCab, 'Êîìíàòà Çíàõàðÿ ïîçâîëèò ðàññ÷èòàòü ïîðÿäîê è ñòîèìîñòü ïåðåêèäêè ñòàòîâ â êîìíàòå Çíàõàðÿ äëÿ ïåðåõîäà îò îäíîãî êîìïëåêòà ê äðóãîìó.', "'healer'");
html += format('<li id="tabx_healer"><a title="{1}" onclick="changeCab({2})" href="javascript:;"><nobr>{0}</nobr></a></li>', localizer.healerCab, 'Комната Знахаря позволит рассчитать порядок и стоимость перекидки статов в комнате Знахаря для перехода от одного комплекта к другому.', "'healer'");
}
if (dressOptions.showBuilder)
{
html += format('<li id="tabx_builder"><a title="{1}" onclick="changeCab({2})" href="javascript:;"><nobr>{0}</nobr></a></li>', localizer.designerCab, 'Êîíñòðóêòîð ïîçâîëèò Âàì ñîçäàòü óíèêàëüíûå ïðåäìåòû è èõ ìîäèôèêàöèè.', "'builder'");
html += format('<li id="tabx_builder"><a title="{1}" onclick="changeCab({2})" href="javascript:;"><nobr>{0}</nobr></a></li>', localizer.designerCab, 'Конструктор позволит Вам создать уникальные предметы и их модификации.', "'builder'");
}
html += format('<li id="tabx_battles"><a title="{1}" onclick="changeCab({2})" href="javascript:;"><nobr>{0}</nobr></a></li>', localizer.battlesCab, 'Ïîçâîëÿåò ïðîâåñòè òåñòîâûå ïîåäèíêè.', "'battles'");
html += format('<li id="tabx_battles"><a title="{1}" onclick="changeCab({2})" href="javascript:;"><nobr>{0}</nobr></a></li>', localizer.battlesCab, 'Позволяет провести тестовые поединки.', "'battles'");
return html;
}
@@ -10797,7 +10797,7 @@ function getSetVariants(set)
return set.variants;
}
function cloneScrolls() //ñâèòêè â ñëîòû
function cloneScrolls() //свитки в слоты
{
for (var i = 101; i <= 109; i++)
{
@@ -10829,7 +10829,7 @@ function cloneScrolls() //
basecat: categories.tacticalscrolls
};
categories['tacticalscrolls' + i] = tscrolls;
// var escrolls = { //çà÷àðîâàíèå
// var escrolls = { //зачарование
// caption: categories.enchantscrolls.caption,
// slot: ('w' + i),
// items: categories.enchantscrolls.items,
@@ -10863,7 +10863,7 @@ function initializeDresserAfterItemsLoaded()
cat.statBonuses = { strength: 100 };
}
}
// çàâèñèìîñòü óðîíà îò òèïà ïóøêè?
// зависимость урона от типа пушки?
categories.legendaryweapon.canBeSharpen = true;
categories.knives.canBeSharpen = true;
categories.knives.skillname = 'knifeskill';
@@ -10881,7 +10881,7 @@ function initializeDresserAfterItemsLoaded()
categories.staffs.statBonuses = { intellect: 33 };
categories.staffs.canBeSharpen = true;
dressStrengthenings.neutralPower = {id: 'neutralPower', caption: 'Ñèëà Íåéòðàëà',
dressStrengthenings.neutralPower = {id: 'neutralPower', caption: 'Сила Нейтрала',
required: {noWeapon: 1, neutralAlign: 1},
modify: {mindamage: 0, maxdamage: 1}
};