> ## Documentation Index
> Fetch the complete documentation index at: https://cachi-docs.arisucloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# スコアシステム

> スコア計算と Mod 倍率

## 基礎スコア

全体的なスコア計算は [Malody スコアシステム](https://m.mugzone.net/) に基づいています。

Cachi のスコアは加算方式を採用しており、Note を正しく叩くたびに一定のスコアが得られ、総スコアはすべての Note のスコアの合計になります。

具体的には、単一の Note のスコアは主に **基礎点**、**Combo ボーナス倍率**、**Mod ボーナス倍率** で構成されます：

<CodeGroup>
  ```csharp 計算式 theme={null}
  総スコア = 基礎点 + 基礎点 × (1 + Combo ボーナス倍率) * Mod ボーナス倍率
  ```
</CodeGroup>

**Combo ボーナス倍率** の初期値は **1** で、獲得した判定評価によって変化します（下表参照）。ただし、最大値は 1、最小値は 0 を下回りません。Note のスコアを計算する際、**まず Combo ボーナス倍率を変化させてから、スコアを計算します**。

| 判定評価      | 基礎点  | Combo ボーナス倍率への影響 |
| :-------- | :--- | :--------------- |
| **PBest** | 1010 | +0.01            |
| **Best**  | 1000 | +0.01            |
| **Cool**  | 750  | -0.02            |
| **Good**  | 400  | -0.08            |
| **Bad**   | 0    | -0.16            |
| **Miss**  | 0    | -0.32            |

## 精度 (Accuracy)

本作の精度は、プレイ中の異なる判定統計に基づいて計算され、最大値は 101% です。追加の 1% は PBest から得られます。具体的な計算方法は以下の通りです：

<CodeGroup>
  ```csharp 計算式 theme={null}
  精度 = ((Best + PBest * 1.01 + Cool * 0.75 + Good * 0.4) / 総 Note 数) * 100%
  ```
</CodeGroup>

ここで：

* **総 Note 数** = Best + PBest + Cool + Good + Bad + Miss

| 判定        | 精度貢献 |
| :-------- | :--- |
| **PBest** | 101% |
| **Best**  | 100% |
| **Cool**  | 75%  |
| **Good**  | 40%  |
| **Bad**   | 0%   |
| **Miss**  | 0%   |

## Mod 倍率

### Rank Mod

<table style={{ width: '100%', tableLayout: 'auto' }}>
  <thead>
    <tr>
      <th>タイプ</th>
      <th>Mod</th>
      <th>倍率 / 公式</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td rowSpan={2}>**速度**</td>
      <td>楽曲加速 (Speed > 1)</td>
      <td>`1 + (Speed - 1.0) * 0.24`<br /><span style={{opacity: 0.6, fontSize: '0.9em'}}>例: 1.5x = 1.12x</span></td>
    </tr>

    <tr>
      <td>楽曲減速 (Speed \< 1)</td>
      <td>`Factor = Speed`<br /><span style={{opacity: 0.6, fontSize: '0.9em'}}>例: 0.75x = 0.75x</span></td>
    </tr>

    <tr>
      <td rowSpan={3}>**判定**</td>
      <td>Easy</td>
      <td>**0.78x**</td>
    </tr>

    <tr>
      <td>Normal</td>
      <td>**1.0x**</td>
    </tr>

    <tr>
      <td>Hard</td>
      <td>**1.2x**</td>
    </tr>

    <tr>
      <td>**特殊**</td>
      <td>純スライド (Slide Only)</td>
      <td>**1.06x**</td>
    </tr>
  </tbody>
</table>

### Unrank Mod

<table style={{ width: '100%', tableLayout: 'auto' }}>
  <thead>
    <tr>
      <th style={{ textAlign: 'left' }}>Mod</th>
      <th style={{ textAlign: 'left' }}>倍率</th>
      <th style={{ textAlign: 'left' }}>説明</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>**Relax 判定**</td>
      <td>`0.5x`</td>
      <td>リラックスモード、判定が緩くなる</td>
    </tr>

    <tr>
      <td>**CTB 判定**</td>
      <td>`1.5x`</td>
      <td>osu!CTB の判定スタイルをシミュレート</td>
    </tr>

    <tr>
      <td>**フルーツ回避 (DTB)**</td>
      <td>`0.1x`</td>
      <td>回避モード、**判定難易度の影響が反転**（お皿が大きいほどボーナスが高い）</td>
    </tr>

    <tr>
      <td>**カスタム判定**</td>
      <td>`0.4x - 4.0x`</td>
      <td>設定された難易度係数 (Difficulty Factor) に依存</td>
    </tr>

    <tr>
      <td>**カスタム落下速度 (遅い)**</td>
      <td>`0.5x`</td>
      <td>設定値が譜面のデフォルト速度より遅い場合に適用</td>
    </tr>
  </tbody>
</table>
