User:在咕咕咕的咕子/接收数据整理:修订间差异

来自Arcaea中文维基
(fix)
(咕)
 
第9行: 第9行:
==新增接口==
==新增接口==
===/applog/me===
===/applog/me===
似乎是为了 记录在[[世界模式]]结算中出现的异常 而新增的接口
用于 记录在[[世界模式]]结算中出现的异常。
* 于5.3.0新增。
* 于5.3.0新增。
===/notification/me===
===/notification/me===
通知接口, 用于 记录Link Play的邀请通知。
* 用于 获取[[Link Play]] 的邀请通知。
** 每切换一次界面游戏都会朝着此接口发送一次GET请求,不论玩家在设置中对邀请通知的设置。
** 每切换一次界面游戏都会朝着此接口发送一次GET请求,不论玩家在设置中对邀请通知的设置。
* 于5.10.0新增。
* 于5.10.0新增。
===/insight/me/complete/<nowiki><condition></nowiki>===
* 用于记录用户当前的[[洞烛(至高:第八探索者)|洞烛]]解锁状态。
** 返回<code>{'insight_state': UserInfo.insight_state}</code>。
** <code><nowiki><condition></nowiki></code>
*** 接口后方拼接的解锁条件,目前只有<code>[[Lasting Eden#Lasting Eden - Lasting Eden Chapter 2|eden_append_1]]</code>和<code>[[Lucent Historia|lephon]]</code>两个条件。
**** 当条件为<code>[[Lasting Eden#Lasting Eden - Lasting Eden Chapter 2|eden_append_1]]</code>时,返回的<code>insight_state</code>为1。
**** 当条件为<code>[[Lucent Historia|lephon]]</code>时,返回的<code>insight_state</code>为3。
* 于6.0.0新增。
===/user/me/toggle_invasion===
* 用于切换用户[[洞烛(至高:第八探索者)|洞烛]]的技能激活状态。
** 返回<code>{'insight_state': UserInfo.insight_state}</code>。
* 于6.0.0新增。


==Arcaea Online==
==[[Lucent Historia]]==
* 616在6.0.0中新加的有关[[Lucent Historia]],[[洞烛(至高:第八探索者)#技能|洞烛技能]]和解锁[[哀寂(至高:第六探索者)|哀寂]]的东西。
* 目前,Arcaea-server的dev分支尚未完全支持此部分内容。
===相关键===
* <code>hp_interval_bonus: int</code>
** <s>这个不是我找到的,但我还是要写)</s>
** 会在调用<code>/score/song</code>接口时给出。
*** 本质上是为了服务<code>skill_chinatsu</code>而添加的,具体实现见Arcaea-server的dev分支。
* <code>insight_state: int</code>
** 返回用户当前的[[洞烛(至高:第八探索者)|洞烛]]解锁状态。
** 需要在<code>UserInfo.to_dict</code>中给出数据。
*** 其值应存储在<code>user</code>表内。
*** 使用0/1/2/3/4/5/6表示不同的解锁状态。
**** 值为0时:未解锁[[洞烛(至高:第八探索者)|洞烛]]。
**** 值为1时:已解锁[[洞烛(至高:第八探索者)|洞烛]],未解锁[[Designant.]],未解锁洞烛技能。
**** 值为2时:已解锁[[洞烛(至高:第八探索者)|洞烛]],已解锁[[Designant.]],未解锁洞烛技能。
**** 值为3时:已解锁[[洞烛(至高:第八探索者)|洞烛]],已解锁[[Designant.]],洞烛技能已激活。
**** 值为4时:已解锁[[洞烛(至高:第八探索者)|洞烛]],已解锁[[Designant.]],洞烛技能未激活。
**** 值为5时:[[洞烛(至高:第八探索者)|洞烛]]已满级,已解锁[[Designant.]],洞烛技能已激活。
**** 值为6时:[[洞烛(至高:第八探索者)|洞烛]]已满级,已解锁[[Designant.]],洞烛技能未激活。
===[[世界模式]]相关===
{{empty section}}
 
==[[机制#Arcaea Online|Arcaea Online]]==
* 616在5.7.0中新加的有关online的东西。
* 616在5.7.0中新加的有关online的东西。
* 目前,Arcaea-server的dev分支尚未支持此部分内容。
* 目前,Arcaea-server的dev分支尚未支持此部分内容。
===相关键===
===相关键===
* <code>custom_banner: str</code>
* <code>custom_banner: str</code>
** 返回 玩家 在Arcaea Online中设定的自定义名片,为空时默认使用拥有的最高级的段位挑战名片。
** 返回 用户 在Arcaea Online中设定的自定义名片,为空时默认使用拥有的最高级的段位挑战名片。
** 需要在<code>UserInfo.to_dict</code>中给出数据。
** 需要在<code>UserInfo.to_dict</code>中给出数据。
* <code>memory_boost_ticket: int</code>
* <code>memory_boost_ticket: int</code>
** 返回 玩家 拥有的源韵强化兑换券数量,为0时不启用兑换券相关功能。
** 返回 用户 拥有的源韵强化兑换券数量,为0时不启用兑换券相关功能。
** 需要在<code>UserInfo.to_dict</code>和<code>UserPlay.to_dict</code>中给出数据。
** 需要在<code>UserInfo.to_dict</code>和<code>UserPlay.to_dict</code>中给出数据。
* <code>subscription_multiplier: int</code>
* <code>subscription_multiplier: int</code>
** 返回 玩家 当前的世界强化百分比。
** 返回 用户 当前的世界强化百分比。
*** 数轴:以100为原点,向右为正方向,单位长度为1。
*** 数轴:以100为原点,向右为正方向,单位长度为1。
** 需要在<code>UserInfo.to_dict</code>中给出数据。
** 需要在<code>UserInfo.to_dict</code>中给出数据。
====世界相关====
====[[ 世界 模式]] 相关====
* <code>progress_before_sub_boost: float</code>
* <code>progress_before_sub_boost: float</code>
** 返回计算世界强化百分比前的步数进度。
** 返回计算世界强化百分比前的步数进度。

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,则不会显示链式解锁顺序