1. 程式人生 > 遊戲資訊 >突擊莉莉傷害計算公式

突擊莉莉傷害計算公式

首先是Wolfram的原始碼,用Mathematica捏


Manipulate[{2 + 

   Floor[Floor[

      Floor[(BaseAtk*(1 + 0.05*AtkBuffCounter + 

              0.025*Sign[AtkBuffCounter]) - 

           2/3*If[DefBuffCounter >= -10, 

             BaseDef*(1 + 0.05*DefBuffCounter) + 

              0.025*Sign[DefBuffCounter], 

             BaseDef*(0.5 + 0.02*(DefBuffCounter + 10)) + 

              0.01*Sign[DefBuffCounter]])*0.1*BaseMag*

         If[LvPowerCounter == 20, 1.5, 

          1 + (LvPowerCounter - 1)*0.025]]*Charm*Chara*Elem*

       If[BaseAtk*(1 + 0.05*AtkBuffCounter + 

            0.025*Sign[AtkBuffCounter]) >= 

         2 If[DefBuffCounter >= -10, 

           BaseDef*(1 + 0.05*DefBuffCounter) + 

            0.025*Sign[DefBuffCounter], 

           BaseDef*(0.5 + 0.02*(DefBuffCounter + 10)) + 

            0.01*Sign[DefBuffCounter]], 

        1 + 0.05*

          Floor[(BaseAtk*(1 + 0.05*AtkBuffCounter + 

                0.025*Sign[AtkBuffCounter]))/

            If[DefBuffCounter >= -10, 

             BaseDef*(1 + 0.05*DefBuffCounter) + 

              0.025*Sign[DefBuffCounter], 

             BaseDef*(0.5 + 0.02*(DefBuffCounter + 10)) + 

              0.01*Sign[DefBuffCounter]]], 

        1]*(SOdr + EOdr)*(1 + DmgUp)]*Crit*0.9], 

  2 + Floor[

    Floor[Floor[(BaseAtk*(1 + 0.05*AtkBuffCounter + 

              0.025*Sign[AtkBuffCounter]) - 

           2/3*If[DefBuffCounter >= -10, 

             BaseDef*(1 + 0.05*DefBuffCounter) + 

              0.025*Sign[DefBuffCounter], 

             BaseDef*(0.5 + 0.02*(DefBuffCounter + 10)) + 

              0.01*Sign[DefBuffCounter]])*0.1*BaseMag*

         If[LvPowerCounter == 20, 1.5, 

          1 + (LvPowerCounter - 1)*0.025]]*Charm*Chara*Elem*

       If[BaseAtk*(1 + 0.05*AtkBuffCounter + 

            0.025*Sign[AtkBuffCounter]) >= 

         2 If[DefBuffCounter >= -10, 

           BaseDef*(1 + 0.05*DefBuffCounter) + 

            0.025*Sign[DefBuffCounter], 

           BaseDef*(0.5 + 0.02*(DefBuffCounter + 10)) + 

            0.01*Sign[DefBuffCounter]], 

        1 + 0.05*

          Floor[(BaseAtk*(1 + 0.05*AtkBuffCounter + 

                0.025*Sign[AtkBuffCounter]))/

            If[DefBuffCounter >= -10, 

             BaseDef*(1 + 0.05*DefBuffCounter) + 

              0.025*Sign[DefBuffCounter], 

             BaseDef*(0.5 + 0.02*(DefBuffCounter + 10)) + 

              0.01*Sign[DefBuffCounter]]], 

        1]*(SOdr + EOdr)*(1 + DmgUp)]*Crit]}, {{BaseAtk, 120000, 

   "基礎攻擊面板"}, 120000}, {{BaseDef, 120000, "基礎防禦面板"}, 

  120000}, {{Crit, 1, "暴擊"}, {1 -> "無", 

   1.3 -> "有"}}, {{AtkBuffCounter, 0, "攻擊層數"}, 

  Range[-20, 20, 1]}, {{DefBuffCounter, 0, "防禦層數"}, 

  Range[-20, 20, 1]}, {{Charm, 1.1, "Charm加成"}, 

  Range[1, 1.1, 0.01]}, {{Chara, 1.15, "小人加成"}, {1 -> "無", 

   1.1 -> "10%", 1.125 -> "12.5%", 1.15 -> "15%"}}, {{Elem, 1.1, 

   "軍團恩惠"}, 

  Range[1, 1.1, 0.01]}, {{SOdr, 1, "我方Order"}, {1 -> "無", 

   1.45 -> "旗子/非本家", 1.6 -> "本家屬性"}}, {{EOdr, 0, 

   "對手方Order"}, {0 -> "無", 

   0.2 -> "加傷Order", -0.5 -> "屬性盾", -0.15 -> "傷害盾"}}, {{BaseMag, 1.28,

    "卡型別"}, {0.89 -> "B1", 1.08 -> "B2/C3", 1.28 -> "A1/xA2/B3/DLG", 

   1.46 -> "A2/xA3", 1.71 -> "A3/xA4", 

   1.92 -> "A4/xALG"}}, {{LvPowerCounter, 20, "回憶等級"}, 

  Range[1, 20, 1]}, {{DmgUp, 0, "傷害UP(SumPer:I/II/III=10/15/18%)"}, 

  0}]

