ダメージ計算君

「ダメージ計算君」の編集履歴(バックアップ)一覧に戻る

ダメージ計算君 - (2016/10/23 (日) 17:09:55) のソース

ダメージ計算君。
防御力により決まるダメージ減少率はラフな式 100×(1-3500/(防御力+3500))で代用。
属性強化・抵抗の箇所は「攻撃側の属性強化-防御側の属性抵抗」の値を入力してください。
例1:攻撃側属性強化30%、防御側属性抵抗0%→ "30" と入力
例2:攻撃側属性強化0%、防御側属性抵抗50%→ "-50" と入力

#javascript(){{
<html>
   <head>
       <title>sample003</title>
       <script type="text/javascript">
           function Calc() {
//入力
               var ATK1; //攻撃力
               var VS; //属性相性
               var ope; //セレクトボックス用。適当
               var ATR; //属性強化・抵抗 ATtriRate
               var SKL; //スキル強度
               var OL; //支援分 OverLoad
               var CDMG; //クリダメ
               var BDMG; //追加ダメ Bonus DMG
               var DEF1; //防御力
               var PR; //防御貫通 PenetrationRatio
               var DDR; //ダメージ軽減率 Damage Decreasing Ratio
               var test; //テスト用
//従属
               var ATK2; //属性加味攻撃力
               var DEF2; //実質防御力
               var CR; //カット率 CutRatio
               var TTL; //合計強度 ToTaL
               var DMG; //ダメージ

//入力
               ATK1 = parseInt(document.form1.txtATK1.value);
               ope = parseInt(document.form1.selOpe.value);
               ATR = parseInt(document.form1.txtATR.value);
               SKL = parseInt(document.form1.txtSKL.value);
               OL = parseInt(document.form1.txtOL.value);
               CDMG = parseInt(document.form1.txtCDMG.value);
               BDMG = parseInt(document.form1.txtBDMG.value);
               DEF1 = parseInt(document.form1.txtDEF1.value);
               PR = parseInt(document.form1.txtPR.value);
               DDR = parseInt(document.form1.txtDDR.value);
//セレクトボックスを使う入力
        switch (ope) {
          case 1:
            VS = 130;
            ATK2 = ATK1*(VS+ATR)/100;
            break;
          case 2:
            VS = 100;
            ATK2 = ATK1*VS/100;
            break;
          case 3:
            VS = 70;
            ATK2 = ATK1*VS/100;
            break;
          default:
            break;
        }
            document.form1.txtVS.value = VS;
//従属
               DEF2 = DEF1*(100-PR)/100;
               CR = 100*(1-3500/(DEF2+3500));
               TTL = 100*(SKL+OL)/100*(100+CDMG)/100*(100+BDMG)/100;
               DMG = ATK2*TTL/100*(100-CR-DDR)/100;
               document.form1.txtATK2.value = ATK2;
               document.form1.txtDEF2.value = DEF2;
               document.form1.txtCR.value = CR;
               document.form1.txtTTL.value = TTL;
               document.form1.txtDMG.value =  parseInt(DMG);

           }
       </script>
   </head>
   <body>
       <form name="form1">
           属性相性<select name="selOpe" size=1>
                        <option value="1">有利</option>
                        <option value="2">普通</option>
                        <option value="3">不利</option>
                   </select><br>
           攻撃力<INPUT TYPE="text" NAME="txtATK1"><br>
           属性強化・抵抗 (%)<INPUT TYPE="text" NAME="txtATR"><br>
           防御貫通 (%)<INPUT TYPE="text" NAME="txtPR"><br>
           クリダメ (%)<INPUT TYPE="text" NAME="txtCDMG"><br>
           スキル強度 (%)<INPUT TYPE="text" NAME="txtSKL"><br>
           オーバーロード等 (%)<INPUT TYPE="text" NAME="txtOL"><br>
           追加ダメージ (%)<INPUT TYPE="text" NAME="txtBDMG"><br>
           敵防御力<INPUT TYPE="text" NAME="txtDEF1"><br>
           敵ダメージ減少率 (%)<INPUT TYPE="text" NAME="txtDDR"><br>
           <br>
           <br>
           ダメージ<INPUT TYPE="text" NAME="txtDMG"><br>
           <br>
           <br>
           相性<INPUT TYPE="text" NAME="txtVS"><br>
           属性込み攻撃力<INPUT TYPE="text" NAME="txtATK2"><br>
           実質防御力<INPUT TYPE="text" NAME="txtDEF2"><br>
           カット率 (%)<INPUT TYPE="text" NAME="txtCR"><br>
           合計強度(%)<INPUT TYPE="text" NAME="txtTTL"><br>
           
           <input type="button" name="cmdCalc" value="計算" onclick="Calc()">
       </form>

   </body>
</html>
}}

&color(white){合計:&counter()}
&color(white){今日:&counter(today)}
&color(white){昨日:&counter(yesterday)}