diff --git a/rc_core/src/persist/client_config.rs b/rc_core/src/persist/client_config.rs index 04b94d1..d2ceeaa 100644 --- a/rc_core/src/persist/client_config.rs +++ b/rc_core/src/persist/client_config.rs @@ -12,6 +12,7 @@ pub struct GameplaySettings { pub critical_ratio: f32, pub cross_promo_image: String, // url pub cross_promo_link: String, // url + pub garages_limit: i32, } impl std::convert::From for crate::data::client_config::GameplaySettings { diff --git a/rc_core/src/persist/config/cubes_json.rs b/rc_core/src/persist/config/cubes_json.rs index 7621709..846cf05 100644 --- a/rc_core/src/persist/config/cubes_json.rs +++ b/rc_core/src/persist/config/cubes_json.rs @@ -565,4 +565,8 @@ impl super::ConfigProvider for CubeConfig { .collect(), } } + + fn garage_slot_limit(&self) -> i32 { + self.settings.gameplay.garages_limit + } } diff --git a/rc_core/src/persist/config/traits.rs b/rc_core/src/persist/config/traits.rs index 3016435..ecf3242 100644 --- a/rc_core/src/persist/config/traits.rs +++ b/rc_core/src/persist/config/traits.rs @@ -41,6 +41,7 @@ pub trait ConfigProvider { fn shop_entries(&self) -> ShopEntriesResolver; fn promo_codes(&self) -> std::collections::HashMap; fn vehicle_validation(&self) -> VehicleValidators; + fn garage_slot_limit(&self) -> i32; } pub struct DevMessageProvider { diff --git a/rc_core/src/persist/settings.rs b/rc_core/src/persist/settings.rs index da1871f..320594f 100644 --- a/rc_core/src/persist/settings.rs +++ b/rc_core/src/persist/settings.rs @@ -22,7 +22,7 @@ impl super::config::SelfValidator for Settings { fn default_gameplay_settings() -> super::GameplaySettings { super::GameplaySettings { - show_tutorial_after_date: "2030-01-01".to_owned(), + show_tutorial_after_date: "2077-01-01".to_owned(), health_threshold: 0.20, microbot_sphere: 0.5, misfire_angle: 10.0, @@ -30,8 +30,9 @@ fn default_gameplay_settings() -> super::GameplaySettings { shield_hps: 10_000_000, request_review_level: 10_000, critical_ratio: 5.0, - cross_promo_image: "https://git.ngram.ca/OpenJam/servers/raw/branch/main/assets/robocraft/default.png".to_owned(), - cross_promo_link: "https://git.ngram.ca/OpenJam/servers".to_owned(), + cross_promo_image: "https://git.ngram.ca/OpenJam/rc-servers/raw/branch/main/assets/robocraft/default.png".to_owned(), + cross_promo_link: "https://git.ngram.ca/OpenJam/rc-servers".to_owned(), + garages_limit: 100, } } diff --git a/rc_services_room/src/operations/garage_slot_limit.rs b/rc_services_room/src/operations/garage_slot_limit.rs index 60f09d0..19f7b4c 100644 --- a/rc_services_room/src/operations/garage_slot_limit.rs +++ b/rc_services_room/src/operations/garage_slot_limit.rs @@ -4,11 +4,11 @@ use polariton_server::operations::Immediate; const PARAM_KEY: u8 = 68; -pub(super) fn garage_slots_limit(_conf: &oj_rc_core::ConfigImpl) -> Immediate<60, crate::UserTy> { - //let limit = conf.game_mode_config(); +pub(super) fn garage_slots_limit(conf: &oj_rc_core::ConfigImpl) -> Immediate<60, crate::UserTy> { + let limit = >::garage_slot_limit(conf); Immediate::new(move || { - let mut params = std::collections::HashMap::with_capacity(1); - params.insert(PARAM_KEY, polariton::operation::Typed::Int(100)); + let mut params = std::collections::HashMap::with_capacity(2); + params.insert(PARAM_KEY, polariton::operation::Typed::Int(limit)); params.into() }) }