接收数据整理

来自Arcaea中文维基

前言

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

研究归档

5.3.0世界改动

  • 616在5.3.0中对世界模式中服务端的返回数据做出了改动,这里用来记录5.3.0时616新加的键。
    • 值得一提的是,下列的键已经在5.4.0/5.5.0中正式合并入步数计算内;
      如果返回数据内不存在这些键,游戏会用0.0来代替计算,以防因数据缺失导致无法计算的情况。

相关键

# 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的值,似乎只有skill_maya会用到。
    • 存在character_bonus_progress时,需要在world.to_dict中给出数据。
  • 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

相关键

# 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五个数值或出现重复数值,则不会出现链式解锁顺序。