Files
benilla-octo/crates/benilla-protocol/src/world/writer/tutorial.rs
T
SamandClaude Opus 5.5 ba16121048 comments: protocol, the world writer's sends
1,096 comment lines become 372 across 31 files; the code is unchanged.
Dropped as false or stale:
- the module table, which missed 8 of the 44 modules;
- "cacheable forever" for names, which a pet rename breaks;
- "only failures get a packet", though SMSG_BUY_ITEM answers a buy;
- a go_target parameter that does not exist;
- "three" cast shapes, where there are five.

vmangos line citations now name the function or the current lines.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 20:05:47 +07:00

26 lines
834 B
Rust

//! The tutorial system's sends.
use anyhow::Result;
use crate::messages::{self, opcode};
use super::WorldWriter;
impl WorldWriter {
/// `CMSG_TUTORIAL_FLAG`, a 0-based id: sent by `FlagTutorial` and six auto-acknowledge sites,
/// only when that tutorial's bit was clear.
pub fn tutorial_flag(&mut self, id: u32) -> Result<()> {
self.send(opcode::CMSG_TUTORIAL_FLAG, &messages::tutorial_flag(id))
}
/// `CMSG_TUTORIAL_CLEAR`, empty: `ClearTutorials()`, marking every tutorial acknowledged.
pub fn tutorial_clear(&mut self) -> Result<()> {
self.send(opcode::CMSG_TUTORIAL_CLEAR, &[])
}
/// `CMSG_TUTORIAL_RESET`, empty: `ResetTutorials()`, forgetting every tutorial.
pub fn tutorial_reset(&mut self) -> Result<()> {
self.send(opcode::CMSG_TUTORIAL_RESET, &[])
}
}