<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel rdf:about="https://let.hatelabo.jp/cockok/rss">
    <link>https://let.hatelabo.jp/cockok/rss</link>
    <description></description>
    <title>Bookmarklets from cockok</title>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://let.hatelabo.jp/cockok/let/hJmd4uq6wpZ_"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://let.hatelabo.jp/cockok/let/hJmd4uq6wpZ_">
    <link>https://let.hatelabo.jp/cockok/let/hJmd4uq6wpZ_</link>
    <dc:date>2014-07-08T15:46:35Z</dc:date>
    <description>DQX特訓ポイントのもらい忘れ確認</description>
    <dc:creator>cockok</dc:creator>
    <title>[Let] bookmarklet</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fcockok%2Flet%2FhJmd4uq6wpZ_.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;bookmarklet&lt;/a&gt;&lt;pre&gt;/*
 * @title bookmarklet
 * @description DQX特訓ポイントのもらい忘れ確認
 * @include http://hiroba.dqx.jp/sc/home/status/detail/
 * @license MIT License
 * @require 
 */
(function(){
    var totalPoints = {};

    function getText(expression, context) {
        return $(expression, context).text();
    }
    function getNumber(expression, context) {
        return parseInt($.trim(getText(expression, context)).replace(/^([0-9,]+).*/, &amp;quot;$1&amp;quot;).replace(&amp;quot;,&amp;quot;, &amp;quot;&amp;quot;));
    }
    function stampToPoint(stamp) {
        if (stamp &amp;lt; 100) {
            return 0;
        } else if (stamp &amp;lt; 300) {
            return 1;
        } else if (stamp &amp;lt; 600) {
            return 2;
        } else if (stamp &amp;lt; 1000) {
            return 3;
        } else {
            return parseInt(stamp / 500) + 2;
        }
    }
    function levelToPoint(level) {
        var points = [  3,   6,   6,   9,  13,  13,  17,  21,  21,  25,  29,  29,  32,  36,  36,
                       40,  44,  44,  49,  54,  54,  58,  63,  63,  68,  72,  72,  76,  79,  79,
                       83,  87,  87,  90,  93,  93,  97, 100, 100, 103, 107, 107, 110, 113, 113,
                      116, 118, 119, 122, 124, 126, 129, 131, 132, 134, 136, 138, 141, 144, 146,
                      148, 151, 152, 154, 156, 158, 161, 163, 165, 167, 170];
        if (level &amp;lt; 10) {
            return 0;
        }
        return points[level - 10];
    }

    var expRows = $(&amp;quot;#jobLvExp table tr&amp;quot;);

    // 未使用ポイント処理
    expRows.each(function(i) {
        if (i == 0) {
            return true;
        }
        totalPoints[getText(&amp;quot;td.col1&amp;quot;, this)] = getNumber(&amp;quot;td.col5&amp;quot;, this);
    });
    totalPoints[&amp;quot;マスタースキル&amp;quot;] = getNumber(&amp;quot;#skillBook ul li:first .point&amp;quot;, document);
    // 使用済みポイント
    for (var k in skillMap) {
        var jobSkillPoints = skillMap[k][&amp;quot;jobSkillPoints&amp;quot;];
        for (var i = 0; i &amp;lt; jobSkillPoints.length; i++) {
            if (!(jobSkillPoints[i][&amp;quot;job&amp;quot;] in totalPoints)) {
                totalPoints[jobSkillPoints[i][&amp;quot;job&amp;quot;]] = 0;
            }
            totalPoints[jobSkillPoints[i][&amp;quot;job&amp;quot;]] += jobSkillPoints[i][&amp;quot;value&amp;quot;];
        }
    }
console.log(totalPoints);

    expRows.each(function() {
        var self = $(this);
        if (self.find(&amp;quot;th&amp;quot;).length == 5) {
           self.append(&amp;quot;&amp;lt;th&amp;gt;未取得特訓ポイント&amp;lt;/th&amp;gt;&amp;quot;);
        }
        if (self.find(&amp;quot;td&amp;quot;).length == 5) {
            self.append(&amp;quot;&amp;lt;td style=\&amp;quot;text-align:right\&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;quot;);
        }
        if (self.find(&amp;quot;td&amp;quot;).length == 6) {
            var syokugyou = self.find(&amp;quot;td.col1&amp;quot;).text();
            var tokkunPoint = stampToPoint(getNumber(&amp;quot;td.col4&amp;quot;, this));
            var levelPoint = levelToPoint(getNumber(&amp;quot;td.col2&amp;quot;, this));
            var unknownPoint = levelPoint + tokkunPoint - totalPoints[syokugyou];
            self.find(&amp;quot;td:last&amp;quot;).html(unknownPoint + &amp;quot;&amp;amp;nbsp;P&amp;quot;).text();
        }
    });
})();&lt;/pre&gt;</content:encoded>
  </item>
</rdf:RDF>
