💩

HTML

<h1>強化シミュレータ💩</h1>

<fieldset>
  <legend>強化</legend>
  <h3>ラッキーデイの書</h3>
  <div><input type="radio" name="use-success-scroll" id="use-success-scroll-none" checked /><label for="use-success-scroll-none">なし</label></div>
  <div><input type="radio" name="use-success-scroll" id="use-success-scroll-5" /><label for="use-success-scroll-5">5% 増加</label></div>
  <div><input type="radio" name="use-success-scroll" id="use-success-scroll-7" /><label for="use-success-scroll-7">7% 増加</label></div>
  <div><input type="radio" name="use-success-scroll" id="use-success-scroll-10" /><label for="use-success-scroll-10">10% 増加</label></div>
  <h3>セーフティーシールド</h3>
  <div><input type="checkbox" id="use-safety-scroll" /><label>使う (下落する確率が 0% の場合カウントされません)</label></div>
  <h3>プロテクトシールド</h3>
  <div><input type="checkbox" id="use-protection-scroll" /><label for="use-protection-scroll">使う (破壊する確率が 0% の場合カウントされません)</label></div>
  <h3>スターキャッチ</h3>
  <div><input type="checkbox" id="use-star-catching" /><label for="use-star-catching">使う</label></div>
</fieldset>

<fieldset>
  <legend>装備</legend>
  <div>
    <label for="equipment-level">着用レベル</label>
    <select id="equipment-level">
      <option value="LEVEL3">3</option>
      <option value="LEVEL10">10</option>
      <option value="LEVEL20">20</option>
      <option value="LEVEL40">40</option>
      <option value="LEVEL60">60</option>
      <option value="LEVEL80">80</option>
      <option value="LEVEL100" selected>100</option>
      <option value="LEVEL120">120</option>
      <option value="LEVEL140">140</option>
    </select>
  </div>
  <div>
    <label for="equipment-rarelity">等級</label>
    <select id="equipment-rarelity">
      <option value="NORMAL">ノーマル</option>
      <option value="RARE">レア</option>
      <option value="EPIC">エピック</option>
      <option value="UNIQUE" selected>ユニーク</option>
      <option value="LEGENDARY">レジェンダリー</option>
      <option value="MYSTIC">ミスティック</option>
    </select>
  </div>
  <div>
    <label...

SCSS

#buildup-log {
  display: flex;
  flex-direction: column-reverse;
}

JavaScript

const $equipmentLevel = $("#equipment-level");
const $equipmentRarelity = $("#equipment-rarelity");
const $equipmentStars = $("#equipment-stars");
const $useSuccessScroll5 = $("#use-success-scroll-5");
const $useSuccessScroll7 = $("#use-success-scroll-7");
const $useSuccessScroll10 = $("#use-success-scroll-10");
const $useSafetyScroll = $("#use-safety-scroll");
const $useProtectionScroll = $("#use-protection-scroll");
const $useStarCatching = $("#use-star-catching");
const $buildup = $("#buildup");
const $buildupLog = $("#buildup-log");
const $buildupSpentMesos = $("#buildup-spent-mesos");
const $buildupSpentCrystals = $("#buildup-spent-crystals");
const $buildupSpentSuccessScrolls = $("#buildup-spent-success-scrolls");
const $reset = $("#reset");

const EQUIPMENT_LEVELS = {
	LEVEL3: "3",
  LEVEL10: "10",
  LEVEL20: "20",
  LEVEL40: "40",
  LEVEL60: "60",
  LEVEL80: "80",
  LEVEL100: "100",
  LEVEL120: "120",
  LEVEL140: "140",
};
const EQUIPMENT_RARELITIES = {
	NORMAL: 0,
  RARE: 1,
  EPIC: 2,
  UNIQUE: 3,
  LEGENDARY: 4,
  MYSTIC: 5,
};
const EQUIPMENT_ENHANCEMENT_LIMITS = {
	"3": [5, 5],
  "10": [5, 10],
  "20": [5, 10, 15],
  "40": [5, 10, 15, 20],
  "60": [5, 10, 15, 20],
  "80": [5, 10, 15, 20],
  "100": [5, 10, 15, 20, 20, 20],
  "120": [5, 10, 15, 20, 20, 20],
  "140": [5, 10, 15, 20, 25, 30],
};
const EQUIPMENT_ENHANCEMENT_COSTS = {
	"3": [380, 760, 1140, 1520, 1900], // N, R
  "10": [380, 760, 1140, 1520, 1900, 2280, 2660, 3030, 3410, 3790], // N, R
  "20": [990, 1980, 2970, 3950, 4940, 5930, 6910, 7900, 8890, 9870, null, null, null, null, null], // N, R, E
  "40": [2067, 4133, 6199, 8265, 10331, 12397, 14463, 16529, 18595, 20661, null, null, null, null, null, null, null, null, null, null], // N, R, E, U
  "60": [6549, 13097, 19646, 26194, 32742, 39291, 45839, 52388, 58936, 65484, null, null, null, null, null, null, null, null, null, null], // N, R, E, U
  "80": [80920, null, null, null, null, null, null, null, null, null, null, null, null, null, null,...