mirror of
https://github.com/Lost-MSth/Arcaea-server.git
synced 2026-02-10 18:07:28 +08:00
[Enhance] Support skill_nami_sui
- For Arcaea 6.6.0 - New partners "Tairitsu & El Fail" and "Nami & Sui (Twilight)" - Add support for the character skill `skill_nami_sui`.
This commit is contained in:
@@ -12,7 +12,7 @@ class Config:
|
||||
|
||||
SONG_FILE_HASH_PRE_CALCULATE = True
|
||||
|
||||
GAME_API_PREFIX = '/coldwind/35' # 6.0.0 '/fallingleaves/34' # str | list[str]
|
||||
GAME_API_PREFIX = ['/coldwind/35', '/'] # str | list[str]
|
||||
OLD_GAME_API_PREFIX = [] # str | list[str]
|
||||
|
||||
ALLOW_APPVERSION = [] # list[str]
|
||||
@@ -106,9 +106,7 @@ class Config:
|
||||
GAME_REGISTER_IP_RATE_LIMIT = '10/1 day'
|
||||
GAME_REGISTER_DEVICE_RATE_LIMIT = '3/1 day'
|
||||
|
||||
|
||||
NOTIFICATION_EXPIRE_TIME = 3 * 60 * 1000
|
||||
|
||||
|
||||
|
||||
class ConfigManager:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from .config_manager import Config
|
||||
|
||||
ARCAEA_SERVER_VERSION = 'v2.12.0.8'
|
||||
ARCAEA_DATABASE_VERSION = 'v2.12.0.8'
|
||||
ARCAEA_SERVER_VERSION = 'v2.12.0.9'
|
||||
ARCAEA_DATABASE_VERSION = 'v2.12.0.9'
|
||||
ARCAEA_LOG_DATBASE_VERSION = 'v1.1'
|
||||
|
||||
|
||||
|
||||
@@ -246,6 +246,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.skill_cytusii_flag: str = None
|
||||
self.skill_chinatsu_flag: str = None
|
||||
self.highest_health: int = None
|
||||
@@ -296,6 +297,10 @@ class UserPlay(UserScore):
|
||||
if self.hp_interval_bonus is not None and self.hp_interval_bonus < 0:
|
||||
return False
|
||||
|
||||
if self.fever_bonus is not None and (self.fever_bonus < 0 or self.fever_bonus > self.perfect_count * 5):
|
||||
# fever 等级最高为 5
|
||||
return False
|
||||
|
||||
y = f'{self.user.user_id}{self.song_hash}'
|
||||
checksum = md5(x+md5(y))
|
||||
|
||||
@@ -390,7 +395,8 @@ class UserPlay(UserScore):
|
||||
self.c.execute('''insert into songplay_token values(:t,:a,:b,:c,'',-1,0,0,:d,:e,:f,:g,:h,:i,:j)''', {
|
||||
'a': self.user.user_id, 'b': self.song.song_id, 'c': self.song.difficulty, 'd': self.stamina_multiply, 'e': self.fragment_multiply, 'f': self.prog_boost_multiply, 'g': self.beyond_boost_gauge_usage, 'h': self.skill_cytusii_flag, 'i': self.skill_chinatsu_flag, 'j': self.invasion_flag, 't': self.song_token})
|
||||
|
||||
self.user.stamina.stamina -= self.user.current_map.stamina_cost * self.stamina_multiply * fatalis_stamina_multiply
|
||||
self.user.stamina.stamina -= self.user.current_map.stamina_cost * \
|
||||
self.stamina_multiply * fatalis_stamina_multiply
|
||||
self.user.stamina.update()
|
||||
|
||||
def set_play_state_for_course(self, use_course_skip_purchase: bool, course_id: str = None) -> None:
|
||||
|
||||
@@ -559,6 +559,13 @@ class UserInfo(User):
|
||||
# 'subscription_multiplier': 114,
|
||||
# 'memory_boost_ticket': 5,
|
||||
'insight_state': self.insight_state, # 0~2 不可选,3 技能激活,4 未激活,5 激活可选,6 未激活可选
|
||||
|
||||
# 'enabled_features': [
|
||||
# {
|
||||
# "metadata": ["USA"],
|
||||
# "feature": "paymentlink"
|
||||
# }
|
||||
# ],
|
||||
}
|
||||
|
||||
def from_list(self, x: list) -> 'UserInfo':
|
||||
|
||||
@@ -518,6 +518,7 @@ class WorldSkillMixin:
|
||||
'skill_chinatsu': self._skill_chinatsu,
|
||||
'skill_salt': self._skill_salt,
|
||||
'skill_hikari_selene': self._skill_hikari_selene,
|
||||
'skill_nami_sui': self._skill_nami_sui,
|
||||
}
|
||||
if self.user_play.beyond_gauge == 0 and self.character_used.character_id == 35 and self.character_used.skill_id_displayed:
|
||||
self._special_tempest()
|
||||
@@ -740,6 +741,15 @@ class WorldSkillMixin:
|
||||
self.over_skill_increase = int(self.user_play.health / 10) * 2
|
||||
self.prog_skill_increase = int(self.user_play.health / 10) * 2
|
||||
|
||||
def _skill_nami_sui(self) -> None:
|
||||
'''
|
||||
nami & sui 技能,根据纯粹音符数与 FEVER 等级提高世界模式进度
|
||||
'''
|
||||
if self.user_play.fever_bonus is None:
|
||||
return
|
||||
|
||||
self.character_bonus_progress_normalized = self.user_play.fever_bonus / 1000
|
||||
|
||||
|
||||
class BaseWorldPlay(WorldSkillMixin):
|
||||
'''
|
||||
|
||||
Reference in New Issue
Block a user