2016/09/30(金)パートナーステータス一覧

パートナーステータス一覧

ECO公式ツール・パートナーサーチ

ECO公式ツール・パートナーサーチが公開されて、パートナーのステータスを簡単に調べることができるようになりました。しかし、パートナー名やLVを指定した検索なので、LV1~110のステータスを一覧にして眺めるような目的にはちょっと使いにくいです。

パートナーステータス一覧CSVファイル

そこで、パートナーサーチのデータを機械的に取得してCSV形式の一覧表を作ってみました。

以下のリンクからダウンロードできます。

  • eco_partner_20160930.zip (約2MB、解凍後約15MB)
    • 成長ポイントは未振り、信頼度は灰色で、転生前後のLV1~110を取得しています。

これで、表計算ソフトでグラフを書いて遊んだりすることができます(>_<)

プルル・アルマ ATK

おまけ:考察

pururu_hp.png

ちゃんと確認したのはプルル・アルマのHPだけですが、以下のような法則があるようです。

  • 転生前
    • 完全に線形(一次関数)
    • なので、LVがnの時のHPは、LV1とLV110のHPを使って、以下の計算式で計算できます。(端数切り捨て。)

      HP[LVn] = HP[LV1] + (HP[LV110] - HP[LV1]) * (n-1) / 109

  • 転生後
    • 転生後HP = 転生前HP + 転生後ボーナスHP の形になっている
    • 転生後ボーナスは10の倍数LVで増える。具体的な値は下の表を。
      • 増え方の法則はたぶん無い?
プルル・アルマHP一覧表
LV転生前転生後転生後ボーナス=転生後-転生前
1450750300
2475775300
3500800300
4525825300
5550850300
6576876300
7601901300
8626926300
9651951300
106771,177500
117021,202500
127271,227500
137521,252500
147771,277500
158031,303500
168281,328500
178531,353500
188781,378500
199041,404500
209291,729800
219541,754800
229791,779800
231,0051,805800
241,0301,830800
251,0551,855800
261,0801,880800
271,1051,905800
281,1311,931800
291,1561,956800
301,1812,1811000
311,2062,2061000
321,2322,2321000
331,2572,2571000
341,2822,2821000
351,3072,3071000
361,3332,3331000
371,3582,3581000
381,3832,3831000
391,4082,4081000
401,4333,4332000
411,4593,4592000
421,4843,4842000
431,5093,5092000
441,5343,5342000
451,5603,5602000
461,5853,5852000
471,6103,6102000
481,6353,6352000
491,6613,6612000
501,6864,6863000
511,7114,7113000
521,7364,7363000
531,7614,7613000
541,7874,7873000
551,8124,8123000
561,8374,8373000
571,8624,8623000
581,8884,8883000
591,9134,9133000
601,9385,9384000
611,9635,9634000
621,9885,9884000
632,0146,0144000
642,0396,0394000
652,0646,0644000
662,0896,0894000
672,1156,1154000
682,1406,1404000
692,1656,1654000
702,1908,1906000
712,2168,2166000
722,2418,2416000
732,2668,2666000
742,2918,2916000
752,3168,3166000
762,3428,3426000
772,3678,3676000
782,3928,3926000
792,4178,4176000
802,44310,4438000
812,46810,4688000
822,49310,4938000
832,51810,5188000
842,54410,5448000
852,56910,5698000
862,59410,5948000
872,61910,6198000
882,64410,6448000
892,67010,6708000
902,69511,6959000
912,72011,7209000
922,74511,7459000
932,77111,7719000
942,79611,7969000
952,82111,8219000
962,84611,8469000
972,87211,8729000
982,89711,8979000
992,92211,9229000
1002,94724,94722000
1012,97224,97222000
1022,99824,99822000
1033,02325,02322000
1043,04825,04822000
1053,07325,07322000
1063,09925,09922000
1073,12425,12422000
1083,14925,14922000
1093,17425,17422000
1103,20027,20024000

2016/09/11(日)RecentChangesページを考慮したブラウザキャッシュ制御

PukiWiki: RecentChangesページを考慮したブラウザキャッシュ制御

PukiWiki If-Modified-Since(条件付きリクエスト)対応のコメントでやりとりしていた、RecentChangesページを考慮したブラウザキャッシュ制御の機能をbodycache改良版に追加しました。

PukiWiki bodycache改良版のページで公開しています。なお、追加機能を使うには設定が必要です。*1

RecentChangesを考慮したページ更新日時

基本的な方針は、「Wikiページキャッシュ更新日時とRecentChanges更新日時のうち新しい方」をページの更新日時と見なすというものです。

以下の関数がこの新しい方の更新日時を返す関数です。$bodycache_lastmod_whatsnewはpukiwiki.ini.php内の設定で、$bodycache_lastmod_whatsnewがtrueの時のみこの機能は動作します。

  • bodycache.php
    // Get last-modified time for client side cache control
    function get_lastmodtime($page)
    {
    	global $bodycache_lastmod_whatsnew;
    	global $whatsnew;
    	static $lastmodtime = null ;
    	if ($lastmodtime !== null) {
    		return $lastmodtime ;
    	}
    
    	$cachetime = get_cachetime($page);
    	if ( $cachetime != 0 && $bodycache_lastmod_whatsnew ) {
    		$whatsnewtime = get_filetime($whatsnew);
    		$lastmodtime = ( $cachetime >= $whatsnewtime ) ? $cachetime : $whatsnewtime;
    	} else {
    		$lastmodtime =  $cachetime;
    	}
    
    	return $lastmodtime;
    }
    

この関数が返す日時を、ブラウザに返却するLast-Modifiedや、If-modified-sinceの比較に用いることで、RecentChanges更新時にはブラウザキャッシュも更新される動作になります。

追記

get_lastmodtimeは複数回呼ばれるので、処理量を減らすために1回目に呼ばれたときの結果を$lastmodtimeに残して2回目以降は$lastmodtimeを返すだけにしているのですが、今の書き方では引数の$pageを変更して呼ばれると正しく動作しなくなってしまいます。

今のコードでは、$pageを変更してget_lastmodtimeを呼ぶことはないので問題は起こりませんが、get_lastmodtimeの引数を変えてはいけないという制約ができてしまっているのであまり良くないですね。(うっかり忘れて将来事故を起こしそう^^;)そのうち修正するかもしれません。

*1 : 機能が不要な場合に負荷が増えないように。

その他のbodycache改良版の更新

更新のついでに、bodycache.php内の不要な記述の削除とコードインデントのタブへの統一*2も実施しました。

また、bodycache.php内にあった設定用の変数$bodycache_del_depthをpukiwiki.ini.phpに移動しました。

*2 : PukiWikiのコードが基本的にタブだったので。