artemis/titles/ongeki/const.py
phantomlan 4da886a083 - Add Ranking Event Support
- Add Technical Challenge Event Support
- Fix Event Enumeration for EVT_TYPES as Enum starts with 1, to be in spec with what game expects, also add missing Max EVT_TYPE
- Add documentation on how to properly configure and run Events for ONGEKI
2023-11-13 02:01:56 +00:00

82 lines
1.8 KiB
Python

from typing import Final, Dict
from enum import Enum
class OngekiConstants:
GAME_CODE = "SDDT"
CONFIG_NAME = "ongeki.yaml"
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
VER_ONGEKI_BRIGHT_MEMORY = 7
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",
"Max",
"None",
],
)
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
# 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
VERSION_NAMES = (
"ONGEKI",
"ONGEKI +",
"ONGEKI SUMMER",
"ONGEKI SUMMER +",
"ONGEKI R.E.D.",
"ONGEKI R.E.D. +",
"ONGEKI bright",
"ONGEKI bright MEMORY",
)
@classmethod
def game_ver_to_string(cls, ver: int):
return cls.VERSION_NAMES[ver]