Guest User

Dyntos Eye translated source

a guest
Jul 11th, 2012
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 13.07 KB | None | 0 0
  1. <html>
  2. <head>
  3. <title>Dyntos Eye</title>
  4. <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
  5. <script type="text/javascript">
  6. <!--
  7. //神器融合計算機 ディントスアイ created by KZ
  8. //Weapon Fusion Calculator: Dyntos Eye created by KZ
  9. //Original source: http://dintseye.web.fc2.com/
  10. //Dirty english translation by some dog
  11.  
  12. //INSTRUCTIONS IF YOU'RE READING PASTEBIN LINK:
  13. //1) Copy and Paste contents to NotePad (or your text editor of choice)
  14. //2) Input file name, at the end add ".html"
  15. //3) For type, select "All files"
  16. //4) Encoding: Unicode (shouldn't matter unless you want to read the JP comments)
  17. //5) Click save.
  18. //6) Run HTML file and get past whatever security things your browser has.
  19. //7) Enjoy KZ's fusion calc.
  20.  
  21. //定数類
  22. var TYPE_MAX = 9;//神器種の最大数
  23. var ID_MAX = 12;//神器IDの最大数
  24.  
  25. //グループ
  26. var group_table = [2,4,3,1,5];
  27.  
  28. //合成結果種別
  29. var mix_type = [
  30.     [2,2,5,4,8,1,1,4,3],
  31.     [2,6,8,8,6,2,0,5,7],
  32.     [5,8,5,5,8,3,3,1,1],
  33.     [4,8,5,6,5,4,7,6,0],
  34.     [8,6,8,5,8,0,0,3,7],
  35.     [1,2,3,4,0,7,7,2,0],
  36.     [1,0,3,7,0,7,4,2,1],
  37.     [4,5,1,6,3,2,2,6,4],
  38.     [3,7,1,0,7,0,1,4,3]
  39. ];
  40.  
  41. //例外テーブル
  42. var ex_table = [
  43.     [0*ID_MAX+ 0,7*ID_MAX+10,3,11],
  44.     [0*ID_MAX+ 6,5*ID_MAX+ 4,7,12],
  45.     [1*ID_MAX+ 2,7*ID_MAX+ 3,0, 7],
  46.     [1*ID_MAX+ 3,8*ID_MAX+ 7,0,12],
  47.     [1*ID_MAX+ 7,4*ID_MAX+ 8,8,10],
  48.     [1*ID_MAX+10,3*ID_MAX+ 0,0,11],
  49.     [2*ID_MAX+ 4,4*ID_MAX+ 0,6, 6],
  50.     [2*ID_MAX+ 5,5*ID_MAX+ 5,4,12],
  51.     [3*ID_MAX+ 6,3*ID_MAX+11,4,11],
  52.     [3*ID_MAX+ 6,8*ID_MAX+ 4,7,11],
  53.     [4*ID_MAX+ 4,6*ID_MAX+ 1,5, 8],
  54.     [4*ID_MAX+ 6,6*ID_MAX+ 4,8,12],
  55.     [5*ID_MAX+ 5,6*ID_MAX+ 5,1,11],
  56.     [6*ID_MAX+11,7*ID_MAX+11,2,11],
  57.     [7*ID_MAX+ 2,8*ID_MAX+ 3,6, 7]
  58. ];
  59. var EX_NUM = 15;//例外数
  60.  
  61. //神器名
  62. var name_table = [
  63.     "First Blade ",
  64.     "Burst Blade ",
  65.     "Viper Blade ",
  66.     "Crusader Blade ",
  67.     "Royal Blade ",
  68.     "Optical Blade ",
  69.     "Samurai Blade ",
  70.     "Bullet Blade ",
  71.     "Aquarius Blade ",
  72.     "Aurum Blade ",
  73.     "Palutena Blade ",
  74.     "Gaol Blade ",
  75.  
  76.     "Insight Staff ",
  77.     "Orb Staff ",
  78.     "Rose Staff ",
  79.     "Knuckle Staff ",
  80.     "Ancient Staff ",
  81.     "Lancer Staff ",
  82.     "Flintlock Staff ",
  83.     "Somewhat Staff ",
  84.     "Scorpio Staff ",
  85.     "Laser Staff ",
  86.     "Dark Pit Staff ",
  87.     "Thanatos Staff ",
  88.  
  89.     "Tiger Claws ",
  90.     "Wolf Claws ",
  91.     "Bear Claws ",
  92.     "Brawler Claws ",
  93.     "Stealth Claws ",
  94.     "Hedgehog Claws ",
  95.     "Raptor Claws ",
  96.     "Artillery Claws ",
  97.     "Cancer Claws ",
  98.     "Beam Claws ",
  99.     "Viridi Claws ",
  100.     "Pandora Claws ",
  101.  
  102.     "Fortune Bow ",
  103.     "Silver Bow ",
  104.     "Meteor Bow ",
  105.     "Divine Bow ",
  106.     "Darkness Bow ",
  107.     "Crystal Bow ",
  108.     "Angel Bow ",
  109.     "Hawkeye Bow ",
  110.     "Sagitaurus Bow ",
  111.     "Aurum Bow ",
  112.     "Palutena Bow ",
  113.     "Phosphora Bow ",
  114.  
  115.     "Violet Palm ",
  116.     "Burning Palm ",
  117.     "Needle Palm ",
  118.     "Midnight Palm ",
  119.     "Cursed Palm ",
  120.     "Cutter Palm ",
  121.     "Pudgy Palm ",
  122.     "Ninja Palm ",
  123.     "Virgo Palm ",
  124.     "Aurum Palm ",
  125.     "Viridi Palm ",
  126.     "Great Reaper Palm ",
  127.  
  128.     "Ore Club ",
  129.     "Babel Club ",
  130.     "Skyscraper Club ",
  131.     "Atlas Club ",
  132.     "Earthmaul Club ",
  133.     "Ogre Club ",
  134.     "Halo Club ",
  135.     "Black Club ",
  136.     "Capricorn Club ",
  137.     "Aurum Club ",
  138.     "Hewdraw Club ",
  139.     "Magnus Club ",
  140.  
  141.     "EZ Cannon ",
  142.     "Ball Cannon ",
  143.     "Predator Cannon ",
  144.     "Poseidon Cannon ",
  145.     "Fireworks Cannon ",
  146.     "Rail Cannon ",
  147.     "Dynamo Cannon ",
  148.     "Doom Cannon ",
  149.     "Leo Cannon ",
  150.     "Sonic Cannon",
  151.     "Twinbellows Cannon ",
  152.     "Cragalanche Cannon ",
  153.  
  154.     "Standard Orbitars ",
  155.     "Guardian Orbitars ",
  156.     "Shock Orbitars ",
  157.     "Eyetrack Orbitars ",
  158.     "Fairy Orbitars ",
  159.     "Paw Pad Orbitars ",
  160.     "Jetstream Orbitars ",
  161.     "Boom Orbitars ",
  162.     "Gemini Orbitars ",
  163.     "Aurum Orbitars ",
  164.     "Centurion Orbitars ",
  165.     "Arlon Orbitars ",
  166.  
  167.     "Crusher Arm ",
  168.     "Compact Arm ",
  169.     "Electroshock Arm ",
  170.     "Volcano Arm ",
  171.     "Drill Arm ",
  172.     "Bomber Arm ",
  173.     "Bowl Arm ",
  174.     "End-All Arm ",
  175.     "Taurus Arm ",
  176.     "Upperdash Arm ",
  177.     "Kraken Arm ",
  178.     "Phoenix Arm "
  179. ];
  180. //-->
  181. </script>
  182.  
  183. <script type="text/javascript"><!--
  184.  
  185. //グループ割り出し
  186. function cal_group(src0_type,src0_id,src1_type,src1_id){
  187.     var group = group_table[Math.abs((src0_type - src1_type) * 12 + (src0_id - src1_id)) % 5];
  188.     return group;
  189. }
  190.  
  191. //id2つから合成後のIDへ
  192. function mix_id(id0,id1){
  193.     var ret = id0 + id1;
  194.     if(ret > ID_MAX) ret -= ID_MAX;
  195.     return ret;
  196. }
  197.  
  198. //タイプとidから名前とidへ
  199. function type_id_to_name_id(type,id){
  200.     //return "TEST";
  201.     var str = "";
  202.     str += name_table[type *  ID_MAX + (id-1)];
  203.     str += "(ID" + id + ")";
  204.     return str;
  205. }
  206.  
  207. //例外チェック
  208. function ex_check(num0,num1){
  209.     var i;
  210.     for(i=0;i<EX_NUM;i++){
  211.         if(
  212.             (num0 == ex_table[i][0] && num1 == ex_table[i][1]) ||
  213.             (num0 == ex_table[i][1] && num1 == ex_table[i][0])
  214.         ){
  215.             return i;
  216.         }
  217.     }
  218.     return -1;
  219. }
  220.  
  221. //表の作成と確認
  222. function makelist()
  223. {
  224.     var str = "";
  225.  
  226.     //材料
  227.     var type0,type1;
  228.     var id0,id1;
  229.     var name0,name1
  230.     var num0,num1;
  231.  
  232.     //結果
  233.     var type;   //タイプ
  234.     var id;     //id
  235.     var name;   //表示名
  236.     var group;  //グループ
  237.     var num;    //全体連番
  238.  
  239.     var index;  //リスト番号
  240.     var index_num;  //リスト連番
  241.     var index_num0; //リスト連番
  242.     var index_num1; //リスト連番
  243.     var ex;//例外
  244.  
  245.     //条件に当てはまるか
  246.     var flag;
  247.  
  248.     for(type0=0;type0<TYPE_MAX;type0++){
  249.         for(type1=type0;type1<TYPE_MAX;type1++){
  250.  
  251.     for(id0=1;id0<=ID_MAX;id0++){
  252.         for (id1=1;id1<=ID_MAX;id1++){
  253.             flag = true;
  254.             type = mix_type[type0][type1];
  255.             id = mix_id(id0,id1);
  256.             num  = type  * ID_MAX + id  -1;
  257.             num0 = type0 * ID_MAX + id0 -1;
  258.             num1 = type1 * ID_MAX + id1 -1;
  259.             group = cal_group(type0,id0,type1,id1);
  260.  
  261.             name0= type_id_to_name_id(type0,id0);
  262.             name1= type_id_to_name_id(type1,id1);
  263.             name = type_id_to_name_id(type,id);
  264.  
  265.             //例外時に結果を入れ替える
  266.             ex = ex_check(num0,num1);
  267.             if(ex >= 0){
  268.                 type = ex_table[ex][2];
  269.                 id =  ex_table[ex][3];
  270.                 num  = type  * ID_MAX + id  -1;
  271.                 name = type_id_to_name_id(type,id);
  272.             }
  273.  
  274.             //タイプが同じ時はidが小さいパターンのみ
  275.             if(type0 == type1 && id1 < id0){
  276.                 flag = false;
  277.             }
  278.  
  279.             //材料判定
  280.             index = Src0.list.selectedIndex;
  281.             index_num0 = Src0.list.options[index].value;
  282.             index = Src1.list.selectedIndex;
  283.             index_num1 = Src1.list.options[index].value;
  284.  
  285.             //片方に寄せる
  286.             if(index_num0 < 0 && index_num1 >= 0){
  287.                 index_num0 = index_num1;
  288.                 index_num1 = -1;
  289.             }
  290.  
  291.             //両方指定
  292.             if(index_num0 >=0 && index_num1 >=0){
  293.                
  294.                 if( !(
  295.                     (index_num0 == num0 && index_num1 == num1) ||
  296.                     (index_num0 == num1 && index_num1 == num0)
  297.                 )){
  298.                     flag = false;
  299.                 }
  300.             }
  301.             //片方指定
  302.             else if(index_num0 >=0){
  303.                 if(!(index_num0 == num0 || index_num0 == num1)){
  304.                     flag = false;
  305.                 }
  306.             }
  307.             //指定なしはそのまま
  308.  
  309.             //結果判定
  310.             index = Dist.list.selectedIndex;
  311.             index_num = Dist.list.options[index].value;
  312.             if(index_num >= 0 && index_num != num){
  313.                 flag = false;
  314.             }
  315.             //神器ID判定
  316.             if(!document.Dist.ID[0].checked && !document.Dist.ID[id].checked){
  317.                 flag = false;
  318.             }
  319.             //神器種別判定
  320.             if(!document.Dist.type[0].checked && !document.Dist.type[type+1].checked){
  321.                 flag = false;
  322.             }
  323.             //グループ判定
  324.             if(!document.Dist.group[0].checked && !document.Dist.group[group].checked){
  325.                 flag = false;
  326.             }
  327.  
  328.             //はじかれなかったら表に追加
  329.             if(flag){
  330.                 str += "<tr>";
  331.  
  332.                 str += "<td>";
  333.                 str += name;   
  334.                 str += "</td>";
  335.  
  336.                 str += "<td>";
  337.                 str += name0;  
  338.                 str += "</td>";
  339.  
  340.                 str += "<td>";
  341.                 str += name1;  
  342.                 str += "</td>";
  343.  
  344.                 str += "<td>";
  345.                 str += group;  
  346.                 str += "</td>";
  347.  
  348.                 str += "</tr>";
  349.             }
  350.  
  351.         }
  352.     }
  353.  
  354.         }
  355.     }
  356.    
  357.     if(str != ""){
  358.         var tag = "";
  359.         tag += "<tr>";
  360.         tag += "<td>Result</td>";
  361.         tag += "<td>Weapon A</td>";
  362.         tag += "<td>Weapon B</td>";
  363.         tag += "<td>Group</td>";
  364.         tag += "</tr>";
  365.         str = "<TABLE border=1 cellpadding=6 cellspacing=0>" + tag + str + "</table>";
  366.     }
  367.     else{
  368.         str = "<TABLE border=1 cellpadding=6 cellspacing=0>";
  369.         str += "<tr>";
  370.         str += "<td>There is nothing that meets the criteria.</td>";
  371.         str += "</tr>";
  372.         str += "</table>";
  373.     }
  374.    
  375.     document.getElementById("res").innerHTML=str;
  376.  
  377. }
  378.  
  379. //チェックボックスの一部排他制御
  380. function check_ctrl(name,num){
  381.     var i;
  382.     var check = document.getElementsByName(name);
  383.     var n = check.length-1;
  384.     if(num <= 0){
  385.         check[0].checked = true;
  386.         for(i=0;i<n;i++)
  387.             check[i+1].checked = false;
  388.     }
  389.     else{
  390.         var flag = true;
  391.         for(i=0;i<n;i++){
  392.             if(check[i+1].checked){
  393.                 flag = false;
  394.                 break;
  395.             }
  396.         }
  397.  
  398.         if(!flag){
  399.             check[0].checked = false;
  400.         }
  401.         else{
  402.             check[0].checked = true;
  403.             for(i=0;i<n;i++){
  404.                 check[i+1].checked = false;
  405.             }
  406.         }
  407.     }
  408. }
  409.  
  410. function init(){
  411.  
  412.     var type,id,n;
  413.     var name;
  414.     var op;
  415.  
  416.     Src0.list.options[0] = new Option("Unspecified",-1);
  417.     Src1.list.options[0] = new Option("Unspecified",-1);
  418.     Dist.list.options[0] = new Option("Unspecified",-1);
  419.  
  420.     for(type=0;type<TYPE_MAX;type++){
  421.         for(id=0;id<ID_MAX;id++){
  422.             n = type * ID_MAX + id;
  423.             name = type_id_to_name_id(type,id+1);
  424.  
  425.             op = new Option(name,n);
  426.             if(type%2 == 0){
  427.                 op.style.backgroundColor = "#FFFFFF";
  428.             }
  429.             else{
  430.                 op.style.backgroundColor = "#C0C0C0";
  431.             }
  432.             Src0.list.options[n+1] = op;
  433.  
  434.             op = new Option(name,n);
  435.             if(type%2 == 0){
  436.                 op.style.backgroundColor = "#FFFFFF";
  437.             }
  438.             else{
  439.                 op.style.backgroundColor = "#C0C0C0";
  440.             }
  441.             Src1.list.options[n+1] = op;
  442.  
  443.             op = new Option(name,n);
  444.             if(type%2 == 0){
  445.                 op.style.backgroundColor = "#FFFFFF";
  446.             }
  447.             else{
  448.                 op.style.backgroundColor = "#C0C0C0";
  449.             }
  450.             Dist.list.options[n+1] = op;
  451.         }
  452.     }
  453. }
  454.  
  455. // --></SCRIPT>
  456. </head>
  457. <body onLoad="init()">
  458.  
  459. <FORM name="Src0">
  460.     Weapon A:
  461.     <SELECT name="list"></SELECT>
  462. </FORM>
  463. <hr noshade="noshade">
  464.  
  465. <FORM name="Src1">
  466.     Weapon B:
  467.     <SELECT name="list"></SELECT>
  468. </FORM>
  469. <hr noshade="noshade">
  470.  
  471. <FORM name="Dist">
  472.     Result :
  473.     <SELECT name="list"></SELECT><BR>
  474.     From Weapon ID(s):
  475.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 0)" checked=true>Unspecified
  476.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 1)">1
  477.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 2)">2
  478.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 3)">3
  479.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 4)">4
  480.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 5)">5
  481.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 6)">6
  482.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 7)">7
  483.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 8)">8
  484.     <input type="checkbox" name="ID" onClick="check_ctrl(name, 9)">9
  485.     <input type="checkbox" name="ID" onClick="check_ctrl(name,10)">10
  486.     <input type="checkbox" name="ID" onClick="check_ctrl(name,11)">11
  487.     <input type="checkbox" name="ID" onClick="check_ctrl(name,10)">12
  488.     <BR>
  489.     From Weapon Class(es):
  490.     <input type="checkbox" name="type" onClick="check_ctrl(name,0)" checked=true>Unspecified
  491.     <input type="checkbox" name="type" onClick="check_ctrl(name,1)">Blade
  492.     <input type="checkbox" name="type" onClick="check_ctrl(name,2)">Staff
  493.     <input type="checkbox" name="type" onClick="check_ctrl(name,3)">Claw
  494.     <input type="checkbox" name="type" onClick="check_ctrl(name,4)">Bow
  495.     <input type="checkbox" name="type" onClick="check_ctrl(name,5)">Palm
  496.     <input type="checkbox" name="type" onClick="check_ctrl(name,6)">Club
  497.     <input type="checkbox" name="type" onClick="check_ctrl(name,7)">Cannon
  498.     <input type="checkbox" name="type" onClick="check_ctrl(name,8)">Orbitar
  499.     <input type="checkbox" name="type" onClick="check_ctrl(name,9)">Arm
  500.     <BR>
  501.     From Fusion Group(s):
  502.     <input type="checkbox" name="group" onClick="check_ctrl(name,0)" checked=true>Unspecified
  503.     <input type="checkbox" name="group" onClick="check_ctrl(name,1)">1
  504.     <input type="checkbox" name="group" onClick="check_ctrl(name,2)">2
  505.     <input type="checkbox" name="group" onClick="check_ctrl(name,3)">3
  506.     <input type="checkbox" name="group" onClick="check_ctrl(name,4)">4
  507.     <input type="checkbox" name="group" onClick="check_ctrl(name,5)">5
  508. </FORM>
  509. <hr noshade="noshade">
  510.  
  511. <input type="button" value="Calculate List" onclick="makelist()"
  512. >
  513. <div id="res">Results will be displayed here.</div>
  514. <Div Align="right"><font size=2 color="#D0D0D0">cretaed by KZ</font></Div>
  515. <script type="text/javascript"><!--
  516. var fhp_c_pc = navigator.userAgent.toLowerCase();
  517. var fhp_ie = ((fhp_c_pc.indexOf("msie") != -1) && (fhp_c_pc.indexOf("opera") == -1));
  518. var fhp_cs, fhp_wt, fhp_dm;
  519.  
  520. if (fhp_ie) {
  521.        fhp_cs = document.charset;
  522. }else{
  523.        fhp_cs = document.characterSet;
  524. }
  525. fhp_dm = document.location;
  526.  
  527. fhp_wt = "";
  528. fhp_wt = '<' + 'script src="http://web.fc2.com/header.php?cs=' + fhp_cs + '&dm=' + fhp_dm + '" charset="UTF-8"><' + '/script>';
  529. fhp_wt += '<' + 'script src="http://web.fc2.com/footer/footer.php?cs=' + fhp_cs + '&dm=' + fhp_dm + '"><' + '/script>';
  530. document.write(fhp_wt);
  531. //--></script>
  532. <!-- FC2, inc.-->
  533. <img src="http://media.fc2.com/counter_img.php?id=50" style="visibility:hidden" alt="inserted by FC2 system" width="0" height="0" />
  534. <!-- FC2, inc.-->
  535. </body>
  536. </html>
Advertisement
Add Comment
Please, Sign In to add comment