scroll.server/crates/logic/src/messages/matchmake.rs
WiseDev 6dc4caede9 matchmake against a bot instead of searching forever
537 only tells the client's ui to start searching, the handshake after it was
missing: server sends 24106 StopHomeLogic, client answers 14105, server sends
21903. that last step now builds the same snapshot the npc mission does, using
npcs row 0 as the opponent.

battle type stays 1 so it runs on the client's offline path. a real pvp battle
is type 0 and needs the udp sector channel, which does not exist here.

14107 CancelMatchmake now answers 24125 instead of being ignored.
2026-08-23 10:28:28 +03:00

18 lines
712 B
Rust

use titan::Message;
use crate::commands::LogicCommand;
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 24106, direction = "server", name = "StopHomeLogicMessage")]
pub struct StopHomeLogicMessage {}
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Message)]
#[message(id = 24125, direction = "server", name = "CancelMatchmakeDoneMessage")]
pub struct CancelMatchmakeDoneMessage {}
#[derive(Debug, Default, Message)]
#[message(id = 14105, direction = "client", name = "HomeLogicStoppedMessage")]
#[codec(partial)]
pub struct HomeLogicStoppedMessage {
#[codec(vint)]
pub tick: i32,
#[codec(vint)]
pub checksum: i32,
pub commands: Vec<Box<dyn LogicCommand>>,
}