> ## 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.

# Scoring System

> Score Calculation & Mod Multipliers

## Base Score

Overall score calculation is based on [Malody Score System](https://m.mugzone.net/).

Malody's scoring system is cumulative. Each correctly hit note awards a certain score, and the total score is the sum of all individual note scores.

Specifically, the score for a single note consists of a **Base Score** , a **Combo Bonus Multiplier** and a **Mod multiplier**:

<CodeGroup>
  ```csharp Formula theme={null}
  Total Score = Base Score + Base Score * (1 + Combo Bonus Multiplier) * Mod multiplier
  ```
</CodeGroup>

The **Combo Bonus Multiplier** starts at **1**. The judgement received will change it (see table below), but it will not exceed 1 or drop below 0. When calculating the score for a note, **the Combo Bonus Multiplier is updated first, then the score is calculated**.

| Judgement        | Base Score | Impact on Combo Bonus |
| :--------------- | :--------- | :-------------------- |
| **PBest / Best** | 1000       | +0.01                 |
| **Cool**         | 750        | -0.02                 |
| **Good**         | 400        | -0.08                 |
| **Bad**          | 0          | -0.16                 |
| **Miss**         | 0          | -0.32                 |

## Accuracy

Accuracy is calculated based on the statistics of different judgments during the current play. The maximum value is 101%, with the extra 1% coming from PBest. The calculation formula is as follows:

<CodeGroup>
  ```csharp Formula theme={null}
  Accuracy = ((Best + PBest * 1.01 + Cool * 0.75 + Good * 0.4) / Total Notes) * 100%
  ```
</CodeGroup>

Where:

* **Total Notes** = Best + PBest + Cool + Good + Bad + Miss

| Judgement | Accuracy Contribution |
| :-------- | :-------------------- |
| **PBest** | 101%                  |
| **Best**  | 100%                  |
| **Cool**  | 75%                   |
| **Good**  | 40%                   |
| **Bad**   | 0%                    |
| **Miss**  | 0%                    |

## Mod Multipliers

### Rank Mods

<table style={{ width: '100%', tableLayout: 'auto' }}>
  <thead>
    <tr>
      <th>Type</th>
      <th>Mod</th>
      <th>Multiplier / Formula</th>
    </tr>
  </thead>

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

    <tr>
      <td>Slow Down (Speed \< 1)</td>
      <td>`Factor = Speed`<br /><span style={{opacity: 0.6, fontSize: '0.9em'}}>Ex: 0.75x = 0.75x</span></td>
    </tr>

    <tr>
      <td rowSpan={3}>**Judgement**</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>**Special**</td>
      <td>Slide Only</td>
      <td>**1.06x**</td>
    </tr>
  </tbody>
</table>

### Unrank Mods

<table style={{ width: '100%', tableLayout: 'auto' }}>
  <thead>
    <tr>
      <th style={{ textAlign: 'left' }}>Mod</th>
      <th style={{ textAlign: 'left' }}>Multiplier</th>
      <th style={{ textAlign: 'left' }}>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>**Relax Judge**</td>
      <td>`0.5x`</td>
      <td>Easier judgement</td>
    </tr>

    <tr>
      <td>**CTB Judge**</td>
      <td>`1.24x`</td>
      <td>OSU!CTB style judgement</td>
    </tr>

    <tr>
      <td>**Dodge The Best**</td>
      <td>`0.1x`</td>
      <td>Dodge mode. **Difficulty factor effect is reversed** (larger catcher = higher multiplier)</td>
    </tr>

    <tr>
      <td>**Custom Judge**</td>
      <td>`0.4x - 4.0x`</td>
      <td>Depends on Difficulty Factor</td>
    </tr>

    <tr>
      <td>**Custom Scroll Speed (Too Slow)**</td>
      <td>`0.5x`</td>
      <td>Applied when custom speed is lower than chart default speed</td>
    </tr>
  </tbody>
</table>
