// ==UserScript==
// @name PSO2 Weapon Library tool
// @namespace https://greasyfork.org/en/users/3372-nixxquality
// @version 1.0-RC1
// @description Keep track of what weapons you have in your weapon library
// @author nixx quality
// @match http://pso2.swiki.jp/index.php?%E3%82%BD%E3%83%BC%E3%83%89
// @match http://pso2.swiki.jp/index.php?%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%BC%E3%83%89%E3%83%A9%E3%83%B3%E3%82%B9
// @match http://pso2.swiki.jp/index.php?%E3%83%91%E3%83%AB%E3%83%81%E3%82%B6%E3%83%B3
// @match http://pso2.swiki.jp/index.php?%E3%83%84%E3%82%A4%E3%83%B3%E3%83%80%E3%82%AC%E3%83%BC
// @match http://pso2.swiki.jp/index.php?%E3%83%80%E3%83%96%E3%83%AB%E3%82%BB%E3%82%A4%E3%83%90%E3%83%BC
// @match http://pso2.swiki.jp/index.php?%E3%83%8A%E3%83%83%E3%82%AF%E3%83%AB
// @match http://pso2.swiki.jp/index.php?%E3%82%AC%E3%83%B3%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5
// @match http://pso2.swiki.jp/index.php?%E3%82%AB%E3%82%BF%E3%83%8A
// @match http://pso2.swiki.jp/index.php?%E3%83%87%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%96%E3%83%AC%E3%83%BC%E3%83%89
// @match http://pso2.swiki.jp/index.php?%E3%82%A2%E3%82%B5%E3%83%AB%E3%83%88%E3%83%A9%E3%82%A4%E3%83%95%E3%83%AB
// @match http://pso2.swiki.jp/index.php?%E3%83%A9%E3%83%B3%E3%83%81%E3%83%A3%E3%83%BC
// @match http://pso2.swiki.jp/index.php?%E3%83%84%E3%82%A4%E3%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%82%AC%E3%83%B3
// @match http://pso2.swiki.jp/index.php?%E3%83%90%E3%83%AC%E3%83%83%E3%83%88%E3%83%9C%E3%82%A6
// @match http://pso2.swiki.jp/index.php?%E3%83%AD%E3%83%83%E3%83%89
// @match http://pso2.swiki.jp/index.php?%E3%82%BF%E3%83%AA%E3%82%B9
// @match http://pso2.swiki.jp/index.php?%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88%E3%83%96%E3%83%BC%E3%83%84
// @grant none
// ==/UserScript==
// setting - セッテー
var translate = true;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// translation data
var translation = new Map([
/// Swords
// Common
["ソード", "Sword"],
["ギガッシュ", "Gigush"],
["ブレイカー", "Breaker"],
["アルバソード", "Alva Sword"],
["アルバギガッシュ", "Alva Gigush"],
["アルバブレイカー", "Alva Breaker"],
["ヴィタソード", "Vita Sword"],
["ヴィタギガッシュ", "Vita Gigush"],
["ヴィタブレイカー", "Vita Breaker"],
["クレイモア", "Claymore"],
["キャリバー", "Calibur"],
["アルバクレイモア", "Alva Claymore"],
["アルバキャリバー", "Alva Calibur"],
["ヴィタクレイモア", "Vita Claymore"],
["ヴィタキャリバー", "Vita Calibur"],
// 7☆
["ザックス", "Zaxe"],
["トラディシオン/ナハト", "Haseo's Scythe"],
["ウィングスパーダ", "Wing Spada"],
["ザンバ", "Zanba"],
["スティールハーツ", "Steel Hearts"],
["ラストサバイバー", "Last Survivor"],
["ウェーブボード", "Wave Board"],
["ブリザックス", "Blizaxe"],
["赤のソード", "Red Sword"],
["青のソード", "Blue Sword"],
// 8☆
["スペース・ツナ", "Space Tuna"],
["ヴォルスケイル", "Vol Scale"],
["タルナーダ", "Tarnada"],
["アリスティン", "Aristin"],
["フリーズ・ツナ", "Freeze Tuna"],
["ディニアエッジ", "Dinia Edge"],
["ホーリーツリー", "Holy Tree"],
["コートエッジ", "Coat Edge"],
["ラムダアリスティン", "Lambda Aristin"],
// 9☆
//["阿鼻", ""],
["イクタチ", "Ikutachi"],
["アーディロウ", "Ardillo"],
["アズロリンガー", "Azurro Ringer"],
["ラムダアーディロウ", "Lambda Ardillo"],
["ブレイザックス", "Blazaxe"],
// 10☆
["コートエッジD", "Coat Edge D"],
["ルイングローム", "Ruin Gloam"],
["フォルトゥナ", "Fortuna"],
["ルインシャルム", "Ruin Charm"],
["キレートエディア", "Chelate Edia"],
["マダムノアマガサ", "Madam's Umbrella"],
["ダーヴルソード", "Darvle Sword"],
["サディーナエッジ", "Sadiena Edge"],
["エルダーペイン", "Elder Pain"],
["カグダチ", "Kagudachi"],
["ダルバダソード", "Dalvada Sword"],
["グリッドエディア", "Grid Edia"],
["ギアフレイド", "Gearfreid"],
["バーンスパーダ", "Burn Spada"],
["ルインミラーシ", "Ruin Mirage"],
["ロッソリンガー", "Rosso Ringer"],
["クラハダチ", "Kurahadachi"],
["フラメブランド", "Flamme Brand"],
["ディオアリスティン", "Dio Aristin"],
["ファラストエディア", "Falast Edia"],
["ドラゴンスレイヤー", "Dragon Slayer"],
["ディオアーディロウ", "Dio Ardillo"],
["ルインレーヴェ", "Ruin Lowe"],
["ヴェルデリンガー", "Verde Ringer"],
["トレイターリニア", "Traitor Linear"],
["クルセイドロア", "Crusade Lore"],
["ザッパーエッジ", "Zapper Edge"],
["新光大刃", "Pristine Greatsword"],
["レイトラス", "Raytrus"],
// 11☆
["レインボーボード", "Rainbow Board"],
["ウルシハリセン", "Urushi Harisen"],
["ウェドルラビエイト", "Weddle Rabiate"],
["ロサードリーゼス", "Rosadolieses"],
["デイジーチェイン", "Daisy Chain"],
["ローズスチュワード", "Rose Steward"],
["紅葉姫", "Momijihime"],
["バイオグリオン", "Bio Glion"],
["ファーレンエンダー", "Fahrenender"],
["フォンリーゼス", "Phonlieses"],
["ジャグローク", "Jugroque"],
["シャープサイクラー", "Sharp Cycler"],
["ブレイクライナー", "Break Liner"],
["サファイザリア", "Sapphizaria"],
["ウェドルエイド", "Weddle Aid"],
["ギグルドミナ", "Gigur Domina"],
["アルケラス", "Alceras"],
["ダルスソレイド", "Dalz Soleid"],
//["ジェラーテ", ""],
["ダヴィアルソード", "Davial Sword"],
//["トウシャロウ", ""],
["トレイターグリフ", "Traitor Glyph"],
["ストラジオ", "Stradio"],
["キーンサイクラー", "Keen Cycler"],
// 12☆
["エリュシオーヌ", "Ely Sion"],
["ライブグリオン", "Live Glion"],
["リンドクレイ", "Lind Cray"],
["ライトニングエスパーダ", "Lightning Espada"],
["チェインソード", "Chainsawd"],
//["イクサコウシャ", ""],
// 13☆
//["朔桜", ""],
["イデアルエッジ", "Ideal Edge"],
//["ネメシスキャリバー", ""],
["アーレスソード", "Ares Sword"],
["スレイヴキャリバー", "Slave Calibur"],
]);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var tabl = document.getElementsByTagName("table")[1];
var thead = tabl.childNodes[0].childNodes[0];
var tbody = tabl.childNodes[2];
var headeritem = document.createElement("th");
headeritem.className = "style_th";
thead.insertBefore(headeritem, thead.firstChild);
function checkboxclicked()
{
this.parentElement.style.backgroundColor = this.checked ? "green" : "red";
localStorage[this.parentElement.parentElement.dataset.name] = this.checked;
}
for (i = 0; i < tbody.childElementCount; i++)
{
itemname = tbody.childNodes[i].childNodes[2].firstChild.text;
tbody.childNodes[i].dataset.name = itemname;
if (translate && translation.get(itemname))
{
tbody.childNodes[i].childNodes[2].firstChild.text = translation.get(itemname);
}
checkboxtd = document.createElement("td");
checkboxtd.style.textAlign = "center";
checkbox = document.createElement("input");
checkbox.type = "checkbox";
checkbox.style.width = "30px";
checkbox.style.height = "30px";
if (tbody.childNodes[i].childNodes[0].style.backgroundColor != "rgb(255, 204, 153)") // ignore extended weapon listing
{
checkboxtd.style.backgroundColor = "red";
checkboxtd.appendChild(checkbox);
}
if (localStorage[itemname] == "true")
{
checkboxtd.style.backgroundColor = "green";
checkbox.checked = true;
}
checkbox.addEventListener("change", checkboxclicked);
tbody.childNodes[i].insertBefore(checkboxtd, tbody.childNodes[i].firstChild);
}