サーモンランとガチマッチのパラメータの違い

下方修正されない

たびたびガチマッチである特定のブキが暴れることでインク効率などが下げられることがありますが、サーモンランではそういった下方修正はされません。

なので、ガチマッチとサーモンランで大きくパラメータが異なるブキが存在します。

パラメータを調べてみた

具体的にパラメータを全部把握しているわけではないので、全部調べてみることにしました。

全部いちいち書いていたらめんどくさすぎるのでコードを書いて実装しました。

  • Ink(インク消費量)
  • DMax(最大ダメージ)
  • DMin(最小ダメージ)

シェルターとスロッシャーはパラメータがわかりにくいからインク効率以外は省略しちゃいました。

WeaponcInkvinkcDMaxcDMinvDMaxvDMin
BlasterCoopBurst0.030.03500500500500
BlasterCoopMiddle0.080.080000
BlasterCoopShort0.020.02350350350350
BlasterLight0.0450.0714001400850850
BlasterLightLong0.0650.0814001400850850
BlasterLightShort0.0320.04850850600600
BlasterLong0.060.112000200012501250
BlasterMiddle0.0480.12000200012501250
BlasterShort0.040.092000200012501250
ChargerCoopLight0.050.051000100010001000
ChargerCoopNormal0.180.1830005003000500
ChargerCoopQuick0.070.071000100010001000
ChargerCoopSpark0.130.132000200020002000
ChargerKeeper0.120.1530005001800400
ChargerLight0.040.071600600850300
ChargerLong0.250.2560005001800400
ChargerLongScope0.250.2560005001800400
ChargerNormal0.180.1830005001600400
ChargerNormalScope0.180.1830005001600400
ChargerQuick0.0840.10530005001400400
RollerBrushMini400200
RollerBrushNormal400250
RollerCompact700700
RollerHeavy40001250
RollerHunter12501250
RollerNormal12501250
ShooterBlaze0.00550.0055240190240120
ShooterCoopExpert0.0190.019420210420210
ShooterCoopFirst0.0170.017300300300300
ShooterCoopGravity0.0120.012520260520260
ShooterCoopNormal0.010.01350300350300
ShooterCoopShort0.0070.007380190380190
ShooterExpert0.020.02450300420210
ShooterFirst0.0050.0043280200280140
ShooterFlash0.0250.025450300380190
ShooterFlashRepeat0.0090.009300250300150
ShooterGravity0.0130.013520350520300
ShooterHeavy0.0250.025850550620350
ShooterLong0.0160.016350300320160
ShooterNormal0.010.01350300350175
ShooterPrecision0.0080.008280200280140
ShooterQuickLong0.0120.012280140280140
ShooterQuickMiddle0.00850.008280200280140
ShooterShort0.0080.008450300380190
ShooterTripleMiddle0.0180.018600500410205
ShooterTripleQuick0.010.01400350290145
SlosherBathtub0.060.08
SlosherCoopLauncher0.070.07
SlosherCoopStrong0.070.07
SlosherCoopVase0.250.25
SlosherDiffusion0.0450.06
SlosherLauncher0.0550.084
SlosherStrong0.0550.07
SlosherWashtub0.090.117
SpinnerCoopStandard0.2250.225250250250250
SpinnerDownpour0.2250.25350250280140
SpinnerDownpourRepeat0.2250.25350250300150
SpinnerHyper0.350.35350250320160
SpinnerQuick0.150.15350250320160
SpinnerSerein0.140.15350250320160
SpinnerStandard0.2250.225350250320160
TwinsCoopNormal0.0060.006250250250250
TwinsDual0.0080.012300250280140
TwinsGallon0.0160.016450300360180
TwinsNormal0.0080.008300250300150
TwinsShort0.00750.0075450300360180
TwinsStepper0.0080.008300250280140
UmbrellaCompact0.030.04
UmbrellaCoopAutoAssault0.020.02
UmbrellaCoopNormal0.050.05
UmbrellaNormal0.0250.055
UmbrellaWide0.050.1
VictoryRocket0.0090.0096003005050

先頭がcのものはCoop(サーモンラン)、vはVersus(ガチマッチ)のパラメータを意味します。

また、データは全てVer4.6.1のものです。

どのブキがどの名前なのかはみんな各自判断してくれよな!

コード

import xml.etree.ElementTree as et
import os
import sys
import csv
import glob

list = []

file = glob.glob("461/*.xml")
file.sort()

for path in file:
    # shift_jisをutf-8に変換
    data = open(path).read()
    data = data.replace('encoding="shift_jis"', 'encoding="utf-8"')
    data = data.encode('utf-8')
    xml = et.fromstring(data)

    param = [None] * 7
    param[0] = path[8:-4]
    # 解析    
    for child in xml:
        if child.tag == "C1":
            for line in child[0]:
                # InkConsume
                if line.attrib["Name"] == "mCoopInkConsume":
                    param[1] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mCoopFullChargeInkConsume":
                    param[1] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mInkConsume":
                    param[2] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mFullChargeInkConsume":
                    param[2] = line.attrib["StringValue"]

                if line.attrib["Name"] == "mCoopDamageMax":
                    param[3] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mCoopCoreDamage":
                    param[3] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mCoopFullChargeDamage":
                    param[3] = line.attrib["StringValue"]

                if line.attrib["Name"] == "mCoopDamageMin":
                    param[4] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mCoopMinChargeDamage":
                    param[4] = line.attrib["StringValue"]
                
                if line.attrib["Name"] == "mDamageMax":
                    param[5] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mCoreDamage":
                    param[5] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mFullChargeDamage":
                    param[5] = line.attrib["StringValue"]
                    
                if line.attrib["Name"] == "mDamageMin":
                    param[6] = line.attrib["StringValue"]
                if line.attrib["Name"] == "mMinChargeDamage":
                    param[6] = line.attrib["StringValue"]
    if param.count(None) <= 4:
        list.append(param)
f = open("inkconsume.csv", "w", newline="")
w = csv.writer(f)
w.writerow(["Weapon", "cInk", "vink", "cDMax", "cDMin", "vDMax", "vDMin"])
for line in list:
    w.writerow(line)

まとめ

近々4.7.0がリリースされるのでまたパラメータに変更があるかもしれません。

シェアする