Meraについて

Meraについて

拡張機能
目次

はじめに

主にMera最新版と他との違いについて説明します。なお、拡張機能の使用は自己責任であり、使用することで生じた損害は一切保証致しません。

また、Meraの主な作業・更新ログは拡張機能フォルダ内ルートにあるREADME.txtまたはREADME.mdで閲覧できます。

削除した機能

  • 『資源バーの表示を変更する』の選択肢
    • 『残り時間 / 保有量(%)』のみ残した。公式で事足りると思う。
  • 無課金モード
    • 悪質な機能であると判断したため。
  • 武将画像を非表示にする
  • 削除されたコメントを非表示
  • キーバインド
    • 機能使用者を観測できず、また機能的にコードが広範囲に散らばっていて拡張機能改修の妨げになっていると判断したため。
  • 19章の操作方法にする
    • 19章の操作方法を思い出せず、修正が不可能なため。
  • グループ
    • 機能を使用したことのある者が周りに全く居なかったため。関連画像なども一緒に削除。
  • 一括兵士訓練機能 ixa-training.user.js
  • お気に入りソート

機能が増えるほどにIXAページの再描画・更新が遅れます。私自身は拡張機能設定パネルのうち、全般1・2、内政、施設、兵士編成、出陣内に含まれる機能は全てOFF状態にしていて、Mera設定パネルの『LocalStorageを全クリア』を押した後の設定に反映しています。

今後削除するかもしれない機能

公式実装済み等の理由で削除してよいか考え中・相談中の機能。削除しないかもしれない。

  • お気に入り部隊機能
  • 小分け生産

新しく追加した機能

傑:織田信長・豊臣秀吉持ち城主のチャット発言の色スタイル変更

ketsu-chat-color

武将スキルふりがな領域に合成テーブルの表示

設定によりON/OFF切り替え可能

hurigana

武将カードフィルターの開閉

この投稿を書いてる最中に公式が実装したワン

JavaScript コード
// ixa-mera.user.js
function createCardSortAccordion() {
  if(!options.card_filter_accordion) return;
  const sorts = document.getElementsByClassName("deck_filter")
  if(!sorts.length) return;
  const html = `<details id=accordion><summary>武将カードフィルター(クリックして表示)</summary></details>`
  sorts[0].insertAdjacentHTML("beforebegin", html)
  const accordion = document.getElementById("accordion");
  for (const elm of sorts) {
    accordion.insertAdjacentElement("beforeend", elm);
  }
}
/* inject.css */
/* 武将カードフィルター */
#accordion > summary {
  position: relative;
  display: block;
  /* 矢印を消す */
  width: 90%;
  margin-inline: auto;
  padding: 10px 10px 10px 30px;
  /* アイコンの余白を開ける */
  background-color: #232323;
  cursor: pointer;
  /* カーソルをポインターに */
  border: 1px solid #c8a332;
  border-radius: 5px;
  font-weight: bold;
  color: #d3b452;
  transition: 0.2s;
}

#accordion > summary:hover {
  background-color: #101010;
}

#accordion > summary::-webkit-details-marker {
  display: none;
}

#accordion > summary:before,
#accordion > summary:after {
  content: "";
  margin: auto 0 auto 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

#accordion > summary:before {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background-color: #1da1ff;
}

#accordion > summary:after {
  left: 6px;
  width: 5px;
  height: 5px;
  border: 4px solid transparent;
  border-left: 5px solid #fff;
  box-sizing: border-box;
  transition: .1s;
}

details#accordion[open] summary {
  background-color: #232323;
}

details#accordion[open] summary:after {
  transform: rotate(90deg);
  left: 4px;
  top: 5px;
}

details#accordion[open] .deck_filter {
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

css animationはいい感じに出来たつもりなので、他の場所に流用するかもしれない。

フォルダ・ファイル等に関する違い

ixa-moko.user.jsにデザインを決めるCSSや武将カード合成テーブル・兵士・NPCデータなどを含んでいました。毎月の武将カード追加やワールド刷新のたびに、.jsファイルから修正したいデータがある場所を毎回探すのは大変なので、/constants/*.json/css/*.cssの様に分離しました。

directory1

また、ixa-moko.user.js内部にはBase64にエンコードされた画像や音声ファイルも多数含まれていたので、それぞれファイルとして保存しました。

directory2

CSSや画像ファイル等で使われていないものは削除しました。

内部コードに関する違い

変数や関数の名前が違うことなどによる他拡張機能との混乱を防ぐため、Meraの.jsファイルはminifyして配布しています。もし自分が辞める時にはminifyせずに公開する予定ですが、サ終まで見届けたいと思っています。

minify

Manifest V3

Microsoft Docs | マニフェスト V3 への移行の概要とタイムラインによると、Maniest V3への移行は2023年らしいので、Chromeブラウザのディベロッパーモードで使用不可になったら、移行します。

公開場所

👆Uploaderのファイル一覧ページで主に公開しています。また、⚔戦国IXAnary上部にあるFilesからもアクセスできます。