Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,6 @@ function shapingKeys($array){
if($value->battle_high_score !== 0){
// not implemented → played
// echo "[new] " . $value->title . " / " . $value->difficulty_str . "<br>";
$newNormalRating = OngekiUtility::RateValueFromTitle($value->title, $value->difficulty, $value->technical_high_score, $value->lampForRating, $value->genre, $value->artist);
$progress[$music][$difficulty]["new"] = $value;
$progress[$music][$difficulty]["difference"]['battle_high_score'] = "+" . number_format($value->battle_high_score);
$progress[$music][$difficulty]["difference"]['technical_high_score'] = "+" . number_format($value->technical_high_score);
Expand Down Expand Up @@ -304,34 +303,8 @@ function shapingKeys($array){
}

// Rating計算はできるだけ少なくしたいので先に計算しておく。
// ViewUserRatingController.php から引用。
// WARNING: レーティング処理を変えたら変更元も変更する!
if ($isPremium) {
$oldLampForRating = "";
if ($old[$music][$difficulty]->technical_high_score == 1010000){
if ($old[$music][$difficulty]->full_bell == 1) {
$oldLampForRating = "FB/AB+";
} else {
$oldLampForRating = "AB+";
}
} elseif ($old[$music][$difficulty]->all_break == 1) {
if ($old[$music][$difficulty]->full_bell == 1) {
$oldLampForRating = "FB/AB";
} else {
$oldLampForRating = "AB";
}
} elseif ($old[$music][$difficulty]->full_combo == 1) {
if ($old[$music][$difficulty]->full_bell == 1) {
$oldLampForRating = "FB/FC";
} else {
$oldLampForRating = "FC";
}
} else {
if ($old[$music][$difficulty]->full_bell == 1) {
$oldLampForRating = "FB";
}
}

$oldLampForRating = OngekiUtility::getLampForRating($old[$music][$difficulty]->technical_high_score, $old[$music][$difficulty]->full_bell == 1, $old[$music][$difficulty]->full_combo == 1, $old[$music][$difficulty]->all_break == 1);
$newNormalRating = OngekiUtility::RateValueFromTitle($value->title, $value->difficulty, $value->technical_high_score, $value->lampForRating, $value->genre, $value->artist);
$oldNormalRating = OngekiUtility::RateValueFromTitle($value->title, $old[$music][$difficulty]->difficulty, $old[$music][$difficulty]->technical_high_score, $oldLampForRating, $value->genre, $value->artist);
$progress[$music][$difficulty]["difference"]['normal_rating'] = ($newNormalRating - $oldNormalRating) != 0 ? "+" . sprintf("%.3f",($newNormalRating - $oldNormalRating)) : "";
Expand Down
26 changes: 1 addition & 25 deletions OngekiScoreLog/app/Http/Controllers/ViewUserRatingController.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,31 +25,7 @@ private function editMusic($scores, int $totalMusicCount){
for ($index = 0; $index < count($scores); $index++) {
if (isset($scores[$index])) {
// ランプ情報追加
// WARNING: OngekiScoreLog\app\Http\Controllers\ViewUserProgressController.php にてコピペで使用している! 変更したらそっちも変更すること!
$scores[$index]->lampForRating = "";
if ($scores[$index]->technical_high_score == 1010000){
if ($scores[$index]->full_bell == 1) {
$scores[$index]->lampForRating = "FB/AB+";
} else {
$scores[$index]->lampForRating = "AB+";
}
} elseif ($scores[$index]->all_break == 1) {
if ($scores[$index]->full_bell == 1) {
$scores[$index]->lampForRating = "FB/AB";
} else {
$scores[$index]->lampForRating = "AB";
}
} elseif ($scores[$index]->full_combo == 1) {
if ($scores[$index]->full_bell == 1) {
$scores[$index]->lampForRating = "FB/FC";
} else {
$scores[$index]->lampForRating = "FC";
}
} else {
if ($scores[$index]->full_bell == 1) {
$scores[$index]->lampForRating = "FB";
}
}
$scores[$index]->lampForRating = OngekiUtility::getLampForRating($scores[$index]->technical_high_score, $scores[$index]->full_bell == 1, $scores[$index]->full_combo == 1, $scores[$index]->all_break == 1);

// 単極レート値の取得
$scores[$index]->ratingValue = sprintf("%.3f", OngekiUtility::RateValueFromTitle($scores[$index]->title, $scores[$index]->difficulty, $scores[$index]->technical_high_score, $scores[$index]->lampForRating, $scores[$index]->genre, $scores[$index]->artist));
Expand Down
28 changes: 28 additions & 0 deletions OngekiScoreLog/app/Services/OngekiUtility.php
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,34 @@ public function RateValueFromTitleForPlatinum(string $title, $difficulty, int $p
return $this->calcPlatinumRatingValue($this::$MusicList[$title][$difficulty], $platinuScore, $starCount);
}

public function getLampForRating(int $technicalScore, bool $fullBell, bool $fullCombo, bool $allBreak): string
{
if ($technicalScore == 1010000) {
if ($fullBell) {
return "FB/AB+";
} else {
return "AB+";
}
} elseif ($allBreak) {
if ($fullBell) {
return "FB/AB";
} else {
return "AB";
}
} elseif ($fullCombo) {
if ($fullBell) {
return "FB/FC";
} else {
return "FC";
}
} else {
if ($fullBell) {
return "FB";
}
}
return "";
}

private function calcPlatinumRatingValue(float $extraLevel, int $platinumScore, int $starCount)
{
if($starCount > 5){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
<a class="button filter_technical_rank_button">SS</a>
<a class="button filter_technical_rank_button">SSS</a>
<a class="button filter_technical_rank_button">SSS+</a>
<a class="button filter_technical_rank_button">P</a>
<a class="button filter_technical_rank_button">AB+</a>
</div>

<div class="filter-content">
Expand Down
Loading