# vim: set fileencoding=utf-8 from typing import Any, Dict, Tuple from bemani.backend.popn.base import PopnMusicBase from bemani.backend.popn.common import PopnMusicModernBase from bemani.backend.popn.usaneko import PopnMusicUsaNeko from bemani.common import VersionConstants class PopnMusicPeace(PopnMusicModernBase): name: str = "Pop'n Music peace" version: int = VersionConstants.POPN_MUSIC_PEACE # Biggest ID in the music DB GAME_MAX_MUSIC_ID: int = 1877 # Biggest deco part ID in the game GAME_MAX_DECO_ID: int = 133 # 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 def previous_version(self) -> PopnMusicBase: return PopnMusicUsaNeko(self.data, self.config, self.model) @classmethod def get_settings(cls) -> Dict[str, Any]: """ Return all of our front-end modifiably settings. """ return { 'ints': [ { 'name': 'Music Open Phase', 'tip': 'Default music phase for all players.', 'category': 'game_config', 'setting': 'music_phase', 'values': { # The value goes to 23 now, but it starts where usaneko left off at 11 # Unlocks a total of 53 songs 12: 'No music unlocks', 13: 'Phase 1', 14: 'Phase 2', 15: 'Phase 3', 16: 'Phase 4', 17: 'Phase 5', 18: 'Phase 6', 19: 'Phase 7', 20: 'Phase 8', 21: 'Phase 9', 22: 'Phase 10', 23: 'Phase MAX', } }, { 'name': 'NAVI-Kun Event Phase', 'tip': 'NAVI-Kun event phase for all players.', 'category': 'game_config', 'setting': 'navikun_phase', 'values': { # The value goes to 30 now, but it starts where usaneko left off at 15 # Unlocks a total of 89 songs 15: 'Phase 1', 16: 'Phase 2', 17: 'Phase 3', 18: 'Phase 4', 19: 'Phase 5', 20: 'Phase 6', 21: 'Phase 7', 22: 'Phase 8', 23: 'Phase 9', 24: 'Phase 10', 25: 'Phase 11', 26: 'Phase 12', 27: 'Phase 13', 28: 'Phase 14', 29: 'Phase 15', 30: 'Phase MAX', }, }, { # For festive times, it's possible to change the welcome greeting. I'm not sure why you would want to change this, but now you can. 'name': 'Holiday Greeting', 'tip': 'Changes the payment selection confirmation sound.', 'category': 'game_config', 'setting': 'holiday_greeting', 'values': { 0: 'Okay!', 1: 'Merry Christmas!', 2: 'Happy New Year!', } }, { # The following values control the pop'n music event archive. Setting the flag to the following values has the # corresponding effect. Each value will include the events above it, for example setting it to 5 gives you the # pop'n 15 event, as well as SP, 12, and 11 events. Setting it to 0 disabled the event and skips the entire screen, # setting it to 20 makes all of the events available for selection. Completing the minigame unlocks the associated content. 'name': 'Event Archive Phase', 'tip': 'Event Archive mini-game phase for all players.', 'category': 'game_config', 'setting': 'event_archive_phase', 'values': { 0: 'Event Archive disabled', 1: 'pop\'n music 11 - The Latest Space Station', 2: 'pop\'n music 11 & 12 Iroha - The Southernmost Point of the Universe / Ninja Otasuke Cheat Sheet in Trouble', 3: 'pop\'n music Sunny Park - I Love Walking in Happiness Park', 4: 'pop\'n music 12 Iroha - Ninja Code: April 1st Volume', 5: 'pop\'n music 15 ADVENTURE - Route to Awaken the Soul', 6: 'pop\'n music 20 fantasia - A Braided Fantasy Song', 7: 'EXTRA', 8: 'pop\'n music 15 ADVENTURE - A Route with a Faint Bell Sound', 9: 'pop\'n music 13 Carnival - Bunny Magician Attraction', 10: 'pop\'n music 14 FEVER! - That Burning Special Attack, again!', 11: 'pop\'n music Sunny Park - Festival Nightfall Park', 12: 'pop\'n music 20 fantasia - A Fantasy Song by the Bladed Warrior', 13: 'pop\'n music 19 TUNE STREET - A Town Where the Sound of the Brass Band Rings After School', 14: 'pop\'n music éclale - Fun Rag Hour', 15: 'pop\'n music 13 Carnival - Ghost Piano Attraction', 16: 'pop\'n music 14 FEVER! - That Warrior Defending Peace, again!', 17: 'pop\'n music 18 Sengoku Retsuden - A Territory with a Glamorous Cultural Flavor', 18: 'pop\'n music éclale - Runaway Guitarist in the Starry Sky', 19: 'pop\'n music 17 THE MOVIE - A Blockbuster Uncovering a Conspiracy in the Peaceful City', 20: 'pop\'n music lapistoria - God\'s Forgotten Things', } }, ], 'bools': [ # We don't currently support lobbies or anything, so this is commented out until # somebody gets around to implementing it. # { # 'name': 'Net Taisen', # 'tip': 'Enable Net Taisen, including win/loss display on song select', # 'category': 'game_config', # 'setting': 'enable_net_taisen', # }, { 'name': 'Force Song Unlock', 'tip': 'Force unlock all songs.', 'category': 'game_config', 'setting': 'force_unlock_songs', }, ], } def get_common_config(self) -> Tuple[Dict[int, int], bool]: game_config = self.get_game_config() music_phase = game_config.get_int('music_phase') event_archive_phase = game_config.get_int('event_archive_phase') holiday_greeting = game_config.get_int('holiday_greeting') enable_net_taisen = False # game_config.get_bool('enable_net_taisen') navikun_phase = game_config.get_int('navikun_phase') # Event phases return ( { # Default song phase availability (0-23) # The following songs are unlocked when the phase is at or above the number specified: # 1 - 1589, 1590, 1591 # 2 - 1594, 1595 # 3 - 1596, 1597 # 4 - 1593 # 5 - 1602 # 6 - 1604 # 7 - 1629, 1630, 1631, 1633, 1641, 1642, 1643, 1644, 1645, 1646, 1647 # 8 - 1632 # 9 - 1651 # 10 - 1679, 1680, 1681 # 11 - 1669, 1670, 1669, 1670 # 12 - Nothing gets unlocked here, the above values are identical to UsaNeko so presumably # this is the new phase 0 for Peace. # 13 - 1728, 1730, 1731 # 14 - 1729, 1732 # 15 - 1763, 1764, 1765 # 16 - 1785, 1786, 1787, 1788 # 17 - 1820, 1822, 1826, 1827 # 18 - 1817 # 19 - 1821 # 20 - 1819 # 21 - 1818 # 22 - 1825 # 23 - 1858, 1857 0: music_phase, # Unknown event (0-4) 1: 4, # Holiday Greeting (0-2) 2: holiday_greeting, # 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 if enable_net_taisen else 0, # 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) # The following songs are unlocked when the phase is at or above the number specified: # 1 - 1553 # 2 - 1577, 1576, 1569 # 3 - 1575, 1557 # 4 - 1567 # 5 - 1587, 1588, 1585 # 6 - 1586 # 7 - 1601, 1600, 1599 # 8 - 1603 # 9 - 1606, 1607, 1605 # 10 - 1610, 1611, 1612 # 11 - 1616, 1613, 1614, 1615 # 12 - 1619, 1618, 1620, 1617 # 13 - 1624, 1621, 1623, 1622 # 14 - 1627, 1626, 1625 # 15 - 1628 # 16 - 1634, 1635, 1636, 1637, 1638 # 17 - 1639, 1640 # 18 - 1649, 1648, 1650 # 19 - 1654, 1653, 1652 # 20 - 1657, 1655, 1656 # 21 - 1658, 1659, 1687, 1686 # 22 - 1665, 1663, 1664 # 23 - 1660, 1661, 1662, 1690, 1691 # 24 - 1672, 1671 # 25 - 1673, 1674, 1675 # 26 - 1676, 1677, 1678 # 27 - 1685, 1688, 1689 # 28 - 1692, 1693, 1694 # 29 - 1696, 1697, 1698, 1699, 1700, 1701, 1702 # 30 - 1682, 1683, 1684 10: navikun_phase, # Unknown event (0-1) 11: 1, # Unknown event (0-2) 12: 2, # Enable Pop'n Peace preview song (0-1) 13: 1, # Stamp Card Rally (0-39) 14: 39, # Unknown event (0-2) 15: 2, # Unknown event (0-3) 16: 3, # Unknown event (0-8) 17: 8, # FLOOR INFECTION event (0-1) # The following songs are linked to this event: # 1 - 1223, 1224, 1225, 1239, 1240, 1241, 1245, 1247, 1340, 1342, 1394, 1523, 1524, 1525, 1598, 1667, 1668, 1666 18: 1, # pop'n music × NOSTALGIA kyouenkai (0-1) # Setting this to 1 is linked to the song 1695 19: 1, # Event archive event (0-13) # The following songs are unlocked when the phase is at or above the number specified: # 1 - 1745, 1744, 1743, 1746, 203, 214, 225, 226, 1749, 215, 591, 320, 1775, 449, 1768 # 2 - 1759, 1760, 1761, 1762, 1748, 1754, 1755, 1756, 1757, 1758 # 3 - 1737, 1776, 1777, 1780, 1783 # 4 - 1725, 1726, 1751, 1750, 1753, 1752 # 5 - 1703, 1724, 1747, 1738, 1733, 1739 # 6 - 1722, 1723, 1740, 1735, 1734 # 7 - 1766, 1769, 1771, 1770, 1736, 1741, 356, 1778, 1779, 284, 1742 # 8 - 165, 171, 169, 1774, 1773, 118, 135, 1781, 105, 107, 1782 # 9 - 113, 548, 436, 1792, 1791, 148, 125, 1832 # 10 - 66, 74, 147, 79, 89, 1767, 49, 1772, 40, 1784, 16, 25, 1790, 1793 # 11 - 1807, 1814, 1806, 1815, 1813 # 12 - 1803, 1804, 1805 # 13 - 1833, 1824 20: 13, # Pop'n event archive song phase availability (0-20) 21: event_archive_phase, # バンめし♪ ふるさとグランプリunlocks (split into two rounds) (0-2) # The following songs are linked to this event: # 1 - 1851, 1852, 1853, 1854 # 2 - 1863, 1864, 1865, 1866 22: 2, # いちかのBEMANI投票選抜戦2019 unlocks (0-1) # The following songs are linked to this event: # 1 - 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802 23: 1, # ダンキラ!!! × pop'n music unlocks (0-1) # The following songs are linked to this event: # 1 - 1845, 1846, 1847 24: 1, }, False, )