2023-02-17 07:02:21 +01:00
|
|
|
from typing import Final, Dict
|
|
|
|
from enum import Enum
|
2023-03-03 23:46:29 +01:00
|
|
|
|
|
|
|
|
2023-03-09 17:38:58 +01:00
|
|
|
class OngekiConstants:
|
2023-02-17 07:02:21 +01:00
|
|
|
GAME_CODE = "SDDT"
|
|
|
|
|
2023-03-05 03:58:51 +01:00
|
|
|
CONFIG_NAME = "ongeki.yaml"
|
|
|
|
|
2023-02-17 07:02:21 +01:00
|
|
|
VER_ONGEKI = 0
|
|
|
|
VER_ONGEKI_PLUS = 1
|
|
|
|
VER_ONGEKI_SUMMER = 2
|
|
|
|
VER_ONGEKI_SUMMER_PLUS = 3
|
|
|
|
VER_ONGEKI_RED = 4
|
|
|
|
VER_ONGEKI_RED_PLUS = 5
|
|
|
|
VER_ONGEKI_BRIGHT = 6
|
2023-03-03 06:00:22 +01:00
|
|
|
VER_ONGEKI_BRIGHT_MEMORY = 7
|
2023-02-17 07:02:21 +01:00
|
|
|
|
2023-03-09 17:38:58 +01:00
|
|
|
EVT_TYPES: Enum = Enum(
|
|
|
|
"EVT_TYPES",
|
|
|
|
[
|
|
|
|
"Announcement",
|
|
|
|
"Movie",
|
|
|
|
"AddMyList",
|
|
|
|
"UnlockChapter",
|
|
|
|
"JewelEvent",
|
|
|
|
"RankingEvent",
|
|
|
|
"AcceptRankingEvent",
|
|
|
|
"UnlockMusic",
|
|
|
|
"UnlockCard",
|
|
|
|
"UnlockTrophy",
|
|
|
|
"UnlockNamePlate",
|
|
|
|
"UnlockLimitBreakItem",
|
|
|
|
"MissionEvent",
|
|
|
|
"DailyBonus",
|
|
|
|
"UnlockBossLockEarly",
|
|
|
|
"UnlockPurchaseItem",
|
|
|
|
"TechChallengeEvent",
|
|
|
|
"AcceptTechChallengeEvent",
|
|
|
|
"SilverJewelEvent",
|
2023-11-05 18:09:58 +01:00
|
|
|
"Max",
|
|
|
|
"None",
|
2023-03-09 17:38:58 +01:00
|
|
|
],
|
|
|
|
)
|
2023-02-17 07:02:21 +01:00
|
|
|
|
2023-11-07 02:14:15 +01:00
|
|
|
REWARD_TYPES: Enum = Enum(
|
|
|
|
"REWARD_TYPES",
|
|
|
|
[
|
|
|
|
"Card",
|
|
|
|
"NamePlate",
|
|
|
|
"Trophy",
|
|
|
|
"LimitBreakItem",
|
|
|
|
"AlmightyJewel",
|
|
|
|
"Money",
|
|
|
|
"Music",
|
|
|
|
"ProfileVoice",
|
|
|
|
"Present",
|
|
|
|
"ChapterJewel",
|
|
|
|
"GachaTicket",
|
|
|
|
"KaikaItem",
|
|
|
|
"ExpUpItem",
|
|
|
|
"IntimateUpItem",
|
|
|
|
"BookItem",
|
|
|
|
"SystemVoice",
|
|
|
|
"Costume",
|
|
|
|
"Medal",
|
|
|
|
"Attachment",
|
|
|
|
"UnlockItem",
|
|
|
|
"Max",
|
|
|
|
"None",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2023-03-03 23:46:29 +01:00
|
|
|
class CM_GACHA_KINDS(Enum):
|
|
|
|
Normal = 0
|
|
|
|
Pickup = 1
|
|
|
|
BonusRestored = 2
|
|
|
|
Free = 3
|
|
|
|
PickupBonusRestored = 4
|
|
|
|
|
|
|
|
class RARITY_TYPES(Enum):
|
|
|
|
N = 0
|
|
|
|
R = 1
|
|
|
|
SR = 2
|
|
|
|
SSR = 3
|
|
|
|
SRPlus = 12
|
|
|
|
|
2023-02-17 07:02:21 +01:00
|
|
|
# The game expects the server to give Lunatic an ID of 10, while the game uses 4 internally... except in Music.xml
|
|
|
|
class DIFF_NAME(Enum):
|
|
|
|
Basic = 0
|
|
|
|
Advanced = 1
|
|
|
|
Expert = 2
|
|
|
|
Master = 3
|
|
|
|
Lunatic = 10
|
|
|
|
|
2023-03-09 17:38:58 +01:00
|
|
|
VERSION_NAMES = (
|
|
|
|
"ONGEKI",
|
2023-07-12 11:25:46 +02:00
|
|
|
"ONGEKI +",
|
|
|
|
"ONGEKI SUMMER",
|
|
|
|
"ONGEKI SUMMER +",
|
|
|
|
"ONGEKI R.E.D.",
|
|
|
|
"ONGEKI R.E.D. +",
|
|
|
|
"ONGEKI bright",
|
|
|
|
"ONGEKI bright MEMORY",
|
2023-03-09 17:38:58 +01:00
|
|
|
)
|
2023-02-17 07:02:21 +01:00
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def game_ver_to_string(cls, ver: int):
|
2023-03-03 23:46:29 +01:00
|
|
|
return cls.VERSION_NAMES[ver]
|