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

来自Arcaea中文维基
无编辑摘要
无编辑摘要
 
(未显示同一用户的9个中间版本)
第1行: 第1行:
{{长期更新}}
{{长期更新}}
{{DISPLAYTITLE:接收数据整理}}
=前言=
=前言=
* 因为616最近对World Mode 方面 了很多 东西 ,特开此 页面 来整理一下
*这 里只是对616新 东西 的整理 页面 ,主要记载服务端
*不保证全版本收录,排列无规律,请善用目录。
*不保证全版本收录/版本实时更新 ,排列无规律,请善用目录
*服务端使用Python编写的Arcaea-Server


==skill_maya==
= 研究归档=
*[[ 摩耶]]的 技能,自身具有两种表 形态 值储存 服务器 中。
==新增接口==
* 通过skill_state 值确 表现形态 格式 为<code>{'skill_state': str}</code>
===/applog/me===
** 理应 出remove_random与add_random两种字符串值
* 似乎是用来记录[[ 世界模式]]的 结算中出现的异常 象而新增的接口。
***如果返回数据 不存在 给出 不同 的值, 技能归 空处理
*于5.3.0新增。
** 数据 使用skill_maya 这个 技能 才会 给出。
===/notification/me===
*** 客户端会 在<code>/score/token/world</code>给出 相应 数据。
*通知接口 记录Link Play的邀请通知。
*** 服务端 需要<ref> 在''' 返回搭档的 字典信息''' ''' 计算用 户此次 世界模式 游玩结果 前进 数值''' '''给 用户 游玩结 ''' 及'''游玩后对存储 的更 改''' 几种情况时</ref> 对skill_state做出相应操作
**每切换一次界面都会朝着此接口发送一次GET请求,不论玩家在设置中对邀请通知的设置。
*于5.10.0新增。
 
==Arcaea Online==
*616在5.7.0 多加的有关online的东西。
*目前,Arcaea-server的dev分支尚未支持此部分内容
===相关键===
<code># user: UserInfo</code><br><code># user_play: UserPlay</code>
*<code>custom_banner</code>
** 返回玩家在Arcaea Online中设定 义名片 ,为 空时默认使用拥有的最高级的段位挑战名片。
**需要在<code>user.to_dict</code>中给出数据。
*<code>memory_boost_ticket</code>
**返回玩家拥有的源韵强化兑换券数量,为0时不启用兑换券相关功能。
**需要在<code>user.to_dict</code>和<code>user_play.to_dict</code>中给出数据。
*<code>subscription_multiplier</code>
**返回玩家当前的世界强化百分比,以100起:往前为负数,往后为正数
**需要在<code>user.to_dict</code>中给出数据。
====世界相关====
<code># world: WorldPlay</code><br><code># world_byd: BeyondWorldPlay</code><br><code># 我个人推荐在BaseWorldPlay这个类里面做subscription_multiplier的初始化和读取</code>
*<code>progress_before_sub_boost</code>
**返回计算世界强化百分比前的步数进度。
**世界强化功能可用时,需要在<code>world.to_dict</code>中给出数据。
*<code>progress_sub_boost_amount</code>
**似乎是返回用于计算的世界强化百分比。
**世界强化功能可用时,需要在<code>world.to_dict</code>中给出数据(只是我测试时无论给什么都是-100)
*<code>subscription_multiply</code>
** 返回用于计算的世界强化乘数(实际上就是上面提到的subscription_multiplier)。
**世界强化功能可用时,需要在<code>world_byd.to_dict</code>中 出数据
 
