[Enhance] Support skill_nonoka_uncap

- Add support for `skill_nonoka_uncap`.
- For Arcaea 6.8.0
This commit is contained in:
Lost-MSth
2025-08-21 16:13:43 +08:00
parent 5b5f544a19
commit 05bdd42679
8 changed files with 47 additions and 10 deletions

View File

@@ -12,7 +12,7 @@ class Config:
SONG_FILE_HASH_PRE_CALCULATE = True
GAME_API_PREFIX = ['/coldwind/35', '/'] # str | list[str]
GAME_API_PREFIX = ['/summerfestival/36', '/'] # str | list[str]
OLD_GAME_API_PREFIX = [] # str | list[str]
ALLOW_APPVERSION = [] # list[str]

View File

@@ -1,7 +1,7 @@
from .config_manager import Config
ARCAEA_SERVER_VERSION = 'v2.12.1'
ARCAEA_DATABASE_VERSION = 'v2.12.1'
ARCAEA_SERVER_VERSION = 'v2.12.1.1'
ARCAEA_DATABASE_VERSION = 'v2.12.1.1'
ARCAEA_LOG_DATBASE_VERSION = 'v1.1'

View File

@@ -247,6 +247,7 @@ class UserPlay(UserScore):
self.combo_interval_bonus: int = None # 不能给 None 以外的默认值
self.hp_interval_bonus: int = None # 不能给 None 以外的默认值
self.fever_bonus: int = None # 不能给 None 以外的默认值
self.rank_bonus: int = None # 不能给 None 以外的默认值
self.skill_cytusii_flag: str = None
self.skill_chinatsu_flag: str = None
self.highest_health: int = None
@@ -301,6 +302,9 @@ class UserPlay(UserScore):
# fever 等级最高为 5
return False
if self.rank_bonus is not None and (self.rank_bonus < 0 or self.rank_bonus > 4):
return False
y = f'{self.user.user_id}{self.song_hash}'
checksum = md5(x+md5(y))

View File

@@ -537,6 +537,7 @@ class WorldSkillMixin:
'skill_kanae_uncap': self._skill_kanae_uncap,
'skill_eto_hoppe': self._skill_eto_hoppe,
'skill_intruder': self._skill_intruder,
'skill_nonoka_uncap': self._skill_nonoka_uncap,
}
if self.character_used.skill_id_displayed in factory_dict:
factory_dict[self.character_used.skill_id_displayed]()
@@ -750,6 +751,17 @@ class WorldSkillMixin:
self.character_bonus_progress_normalized = self.user_play.fever_bonus / 1000
def _skill_nonoka_uncap(self) -> None:
'''
nonoka 觉醒技能,技能等级 * 10% 的世界进度奖励
'''
if self.user_play.rank_bonus is None:
return
self.character_bonus_progress_normalized = self.user_play.rank_bonus * \
0.1 * self.progress_normalized
self.user.current_map.reclimb(self.final_progress)
class BaseWorldPlay(WorldSkillMixin):
'''