突擊莉莉傷害計算公式
首先是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