==5.3.0世界改动==
*616在5.3.0中对世界模式中服务端的返回数据做出了改动,这里用来记录5.3.0时616新加的键。
** 值得一提的是,下列的键已经在5.4.0/5.5.0中正式合并入步数计算内;<br> 如果返回数据 不存在 这些键,游戏会用0.0来代替计算,以防因数据缺失导致无法计算的情况。
*目前,Arcaea-server的dev分支已经支持此部分内容。
**因其重构了整个<code>WorldPlay</code>类,此处有关服务端的记载只适用v2.11.3及以前的版本。
===相关 ===
<code># world: WorldPlay</code>
*<code>progress_partial_after_stat</code>
**返回经由搭档Step/Over值影响后的步数。
**需要在<code>world.to_dict</code>中 给出 数据。
*<code>partner_adjusted_prog</code>
**返回用于计算步数 搭档Step
***可参考[[百合咲美香]]、[[Ilith & Ivy]]和[[Hikari & Vanessa]]的技能 <br>三个搭档的 技能 都是在结算时暂时变化自身的数值,步数结算完成后回 搭档页面中显示的数值。<br>服务端的返回值即为返回结算时变化的搭档Step值
** 在正常地图游玩时,需要在<code>world.to_dict</code>中给出 数据
*<code>character_bonus_progress_normalized</code>
**存在<code>character_bonus_progress</code>时,返回<code>character_bonus_progress</code>,需要 <code>world.to_dict</code>中给出数据。
***这两个东西一样的话616塞 这个 键有什么用吗
*<code>pre_boost_progress</code>
**返回游玩Beyond地图结算时的基础步数(精彩程度)。
**在Beyond地图游玩 ,需要在<code>world.to_dict</code>中 给出 数据
*<code>partner_multiply</code>
**返回搭档Over值÷50后的浮点数。
** 在Beyond地图游玩时,需要 在<code>world.to_dict</code>中给出数据。
***在Breach地图游玩时,如果地图的disable_over不为true,需要在<code>world.to_dict</code>中给出数据。
*<code>affinity_multiply</code>
**返回搭档在游玩地图中的相性倍率(相性契合)。
**在Beyond地图游玩时,需要在<code>world.to_dict</code> 给出数据。
*** 在Breach地图游玩时,不 需要 给出数据。
*<code>new_law_multiply</code>
** 返回 搭档 数值套入地图法则后计算出来的倍率(镌刻法则)。
***在Breach地图游玩时,需要在<code>world.to_dict</code>中给出数据。
 
==skill_kanae_uncap==
*[[群愿]]的觉醒技能。
*目前,Arcaea-server的dev分支已经支持此部分内容。
**因其重构了整个<code>WorldPlay</code>类,此处有关服务端的记载只适用v2.11.3及以前 版本。
===相关键===
<code># user: UserInfo</code><br><code># world: WorldPlay</code>
*<code>kanae_stored_prog</code>
**存储在<code>user</code>表内,以<code>.1f</code>的形式存储。
**要在<code>user.to_dict</code>里面给出值。
*<code>kanae_stored_progress</code>
**在<code>world</code>类中实时计算 并在<code>to_dict</code>时给出。
***注意要在<code>after_climb</code>函数内 计算 ,需要进行<code>reclimb</code>处理。<br>别忘了<code>kanae_stored_prog</code>, <code>user.update_user_one_column</code>更新值。
*<code>kanae_added_progress</code>
**在<code>world</code>类中实时计算,并在<code>to_dict</code>时给出。
***可以放在<code>before_calculate</code>函数内计算,记得在<code>get_step</code>函数内加上。<br>别忘了<code>kanae_stored_prog</code>,用<code>user.update_user_one_column</code>更新值。
===注意事项===
<code># user: UserInfo</code>
*<code>kanae_stored_prog</code>会在计算<code>kanae_added_progress</code>时用到,需要在<code>user.select_user_about_world_play</code>中定义。
*<code>kanae_stored_progress</code>只在使用<code>skill_kanae_uncap</code>结算时才会用到,<code>kanae_added_progress</code>是全搭档都可用的。
*<code>kanae_stored_progress</code>与<code>kanae_added_progress</code>在Beyond地图中不可用。
 
