From 34b41eff9c0a4bdf05dec344ba78d8fda9dd1f8f Mon Sep 17 00:00:00 2001 From: "NG (Graham)" Date: Tue, 27 May 2025 18:32:02 -0400 Subject: [PATCH] Fix game mode switching countdown (which was the only thing really wrong with #15) --- assets/robocraft/config.json | 4 ++++ .../src/operations/custom_games_maps.rs | 2 +- .../src/operations/game_event_params.rs | 23 ++++++++++++++----- .../src/operations/platform_config.rs | 6 ++--- utils/cube_gen.py | 1 + 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/assets/robocraft/config.json b/assets/robocraft/config.json index 7dd73b7..566d1c7 100644 --- a/assets/robocraft/config.json +++ b/assets/robocraft/config.json @@ -14528,6 +14528,10 @@ { "message": "Warning, live without warning\nI say, warning, live without warning\nWithout, all right", "duration": 20 + }, + { + "message": "Spitzer Damn!", + "duration": 20 } ] } diff --git a/rc_services_room/src/operations/custom_games_maps.rs b/rc_services_room/src/operations/custom_games_maps.rs index 9fbce93..74df9c1 100644 --- a/rc_services_room/src/operations/custom_games_maps.rs +++ b/rc_services_room/src/operations/custom_games_maps.rs @@ -41,7 +41,7 @@ pub(super) fn allowed_maps_provider() -> SimpleFunc<146, crate::UserTy, impl (Fn (Typed::Str("RC_Planet_Earth_02_BA".into()), Typed::Str("strCustomGameMapNameRC_Planet_Earth_02_BA".into())), (Typed::Str("RC_Planet_Earth_01_BA".into()), Typed::Str("strCustomGameMapNameRC_Planet_Earth_01_BA".into())), (Typed::Str("RC_Planet_Neptune_03_BA".into()), Typed::Str("strCustomGameMapNameRC_Planet_Neptune_03_BA".into())), - (Typed::Str("TestRobot".into()), Typed::Str("TestRobot".into())), + //(Typed::Str("TestRobot".into()), Typed::Str("TestRobot".into())), ], })); Ok(params.into()) diff --git a/rc_services_room/src/operations/game_event_params.rs b/rc_services_room/src/operations/game_event_params.rs index 4e4953b..2180a3c 100644 --- a/rc_services_room/src/operations/game_event_params.rs +++ b/rc_services_room/src/operations/game_event_params.rs @@ -9,6 +9,17 @@ const MODE_PARAM_KEY: u8 = 136; const AUTO_HEAL_PARAM_KEY: u8 = 37; const REMAINING_TICKS_PARAM_KEY: u8 = 145; +/* Valid map names +RC_Planet_Mars_02_BA +RC_Planet_Mars_03_BA +RC_Planet_Neptune_02_BA +RC_Planet_Neptune_03_BA +RC_Planet_Earth_01_BA +RC_Planet_Earth_02_BA +RC_Planet_Mars_01_CTF +RC_Planet_Neptune_01_CTF +*/ + pub(super) fn event_system_params_provider() -> SimpleFunc<24, crate::UserTy, impl (Fn(ParameterTable, &crate::UserTy) -> Result) + Sync + Sync> { SimpleFunc::new(|params, _| { let mut params = params.to_dict(); @@ -16,21 +27,21 @@ pub(super) fn event_system_params_provider() -> SimpleFunc<24, crate::UserTy, im ty: TypePrefix::Str, // str items: vec![ Typed::Str("RC_Planet_Neptune_03_BA".into()), - Typed::Str("RC_Planet_Earth_01_BA".into()), + Typed::Str("RC_Planet_Mars_02_BA".into()), ], })); params.insert(VISIBILITY_PARAM_KEY, Typed::Arr(Arr { ty: TypePrefix::Int, // int items: vec![ - Typed::Int(GameMode::BattleArena as _), - Typed::Int(GameMode::BattleArena as _), + Typed::Int(MapVisibility::Good as _), + Typed::Int(MapVisibility::Bad as _), ], })); params.insert(MODE_PARAM_KEY, Typed::Arr(Arr { ty: TypePrefix::Int, // int items: vec![ - Typed::Int(MapVisibility::Good as _), - Typed::Int(MapVisibility::Bad as _), + Typed::Int(GameMode::SinglePlayer as _), + Typed::Int(GameMode::BattleArena as _), ], })); params.insert(AUTO_HEAL_PARAM_KEY, Typed::Arr(Arr { @@ -40,7 +51,7 @@ pub(super) fn event_system_params_provider() -> SimpleFunc<24, crate::UserTy, im Typed::Bool(false.into()), ], })); - params.insert(REMAINING_TICKS_PARAM_KEY, Typed::Long(1_000_000)); + params.insert(REMAINING_TICKS_PARAM_KEY, Typed::Long(24 * 60 * 60 * 1_000_000 * 10 /* 24 hours in ticks (100ns units) */)); Ok(params.into()) }) } diff --git a/rc_services_room/src/operations/platform_config.rs b/rc_services_room/src/operations/platform_config.rs index a715fb4..a0b6763 100644 --- a/rc_services_room/src/operations/platform_config.rs +++ b/rc_services_room/src/operations/platform_config.rs @@ -14,11 +14,11 @@ pub(super) fn platform_config_provider() -> SimpleFunc<165, crate::UserTy, impl (Typed::Str("MainShopButtonAvailable".into()), Typed::Bool(false.into())), (Typed::Str("RoboPassButtonAvailable".into()), Typed::Bool(false.into())), (Typed::Str("LanguageSelectionAvailable".into()), Typed::Bool(false.into())), - (Typed::Str("AutoJoinPublicChatRoom".into()), Typed::Bool(false.into())), // TODO maybe? - (Typed::Str("CanCreateChatRooms".into()), Typed::Bool(false.into())), // TODO + (Typed::Str("AutoJoinPublicChatRoom".into()), Typed::Bool(true.into())), // TODO maybe? + (Typed::Str("CanCreateChatRooms".into()), Typed::Bool(true.into())), // TODO (Typed::Str("CurseVoiceEnabled".into()), Typed::Bool(false.into())), (Typed::Str("DeltaDNAEnabled".into()), Typed::Bool(false.into())), - (Typed::Str("UseDecimalSystem".into()), Typed::Bool(false.into())), + (Typed::Str("UseDecimalSystem".into()), Typed::Bool(true.into())), (Typed::Str("FeedbackURL".into()), Typed::Str("https://mstdn.ca/@ngram".into())), (Typed::Str("SupportURL".into()), Typed::Str("https://git.ngni.us/OpenJam/servers".into())), (Typed::Str("WikiURL".into()), Typed::Str("https://git.ngram.ca/OpenJam/servers/wiki".into())), diff --git a/utils/cube_gen.py b/utils/cube_gen.py index 400d26b..4aa4b5e 100755 --- a/utils/cube_gen.py +++ b/utils/cube_gen.py @@ -189,6 +189,7 @@ LOGIN_MESSAGES = [ "Made in sovereign Canada", "Finally, how to craft Robo", "Warning, live without warning\nI say, warning, live without warning\nWithout, all right", + "Spitzer Damn!", ] def guess_category(name: str, sprite: str) -> str: