接收数据整理

来自Arcaea中文维基
< User:在咕咕咕的咕子
在咕咕咕的咕子讨论 | 贡献2024年11月30日 (六) 15:56的版本 (咕)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

前言

  • 这里只是对616新加的东西的整理页面,主要记载服务端。
  • 不保证全版本收录/版本实时更新,排列无规律,请善用目录。
  • 服务端使用Python编写的Arcaea-Server。

研究归档

新增接口

/applog/me

  • 用于记录在世界模式结算中出现的异常。
  • 于5.3.0新增。

/notification/me

  • 用于获取Link Play的邀请通知。
    • 每切换一次界面游戏都会朝着此接口发送一次GET请求,不论玩家在设置中对邀请通知的设置。
  • 于5.10.0新增。

/insight/me/complete/<condition>

  • 用于记录用户当前的洞烛解锁状态。
    • 返回{'insight_state': UserInfo.insight_state}
    • <condition>
      • 接口后方拼接的解锁条件,目前只有eden_append_1lephon两个条件。
        • 当条件为eden_append_1时,返回的insight_state为1。
        • 当条件为lephon时,返回的insight_state为3。
  • 于6.0.0新增。

/user/me/toggle_invasion

  • 用于切换用户洞烛的技能激活状态。
    • 返回{'insight_state': UserInfo.insight_state}
  • 于6.0.0新增。

Lucent Historia

相关键

  • hp_interval_bonus: int
    • 这个不是我找到的,但我还是要写)
    • 会在调用/score/song接口时给出。
      • 本质上是为了服务skill_chinatsu而添加的,具体实现见Arcaea-server的dev分支。
  • insight_state: int
    • 返回用户当前的洞烛解锁状态。
    • 需要在UserInfo.to_dict中给出数据。
      • 其值应存储在user表内。
      • 使用0/1/2/3/4/5/6表示不同的解锁状态。

世界模式相关

Arcaea Online

  • 616在5.7.0中新加的有关online的东西。
  • 目前,Arcaea-server的dev分支尚未支持此部分内容。

相关键

  • custom_banner: str
    • 返回用户在Arcaea Online中设定的自定义名片,为空时默认使用拥有的最高级的段位挑战名片。
    • 需要在UserInfo.to_dict中给出数据。
  • memory_boost_ticket: int
    • 返回用户拥有的源韵强化兑换券数量,为0时不启用兑换券相关功能。
    • 需要在UserInfo.to_dictUserPlay.to_dict中给出数据。
  • subscription_multiplier: int
    • 返回用户当前的世界强化百分比。
      • 数轴:以100为原点,向右为正方向,单位长度为1。
    • 需要在UserInfo.to_dict中给出数据。

世界模式相关

  • progress_before_sub_boost: float
    • 返回计算世界强化百分比前的步数进度。
    • 世界强化功能可用时,需要在WorldPlay.to_dict中给出数据。
  • progress_sub_boost_amount: float
    • 似乎是返回用于计算的世界强化百分比(我测试时无论给什么都是-100,待考究)。
    • 世界强化功能可用时,需要在WorldPlay.to_dict中给出数据
  • subscription_multiply: int
    • 返回用于计算的世界强化乘数(实际返回值为上文的subscription_multiplier)。
    • 世界强化功能可用时,需要在BeyondWorldPlay.to_dict中给出数据。

5.3.0世界改动

  • 616在5.3.0中对世界模式服务端的返回数据做了改动,这里用来记录5.3.0时616新加的键。
    • 值得一提的是,下列的键已经在5.4.0/5.5.0中正式合并入步数计算内;
      如果返回数据内不存在这些键,游戏会用0.0来代替显示数据,以防因数据缺失导致游戏崩溃的情况。
  • 目前,Arcaea-server的master分支已经支持此部分内容。
    • 因为其更改重构了整个WorldPlay类,此处有关服务端的记载只适用v2.11.3及以前的版本。

