scroll.server/crates/logic/src/battle/logic_tutorial_manager.rs
WiseDev 41eca5b620 battle model: LogicBattle, the object manager and BattleResultMessage
field order taken straight off LogicBattle::encode. the object manager is
columnar, not object major: 6 counters, a count, then all data refs, then all
global ids, then all objects, then four component passes. global ids must be
ascending, the client binary searches them.

LogicRandom moved out of the shop into its own module. its abs was
checked_abs().unwrap_or(0), the binary uses NEGS so i32::MIN stays i32::MIN.
one seed in four billion, but it would have desynced the card shop.

per object subclass encodes and the component payloads are still missing, so no
snapshot can be sent yet.
2026-08-23 10:00:16 +03:00

10 lines
317 B
Rust

use titan::Payload;
use crate::battle::logic_game_object_ref::LogicGameObjectRef;
use crate::data::LogicDataRef;
#[derive(Debug, Default, Clone, PartialEq, Eq, Payload)]
pub struct LogicTutorialManager {
pub tutorial: LogicDataRef,
#[codec(vint)]
pub countdown: i32,
pub target: LogicGameObjectRef,
}