wip: TabTools_StepCalculator

This commit is contained in:
2023-09-20 01:30:58 +08:00
parent 39ede6eb44
commit 4b79428857
5 changed files with 806 additions and 212 deletions

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>615</width>
<width>840</width>
<height>549</height>
</rect>
</property>
@ -14,38 +14,6 @@
<string notr="true">TabTools_StepCalculator</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QWidget" name="widget_3" native="true">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>partnerStepValueLabel</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="partnerStepValueSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<double>1000.000000000000000</double>
</property>
<property name="singleStep">
<double>1.000000000000000</double>
</property>
<property name="stepType">
<enum>QAbstractSpinBox::DefaultStepType</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="mapTypeWidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
@ -68,7 +36,7 @@
</property>
</widget>
</item>
<item row="1" column="0">
<item row="2" column="0">
<widget class="QPushButton" name="mapTypePlayRadioButton">
<property name="styleSheet">
<string notr="true">QPushButton{background-color: transparent}</string>
@ -84,7 +52,7 @@
</property>
</widget>
</item>
<item row="0" column="1">
<item row="1" column="0">
<widget class="QPushButton" name="mapTypeLegacyPlayPlusRadioButton">
<property name="styleSheet">
<string notr="true">QPushButton{background-color: transparent}</string>
@ -100,32 +68,13 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_4">
<property name="enabled">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">QPushButton{background-color: transparent}</string>
</property>
<property name="text">
<string notr="true">Beyond placeholder</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -239,6 +188,151 @@
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>partner.title</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>partner.stepValueLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="partnerStepValueSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<double>1000.000000000000000</double>
</property>
<property name="singleStep">
<double>1.000000000000000</double>
</property>
<property name="stepType">
<enum>QAbstractSpinBox::DefaultStepType</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="partnerSkillGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>partner.skill.title</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<layout class="QFormLayout" name="formLayout">
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>partner.skill.stepBonus</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>partner.skill.finalMultiplier</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="partnerSkillFinalMultiplierLineEdit">
<property name="text">
<string notr="true">1.0</string>
</property>
<property name="placeholderText">
<string notr="true">1.0</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="partnerSkillStepBonusLineEdit">
<property name="text">
<string notr="true">+0.0</string>
</property>
<property name="placeholderText">
<string notr="true">+0.0</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>partner.skill.presets</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="1">
<widget class="QPushButton" name="partnerSkillPresetButton_awakenedEto">
<property name="text">
<string>partner.skill.presets.awakenedEto</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="partnerSkillPresetButton_awakenedIlith">
<property name="text">
<string>partner.skill.presets.awakenedIlith</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="partnerSkillPresetButton_awakenedLuna">
<property name="text">
<string>partner.skill.presets.awakenedLuna</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="partnerSkillPresetButton_amaneBelowEx">
<property name="text">
<string>partner.skill.presets.amaneBelowEx</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="partnerSkillPresetButton_maya">
<property name="text">
<string>partner.skill.presets.maya</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
@ -254,21 +348,14 @@
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>calculation</string>
<string>calculate.toStep</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QWidget" name="horizontalWidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>playResultLabel</string>
<layout class="QFormLayout" name="formLayout_2">
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="playResultSpinBox">
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="calculate_toStep_playResultSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -286,13 +373,43 @@
</property>
</widget>
</item>
</layout>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>calculate.toStep.playResultLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="calculatePlayResultFromScoreButton">
<item row="2" column="0">
<widget class="QLabel" name="label_7">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>calculatePlayResultFromScoreButton</string>
<string>calculate.toStep.resultLabel</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="calculate_toStep_resultLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="calculate_toStep_calculatePlayResultFromScoreButton">
<property name="text">
<string>calculate.toStep.calculatePlayResultFromScoreButton</string>
</property>
</widget>
</item>
@ -302,21 +419,21 @@
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>inverseCalculation</string>
<string>calculate.fromStep</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QWidget" name="horizontalWidget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<layout class="QFormLayout" name="formLayout_3">
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>targetStep</string>
<string>calculate.fromStep.targetStepLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="doubleSpinBox">
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="calculate_fromStep_targetStepSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -325,7 +442,30 @@
</property>
</widget>
</item>
</layout>
<item row="1" column="0">
<widget class="QLabel" name="label_9">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>calculate.fromStep.resultLabel</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="calculate_fromStep_resultLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string notr="true">...</string>
</property>
</widget>
</item>
</layout>

View File