==beyond_chain_2==
*[[ 世界模式]]陷落章中链式解锁的ID。
===使用处===
<syntaxhighlight lang="json">
{
   "chain_info": {
     "id": "beyond_chain_2",
     "index": 0  # 0/1/2/3/4
   }
}
</syntaxhighlight>
*使用于地图语句<code>chain_info</code>中,对应<code>id</code>的值。
**<code>index</code><br>意义:解锁顺序,但在此实例下与普通解锁顺序不同。
===用途解析===
*<code>"id": "beyond_chain_2"</code><br>意义:声明该地图处于陷落章的链式解锁中。<br>变化:会使地图边框变为陷落样式。<ref>需要注意,专属于链式解锁的连接线仅在最终奖励为[[Oblivia]]、[[Libertas]]、[[Einherjar Joker]]、[[Purple Verse]]的Beyond难度时才会出现</ref>
*<code>"index": 0/1/2/3/4</code><br>意义:声明该地图处于链式解锁中的哪一环。
**<code>"index": 4</code><br>意义:声明该地图为链式解锁的最终环。<br>变化:边框变为由普通边框与陷落边框混合而成的黑绿边框,同时解锁条件固定加入[[Einherjar Joker]]与[[Purple Verse]]的Beyond谱面。<ref>完整表现可见[[Vicious Heroism|Vicious <nowiki>[ANTi]</nowiki> Heroism]] 陷落地图</ref>
===链式位置===
*<code>index</code><br> 数值 :由0~4分别代表不同的位置。<br>位置:0-2-4-3-1。<ref>点击链式解锁地图时 在下方 链式解锁顺序。<br>如 此处<code>index</code>没有填写完全0~4五个数值或出现重复数值,则不会出现链式解锁顺序。</ref>
 
==世界地图法则==
*[[世界模式]]中陷落章的特殊机制。
===地图语句===
法则机制拥有 下三种键值:
<syntaxhighlight lang="json">
{
   "is_breached": false,
   "disable_over": false,
   "new_law": ""
}
</syntaxhighlight>
*<code>is_breached</code><br>作用:确认启用陷落章地图机制。<br>值类型:bool
*<code>disable_over</code><br>作用:是否禁止[[搭档]]的超量加成参与Beyond进度计算。<br>值类型:bool
*<code>new_law</code><br>作用:设置该地图所使用的法则。<br>值类型:str
===法则类型===
5.3.0版本中,可用的法则有:
<syntaxhighlight lang="json">
[
   "over100_step50",
   "frag50",
   "lowlevel",
   "antiheroism"
]
</syntaxhighlight>
*<code>over100_step50</code><br>禁用超量加成:是<br>介绍:用双脚丈量这个世界,这固然值得令人钦佩。但也别忘了,有时事情可是会事倍功半的哦。<br>公式:进度 = 超量 + 步 /2
*<code>frag50</code><br>禁用超量加成:否<br>介绍:渴望获得更多……贪婪,是人性 本能。那么, 多的残片,是否足够填补你的空虚呢?<br>公式:进度 x= 搭档残片值
*<code>lowlevel</code><br>禁用超量加成:否<br>介绍: 回,弱小的你,年少的你,也将大放异彩。所谓的弱者,从来就不存在。<br>公式:进度 x= max(1.0, 2.0 - 0.1 x 等级)
*<code>antiheroism</code><br>禁用超量加成:是<br> 介绍:“你所仰仗的,都将灰飞烟灭。”这一点,【绝对】无误 <br>公式:进度 = 超量 - | |超量-搭档残片值|-|超量-步数| |


=注释=
=注释=
{{Reflist}}
{{Reflist}}

2024年8月29日 (四) 16:25的最新版本

前言

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

研究归档

新增接口

/applog/me

  • 似乎是用来记录世界模式的结算中出现的异常现象而新增的接口。
  • 于5.3.0新增。

/notification/me

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

Arcaea Online

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

相关键

