--- Title: '' Author: ixa2023 Web: https://mimemo.io/m/qERa6lBpnWGPb0v --- ``` function loadAutoSynthesis() { let scriptElement = document.createElement('script'); scriptElement.setAttribute('type', 'text/javascript'); scriptElement.textContent = '(' + Init.toString() + ')(j213$);'; document.body.appendChild(scriptElement); } function Init($) { let $LogBox = null; let xrwStatusText = function (xhr) { return xhr.setRequestHeader('X-Requested-With', 'statusText'); }; function log(s) { if ($LogBox && $LogBox.length) { $LogBox.val($LogBox.val() + s + "\n"); $LogBox.scrollTop($LogBox[0].scrollHeight); } else { console.log(s); } } let exitFlg = false, errFlg = false; function autoSkillLvUp(cardId) { const WaitTime = 100; const RequireExp = [0, 0, 300, 800, 1800, 4000, 7000, 12000, 18000, 28000, 40000]; const RequireExpSkill4 = [0, 0, 900, 2400, 5400, 12000, 21000, 36000, 54000, 84000, 120000]; const RarityName = { 'jo': '序', 'jou': '上', 'toku': '特', 'goku': '極', 'ten': '天' }; const FixedExp = { 'jo': 350, 'jou': 600, 'toku': 2000, }; const CampaignFactor = $('div.new_union_campaign_info').length ? Number($('div.new_union_campaign_info div.hukidashi pre').eq(1).text().replace('倍', '')) : 1; // 入力値を保存 localStorage.setItem('AutoSynthesis_TargetLv', $('#TargetLv').val()); localStorage.setItem('AutoSynthesis_SenKujiNum', $('#SenKujiNum').val()); localStorage.setItem('AutoSynthesis_ExcludeJou', $('#ExcludeJou').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeToku', $('#ExcludeToku').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeNames', $('#ExcludeNames').val()); localStorage.setItem('AutoSynthesis_ExcludeSkills', $('#ExcludeSkills').val()); localStorage.setItem('AutoSynthesis_TenShots', $('#TenShots').prop('checked')); localStorage.setItem('AutoSynthesis_TenShotsHidden', $('#TenShotsHidden').val()); localStorage.setItem('AutoSynthesis_ExcludeRank', $('#ExcludeRank').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeLevel', $('#ExcludeLevel').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeAdditional', $('#ExcludeAdditional').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeRareCard', $('#ExcludeRareCard').prop('checked')); // 合成ボタンロック let $submit = $("#ASSubmit"); $submit.val('合成中...'); $submit.off('click'); $submit.css({ 'background-image': '-webkit-gradient(linear, left top, left bottom, from(#44C), to(#116))', }); let $inputselect = $('#AutoSkillUpMenu').find('input:not("#TenShotsHidden"), select'); $inputselect.prop('disabled', true); let $exit = $("#ASExit"); $exit.prop('disabled', false); $exit.css({ 'background-image': '-webkit-gradient(linear, left top, left bottom, from(#C44), to(#611))', }); $('#ASSetMax').css({ 'background-image': '-webkit-gradient(linear, left top, left bottom, from(#444), to(#666))', }).prop('disabled', true); let targetLv = Number($('#TargetLv').val()), kujiNum = Number($('#SenKujiNum').val()), restDosen = -1, senkujiToken = "", capaMargin = -1, jqXHRList = [], cardInfoList = [], skill_id = [], skillIdList = [], excludeRarity = [], excludeNames = [], tenShots = false, excludeSkills = [], subId = ""; class CardInfo { constructor(id, name, rarity, skill, exp) { this.id = id; this.name = name; this.rarity = rarity; this.skill = skill; this.exp = exp; } } // スキルレベルアップ function skillLvUp() { let finished = false; log('合成実行...'); let postData = { select_card_group: $('input[name="select_card_group"]').val(), select_hp_status: $('input[name="select_hp_status"]').val(), common_filter_change_flg: $('input[name="common_filter_change_flg"]').val(), select_filter_num: $('input[name="select_filter_num"]').val(), show_deck_card_count: $('input[name="show_deck_card_count"]').val(), material_arr: $.map(cardInfoList, function (ci) { return ci.id; }), skill_radio: skill_id, base_cid: $('input[name="base_cid"]').val(), add_flg: $('input[name="add_flg"]').val(), new_cid: $('input[name="new_cid"]').val(), remove_cid: $('input[name="remove_cid"]').val(), selected_skill_radio: $('input[name="selected_skill_radio"]').val(), p: 1, selected_cid: $('input[name="selected_cid"]').val(), deck_mode: $('input[name="deck_mode"]').val(), union_type: $('input[name="union_type"]').val(), btn_change_flg: $('input[name="btn_change_flg"]').val(), use_cp_flg: 0, exec_btn: 1, sub_id: $('input[name="sub_id"]').val(), }; if ($('input[name="ad_id"]').length) { postData.ad_id = $('input[name="ad_id"]').val(); } $.ajax({ type: 'post', url: '/union/levelup_execute.php', data: postData, beforeSend: xrwStatusText }).then(function (html) { // 合成結果確認 let resultType = $(html).find('div.common_box1bottom > p.mb10 > img').attr('alt'), expNum = $(html).find('p.new_union_result_para > strong.red').text(); if (resultType.match(/合成方法/)) { console.log(postData); exit('エラー:合成失敗'); finished = true; } else { log(`⇒ ${resultType} : exp ${expNum} 獲得`); // 合成結果スキル毎確認 let nextLvSum = 0; $(html).find('div.new_union_result_detail > div.skill_result').each(function () { let $title = $(this).find('p.title'), name = $title.text().match(/([^LV\s]+)LV/), lv = 0, exp_info = 0, exp_bar_width = "0%"; let title_text = $title.text().match(/\s/g); if (title_text !== null) { if (title_text.length >= 2) { title_text = $title.text().replace(/(.*)LV\d+/, ''); name = title_text.match(/([^LV\s]+)LV/); } } if (name) { name = name[1]; } else { name = $title.text().match(/([^LV\s]+)\sLV/)[1]; } $(html).find('span.ig_skill_name').each(function () { let matches = $(this).text().match(/(\S+)LV(\d+)/); if (!matches) matches = $(this).text().match(/(\S+)\sLV(\d+)/); if (matches && matches.length > 2 && matches[1] == name) lv = Number(matches[2]); }); // 目標Lvに到達したか? if (lv < 10) exp_info = $(this).find('div.next_exp').children().eq(0).find('span.num').data('last_exp'); if (lv >= targetLv) { // すべてのスキルが到達したなら終了 $('table.skill_list_table').find('td.name').each(function () { let matches = $(this).text().match(/(\S+)LV(\d+)/); if (!matches) matches = $(this).text().match(/(\S+)\sLV(\d+)/); if (matches && matches.length > 2 && matches[1] == name) { $(this).prev().children().eq(0).prop('checked', false); getSkillIds(); if (!(skill_id.length)) finished = true; } }); } exp_bar_width = $(this).data('last_skill_per') + "%"; // 合成結果を合成画面に反映 $('table.skill_list_table > tbody > tr').each(function (index) { let matches = $(this).find('td.name').text().match(/(\S+)LV(\d+)/); if (!matches) matches = $(this).find('td.name').text().match(/(\S+)\sLV(\d+)/); if (matches && matches.length > 2 && matches[1] == name) { let prevLv = Number(matches[2]); if (prevLv != lv) { let matches = $(this).find('th > input').val().match(/(\S+)(\d)/); if (matches && matches.length > 2) { $(this).find('th > input').val(matches[1] + (Number(matches[2]) + (lv - prevLv))); getSkillIds(); } else { exit('エラー:スキルID更新エラー'); finished = true; } $(this).find('td.name').text(name + "LV" + lv); $(this).find('td.name').animate({ 'backgroundColor': 'red' }, 1000); if (lv < 10) $(this).find('span.num').css({ 'width': '0%' }); } $(this).find('td.next_lv').text(exp_info); if (index != 3) { $(this).find('td.next_lv.max').text((Number(exp_info) + RequireExp[10] - RequireExp[lv + 1]) || '-'); if ($.isNumeric($(this).find('td.next_lv.max').text())) { nextLvSum += Number($(this).find('td.next_lv.max').text()); } } else { $(this).find('td.next_lv.max').text((Number(exp_info) + RequireExpSkill4[10] - RequireExpSkill4[lv + 1]) || '-'); if ($.isNumeric($(this).find('td.next_lv.max').text())) { nextLvSum += Number($(this).find('td.next_lv.max').text()); } } $(this).find('span.num').animate({ 'width': exp_bar_width }, 1000); } }); }); $('span.get_full_exp').text(nextLvSum); } jqXHRList = []; cardInfoList = []; if (exitFlg) { finished = true; exit('===処理が中断されました==='); } if (errFlg) { finished = true; } //log(`finished = ${finished}`); // 目標Lvに到達していないならもう一度 if (!finished) { getKujiToken(kujiNum).then(function () { castSenKuji('0', kujiNum, senkujiToken).then(skillLvUp); }, function () { exit('---合成終了---'); }); } else { getKujiToken(-1).then(function () { exit('---合成終了---'); }); } }); } // トークンと所持枠・所持銅銭取得 function getKujiToken(checkNum) { let deferred = new $.Deferred; if (exitFlg) { exit('===処理が中断されました==='); deferred.reject(); return deferred.promise(); } $.ajax( { type: 'post', url: '/senkuji/senkuji.php', beforeSend: xrwStatusText } ).then(function (html) { let nums = $(html).find('p.l_cardstock').text().match(/(\d+) \/ (\d+)/); capaMargin = Number(nums[2]) - Number(nums[1]); restDosen = Number($(html).find('span.money_b').text().replace("万", "")); senkujiToken = $(html).find('input[name="senkuji_token"]').val(), subId = $(html).find('input[name="sub_id"]').val() || 0; log(`■所持枠空き: ${capaMargin}, 銅銭: ${restDosen}`); // 終了判定 log(`${checkNum} !!`); if (checkNum > 0) { // 所持枠確認 log(`${capaMargin} ? ${checkNum}`); if (capaMargin >= checkNum) { // 銅銭確認 log(`${restDosen} ? ${500 * checkNum}`); if (restDosen >= 500 * checkNum) { //log('再実行可能'); deferred.resolve(); } else { exit('銅銭が足りません'); deferred.reject(); } } else { exit('カード所持枠が足りません'); deferred.reject(); } } else { $('span.money_b').text(restDosen); deferred.resolve(); } }, function () { exit('通信エラー:クジ画面取得失敗'); deferred.reject(); }); return deferred.promise(); } // 指定枚数まで一枚ずつくじ引き function castSenKuji(t, n, token) { let deferred = new $.Deferred; let count = 0; let excludeCnt = 0; function cast(t, n, token, deferred) { if (exitFlg) { exit('===処理が中断されました==='); return deferred.reject(); } $.ajax({ type: 'post', url: '/senkuji/play_senkuji.php', data: { send: 'send', got_type: t, senkuji_token: token, sub_id: subId, }, beforeSend: xrwStatusText }).then(function (html) { // 白くじを引けなかったら終了 if (!$(html).find('div.cardstatus').length) { log('エラー : 白くじ獲得失敗 [1000枚制限]'); errFlg = true; if (count == 0) { exit('---合成終了---'); return deferred.reject(); } else { log('===ここまでのカードを合成します==='); return deferred.resolve(); } } $(html).find('div.cardstatus').each(function () { tenShots = false; if ($('#TenShotsHidden').val() == '1') { tenShots = true; } let $card = $(this).find('div.parameta_area'); let cardId = $card.find('span.commandsol_').attr('id').match(/card_commandsol_(\d+)/)[1]; let card_name = $(this).find('span.ig_card_name').text(), rarity = $(this).find('span[class^="rarity_"]').attr('class').match(/rarity_([a-z]+)/)[1], skill_name = $(this).find('span.ig_skill_name').text().match(/(\S+)LV/)[1], exp = FixedExp[rarity] * CampaignFactor; s = " [" + RarityName[rarity] + "] " + card_name + " (" + skill_name + ")"; // 指定された条件で除外 if (excludeRarity.indexOf(rarity) == -1 && excludeNames.indexOf(card_name) == -1 && excludeSkills.indexOf(skill_name) == -1) { log(s); cardInfoList.push(new CardInfo(cardId, card_name, rarity, skill_name, exp)); } else { log(`${s} : 除外`); excludeCnt++; } count++; }); if ($(document).find('#whitecount').length) { let Dt = new Date(); let now = Dt.getFullYear() + '/' + (Dt.getMonth() + 1) + '/' + Dt.getDate(); let storageKey = 'ixamoko_white_lottery'; if (document.body.classList.contains("current_owner_sub")) { storageKey = 'zs_' + storageKey; } let whiteLottery = window.localStorage.getItem(storageKey); if (whiteLottery) { whiteLottery = JSON.parse(whiteLottery); } else { whiteLottery = {"date": now, "count": 0}; } if(whiteLottery.date !== now) { whiteLottery = {"date": now, "count": 0}; } let gotType = t == '1320' ? 10 : 1; let newWhtCnt = Number(whiteLottery.count) + gotType; let wcStr = '今日引ける枚数: ' + newWhtCnt + '/1000'; $(document).find('#whitecount').text(wcStr); whiteLottery = {"date": now, "count": newWhtCnt}; localStorage.setItem(storageKey, JSON.stringify(whiteLottery)); } if (tenShots && cardInfoList.length == 0) { log(`素材: ${cardInfoList.length} 枚取得[除外 ${excludeCnt} 枚] --- 再度10連`); setTimeout(cast.bind(null, t, n, token, deferred), WaitTime); } // 必要経験値に到達したら終了 let totalRequiredExp = Number($('span.get_full_exp').text()), expectedExp = cardInfoList.reduce((sum, elm) => sum + elm.exp, 0); $('table.skill_list_table.powerup tr').each(function(idx, elm) { if ($(this).find('input.skill_radio')) { if ($(this).find('input.skill_radio').prop('checked')) { if (idx == 3) { totalRequiredExp -= (RequireExpSkill4[10] - RequireExpSkill4[targetLv]); } else { totalRequiredExp -= (RequireExp[10] - RequireExp[targetLv]); } } } }); if (expectedExp >= totalRequiredExp) { log(`素材 ${cardInfoList.length} 枚取得完了[除外 ${excludeCnt} 枚] : 必要経験値到達`); return deferred.resolve(); } if (!tenShots) { if (kujiNum - cardInfoList.length <= 10) { t = '0'; } // 指定枚数に達してないならもう一度 if (cardInfoList.length < kujiNum) { //log(`${count} < ${kujiNum}`); if (count < n) { setTimeout(cast.bind(null, t, n, token, deferred), WaitTime); } else { // 再度所持枠・銅銭確認 let m = kujiNum - cardInfoList.length; count = 0; log(`${m} 枚不足`); getKujiToken(m).then(function () { if (exitFlg) { exit('===処理が中断されました==='); return deferred.reject(); } setTimeout(cast.bind(null, t, m, token, deferred), WaitTime); }, function () { exit('---合成終了---'); deferred.reject(); }); } } else { log(`素材 ${cardInfoList.length} 枚取得完了[除外 ${excludeCnt} 枚]`); deferred.resolve(); } } else { if (cardInfoList.length + 10 <= kujiNum) { let nums2 = $(html).find('p.l_cardstock').text().match(/(\d+) \/ (\d+)/); capaMargin2 = Number(nums2[2]) - Number(nums2[1]); restDosen2 = Number($(html).find('span.money_b').text().replace("万", "")); if (capaMargin2 < 10) { log('カード所持枠が足りなくなりました'); log('===合成を実行します==='); log(`素材 ${cardInfoList.length} 枚取得[除外 ${excludeCnt} 枚]`); return deferred.resolve(); } else if (restDosen2 < 5000) { errFlg = true; log('銅銭が足りなくなりました'); log('===ここまでのカードを合成します==='); log(`素材 ${cardInfoList.length} 枚取得[除外 ${excludeCnt} 枚]`); return deferred.resolve(); } else { setTimeout(cast.bind(null, t, n, token, deferred), WaitTime); } } else { log(`素材 ${cardInfoList.length} 枚取得完了[除外 ${excludeCnt} 枚]`); deferred.resolve(); } } }, function () { exit('通信エラー:くじ引き失敗'); deferred.reject(); }); } if (n >= 10) t = '1320'; log(`白くじ ${n} 枚引き中...`); cast(t, n, token, deferred); return deferred.promise(); } // selected_skill_radioのための文字列作成&スキル名⇔ID配列確保 // 目標Lvに到達したスキルはチェックを外す function getSkillIds() { if (true === skill_level_exp_collect_enable) { skill_id = $('input[name="skill_radio[]"]:checked').map(function () { let matches = $(this).parent().next().text().match(/(\S+)LV(\d+)/); if (!matches) matches = $(this).parent().next().text().match(/(\S+)\sLV(\d+)/); if (matches && matches.length > 2) { let lv = Number(matches[2]); if (lv < targetLv) { skillIdList[matches[1]] = $(this).val(); return $(this).val(); } else { log(`${matches[1]} は既に LV${targetLv} 以上です`); $(this).prop('checked', false); } } }).get(); } else { skill_id = $('input[name="skill_radio"]:checked').val(); } if (skill_id.length) $('input[name="selected_skill_radio"]').val(skill_id.join(',')); } // 開始ボタン復帰 function exit(s) { log(s); $submit.val('開始'); $submit.prop('disabled', false); $submit.css({ 'background-image': '-webkit-gradient(linear, left top, left bottom, from(#C44), to(#611))', }); $submit.on('click', autoSkillLvUp.bind(null, $('input[name="base_cid"]').val())); $inputselect.prop('disabled', false); $exit.prop('disabled', true); $exit.css({ 'background-image': '-webkit-gradient(linear, left top, left bottom, from(#444), to(#666))', }); $('#ASSetMax').css({ 'background-image': '-webkit-gradient(linear, left top, left bottom, from(#C44), to(#611))', }); exitFlg = false; errFlg = false; if (Number($('#SenKujiNum').val()) % 10 == 0) { $('#TenShots').prop('disabled', false); } else { $('#TenShots').prop('disabled', true); } if ($('#TenShots').prop('checked') && !$('#TenShots').prop('disabled')) { $('#TenShotsHidden').val('1'); } else { $('#TenShotsHidden').val('0'); } } //----------------------------------------------------- if (!(targetLv >= 2 && targetLv <= 10)) { exit('エラー:目標レベルを入力して下さい(2~10)'); return; } if (!(kujiNum >= 1 && kujiNum <= 100)) { exit('エラー:素材カード数/回を入力して下さい(1~100)'); return; } if (eval($('#ExcludeJou').prop('checked'))) excludeRarity.push('jou'); if (eval($('#ExcludeToku').prop('checked'))) excludeRarity.push('toku'); excludeNames = $('#ExcludeNames').val().split(','); excludeSkills = $('#ExcludeSkills').val().split(','); getSkillIds(); // 合成対象スキルがチェックされているか? if (skill_id.length) { getKujiToken(kujiNum).then(function () { castSenKuji('0', kujiNum, senkujiToken).then(skillLvUp); }, function () { exit('---合成終了---'); }); } else { exit('強化するスキルを選んでください'); } } function setMaxMaterial() { // 入力値を保存 localStorage.setItem('AutoSynthesis_TargetLv', $('#TargetLv').val()); localStorage.setItem('AutoSynthesis_SenKujiNum', $('#SenKujiNum').val()); localStorage.setItem('AutoSynthesis_ExcludeJou', $('#ExcludeJou').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeToku', $('#ExcludeToku').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeNames', $('#ExcludeNames').val()); localStorage.setItem('AutoSynthesis_ExcludeSkills', $('#ExcludeSkills').val()); localStorage.setItem('AutoSynthesis_TenShots', $('#TenShots').prop('checked')); localStorage.setItem('AutoSynthesis_TenShotsHidden', $('#TenShotsHidden').val()); localStorage.setItem('AutoSynthesis_ExcludeRank', $('#ExcludeRank').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeLevel', $('#ExcludeLevel').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeAdditional', $('#ExcludeAdditional').prop('checked')); localStorage.setItem('AutoSynthesis_ExcludeRareCard', $('#ExcludeRareCard').prop('checked')); $(document).find('#ASSetMax').css({ 'background-image': '-webkit-gradient(linear, left top, left bottom, from(#444), to(#666))', }).prop('disabled', true); let scrl = $(document).find('#scrl_div'); let list = []; $('div.new_union_material_list div.union_material').each(function() { list.push($(this).attr('data-card_id')); }); let fullExp = Number($('span.get_full_exp').text()), setCnt = 0, reloadFlg = true; $('img[alt="セットする"]').each(function() { // 保護はcontinue if ($(this).closest('a').attr('style') == 'display:none;') { return true; } // セット済みはcontinue let materialId = $(this).closest('a').attr('id').match(/card_set_btn_(\d+)/)[1]; if (list.includes(materialId)) { return true; } // ランク判定 if ($(document).find('#ExcludeRank').prop('checked')) { let star = $(this).closest('tr').find('div.rank span.rank_glay').text().trim() || ''; if (star != '★★★★★') { return true; } } // レベル判定 if ($(document).find('#ExcludeLevel').prop('checked')) { let level = $(this).closest('tr').find('div.rank').closest('td').find('div:eq(1)').text().trim() || '20'; if (level != '0') { return true; } } // 追加スキル判定 if ($(document).find('#ExcludeAdditional').prop('checked')) { let arrSkill = []; $(this).closest('tr').find('div.skill_name').each(function() { arrSkill.push($(this).text().trim() || '-'); }); if (arrSkill.filter((v) => {return v != '-';}).length != 1) { return true; } } // レアリティ判定 if ($(document).find('#ExcludeRareCard').prop('checked')) { let bushoRarity = $(this).closest('tr').find('div[class^="icon_rarity_"]').attr('class').replace('icon_rarity_', ''); if (!['jo', 'jou'].includes(bushoRarity)) { return true; } } // 除外武将判定 let excludeName = $('#ExcludeNames').val().split(','); if (excludeName) { let bushoName = $(this).closest('tr').find('a.busho_name').text().trim() || ''; if (excludeName.includes(bushoName)) { return true; } } // 除外スキル判定 let excludeSkill = $('#ExcludeSkills').val().split(','); if (excludeSkill) { let skillName = $(this).closest('tr').find('div.skill_name:first').text().trim() || ''; if (excludeSkill.includes(skillName)) { return true; } } // 必要経験値で止める if (Number($('div.composite_box_exp.point').text().match(/\d+/)[0] || 0) >= fullExp) { reloadFlg = false; scrl.scrollTop(scrl[0].scrollHeight); alert('必要経験値に達しました'); return false; } $(this).trigger('click'); ++setCnt; // 100枚で止める if ($('div.union_material:last #exp_data').text() != '-') { reloadFlg = false; scrl.scrollTop(scrl[0].scrollHeight); alert('最大枚数をセットしました'); return false; } }); let nextPage = $('#bar_card:eq(0) ul.pager li.last a:eq(0)'); if (setCnt == 0) { if (confirm('セット可能なカードがありません\n次ページへ遷移しますか?')) { if (nextPage.length) { nextPage.trigger('click'); } else { scrl.scrollTop(scrl[0].scrollHeight); alert('最終ページまでセットしました'); return false; } } } else if (reloadFlg) { if (nextPage.length) { nextPage.trigger('click'); } else { scrl.scrollTop(scrl[0].scrollHeight); alert('最終ページまでセットしました'); } } // セット済み素材を1番下までスクロール scrl.scrollTop(scrl[0].scrollHeight); } // levelUp用UI設置 if (location.pathname == '/union/levelup.php') { const createOptions = function (id, start, end, selected) { let str = ''; return str; } const cssClass = [ ".AS_header { margin-bottom: 2px; padding: 5px; background-color: rgb(197,181,96); color: black;" + 'font: bold 18px/140% "MS 明朝", serif; text-align: center; text-shadow: 1px 1px 1px rgba(0,0,0,0.1), -1px 1px 1px rgba(0,0,0,0.1), 1px -1px 1px rgba(0,0,0,0.1), -1px -1px 1px rgba(0,0,0,0.1); }', ".AS_contents { " + 'font-family: "MS 明朝"; ' + "display: flex; align-items: top; height: 340px; padding: 4px; background-color: rgb(43,41,37); }", ".AS_inputBoxContainer { width: 430px; margin-right: 5px; background-color: rgb(43,41,37); }", ".AS_inputInlineContainer { display: flex; align-items: center; padding: 2px; background-color: rgb(43,41,37); }", ".AS_inputText1 { width: 45px; height: 20px; border: none; border-bottom: white 1px solid; background-color: rgb(43,41,37); color: white; }", ".AS_inputText2 { flex: 1; border: none; border-bottom: white 1px solid; background-color: rgb(43,41,37); color: white; }", '.AS_logTextBox { flex: 1; align-self: stretch; border: white 1px solid; padding: 2px; background-color: rgb(24,24,24); color: white; font:12px/110% "MS 明朝", serif; }', ]; let style = document.createElement("style"); document.head.appendChild(style); let sheet = style.sheet; for (let i = 0; i < cssClass.length; i++) { sheet.insertRule(cssClass[i], sheet.cssRules.length); } let $menu = $('
').css({ 'margin': '10px 16.5px', 'color': 'white', }); let $head = $('
').addClass('AS_header').text('自動レベルアップ ').appendTo($menu); $('戦国くじ【白】拾連').css({ 'display': 'inline', 'vertical-align': 'middle', 'width': '57px', 'height': '20px', 'margin-bottom': '4px', }).appendTo($head); $head.prop('innerHTML', $head.prop('innerHTML') + '&素材100枚 対応版'); let $contents = $('
').addClass('AS_contents').appendTo($menu); let $inputBox = $('
').addClass('AS_inputBoxContainer').appendTo($contents); let $inputs = $('
').addClass('AS_inputInlineContainer').appendTo($inputBox); $('

').css({ 'height': '1px', }).appendTo($inputs); $inputs = $('

').addClass('AS_inputInlineContainer').appendTo($inputBox); $('