@ -16,43 +16,18 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QAbstractSpinBox, QApplication, QCheckBox, QDoubleSpinBox,
QGridLayout, QGroupBox, QHBoxLayout, QLabel,
QPushButton, QRadioButton, QSizePolicy, QStackedWidget,
QVBoxLayout, QWidget)
QFormLayout, QGridLayout, QGroupBox, QHBoxLayout,
QLabel, QLineEdit, QPushButton, QRadioButton,
QSizePolicy, QStackedWidget, QVBoxLayout, QWidget)
class Ui_TabTools_StepCalculator(object):
def setupUi(self, TabTools_StepCalculator):
if not TabTools_StepCalculator.objectName():
TabTools_StepCalculator.setObjectName(u"TabTools_StepCalculator")
TabTools_StepCalculator.resize(615, 549)
TabTools_StepCalculator.resize(840, 549)
TabTools_StepCalculator.setWindowTitle(u"TabTools_StepCalculator")
self.verticalLayout_3 = QVBoxLayout(TabTools_StepCalculator)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.widget_3 = QWidget(TabTools_StepCalculator)
self.widget_3.setObjectName(u"widget_3")
self.gridLayout = QGridLayout(self.widget_3)
self.gridLayout.setObjectName(u"gridLayout")
self.label = QLabel(self.widget_3)
self.label.setObjectName(u"label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.partnerStepValueSpinBox = QDoubleSpinBox(self.widget_3)
self.partnerStepValueSpinBox.setObjectName(u"partnerStepValueSpinBox")
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.partnerStepValueSpinBox.sizePolicy().hasHeightForWidth())
self.partnerStepValueSpinBox.setSizePolicy(sizePolicy)
self.partnerStepValueSpinBox.setMaximum(1000.000000000000000)
self.partnerStepValueSpinBox.setSingleStep(1.000000000000000)
self.partnerStepValueSpinBox.setStepType(QAbstractSpinBox.DefaultStepType)
self.gridLayout.addWidget(self.partnerStepValueSpinBox, 0, 1, 1, 1)
self.verticalLayout_3.addWidget(self.widget_3)
self.mapTypeWidget = QWidget(TabTools_StepCalculator)
self.mapTypeWidget.setObjectName(u"mapTypeWidget")
self.horizontalLayout = QHBoxLayout(self.mapTypeWidget)
@ -75,7 +50,7 @@ class Ui_TabTools_StepCalculator(object):
self.mapTypePlayRadioButton.setCheckable(True)
self.mapTypePlayRadioButton.setAutoExclusive(True)
self.gridLayout_2.addWidget(self.mapTypePlayRadioButton, 1, 0, 1, 1)
self.gridLayout_2.addWidget(self.mapTypePlayRadioButton, 2, 0, 1, 1)
self.mapTypeLegacyPlayPlusRadioButton = QPushButton(self.mapTypeSelectorWidget)
self.mapTypeLegacyPlayPlusRadioButton.setObjectName(u"mapTypeLegacyPlayPlusRadioButton")
@ -83,28 +58,18 @@ class Ui_TabTools_StepCalculator(object):
self.mapTypeLegacyPlayPlusRadioButton.setCheckable(True)
self.mapTypeLegacyPlayPlusRadioButton.setAutoExclusive(True)
self.gridLayout_2.addWidget(self.mapTypeLegacyPlayPlusRadioButton, 0, 1, 1, 1)
self.pushButton_4 = QPushButton(self.mapTypeSelectorWidget)
self.pushButton_4.setObjectName(u"pushButton_4")
self.pushButton_4.setEnabled(False)
self.pushButton_4.setStyleSheet(u"QPushButton{background-color: transparent}")
self.pushButton_4.setText(u"Beyond placeholder")
self.pushButton_4.setCheckable(False)
self.pushButton_4.setAutoExclusive(True)
self.gridLayout_2.addWidget(self.pushButton_4, 1, 1, 1, 1)
self.gridLayout_2.addWidget(self.mapTypeLegacyPlayPlusRadioButton, 1, 0, 1, 1)
self.horizontalLayout.addWidget(self.mapTypeSelectorWidget)
self.stackedWidget = QStackedWidget(self.mapTypeWidget)
self.stackedWidget.setObjectName(u"stackedWidget")
sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.stackedWidget.sizePolicy().hasHeightForWidth())
self.stackedWidget.setSizePolicy(sizePolicy1)
sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.stackedWidget.sizePolicy().hasHeightForWidth())
self.stackedWidget.setSizePolicy(sizePolicy)
self.legacyPlay = QWidget()
self.legacyPlay.setObjectName(u"legacyPlay")
self.verticalLayout = QVBoxLayout(self.legacyPlay)
@ -121,11 +86,11 @@ class Ui_TabTools_StepCalculator(object):
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.widget = QWidget(self.legacyPlayPlus)
self.widget.setObjectName(u"widget")
sizePolicy2 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth())
self.widget.setSizePolicy(sizePolicy2)
sizePolicy1 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth())
self.widget.setSizePolicy(sizePolicy1)
self.horizontalLayout_2 = QHBoxLayout(self.widget)
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.legacyPlayPlus_x2StaminaRadioButton = QRadioButton(self.widget)
@ -151,8 +116,8 @@ class Ui_TabTools_StepCalculator(object):
self.legacyPlayPlus_useFragmentsGroupBox = QGroupBox(self.legacyPlayPlus)
self.legacyPlayPlus_useFragmentsGroupBox.setObjectName(u"legacyPlayPlus_useFragmentsGroupBox")
sizePolicy2.setHeightForWidth(self.legacyPlayPlus_useFragmentsGroupBox.sizePolicy().hasHeightForWidth())
self.legacyPlayPlus_useFragmentsGroupBox.setSizePolicy(sizePolicy2)
sizePolicy1.setHeightForWidth(self.legacyPlayPlus_useFragmentsGroupBox.sizePolicy().hasHeightForWidth())
self.legacyPlayPlus_useFragmentsGroupBox.setSizePolicy(sizePolicy1)
self.legacyPlayPlus_useFragmentsGroupBox.setCheckable(True)
self.legacyPlayPlus_useFragmentsGroupBox.setChecked(False)
self.horizontalLayout_3 = QHBoxLayout(self.legacyPlayPlus_useFragmentsGroupBox)
@ -195,74 +160,198 @@ class Ui_TabTools_StepCalculator(object):
self.horizontalLayout.addWidget(self.stackedWidget)
self.groupBox_3 = QGroupBox(self.mapTypeWidget)
self.groupBox_3.setObjectName(u"groupBox_3")
self.verticalLayout_5 = QVBoxLayout(self.groupBox_3)
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
self.horizontalLayout_5 = QHBoxLayout()
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.label = QLabel(self.groupBox_3)
self.label.setObjectName(u"label")
self.horizontalLayout_5.addWidget(self.label)
self.partnerStepValueSpinBox = QDoubleSpinBox(self.groupBox_3)
self.partnerStepValueSpinBox.setObjectName(u"partnerStepValueSpinBox")
sizePolicy2 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.partnerStepValueSpinBox.sizePolicy().hasHeightForWidth())
self.partnerStepValueSpinBox.setSizePolicy(sizePolicy2)
self.partnerStepValueSpinBox.setMaximum(1000.000000000000000)
self.partnerStepValueSpinBox.setSingleStep(1.000000000000000)
self.partnerStepValueSpinBox.setStepType(QAbstractSpinBox.DefaultStepType)
self.horizontalLayout_5.addWidget(self.partnerStepValueSpinBox)
self.verticalLayout_5.addLayout(self.horizontalLayout_5)
self.partnerSkillGroupBox = QGroupBox(self.groupBox_3)
self.partnerSkillGroupBox.setObjectName(u"partnerSkillGroupBox")
sizePolicy3 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
sizePolicy3.setHorizontalStretch(0)
sizePolicy3.setVerticalStretch(0)
sizePolicy3.setHeightForWidth(self.partnerSkillGroupBox.sizePolicy().hasHeightForWidth())
self.partnerSkillGroupBox.setSizePolicy(sizePolicy3)
self.partnerSkillGroupBox.setCheckable(True)
self.partnerSkillGroupBox.setChecked(False)
self.verticalLayout_7 = QVBoxLayout(self.partnerSkillGroupBox)
self.verticalLayout_7.setObjectName(u"verticalLayout_7")
self.formLayout = QFormLayout()
self.formLayout.setObjectName(u"formLayout")
self.formLayout.setLabelAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.label_5 = QLabel(self.partnerSkillGroupBox)
self.label_5.setObjectName(u"label_5")
self.formLayout.setWidget(0, QFormLayout.LabelRole, self.label_5)
self.label_6 = QLabel(self.partnerSkillGroupBox)
self.label_6.setObjectName(u"label_6")
self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label_6)
self.partnerSkillFinalMultiplierLineEdit = QLineEdit(self.partnerSkillGroupBox)
self.partnerSkillFinalMultiplierLineEdit.setObjectName(u"partnerSkillFinalMultiplierLineEdit")
self.partnerSkillFinalMultiplierLineEdit.setText(u"1.0")
self.partnerSkillFinalMultiplierLineEdit.setPlaceholderText(u"1.0")
self.formLayout.setWidget(1, QFormLayout.FieldRole, self.partnerSkillFinalMultiplierLineEdit)
self.partnerSkillStepBonusLineEdit = QLineEdit(self.partnerSkillGroupBox)
self.partnerSkillStepBonusLineEdit.setObjectName(u"partnerSkillStepBonusLineEdit")
self.partnerSkillStepBonusLineEdit.setText(u"+0.0")
self.partnerSkillStepBonusLineEdit.setPlaceholderText(u"+0.0")
self.formLayout.setWidget(0, QFormLayout.FieldRole, self.partnerSkillStepBonusLineEdit)
self.verticalLayout_7.addLayout(self.formLayout)
self.groupBox_4 = QGroupBox(self.partnerSkillGroupBox)
self.groupBox_4.setObjectName(u"groupBox_4")
self.gridLayout_3 = QGridLayout(self.groupBox_4)
self.gridLayout_3.setObjectName(u"gridLayout_3")
self.partnerSkillPresetButton_awakenedEto = QPushButton(self.groupBox_4)
self.partnerSkillPresetButton_awakenedEto.setObjectName(u"partnerSkillPresetButton_awakenedEto")
self.gridLayout_3.addWidget(self.partnerSkillPresetButton_awakenedEto, 0, 1, 1, 1)
self.partnerSkillPresetButton_awakenedIlith = QPushButton(self.groupBox_4)
self.partnerSkillPresetButton_awakenedIlith.setObjectName(u"partnerSkillPresetButton_awakenedIlith")
self.gridLayout_3.addWidget(self.partnerSkillPresetButton_awakenedIlith, 0, 0, 1, 1)
self.partnerSkillPresetButton_awakenedLuna = QPushButton(self.groupBox_4)
self.partnerSkillPresetButton_awakenedLuna.setObjectName(u"partnerSkillPresetButton_awakenedLuna")
self.gridLayout_3.addWidget(self.partnerSkillPresetButton_awakenedLuna, 1, 0, 1, 1)
self.partnerSkillPresetButton_amaneBelowEx = QPushButton(self.groupBox_4)
self.partnerSkillPresetButton_amaneBelowEx.setObjectName(u"partnerSkillPresetButton_amaneBelowEx")
self.gridLayout_3.addWidget(self.partnerSkillPresetButton_amaneBelowEx, 1, 1, 1, 1)
self.partnerSkillPresetButton_maya = QPushButton(self.groupBox_4)
self.partnerSkillPresetButton_maya.setObjectName(u"partnerSkillPresetButton_maya")
self.gridLayout_3.addWidget(self.partnerSkillPresetButton_maya, 2, 0, 1, 1)
self.verticalLayout_7.addWidget(self.groupBox_4)
self.verticalLayout_5.addWidget(self.partnerSkillGroupBox)
self.horizontalLayout.addWidget(self.groupBox_3)
self.verticalLayout_3.addWidget(self.mapTypeWidget)
self.widget_2 = QWidget(TabTools_StepCalculator)
self.widget_2.setObjectName(u"widget_2")
sizePolicy3 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
sizePolicy3.setHorizontalStretch(0)
sizePolicy3.setVerticalStretch(0)
sizePolicy3.setHeightForWidth(self.widget_2.sizePolicy().hasHeightForWidth())
self.widget_2.setSizePolicy(sizePolicy3)
sizePolicy4 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
sizePolicy4.setHorizontalStretch(0)
sizePolicy4.setVerticalStretch(0)
sizePolicy4.setHeightForWidth(self.widget_2.sizePolicy().hasHeightForWidth())
self.widget_2.setSizePolicy(sizePolicy4)
self.horizontalLayout_4 = QHBoxLayout(self.widget_2)
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.groupBox = QGroupBox(self.widget_2)
self.groupBox.setObjectName(u"groupBox")
self.verticalLayout_5 = QVBoxLayout(self.groupBox)
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
self.horizontalWidget = QWidget(self.groupBox)
self.horizontalWidget.setObjectName(u"horizontalWidget")
self.horizontalLayout_5 = QHBoxLayout(self.horizontalWidget)
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.label_2 = QLabel(self.horizontalWidget)
self.formLayout_2 = QFormLayout(self.groupBox)
self.formLayout_2.setObjectName(u"formLayout_2")
self.formLayout_2.setLabelAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.calculate_toStep_playResultSpinBox = QDoubleSpinBox(self.groupBox)
self.calculate_toStep_playResultSpinBox.setObjectName(u"calculate_toStep_playResultSpinBox")
sizePolicy2.setHeightForWidth(self.calculate_toStep_playResultSpinBox.sizePolicy().hasHeightForWidth())
self.calculate_toStep_playResultSpinBox.setSizePolicy(sizePolicy2)
self.calculate_toStep_playResultSpinBox.setDecimals(3)
self.calculate_toStep_playResultSpinBox.setMaximum(100.000000000000000)
self.calculate_toStep_playResultSpinBox.setSingleStep(0.100000000000000)
self.formLayout_2.setWidget(0, QFormLayout.FieldRole, self.calculate_toStep_playResultSpinBox)
self.label_2 = QLabel(self.groupBox)
self.label_2.setObjectName(u"label_2")
self.horizontalLayout_5.addWidget(self.label_2)
self.formLayout_2.setWidget(0, QFormLayout.LabelRole, self.label_2)
self.playResultSpinBox = QDoubleSpinBox(self.horizontalWidget)
self.playResultSpinBox.setObjectName(u"playResultSpinBox")
sizePolicy.setHeightForWidth(self.playResultSpinBox.sizePolicy().hasHeightForWidth())
self.playResultSpinBox.setSizePolicy(sizePolicy)
self.playResultSpinBox.setDecimals(3)
self.playResultSpinBox.setMaximum(100.000000000000000)
self.playResultSpinBox.setSingleStep(0.100000000000000)
self.label_7 = QLabel(self.groupBox)
self.label_7.setObjectName(u"label_7")
sizePolicy4.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
self.label_7.setSizePolicy(sizePolicy4)
self.horizontalLayout_5.addWidget(self.playResultSpinBox)
self.formLayout_2.setWidget(2, QFormLayout.LabelRole, self.label_7)
self.calculate_toStep_resultLabel = QLabel(self.groupBox)
self.calculate_toStep_resultLabel.setObjectName(u"calculate_toStep_resultLabel")
sizePolicy4.setHeightForWidth(self.calculate_toStep_resultLabel.sizePolicy().hasHeightForWidth())
self.calculate_toStep_resultLabel.setSizePolicy(sizePolicy4)
self.calculate_toStep_resultLabel.setText(u"...")
self.verticalLayout_5.addWidget(self.horizontalWidget)
self.formLayout_2.setWidget(2, QFormLayout.FieldRole, self.calculate_toStep_resultLabel)
self.calculatePlayResultFromScoreButton = QPushButton(self.groupBox)
self.calculatePlayResultFromScoreButton.setObjectName(u"calculatePlayResultFromScoreButton")
self.calculate_toStep_calculatePlayResultFromScoreButton = QPushButton(self.groupBox)
self.calculate_toStep_calculatePlayResultFromScoreButton.setObjectName(u"calculate_toStep_calculatePlayResultFromScoreButton")
self.verticalLayout_5.addWidget(self.calculatePlayResultFromScoreButton)
self.formLayout_2.setWidget(1, QFormLayout.FieldRole, self.calculate_toStep_calculatePlayResultFromScoreButton)
self.horizontalLayout_4.addWidget(self.groupBox)
self.groupBox_2 = QGroupBox(self.widget_2)
self.groupBox_2.setObjectName(u"groupBox_2")
self.verticalLayout_6 = QVBoxLayout(self.groupBox_2)
self.verticalLayout_6.setObjectName(u"verticalLayout_6")
self.horizontalWidget_2 = QWidget(self.groupBox_2)
self.horizontalWidget_2.setObjectName(u"horizontalWidget_2")
self.horizontalLayout_6 = QHBoxLayout(self.horizontalWidget_2)
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
self.label_4 = QLabel(self.horizontalWidget_2)
self.formLayout_3 = QFormLayout(self.groupBox_2)
self.formLayout_3.setObjectName(u"formLayout_3")
self.formLayout_3.setLabelAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.label_4 = QLabel(self.groupBox_2)
self.label_4.setObjectName(u"label_4")
self.horizontalLayout_6.addWidget(self.label_4)
self.formLayout_3.setWidget(0, QFormLayout.LabelRole, self.label_4)
self.doubleSpinBox = QDoubleSpinBox(self.horizontalWidget_2)
self.doubleSpinBox.setObjectName(u"doubleSpinBox")
sizePolicy.setHeightForWidth(self.doubleSpinBox.sizePolicy().hasHeightForWidth())
self.doubleSpinBox.setSizePolicy(sizePolicy)
self.calculate_fromStep_targetStepSpinBox = QDoubleSpinBox(self.groupBox_2)
self.calculate_fromStep_targetStepSpinBox.setObjectName(u"calculate_fromStep_targetStepSpinBox")
sizePolicy2.setHeightForWidth(self.calculate_fromStep_targetStepSpinBox.sizePolicy().hasHeightForWidth())
self.calculate_fromStep_targetStepSpinBox.setSizePolicy(sizePolicy2)
self.horizontalLayout_6.addWidget(self.doubleSpinBox)
self.formLayout_3.setWidget(0, QFormLayout.FieldRole, self.calculate_fromStep_targetStepSpinBox)
self.label_9 = QLabel(self.groupBox_2)
self.label_9.setObjectName(u"label_9")
sizePolicy4.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth())
self.label_9.setSizePolicy(sizePolicy4)
self.verticalLayout_6.addWidget(self.horizontalWidget_2)
self.formLayout_3.setWidget(1, QFormLayout.LabelRole, self.label_9)
self.calculate_fromStep_resultLabel = QLabel(self.groupBox_2)
self.calculate_fromStep_resultLabel.setObjectName(u"calculate_fromStep_resultLabel")
sizePolicy4.setHeightForWidth(self.calculate_fromStep_resultLabel.sizePolicy().hasHeightForWidth())
self.calculate_fromStep_resultLabel.setSizePolicy(sizePolicy4)
self.calculate_fromStep_resultLabel.setText(u"...")
self.formLayout_3.setWidget(1, QFormLayout.FieldRole, self.calculate_fromStep_resultLabel)
self.horizontalLayout_4.addWidget(self.groupBox_2)
@ -280,18 +369,30 @@ class Ui_TabTools_StepCalculator(object):
# setupUi
def retranslateUi(self, TabTools_StepCalculator):
self.label.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partnerStepValueLabel", None))
self.mapTypeLegacyPlayRadioButton.setText("")
self.mapTypePlayRadioButton.setText("")
self.mapTypeLegacyPlayPlusRadioButton.setText("")
self.label_3.setText(QCoreApplication.translate("TabTools_StepCalculator", u"legacyPlay.noOptions", None))
self.legacyPlayPlus_useFragmentsGroupBox.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"legacyPlayPlus.useFragments", None))
self.play_memoryBoostCheckBox.setText(QCoreApplication.translate("TabTools_StepCalculator", u"play.memoryBoost", None))
self.groupBox.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"calculation", None))
self.label_2.setText(QCoreApplication.translate("TabTools_StepCalculator", u"playResultLabel", None))
self.calculatePlayResultFromScoreButton.setText(QCoreApplication.translate("TabTools_StepCalculator", u"calculatePlayResultFromScoreButton", None))
self.groupBox_2.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"inverseCalculation", None))
self.label_4.setText(QCoreApplication.translate("TabTools_StepCalculator", u"targetStep", None))
self.groupBox_3.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"partner.title", None))
self.label.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partner.stepValueLabel", None))
self.partnerSkillGroupBox.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.title", None))
self.label_5.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.stepBonus", None))
self.label_6.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.finalMultiplier", None))
self.groupBox_4.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.presets", None))
self.partnerSkillPresetButton_awakenedEto.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.presets.awakenedEto", None))
self.partnerSkillPresetButton_awakenedIlith.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.presets.awakenedIlith", None))
self.partnerSkillPresetButton_awakenedLuna.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.presets.awakenedLuna", None))
self.partnerSkillPresetButton_amaneBelowEx.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.presets.amaneBelowEx", None))
self.partnerSkillPresetButton_maya.setText(QCoreApplication.translate("TabTools_StepCalculator", u"partner.skill.presets.maya", None))
self.groupBox.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"calculate.toStep", None))
self.label_2.setText(QCoreApplication.translate("TabTools_StepCalculator", u"calculate.toStep.playResultLabel", None))
self.label_7.setText(QCoreApplication.translate("TabTools_StepCalculator", u"calculate.toStep.resultLabel", None))
self.calculate_toStep_calculatePlayResultFromScoreButton.setText(QCoreApplication.translate("TabTools_StepCalculator", u"calculate.toStep.calculatePlayResultFromScoreButton", None))
self.groupBox_2.setTitle(QCoreApplication.translate("TabTools_StepCalculator", u"calculate.fromStep", None))
self.label_4.setText(QCoreApplication.translate("TabTools_StepCalculator", u"calculate.fromStep.targetStepLabel", None))
self.label_9.setText(QCoreApplication.translate("TabTools_StepCalculator", u"calculate.fromStep.resultLabel", None))
pass
# retranslateUi