# user: UserInfo
# user_play: UserPlay

  • custom_banner
    • 返回玩家在Arcaea Online中设定的自定义名片,为空时默认使用拥有的最高级的段位挑战名片。
    • 需要在user.to_dict中给出数据。
  • memory_boost_ticket
    • 返回玩家拥有的源韵强化兑换券数量,为0时不启用兑换券相关功能。
    • 需要在user.to_dictuser_play.to_dict中给出数据。
  • subscription_multiplier
    • 返回玩家当前的世界强化百分比,以100起:往前为负数,往后为正数
    • 需要在user.to_dict中给出数据。

世界相关

# world: WorldPlay
# world_byd: BeyondWorldPlay
# 我个人推荐在BaseWorldPlay这个类里面做subscription_multiplier的初始化和读取

  • progress_before_sub_boost
    • 返回计算世界强化百分比前的步数进度。
    • 世界强化功能可用时,需要在world.to_dict中给出数据。
  • progress_sub_boost_amount
    • 似乎是返回用于计算的世界强化百分比。
    • 世界强化功能可用时,需要在world.to_dict中给出数据(只是我测试时无论给什么都是-100)
  • subscription_multiply
    • 返回用于计算的世界强化乘数(实际上就是上面提到的subscription_multiplier)。
    • 世界强化功能可用时,需要在world_byd.to_dict中给出数据。

5.3.0世界改动

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

相关键

# world: WorldPlay

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

skill_kanae_uncap

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

相关键

# user: UserInfo
# world: WorldPlay

  • kanae_stored_prog
    • 存储在user表内,以.1f的形式存储。
    • 要在user.to_dict里面给出值。
  • kanae_stored_progress
    • world类中实时计算,并在to_dict时给出。
      • 注意要在after_climb函数内计算,需要进行reclimb处理。
        别忘了kanae_stored_prog,用user.update_user_one_column更新值。
  • kanae_added_progress
    • world类中实时计算,并在to_dict时给出。
      • 可以放在before_calculate函数内计算,记得在get_step函数内加上。
        别忘了kanae_stored_prog,用user.update_user_one_column更新值。

注意事项

# user: UserInfo

  • kanae_stored_prog会在计算kanae_added_progress时用到,需要在user.select_user_about_world_play中定义。
  • kanae_stored_progress只在使用skill_kanae_uncap结算时才会用到,kanae_added_progress是全搭档都可用的。
  • kanae_stored_progresskanae_added_progress在Beyond地图中不可用。

beyond_chain_2

使用处

{
    "chain_info": {
        "id": "beyond_chain_2",
        "index": 0  # 0/1/2/3/4
    }
}
  • 使用于地图语句chain_info中,对应id的值。
    • index
      意义:解锁顺序,但在此实例下与普通解锁顺序不同。

用途解析

  • "id": "beyond_chain_2"
    意义:声明该地图处于陷落章的链式解锁中。
    变化:会使地图边框变为陷落样式。[1]
  • "index": 0/1/2/3/4
    意义:声明该地图处于链式解锁中的哪一环。
    • "index": 4
      意义:声明该地图为链式解锁的最终环。
      变化:边框变为由普通边框与陷落边框混合而成的黑绿边框,同时解锁条件固定加入Einherjar JokerPurple Verse的Beyond谱面。[2]

链式位置

  • index
    数值:由0~4分别代表不同的位置。
    位置:0-2-4-3-1。[3]

世界地图法则

地图语句

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

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

法则类型

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

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

注释

  1. 需要注意,专属于链式解锁的连接线仅在最终奖励为ObliviaLibertasEinherjar JokerPurple Verse的Beyond难度时才会出现
  2. 完整表现可见Vicious [ANTi] Heroism的陷落地图
  3. 点击链式解锁地图时,在下方出现的链式解锁顺序。
    如果此处index没有填写完全0~4五个数值或出现重复数值,则不会出现链式解锁顺序。