Skip to content
This repository has been archived by the owner on May 5, 2024. It is now read-only.

Commit

Permalink
v3.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
WhatTheBlock committed Dec 26, 2023
1 parent ad37a57 commit aec23fd
Show file tree
Hide file tree
Showing 23 changed files with 1,590 additions and 808 deletions.
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
| [![Codacy Badge](https://app.codacy.com/project/badge/Grade/020d720a719a400082f1ef7b1d1aa39e)](https://www.codacy.com/gh/WhatTheBlock/MapleStory-ARC-Calculator/dashboard?utm_source=github.com&utm_medium=referral&utm_content=WhatTheBlock/MapleStory-ARC-Calculator&utm_campaign=Badge_Grade) | [![Windows build](https://github.com/WhatTheBlock/MapleStory-ARC-Calculator/workflows/Windows/badge.svg)](https://github.com/WhatTheBlock/MapleStory-ARC-Calculator/actions?query=workflow%3AWindows) |
| --- | --- |

### 適用的遊戲版本為 TMS v257
### 適用的遊戲版本為 TMS v258

- 巴哈姆特詳細介紹文章:[點我](https://forum.gamer.com.tw/C.php?bsn=7650&snA=1000541) <br><br>

Expand All @@ -20,6 +20,19 @@
### Changelog:
----

#### v3.1.0
- 更新至TMS v258系統改動
- 補上前版本強化費用下修的改動
- 修正艾斯佩拉符文圖示被裁切的錯誤
- 預先新增AUT地區至KMS最新進度
- AUT頁面改為與ARC相同的UI配置
- AUT強化費用不再用億縮寫顯示
- 更新怪物最高AUT上限 (極限咖凌)
- 更新個人最高AUT上限
- 修正分位符號函式錯誤
- 新增數據來源連結按鈕
- 修正AUT單顆滿級天數計算錯誤

#### v3.1.0-beta1
- 新增暗黑介面
- 解決系統縮放比例非100%的顯示問題
Expand Down
47 changes: 21 additions & 26 deletions src/calculate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@ void MainUI::updateArcToolTips(QLabel* arcimg, int arc) {
}

arcimg->setToolTip(QStringLiteral("升級所需楓幣:%1\n升級所需天數:%2\n升級日期:%3\n-\n滿級所需楓幣:%4\n滿級所需天數:%5\n滿級日期:%6")
.arg(decimalSeparator(arcUpgradeMeso[arc]))
.arg(arcUpgradeDays[arc])
.arg(ui->startDate->date().addDays(arcUpgradeDays[arc]).toString("yyyy/MM/dd"))
.arg(decimalSeparator(arcUpgradeMeso_max[arc]))
.arg(arcMaxDays[arc])
.arg(ui->startDate->date().addDays(arcMaxDays[arc]).toString("yyyy/MM/dd"))
.arg(decimalSeparator(arcUpgradeMeso[arc]))
.arg(arcUpgradeDays[arc])
.arg(ui->startDate->date().addDays(arcUpgradeDays[arc]).toString("yyyy/MM/dd"))
.arg(decimalSeparator(arcUpgradeMeso_max[arc]))
.arg(arcMaxDays[arc])
.arg(ui->startDate->date().addDays(arcMaxDays[arc]).toString("yyyy/MM/dd"))
);
}
}
Expand Down Expand Up @@ -74,22 +74,17 @@ void MainUI::updateAutToolTips(QLabel* autimg, int aut) {
while (autVal < target || autVal_max < AUTMAXTOTAL) {
autVal += dailyMission_aut[aut];
autVal_max += dailyMission_aut[aut];
if (aut == 0 && ui->mob265->isChecked()) {
autVal += D265_MOB;
autVal_max += D265_MOB;
}

if (autVal < target) autUpgradeDays[aut]++;
autMaxDays[aut]++;
}

autimg->setToolTip(QStringLiteral("升級所需楓幣:%1億\n升級所需天數:%2\n升級日期:%3\n-\n滿級所需楓幣:%4億\n滿級所需天數:%5\n滿級日期:%6")
.arg(autUpgradeMeso[aut])
.arg(autUpgradeDays[aut])
.arg(ui->startDate_aut->date().addDays(autUpgradeDays[aut]).toString("yyyy/MM/dd"))
.arg(autUpgradeMeso_max[aut])
.arg(autMaxDays[aut])
.arg(ui->startDate_aut->date().addDays(autMaxDays[aut]).toString("yyyy/MM/dd"))
autMaxDays[aut]--;
autimg->setToolTip(QStringLiteral("升級所需楓幣:%1\n升級所需天數:%2\n升級日期:%3\n-\n滿級所需楓幣:%4\n滿級所需天數:%5\n滿級日期:%6")
.arg(decimalSeparator(autUpgradeMeso[aut]))
.arg(autUpgradeDays[aut])
.arg(ui->startDate_aut->date().addDays(autUpgradeDays[aut]).toString("yyyy/MM/dd"))
.arg(decimalSeparator(autUpgradeMeso_max[aut]))
.arg(autMaxDays[aut])
.arg(ui->startDate_aut->date().addDays(autMaxDays[aut]).toString("yyyy/MM/dd"))
);
}
}
Expand Down Expand Up @@ -187,8 +182,11 @@ void MainUI::dailyTask_aut() {
day = 0;

dailyIsChecked_aut[0] = ui->daily260->isChecked();
dailyIsChecked_aut[1] = ui->daily270->isChecked();
dailyIsChecked_aut[2] = ui->daily275->isChecked();
dailyIsChecked_aut[1] = ui->daily265->isChecked();
dailyIsChecked_aut[2] = ui->daily270->isChecked();
dailyIsChecked_aut[3] = ui->daily275->isChecked();
dailyIsChecked_aut[4] = ui->daily280->isChecked();
dailyIsChecked_aut[5] = ui->daily285->isChecked();

//計算前先偵錯
avoidError();
Expand All @@ -200,14 +198,11 @@ void MainUI::dailyTask_aut() {
}
//若未達到
else {
dailyGet[0] = (dailyIsChecked_aut[0] && ui->mob265->isChecked()) ? dailyMission_aut[0] + D265_MOB : dailyMission_aut[0];
dailyGet[0] = (dailyIsChecked_aut[0]) ? dailyGet[0] : 0;
dailyGet[1] = (dailyIsChecked_aut[1]) ? dailyMission_aut[1] : 0;
dailyGet[2] = (dailyIsChecked_aut[2]) ? dailyMission_aut[2] : 0;

//計算可能達到的最高AUT
for(int i = 0; i < AUTTYPE; i++){
autLV = AutLV[i]->value();
dailyGet[i] = (dailyIsChecked_aut[i]) ? dailyMission_aut[i] : 0;

if(dailyGet[i] != 0) maxReachAut += 110;
else if(autLV != 0) maxReachAut += autLV * 10;
}
Expand Down
8 changes: 8 additions & 0 deletions src/images.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,23 @@
<file>images/bahamut.png</file>
<file>images/sword.png</file>
<file>images/260.png</file>
<file>images/265.png</file>
<file>images/270.png</file>
<file>images/275.png</file>
<file>images/280.png</file>
<file>images/285.png</file>
<file>images/AUT1.png</file>
<file>images/AUT2.png</file>
<file>images/AUT3.png</file>
<file>images/AUT4.png</file>
<file>images/AUT5.png</file>
<file>images/AUT6.png</file>
<file>images/maplestory.png</file>
<file>images/lightbulb.gif</file>
<file>images/restore.png</file>
<file>images/select.png</file>
<file>images/github_dark.png</file>
<file>images/maplewiki.png</file>
<file>images/namuwiki.jpg</file>
</qresource>
</RCC>
Binary file added src/images/265.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/images/270.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/images/275.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/280.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/285.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/AUT4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/AUT5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/AUT6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/maplewiki.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/namuwiki.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 33 additions & 10 deletions src/mainui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ MainUI::MainUI(QWidget *parent) : QWidget(parent), ui(new Ui::MainUI) {
AutLV[0] = ui->Aut1LV;
AutLV[1] = ui->Aut2LV;
AutLV[2] = ui->Aut3LV;
AutLV[3] = ui->Aut4LV;
AutLV[4] = ui->Aut5LV;
AutLV[5] = ui->Aut6LV;
ArcCurrent[0] = ui->Arc1current;
ArcCurrent[1] = ui->Arc2current;
ArcCurrent[2] = ui->Arc3current;
Expand All @@ -35,6 +38,9 @@ MainUI::MainUI(QWidget *parent) : QWidget(parent), ui(new Ui::MainUI) {
AutCurrent[0] = ui->Aut1current;
AutCurrent[1] = ui->Aut2current;
AutCurrent[2] = ui->Aut3current;
AutCurrent[3] = ui->Aut4current;
AutCurrent[4] = ui->Aut5current;
AutCurrent[5] = ui->Aut6current;
ArcUpgrade[0] = ui->Arc1upgrade;
ArcUpgrade[1] = ui->Arc2upgrade;
ArcUpgrade[2] = ui->Arc3upgrade;
Expand All @@ -44,6 +50,9 @@ MainUI::MainUI(QWidget *parent) : QWidget(parent), ui(new Ui::MainUI) {
AutUpgrade[0] = ui->Aut1upgrade;
AutUpgrade[1] = ui->Aut2upgrade;
AutUpgrade[2] = ui->Aut3upgrade;
AutUpgrade[3] = ui->Aut4upgrade;
AutUpgrade[4] = ui->Aut5upgrade;
AutUpgrade[5] = ui->Aut6upgrade;
ArcTotal = ui->ArcTotal;
AutTotal = ui->AutTotal;
ArcMode = ui->ArcMode;
Expand Down Expand Up @@ -81,12 +90,24 @@ MainUI::MainUI(QWidget *parent) : QWidget(parent), ui(new Ui::MainUI) {
autUpgradeList[0] = 0;
for(int i = 1; i < AUTMAXLV; i++) autUpgradeList[i] = 9 * i * i + 20 * i + autUpgradeList[i - 1];

//設定符文升級費用
for(int i = 0; i < ARCMAXLV - 1; i++) {
ARC200_COST[i] = ARC200_COST_BASE + ARC200_COST_INCREASE * i;
ARC210_COST[i] = ARC210_COST_BASE + ARC210_COST_INCREASE * i;
ARC220_COST[i] = ARC220_COST_BASE + ARC220_COST_INCREASE * i;
ARC225_COST[i] = ARC225_COST_BASE + ARC225_COST_INCREASE * i;
//設定ARC升級費用
for(int i = 1; i < ARCMAXLV; i++) {
ARC200_COST[i-1] = 10000 * floor((i * i + 11) * (8 + 0.1 * i));
ARC210_COST[i-1] = 10000 * floor((i * i + 11) * (10 + 0.1 * i));
ARC220_COST[i-1] = 10000 * floor((i * i + 11) * (12 + 0.1 * i));
ARC225_COST[i-1] = 10000 * floor((i * i + 11) * (14 + 0.1 * i));
ARC230_COST[i-1] = 10000 * floor((i * i + 11) * (16 + 0.1 * i));
ARC235_COST[i-1] = 10000 * floor((i * i + 11) * (18 + 0.1 * i));
}

//設定AUT升級費用
for(int i = 1; i < AUTMAXLV; i++) {
AUT260_COST[i-1] = 100000 * floor(((9 * i * i) + (20 * i)) * (13.2 - 0.6 * i));
AUT265_COST[i-1] = 100000 * floor(((9 * i * i) + (20 * i)) * (15 - 0.6 * i));
AUT270_COST[i-1] = 100000 * floor(((9 * i * i) + (20 * i)) * (16.8 - 0.6 * i));
AUT275_COST[i-1] = 100000 * floor(((9 * i * i) + (20 * i)) * (18.6 - 0.6 * i));
AUT280_COST[i-1] = 100000 * floor(((9 * i * i) + (20 * i)) * (20.4 - 0.6 * i));
AUT285_COST[i-1] = 100000 * floor(((9 * i * i) + (20 * i)) * (22.2 - 0.6 * i));
}

//gif button
Expand All @@ -110,10 +131,12 @@ MainUI::MainUI(QWidget *parent) : QWidget(parent), ui(new Ui::MainUI) {
ui->weekly225->setToolTip(QStringLiteral("每週可獲得%1個").arg(D225_MIS));
ui->weekly230->setToolTip(QStringLiteral("每週可獲得%1個").arg(D230_MIS));
ui->weekly235->setToolTip(QStringLiteral("每週可獲得%1個").arg(D235_MIS));
ui->mob260->setToolTip(QStringLiteral("每日可獲得%1個").arg(D260_MOB));
ui->mob265->setToolTip(QStringLiteral("每日可獲得%1個").arg(D265_MOB));
ui->mob270->setToolTip(QStringLiteral("每日可獲得%1個").arg(D270_MOB));
ui->mob275->setToolTip(QStringLiteral("每日可獲得%1個").arg(D275_MOB));
ui->daily260->setToolTip(QStringLiteral("每日可獲得%1個").arg(D260_MOB));
ui->daily265->setToolTip(QStringLiteral("每日可獲得%1個").arg(D265_MOB));
ui->daily270->setToolTip(QStringLiteral("每日可獲得%1個").arg(D270_MOB));
ui->daily275->setToolTip(QStringLiteral("每日可獲得%1個").arg(D275_MOB));
ui->daily280->setToolTip(QStringLiteral("每日可獲得%1個").arg(D280_MOB));
ui->daily285->setToolTip(QStringLiteral("每日可獲得%1個").arg(D285_MOB));

//載入存檔
importSettings();
Expand Down
27 changes: 23 additions & 4 deletions src/mainui.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ private slots:
void on_Aut1LV_valueChanged(int);
void on_Aut2LV_valueChanged(int);
void on_Aut3LV_valueChanged(int);
void on_Aut4LV_valueChanged(int);
void on_Aut5LV_valueChanged(int);
void on_Aut6LV_valueChanged(int);

void on_ArcMode_currentIndexChanged(int);
void on_AutMode_currentIndexChanged(int);
Expand All @@ -53,6 +56,9 @@ private slots:
void on_Aut1current_valueChanged(int);
void on_Aut2current_valueChanged(int);
void on_Aut3current_valueChanged(int);
void on_Aut4current_valueChanged(int);
void on_Aut5current_valueChanged(int);
void on_Aut6current_valueChanged(int);

void on_startDate_userDateChanged(const QDate&);
void on_startDate_aut_userDateChanged(const QDate&);
Expand All @@ -79,6 +85,8 @@ private slots:

void on_bahamut_clicked();
void on_github_clicked();
void on_maplewiki_clicked();
void on_namuwiki_clicked();

void on_tabWidget_currentChanged(int);

Expand All @@ -87,6 +95,8 @@ private slots:
void on_selectAll_clicked();
void on_dailyAll_clicked();
void on_weeklyAll_clicked();
void on_selectAll_aut_clicked();
void on_dailyAll_aut_clicked();

void on_daily200_clicked();
void on_daily210_clicked();
Expand All @@ -102,10 +112,11 @@ private slots:
void on_weekly235_clicked();

void on_daily260_clicked();
void on_daily265_clicked();
void on_daily270_clicked();
void on_daily275_clicked();
void on_mob260_clicked();
void on_mob265_clicked();
void on_daily280_clicked();
void on_daily285_clicked();

void on_clearSettings_clicked();

Expand Down Expand Up @@ -140,7 +151,7 @@ private slots:
bool dailyIsChecked[ARCTYPE], dailyIsChecked_aut[AUTTYPE];
bool weeklyIsChecked[ARCTYPE];
const int dailyMission[ARCTYPE] = {D200_MOB, D210_MOB, D220_MOB, D225_MOB, D230_MOB, D235_MOB};
const int dailyMission_aut[AUTTYPE] = {D260_MOB, D270_MOB, D275_MOB};
const int dailyMission_aut[AUTTYPE] = {D260_MOB, D265_MOB, D270_MOB, D275_MOB, D280_MOB, D285_MOB};
const int weeklyMission[ARCTYPE] = {D200_MIS, D210_MIS, D220_MIS, D225_MIS, D230_MIS, D235_MIS};
int day;

Expand All @@ -151,6 +162,14 @@ private slots:
int ARC210_COST[ARCMAXLV];
int ARC220_COST[ARCMAXLV];
int ARC225_COST[ARCMAXLV];
int ARC230_COST[ARCMAXLV];
int ARC235_COST[ARCMAXLV];
int AUT260_COST[AUTMAXLV];
int AUT265_COST[AUTMAXLV];
int AUT270_COST[AUTMAXLV];
int AUT275_COST[AUTMAXLV];
int AUT280_COST[AUTMAXLV];
int AUT285_COST[AUTMAXLV];

void upgradeVal();
void upgradeVal_aut();
Expand All @@ -174,7 +193,7 @@ private slots:

void warningMsg(QString);

QString decimalSeparator(int);
QString decimalSeparator(double);

void checkUpdate();
void onResult(QNetworkReply*);
Expand Down
Loading

0 comments on commit aec23fd

Please sign in to comment.