View File

@ -1,3 +1,14 @@
import logging
from arcaea_offline.calculate.world_step import (
LegacyMapStepBooster,
MemoriesStepBooster,
PartnerBonus,
PlayResult,
calculate_play_rating_from_step,
calculate_step,
calculate_step_original,
)
from PySide6.QtCore import QEasingCurve, QObject, QSize, Qt, QTimeLine
from PySide6.QtGui import QIcon, QPainter, QPaintEvent, QPixmap
from PySide6.QtWidgets import (
@ -12,6 +23,8 @@ from ui.designer.tabs.tabTools.tabTools_StepCalculator_ui import (
Ui_TabTools_StepCalculator,
)
logger = logging.getLogger(__name__)
class MapTypeListWidgetWidget(QLabel):
def paintEvent(self, e: QPaintEvent) -> None:
@ -108,6 +121,120 @@ class TabTools_StepCalculator(Ui_TabTools_StepCalculator, QWidget):
self.mapTypeButtonGroup.addButton(self.mapTypeLegacyPlayRadioButton, 0)
self.mapTypeButtonGroup.addButton(self.mapTypeLegacyPlayPlusRadioButton, 1)
self.mapTypeButtonGroup.addButton(self.mapTypePlayRadioButton, 2)
self.mapTypeButtonGroup.idToggled.connect(self.stackedWidget.setCurrentIndex)
self.mapTypePlayRadioButton.setChecked(True)
self.legacyPlayPlusStaminaButtonGroup = QButtonGroup(self)
self.legacyPlayPlusStaminaButtonGroup.addButton(
self.legacyPlayPlus_x2StaminaRadioButton, 2
)
self.legacyPlayPlusStaminaButtonGroup.addButton(
self.legacyPlayPlus_x4StaminaRadioButton, 4
)
self.legacyPlayPlusStaminaButtonGroup.addButton(
self.legacyPlayPlus_x6StaminaRadioButton, 6
)
self.legacyPlayPlus_x2StaminaRadioButton.setChecked(True)
self.legacyPlayPlusFragmentsButtonGroup = QButtonGroup(self)
self.legacyPlayPlusFragmentsButtonGroup.addButton(
self.legacyPlayPlus_x11fragRadioButton, 100
)
self.legacyPlayPlusFragmentsButtonGroup.addButton(
self.legacyPlayPlus_x125fragRadioButton, 250
)
self.legacyPlayPlusFragmentsButtonGroup.addButton(
self.legacyPlayPlus_x15fragRadioButton, 500
)
self.mapTypeButtonGroup.buttonToggled.connect(self.tryCalculate)
self.legacyPlayPlusStaminaButtonGroup.buttonToggled.connect(self.tryCalculate)
self.legacyPlayPlusFragmentsButtonGroup.buttonToggled.connect(self.tryCalculate)
self.play_memoryBoostCheckBox.toggled.connect(self.tryCalculate)
self.partnerStepValueSpinBox.valueChanged.connect(self.tryCalculate)
self.partnerSkillGroupBox.toggled.connect(self.tryCalculate)
self.partnerSkillStepBonusLineEdit.textChanged.connect(self.tryCalculate)
self.partnerSkillFinalMultiplierLineEdit.textChanged.connect(self.tryCalculate)
self.calculate_toStep_playResultSpinBox.valueChanged.connect(self.tryCalculate)
self.calculate_fromStep_targetStepSpinBox.valueChanged.connect(
self.tryCalculate
)
def toStepPlayResult(self):
return PlayResult(
play_rating=self.calculate_toStep_playResultSpinBox.value(),
partner_step=self.partnerStepValueSpinBox.value(),
)
def partnerBonus(self):
if self.partnerSkillGroupBox.isChecked():
try:
partnerBonus = PartnerBonus(
step_bonus=self.partnerSkillStepBonusLineEdit.text(),
final_multiplier=self.partnerSkillFinalMultiplierLineEdit.text(),
)
partnerBonus.step_bonus
partnerBonus.final_multiplier
return partnerBonus
except Exception:
return PartnerBonus()
return PartnerBonus()
def stepBooster(self):
if self.mapTypeButtonGroup.checkedId() == 1:
# Legacy Play+
stamina = self.legacyPlayPlusStaminaButtonGroup.checkedId()
if self.legacyPlayPlus_useFragmentsGroupBox.isChecked():
fragment = self.legacyPlayPlusFragmentsButtonGroup.checkedId()
fragment = fragment if fragment > -1 else None
else:
fragment = None
return None if stamina < 0 else LegacyMapStepBooster(stamina, fragment)
elif self.mapTypeButtonGroup.checkedId() == 2:
# General Music Play
if self.play_memoryBoostCheckBox.isChecked():
return MemoriesStepBooster()
else:
return None
else:
return None
def tryCalculate(self):
if self.partnerStepValueSpinBox.value() <= 0.0:
self.calculate_toStep_resultLabel.setText("...")
self.calculate_fromStep_resultLabel.setText("...")
return
# toStep
try:
playResult = self.toStepPlayResult()
partnerBonus = self.partnerBonus()
stepBooster = self.stepBooster()
stepOriginal = calculate_step_original(
playResult, partner_bonus=partnerBonus, step_booster=stepBooster
)
step = calculate_step(
playResult, partner_bonus=partnerBonus, step_booster=stepBooster
)
self.calculate_toStep_resultLabel.setText(f"{step}<br>({stepOriginal})")
except Exception:
logger.exception("Cannot calculate toStep")
self.calculate_toStep_resultLabel.setText("...")
# fromStep
try:
self.calculate_fromStep_resultLabel.setText(
str(
calculate_play_rating_from_step(
self.calculate_fromStep_targetStepSpinBox.value(),
self.partnerStepValueSpinBox.value(),
partner_bonus=partnerBonus,
step_booster=stepBooster,
)
)
)
except Exception:
logger.exception("Cannot calculate fromStep")
self.calculate_fromStep_resultLabel.setText("...")

View File

@ -756,6 +756,11 @@ validation</translation>
<source>tab.infoLookup</source>
<translation>Chart Info Lookup</translation>
</message>
<message>
<location filename="../../designer/tabs/tabToolsEntry.ui" line="29"/>
<source>tab.stepCalculator</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TabTools_InfoLookup</name>
@ -925,4 +930,112 @@ validation</translation>
<translation>Title</translation>
</message>
</context>
<context>
<name>TabTools_StepCalculator</name>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="109"/>
<source>legacyPlay.noOptions</source>
<translation>No options</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="159"/>
<source>legacyPlayPlus.useFragments</source>
<translation>Use Fragments</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="202"/>
<source>play.memoryBoost</source>
<translation>Memory boost</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="213"/>
<source>partner.title</source>
<translation>Partner</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="221"/>
<source>partner.stepValueLabel</source>
<translation>STEP value</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="255"/>
<source>partner.skill.title</source>
<translation>Partner Skill</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="272"/>
<source>partner.skill.stepBonus</source>
<translation>Step bonus</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="279"/>
<source>partner.skill.finalMultiplier</source>
<translation>Final multiplier</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="308"/>
<source>partner.skill.presets</source>
<translation>Preset Datas</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="314"/>
<source>partner.skill.presets.awakenedEto</source>
<translation>Eto (Awakened)</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="321"/>
<source>partner.skill.presets.awakenedIlith</source>
<translation>Ilith (Awakened)</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="328"/>
<source>partner.skill.presets.awakenedLuna</source>
<translation>Luna (Awakened)</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="335"/>
<source>partner.skill.presets.amaneBelowEx</source>
<translation>Amane (Below EX)</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="342"/>
<source>partner.skill.presets.maya</source>
<translation>Maya</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="370"/>
<source>calculate.toStep</source>
<translation>Calculate to Step</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="398"/>
<source>calculate.toStep.playResultLabel</source>
<translation>Play result</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="405"/>
<source>calculate.toStep.calculatePlayResultFromScoreButton</source>
<translation>Calculate from Score</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="418"/>
<source>calculate.toStep.resultLabel</source>
<translation>Result</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="441"/>
<source>calculate.fromStep</source>
<translation>Calculate from Step</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="450"/>
<source>calculate.fromStep.targetStepLabel</source>
<translation>Target step value</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="473"/>
<source>calculate.fromStep.resultLabel</source>
<translation>Result (play rating)</translation>
</message>
</context>
</TS>

View File

@ -755,6 +755,11 @@
<source>tab.infoLookup</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabToolsEntry.ui" line="29"/>
<source>tab.stepCalculator</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TabTools_InfoLookup</name>
@ -924,4 +929,112 @@
<translation></translation>
</message>
</context>
<context>
<name>TabTools_StepCalculator</name>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="109"/>
<source>legacyPlay.noOptions</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="159"/>
<source>legacyPlayPlus.useFragments</source>
<translation>使</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="202"/>
<source>play.memoryBoost</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="213"/>
<source>partner.title</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="221"/>
<source>partner.stepValueLabel</source>
<translation>STEP </translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="255"/>
<source>partner.skill.title</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="272"/>
<source>partner.skill.stepBonus</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="279"/>
<source>partner.skill.finalMultiplier</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="308"/>
<source>partner.skill.presets</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="314"/>
<source>partner.skill.presets.awakenedEto</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="321"/>
<source>partner.skill.presets.awakenedIlith</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="328"/>
<source>partner.skill.presets.awakenedLuna</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="335"/>
<source>partner.skill.presets.amaneBelowEx</source>
<translation>EX </translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="342"/>
<source>partner.skill.presets.maya</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="370"/>
<source>calculate.toStep</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="398"/>
<source>calculate.toStep.playResultLabel</source>
<translation> PTT</translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="405"/>
<source>calculate.toStep.calculatePlayResultFromScoreButton</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="418"/>
<source>calculate.toStep.resultLabel</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="441"/>
<source>calculate.fromStep</source>
<translation></translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="450"/>
<source>calculate.fromStep.targetStepLabel</source>
<translation> STEP </translation>
</message>
<message>
<location filename="../../designer/tabs/tabTools/tabTools_StepCalculator.ui" line="473"/>
<source>calculate.fromStep.resultLabel</source>
<translation> PTT</translation>
</message>
</context>
</TS>