接收数据整理

出自Arcaea中文维基
< User:在咕咕咕的咕子
於 2024年8月22日 (四) 23:32 由 在咕咕咕的咕子留言 | 貢獻 所做的修訂

前言

  • 這裡只是對616新加的東西的整理頁面,主要記載服務端。
  • 不保證全版本收錄/版本實時更新,排列無規律,請善用目錄。
  • 服務端使用Python編寫的Arcaea-Server。

研究歸檔

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五個數值或出現重複數值,則不會出現鏈式解鎖順序。