custom lineup support

This commit is contained in:
yuvlian
2026-03-18 07:37:21 +07:00
parent cc389bd368
commit 26956e3193
3 changed files with 13 additions and 3 deletions
+4 -1
View File
@@ -1,4 +1,4 @@
use std::collections::HashMap; use std::collections::{BTreeMap, HashMap};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
@@ -16,6 +16,8 @@ pub struct BattleConfig {
pub custom_stats: Vec<SubAffix>, pub custom_stats: Vec<SubAffix>,
#[serde(default)] #[serde(default)]
pub scepters: Vec<RogueMagicScepter>, pub scepters: Vec<RogueMagicScepter>,
#[serde(default)]
pub custom_battle_lineup: Option<BTreeMap<u32, u32>>,
} }
impl Default for BattleConfig { impl Default for BattleConfig {
@@ -33,6 +35,7 @@ impl Default for BattleConfig {
path_resonance_id: Default::default(), path_resonance_id: Default::default(),
custom_stats: Default::default(), custom_stats: Default::default(),
scepters: Default::default(), scepters: Default::default(),
custom_battle_lineup: Default::default(),
} }
} }
} }
+1
View File
@@ -22180,6 +22180,7 @@
} }
}, },
"battle_config": { "battle_config": {
"custom_battle_lineup": null,
"battle_type": "Default", "battle_type": "Default",
"monsters": [ "monsters": [
[ [
+7 -1
View File
@@ -100,8 +100,14 @@ async fn create_battle_info(
let mut first_avatar_id = 0; let mut first_avatar_id = 0;
let lineup_uwu = if let Some(custom) = &player.battle_config.custom_battle_lineup {
custom.iter()
} else {
player.lineups.iter()
};
// avatars // avatars
for (avatar_index, avatar_id) in player.lineups.iter() { for (avatar_index, avatar_id) in lineup_uwu {
if first_avatar_id == 0 { if first_avatar_id == 0 {
first_avatar_id = *avatar_id; first_avatar_id = *avatar_id;
} }