PSO2 Weapon Library tool

Keep track of what weapons you have in your weapon library

当前为 2015-09-29 提交的版本,查看 最新版本

// ==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);
}