Merge branch 'feat/chunithm/xverse' of git.tendokyu.moe:beerpsi/artemis into feat/chunithm/xverse

This commit is contained in:
beerpsi 2025-12-30 14:55:56 +07:00
commit fa9d7dada7
3 changed files with 6 additions and 11 deletions

View File

@ -1107,9 +1107,6 @@ class ChuniBase:
# added in CHUNITHM X-VERSE
if "userLinkedVerseList" in upsert:
for linked_verse in upsert["userLinkedVerseList"]:
for i in range(4):
linked_verse[f"clearUserName{i}"] = self.read_wtf8(linked_verse[f"clearUserName{i}"])
await self.data.item.put_linked_verse(user_id, linked_verse)
return {"returnCode": "1"}

View File

@ -144,12 +144,10 @@ class MapAreaConditionType(IntEnum):
class LinkedVerseUnlockConditionType(IntEnum):
"""
For conditions where it's sensible to have a list of items (basically everything
except team course+minimum character rank), a list can be separated using either:
- Semicolon (`;`), which indicates that *all* items in this list must meet
the condition.
- Underscore (`_`), which indicates that *at least one* item in this list
must meet the condition.
`conditionList` is a semicolon-delimited list of numbers, where the number's meaning
is defined by the specific `conditionId`. Additionally, each element of the list
can be further separated by underscores. For example `1;2_3;4` means that the player
must achieve 1 AND (2 OR 3) AND 4.
"""
PLAY_SONGS = 33

View File

@ -317,7 +317,7 @@ class ChuniXVerse(ChuniVerse):
}
)
# Linked GATE PARADISE - Play Ikazuchi, Konton, Rebellion, Kimitour and 135
# Linked GATE PARADISE - Play one solo song by each of the artists in Inori
if gate_paradise := linked_verse_by_id.get(10006):
conditions.append(
{
@ -326,7 +326,7 @@ class ChuniXVerse(ChuniVerse):
"conditionList": [
{
"type": LinkedVerseUnlockConditionType.PLAY_SONGS.value,
"conditionList": "180;407;788;2704;2050",
"conditionList": "180_384_2355;407_2353;788_629_600;2704;2050_2354",
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
"startDate": gate_paradise["startDate"].strftime(
self.date_time_format