相关键

  • progress_partial_after_stat: float
    • 返回经由搭档Step/Over值影响后的步数。
    • 需要在WorldPlay.to_dict中给出数据。
  • partner_adjusted_prog: float
    • 返回用于计算步数的搭档Step值。
      • 可参考百合咲美香Ilith & IvyHikari & Vanessa的技能,
        三个搭档的技能都是在结算时暂时变化自身的数值,步数结算完成后回归搭档页面中显示的数值。
        服务端的返回值即为返回结算时变化的搭档Step值。
    • 在正常地图游玩时,需要在WorldPlay.to_dict中给出数据。
  • character_bonus_progress_normalized: float
    • 存在character_bonus_progress时,返回character_bonus_progress
    • 需要在WorldPlay.to_dict中给出数据。
  • pre_boost_progress: float
    • 返回游玩Beyond地图结算时的基础步数(精彩程度)。
    • 在Beyond地图游玩时,需要在WorldPlay.to_dict中给出数据。
  • partner_multiply: float
    • 返回搭档Over值÷50后的浮点数。
    • 在Beyond地图游玩时,需要在WorldPlay.to_dict中给出数据。
      • 在Breach地图游玩时,如果地图的disable_over不为true,需要在WorldPlay.to_dict中给出数据。
  • affinity_multiply: float
    • 返回搭档在游玩地图中的相性倍率(相性契合)。
    • 在Beyond地图游玩时,需要在WorldPlay.to_dict中给出数据。
      • 在Breach地图游玩时,不需要给出数据。
  • new_law_multiply: float
    • 返回将搭档数值套入地图法则后计算出来的倍率(镌刻法则)。
      • 在Breach地图游玩时,需要在WorldPlay.to_dict中给出数据。

skill_kanae_uncap

  • 群愿的觉醒技能。
  • 目前,Arcaea-server的master分支已经支持此部分内容。
    • 因为其更改重构了整个WorldPlay类,此处有关服务端的记载只适用v2.11.3及以前的版本。

相关键

  • kanae_stored_prog: float
    • 返回用户当前存储的步数。
      • 其值应存储在user表内,以.1f的形式存储。
    • 需要在UserInfo.to_dict中给出数据。
  • kanae_stored_progress: float
    • 返回此次游玩中被用于存储的步数。
    • 当地图所需体力不为0,并且使用的搭档技能为skill_kanae_uncap时,需要在WorldPlay.to_dict中给出数据。
  • kanae_added_progress: float
    • 返回此次游玩中增加的步数。
      • 实际上返回的就是之前存储在kanae_stored_prog的值。
    • 需要在WorldPlay.to_dict中给出数据。

beyond_chain_2

使用处

{
    "chain_info": {
        "id": "beyond_chain_2",
        "index": 0  # 0/1/2/3/4
    }
}
  • 填于地图数据内的chain_info键。
    • "id": "beyond_chain_2"
      • 声明该地图处于陷落第一章的链式解锁中。
      • 会使其对应地图边框变为链式解锁的特殊样式[1]
    • "index": 0/1/2/3/4
      • 声明该地图处于链式解锁中的第几环。
      • 当填入值为4时,则会发生以下特殊变化:

链式解锁顺序

  • 仅会出现在链式解锁地图的选择界面下方。
    • 会根据所连接的链式解锁地图排列地图[2]
      • 其排列顺序为:0-2-4-3-1。

法则机制

地图语句

法则机制拥有以下三种键:

{
    "is_breached": false,
    "disable_over": false,
    "new_law": ""
}
  • is_breached: bool
    • 用于确认是否启用陷落章的地图机制。
  • disable_over: bool
    • 用于确认是否禁止搭档的Over值参与进度计算。
  • new_law: str
    • 用于设置该地图所使用的法则。

法则列表

5.3.0版本中,可用的法则有:

[
    "over100_step50",
    "frag50",
    "lowlevel",
    "antiheroism"
]
  • over100_step50
    • 对应地图是否禁用Over值:是
    • 介绍:用双脚丈量这个世界,这固然值得令人钦佩。但也别忘了,有时事情可是会事倍功半的哦。
    • 公式:进度 = 超量 + 步数/2
  • frag50
    • 对应地图是否禁用Over值:否
    • 介绍:渴望获得更多……贪婪,是人性的本能。那么,更多的残片,是否足够填补你的空虚呢?
    • 公式:进度 x= 搭档残片值
  • lowlevel
    • 对应地图是否禁用Over值:否
    • 介绍:这回,弱小的你,年少的你,也将大放异彩。所谓的弱者,从来就不存在。
    • 公式:进度 x= max(1.0, 2.0 - 0.1 x 等级)
  • antiheroism
    • 对应地图是否禁用Over值:是
    • 介绍:“你所仰仗的,都将灰飞烟灭。”这一点,【绝对】无误。
    • 公式:进度 = 超量 - | |超量-残数|-|超量-步数| |

注释

  1. 专属于链式解锁的连接线仅在其地图的最终奖励为ObliviaLibertasEinherjar JokerPurple Verse的Beyond难度时才会出现。
  2. 如果所连接的链式解锁地图index的值缺失了0/1/2/3/4,则不会显示链式解锁顺序