mirror of
https://gitea.tendokyu.moe/Hay1tsme/artemis.git
synced 2026-02-13 03:07:29 +08:00
Compare commits
4 Commits
f2afb3cff5
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d75f62bcb4 | ||
|
|
04019da9ac | ||
|
|
d91c21d047 | ||
|
|
b3824f038f |
@@ -0,0 +1,31 @@
|
||||
"""chuni_subtrophy_db_fix
|
||||
|
||||
Revision ID: 318d52559e83
|
||||
Revises: 8b57e9646449
|
||||
Create Date: 2026-01-08 19:13:29.803912
|
||||
|
||||
"""
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '318d52559e83'
|
||||
down_revision = '8b57e9646449'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.alter_column('chuni_profile_data', 'trophyIdSub1', existing_type=mysql.INTEGER(), server_default='-1')
|
||||
op.alter_column('chuni_profile_data', 'trophyIdSub2', existing_type=mysql.INTEGER(), server_default='-1')
|
||||
|
||||
# fix any current profiles where the bad defaults were used
|
||||
op.execute("UPDATE chuni_profile_data SET trophyIdSub1=-1 WHERE trophyIdSub1 IS NULL")
|
||||
op.execute("UPDATE chuni_profile_data SET trophyIdSub2=-1 WHERE trophyIdSub2 IS NULL")
|
||||
|
||||
|
||||
def downgrade():
|
||||
# dont bother "unfixing" the table
|
||||
pass
|
||||
@@ -121,7 +121,9 @@ class ChuniServlet(BaseServlet):
|
||||
f"{ChuniConstants.VER_CHUNITHM_LUMINOUS}_chn": 8,
|
||||
ChuniConstants.VER_CHUNITHM_LUMINOUS_PLUS: 56,
|
||||
ChuniConstants.VER_CHUNITHM_VERSE: 42,
|
||||
f"{ChuniConstants.VER_CHUNITHM_VERSE}_chn": 37,
|
||||
ChuniConstants.VER_CHUNITHM_X_VERSE: 14,
|
||||
f"{ChuniConstants.VER_CHUNITHM_X_VERSE}_int": 96,
|
||||
}
|
||||
|
||||
for version, keys in self.game_cfg.crypto.keys.items():
|
||||
@@ -306,8 +308,10 @@ class ChuniServlet(BaseServlet):
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS
|
||||
elif version >= 135 and version < 140: # LUMINOUS PLUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS_PLUS
|
||||
elif version >= 140:
|
||||
elif version >= 140 and version < 150: # VERSE
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_VERSE
|
||||
elif version >= 150: # X-VERSE
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_X_VERSE
|
||||
elif game_code == "SDHJ": # Chn
|
||||
if version < 110: # NEW
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_NEW
|
||||
@@ -315,8 +319,10 @@ class ChuniServlet(BaseServlet):
|
||||
version >= 110 and version < 120
|
||||
): # NEW *Cursed but needed due to different encryption key
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_NEW_PLUS
|
||||
elif version >= 120: # LUMINOUS
|
||||
elif version >= 120 and version < 130: # LUMINOUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS
|
||||
elif version >= 130: # VERSE
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_VERSE
|
||||
|
||||
if all(c in string.hexdigits for c in endpoint) and len(endpoint) == 32:
|
||||
# If we get a 32 character long hex string, it's a hash and we're
|
||||
|
||||
@@ -69,7 +69,8 @@ class ChuniReader(BaseReader):
|
||||
await self.read_system_voice(f"{dir}/systemVoice", this_opt_id)
|
||||
await self.read_unlock_challenge(f"{dir}/unlockChallenge")
|
||||
await self.read_linked_verse(f"{dir}/linkedVerse")
|
||||
await self.read_stage(f"{dir}/stage", this_opt_id)
|
||||
if self.version >= ChuniConstants.VER_CHUNITHM_X_VERSE:
|
||||
await self.read_stage(f"{dir}/stage", this_opt_id)
|
||||
|
||||
async def read_login_bonus(self, root_dir: str, opt_id: Optional[int] = None) -> None:
|
||||
for root, dirs, files in walk(f"{root_dir}loginBonusPreset"):
|
||||
|
||||
@@ -26,8 +26,8 @@ profile = Table(
|
||||
Column("frameId", Integer),
|
||||
Column("isMaimai", Boolean),
|
||||
Column("trophyId", Integer),
|
||||
Column("trophyIdSub1", Integer),
|
||||
Column("trophyIdSub2", Integer),
|
||||
Column("trophyIdSub1", Integer, server_default="-1"),
|
||||
Column("trophyIdSub2", Integer, server_default="-1"),
|
||||
Column("userName", String(25)),
|
||||
Column("isWebJoin", Boolean),
|
||||
Column("playCount", Integer),
|
||||
|
||||
Reference in New Issue
Block a user