refactor(events)!: pass messages as tables

This commit is contained in:
Ryan 2025-03-09 13:57:09 -04:00
parent 7af59c3ba2
commit c1268a8970
Signed by: ErrorNoInternet
GPG Key ID: 2486BFB7B1E6A4A3

View File

@ -86,8 +86,11 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow:
} }
Event::Death(packet) => { Event::Death(packet) => {
if let Some(packet) = packet { if let Some(packet) = packet {
let message_table = state.lua.create_table()?;
message_table.set("text", packet.message.to_string())?;
message_table.set("ansi_text", packet.message.to_ansi())?;
let table = state.lua.create_table()?; let table = state.lua.create_table()?;
table.set("message", packet.message.to_string())?; table.set("message", message_table)?;
table.set("player_id", packet.player_id.0)?; table.set("player_id", packet.player_id.0)?;
call_listeners(&state, "death", table).await; call_listeners(&state, "death", table).await;
} else { } else {
@ -95,7 +98,14 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow:
} }
} }
Event::Disconnect(message) => { Event::Disconnect(message) => {
call_listeners(&state, "disconnect", message.map(|m| m.to_string())).await; if let Some(message) = message {
let table = state.lua.create_table()?;
table.set("text", message.to_string())?;
table.set("ansi_text", message.to_ansi())?;
call_listeners(&state, "disconnect", table).await;
} else {
call_listeners(&state, "disconnect", ()).await;
}
} }
Event::KeepAlive(id) => call_listeners(&state, "keep_alive", id).await, Event::KeepAlive(id) => call_listeners(&state, "keep_alive", id).await,
Event::Login => call_listeners(&state, "login", ()).await, Event::Login => call_listeners(&state, "login", ()).await,