基礎値上限計算機

TORAM MAX BASE STAT CALCULATOR

スミス製作&ドロップ装備の「最高基礎」理論値シミュレーター
基礎値シミュレーター
ATK
基礎値最大化(高基礎)の仕様・計算式解説
aseVal) { rarityStr = '☆ (失敗品)'; stars = '☆'; rarityName = '失敗品'; } document.getElementById('res-rarity-val').textContent = rarityStr; // Xシェア用テキストの更新 const eqNameInput = document.getElementById('eq_name'); const eqName = eqNameInput && eqNameInput.value.trim() ? eqNameInput.value.trim() : '装備'; const unit = document.querySelector('input[name="equip_type"][value="weapon"]').checked ? 'ATK' : 'DEF'; const shareText = `${eqName}(基礎値${baseVal})の${myDiffStr} \n${unit}${myVal}の装備をゲットしました。\nレア度${stars} ${rarityName}(最大値まで+${displayRate}%です)\n#トーラム #らんなび #装備基礎上限計算機`; const shareUrl = 'https://maigodiary.info/equip/base_calc.php'; const xLink = `https://x.com/intent/tweet?text=${encodeURIComponent(shareText)}&url=${encodeURIComponent(shareUrl)}`; document.getElementById('btn-share-x').href = xLink; // 最大値5%超え (displayRate > 105)、またはマイナス(myVal < baseVal)の場合は投稿ボタンを非表示にする const shareContainer = document.getElementById('share-container'); if (displayRate > 105 || myVal < baseVal) { shareContainer.style.display = 'none'; } else { shareContainer.style.display = 'flex'; } // プログレスバーの割合(最大100%にキャップ) const rateCapped = displayRate > 100 ? 100 : displayRate; rateBar.style.width = rateCapped + '%'; myResultBox.style.display = 'block'; let evalText = ''; let evalClass = ''; if (myVal === maxVal) { evalText = '【神品】理論上の最大値(最高基礎)です!達成率 ' + displayRate + '% (上振れ全獲得)'; evalClass = 'eval-god'; } else if (myVal > maxVal) { evalText = '最大値を超えています(達成率 ' + displayRate + '%)。基準値が間違っているか、未実装の数値の可能性があります。'; evalClass = 'eval-over'; } else if (myVal >= maxVal - 5) { evalText = '【超成功品】極めて高い基礎値です!達成率 ' + displayRate + '%。家宝クラスの逸品です。'; evalClass = 'eval-excellent'; } else if (myVal > baseVal) { evalText = '【成功品 / 高基礎】基準値を上回る良品です。達成率 ' + displayRate + '%。実用・売却に適しています。'; evalClass = 'eval-success'; } else if (myVal === baseVal) { evalText = '【基準値】標準的な数値です(達成率 0%)。'; evalClass = 'eval-standard'; } else { evalText = '【低基礎 / 失敗品】基準値を下回っています(達成率 0%以下)。スミス製作の失敗品などの可能性があります。'; evalClass = 'eval-fail'; } evalResult.textContent = evalText; evalResult.className = 'eval-box ' + evalClass; evalResult.style.display = 'block'; } else { myResultBox.style.display = 'none'; evalResult.style.display = 'none'; } } // 初期化処理 document.addEventListener('DOMContentLoaded', () => { // JSが利用できるため送信ボタンは非表示(リアルタイム計算動作のため) document.getElementById('btn-submit').style.display = 'none'; // Xシェアボタンのクリックイベントで装備名の入力チェック(必須バリデーション) const shareBtn = document.getElementById('btn-share-x'); if (shareBtn) { shareBtn.addEventListener('click', (e) => { const eqNameInput = document.getElementById('eq_name'); if (!eqNameInput || !eqNameInput.value.trim()) { alert('Xで報告するには、装備名を入力してください。'); e.preventDefault(); if (eqNameInput) { eqNameInput.focus(); } } }); } // 初回表示時の選択・計算設定 updateRadioButtons(); });