The score formula for each note in SIF2 is very similar to the one for the original SIF (via Kouhi). Apart from the missing features (no bonuses from attached items or from bond, because those features don't exist), I have seen the following differences:
floor()
, the game uses ceil()
on two occasions
(in other words, if the result has a decimal part, it is rounded to the next integer).
The team points are obtained by adding the points of each of the 9 members in the team:
TEAM_POINTS = MEMBER1_POINTS + MEMBER2_POINTS + ... + MEMBER9_POINTS
To get the points of each member, we start with the member's points for the song's attribute. After that, we add each of the center skill bonuses separately:
MEMBER1_POINTS = MEMBER1_BASE_POINTS
+ ceil(MEMBER1_BASE_POINTS * CENTER_SKILL_BONUS1) + ceil(MEMBER1_BASE_POINTS * CENTER_SKILL_BONUS2)
+ ceil(MEMBER1_BASE_POINTS * GUEST_CENTER_SKILL_BONUS1) + ceil(MEMBER1_BASE_POINTS * GUEST_CENTER_SKILL_BONUS2)
You can get between zero or two center skill bonuses per center skill: center skills increase the points of one attribute for all the members in the team, but some center skills also increase that attribute's points for all the members of a certain subunit.
We split the note score formula into two parts, the base note score and the final note score. Each of them are
rounded using ceil()
.
BASE_NOTE_SCORE = ceil(TEAM_POINTS / 80)
FINAL_NOTE_SCORE = ceil(BASE_NOTE_SCORE * ACCURACY_MULTIPLIER * ATTRIBUTE_MULTIPLIER *
GROUP_MULTIPLIER * COMBO_MULTIPLIER * NOTE_TYPE_MULTIPLIER)
Note: this means that increasing the team points by less than 80 will sometimes have no effect on the song's score.
Tecnical note: to get results closer to the real ones, you need to use float32 precision.
PERFECT | GREAT | GOOD | BAD | MISS |
---|---|---|---|---|
1.0 | 0.88 | 0.8 | 0.4 | 0 |
This multiplier is 1.1 if the tapped member's attribute matches the song's attribute. Otherwise, it is 1.0.
This multiplier is 1.1 if the tapped member belongs to the song's group. Otherwise, it is 1.0.
This multiplier depends on the combo length before the note:
0 - 50 | 51 - 100 | 101 - 200 | 201 - 400 | 401 - 600 | 601 - 799 | 800+ |
---|---|---|---|---|---|---|
1.0 | 1.1 | 1.15 | 1.2 | 1.25 | 1.3 | 1.35 |
Standard | Hold | Swipe | Swipe with hold |
---|---|---|---|
1.0 | 1.25 (start), 1.25 (end) | 0.5 | 0.5 (start), 1.25 (end) |
Note: the star icon in a note doesn't affect the note type.