2019-12-08 22:43:49 +01:00
|
|
|
# vim: set fileencoding=utf-8
|
2021-09-09 03:06:14 +02:00
|
|
|
from typing import Dict, Tuple
|
2021-09-04 18:21:27 +02:00
|
|
|
|
2019-12-08 22:43:49 +01:00
|
|
|
from bemani.backend.popn.base import PopnMusicBase
|
2021-09-06 21:28:18 +02:00
|
|
|
from bemani.backend.popn.common import PopnMusicModernBase
|
2019-12-08 22:43:49 +01:00
|
|
|
from bemani.backend.popn.usaneko import PopnMusicUsaNeko
|
|
|
|
from bemani.common import VersionConstants
|
|
|
|
|
|
|
|
|
2021-09-06 21:28:18 +02:00
|
|
|
class PopnMusicPeace(PopnMusicModernBase):
|
2019-12-08 22:43:49 +01:00
|
|
|
|
2021-09-07 19:56:15 +02:00
|
|
|
name: str = "Pop'n Music peace"
|
|
|
|
version: int = VersionConstants.POPN_MUSIC_PEACE
|
2019-12-08 22:43:49 +01:00
|
|
|
|
2021-09-04 18:21:27 +02:00
|
|
|
# Biggest ID in the music DB
|
2021-09-07 19:56:15 +02:00
|
|
|
GAME_MAX_MUSIC_ID: int = 1877
|
2021-09-04 18:21:27 +02:00
|
|
|
|
2021-09-09 08:08:32 +02:00
|
|
|
# Item limits are as follows:
|
|
|
|
# 0: 1877 - ID is the music ID that the player purchased/unlocked.
|
|
|
|
# 1: 2284
|
|
|
|
# 2: 3
|
|
|
|
# 3: 133 - ID points at a character part that can be purchased on the character screen.
|
|
|
|
# 4: 1
|
|
|
|
# 5: 1
|
|
|
|
# 6: 60
|
|
|
|
|
2021-09-04 00:42:09 +02:00
|
|
|
def previous_version(self) -> PopnMusicBase:
|
2019-12-08 22:43:49 +01:00
|
|
|
return PopnMusicUsaNeko(self.data, self.config, self.model)
|
2021-09-04 18:21:27 +02:00
|
|
|
|
2021-09-09 08:08:32 +02:00
|
|
|
def get_common_config(self) -> Tuple[Dict[int, int], bool, int]:
|
2021-09-04 18:21:27 +02:00
|
|
|
# Event phases
|
|
|
|
# TODO: Hook event mode settings up to the front end.
|
2021-09-09 03:06:14 +02:00
|
|
|
return (
|
|
|
|
{
|
|
|
|
# Default song phase availability (0-23)
|
|
|
|
0: 23,
|
2021-09-09 08:08:32 +02:00
|
|
|
# Unknown event (0-4)
|
|
|
|
1: 4,
|
2021-09-09 03:06:14 +02:00
|
|
|
# Unknown event (0-2)
|
|
|
|
2: 2,
|
|
|
|
# Unknown event (0-4)
|
|
|
|
3: 4,
|
|
|
|
# Unknown event (0-1)
|
|
|
|
4: 1,
|
|
|
|
# Enable Net Taisen, including win/loss display on song select (0-1)
|
|
|
|
5: 1,
|
|
|
|
# Enable NAVI-kun shunkyoku toujou, allows song 1608 to be unlocked (0-1)
|
|
|
|
6: 1,
|
|
|
|
# Unknown event (0-1)
|
|
|
|
7: 1,
|
|
|
|
# Unknown event (0-2)
|
|
|
|
8: 2,
|
|
|
|
# Daily Mission (0-2)
|
|
|
|
9: 2,
|
|
|
|
# NAVI-kun Song phase availability (0-30)
|
|
|
|
10: 30,
|
|
|
|
# Unknown event (0-1)
|
|
|
|
11: 1,
|
|
|
|
# Unknown event (0-2)
|
|
|
|
12: 2,
|
|
|
|
# Enable Pop'n Peace preview song (0-1)
|
|
|
|
13: 1,
|
|
|
|
# Unknown event (0-39)
|
|
|
|
14: 39,
|
|
|
|
# Unknown event (0-2)
|
|
|
|
15: 2,
|
|
|
|
# Unknown event (0-3)
|
|
|
|
16: 3,
|
|
|
|
# Unknown event (0-8)
|
|
|
|
17: 8,
|
|
|
|
# Unknown event (0-1)
|
2021-09-09 08:08:32 +02:00
|
|
|
18: 1,
|
2021-09-09 03:06:14 +02:00
|
|
|
# Unknown event (0-1)
|
|
|
|
19: 1,
|
|
|
|
# Unknown event (0-13)
|
|
|
|
20: 13,
|
|
|
|
# Pop'n event archive song phase availability (0-20)
|
|
|
|
21: 20,
|
|
|
|
# Unknown event (0-2)
|
|
|
|
22: 2,
|
|
|
|
# Unknown event (0-1)
|
|
|
|
23: 1,
|
|
|
|
# Unknown event (0-1)
|
|
|
|
24: 1,
|
|
|
|
},
|
|
|
|
False,
|
2021-09-09 08:08:32 +02:00
|
|
|
133,
|
2021-09-09 03:06:14 +02:00
|
|
|
)
|