From 6126bc984b81861bbd97b0e0cc4b5643b42281dd Mon Sep 17 00:00:00 2001 From: Condorra Date: Sat, 13 Jan 2024 18:01:19 +1100 Subject: [PATCH] Fix build, prep for Turn Toggle --- blastmud_game/src/db.rs | 2 +- blastmud_game/src/models/item.rs | 3 +++ blastmud_game/src/static_content/possession_type.rs | 13 +++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/blastmud_game/src/db.rs b/blastmud_game/src/db.rs index 3a43fd9..2ce912c 100644 --- a/blastmud_game/src/db.rs +++ b/blastmud_game/src/db.rs @@ -407,7 +407,7 @@ impl DBTrans { Ok(()) } - #[deny(dead_code)] + #[warn(dead_code)] pub async fn find_by_username<'a>(self: &'a Self, username: &'a str) -> DResult> { if let Some(details_json) = self .pg_trans()? diff --git a/blastmud_game/src/models/item.rs b/blastmud_game/src/models/item.rs index d576231..0782a46 100644 --- a/blastmud_game/src/models/item.rs +++ b/blastmud_game/src/models/item.rs @@ -609,6 +609,9 @@ pub enum ItemSpecialData { HanoiPuzzle { towers: [Vec; 3], }, + ToggleData { + turned_on: bool, + }, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, PartialOrd)] diff --git a/blastmud_game/src/static_content/possession_type.rs b/blastmud_game/src/static_content/possession_type.rs index c4e978a..cedd67c 100644 --- a/blastmud_game/src/static_content/possession_type.rs +++ b/blastmud_game/src/static_content/possession_type.rs @@ -244,6 +244,17 @@ pub trait InstallHandler { ) -> UResult<()>; } +#[async_trait] +pub trait TurnToggleHandler { + async fn turn_cmd( + &self, + ctx: &mut VerbContext, + player: &Item, + what: &Item, + turn_on: bool, + ) -> UResult<()>; +} + pub trait ContainerCheck { fn check_place(&self, container: &Item, item: &Item) -> UResult<()>; } @@ -321,6 +332,7 @@ pub struct PossessionData { pub lockcheck_handler: Option<&'static (dyn LockcheckHandler + Sync + Send)>, pub sign_handler: Option<&'static (dyn ArglessHandler + Sync + Send)>, pub write_handler: Option<&'static (dyn WriteHandler + Sync + Send)>, + pub turn_toggle_handler: Option<&'static (dyn TurnToggleHandler + Sync + Send)>, pub can_butcher: bool, pub bench_data: Option<&'static (dyn BenchData + Sync + Send)>, pub wear_data: Option, @@ -347,6 +359,7 @@ impl Default for PossessionData { lockcheck_handler: None, sign_handler: None, write_handler: None, + turn_toggle_handler: None, can_butcher: false, bench_data: None, wear_data: None,