簡單而言就是

(攻擊 - 2/3*防禦)*0.1*回憶乘子*係數*暴擊補正*亂數


攻擊=算了buff後的攻擊

Atk = BaseAtk*(1 + 0.05*AtkBuffCounter + 0.025*Sign[AtkBuffCounter])

這代表一層Buff就是5%,由於玩家無法獲得遊戲內確切buff數值,只有buff層數,計算時把1作為1.5,2作為2.5取均值


防禦=算了buff後的防禦

Def = If[DefBuffCounter >= -10, 

  BaseDef*(1 + 0.05*DefBuffCounter) + 0.025*Sign[DefBuffCounter], 

  BaseDef*(0.5 + 0.02*(DefBuffCounter + 10)) + 

   0.01*Sign[DefBuffCounter]]

這代表在-10層至20層一層Buff就是5%,而-20層至-11層一層為2%,同理取均值計算。

值得一提的是,我認為Atk也是這個計算辦法,但是由於atk被扣到-10層的人已經沒有資格玩遊戲傷害了,所以真相很難得知。


0.1就是一個乘子


回憶乘子=回憶等級補正*回憶型別補正


回憶等級:回憶技能等級15級135%,20級150%那個

If[LvPowerCounter == 20, 1.5, 1 + (LvPowerCounter - 1)*0.025]

即1級100%,15級135%,19級145%,期間每級+2.5%,而20級150%


回憶型別補正:

{0.89 -> "B1", 1.08 -> "B2/C3", 

  1.28 -> "A1/xA2/B3/DLG", 1.46 -> "A2/xA3", 1.71 -> "A3/xA4", 

  1.92 -> "A4/xALG"}}

B/C/D代表所有的B/C/D類卡

A代表沒有buff的A類卡

xA代表含buff的A類卡


係數:Charm加成*人物加成*軍團恩惠*攻/防補正*Order補正*傷害Up補正

Coff = Charm*Chara*Elem*StatsCof*Odr*(1 + DmgUp)


Charm加成*人物加成*軍團恩惠*Order補正=Charm*Chara*Elem*Odr

《Elementary My Dear》


攻/防補正:

StatsCof = If[Atk >= 2 Def, 1 + 0.05*Floor[Atk/Def], 1]

也就是Atk/Def>2的時候有額外補正,=1 + 0.05*Floor[Atk/Def]


傷害Up補正:

所有觸發的傷害Upbuff加和計算

Up1/2/3一級=10/15/18%,等級補正同回憶


暴擊1.3倍

亂數0.9-1