From de7a21f0b3c5332ce5e56844644d90c32013f556 Mon Sep 17 00:00:00 2001 From: Ethan O'Brien <77750390+ethanaobrien@users.noreply.github.com> Date: Fri, 3 May 2024 13:21:56 -0500 Subject: [PATCH] Implement lottery item usage --- src/router/lottery/mod.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/router/lottery/mod.rs b/src/router/lottery/mod.rs index 65af18d..eb609b2 100644 --- a/src/router/lottery/mod.rs +++ b/src/router/lottery/mod.rs @@ -49,6 +49,17 @@ lazy_static! { } cardz }; + static ref PRICE: JsonValue = { + let mut cardz = object!{}; + let items = json::parse(include_str!("lottery_price.json")).unwrap(); + for (_i, data) in items.members().enumerate() { + if cardz[data["id"].to_string()].is_null() { + cardz[data["id"].to_string()] = object!{}; + } + cardz[data["id"].to_string()][data["number"].to_string()] = data.clone(); + } + cardz + }; } pub fn tutorial(_req: HttpRequest, body: String) -> HttpResponse { @@ -159,7 +170,15 @@ pub fn lottery_post(req: HttpRequest, body: String) -> HttpResponse { cardstogive.push(new_card).unwrap(); } else { lottery_id = 1110024; - cardstogive = get_random_cards(lottery_id, 10); + let price = PRICE[lottery_id.to_string()][body["master_lottery_price_number"].to_string()].clone(); + + if price["consumeType"].as_i32().unwrap() == 1 { + global::remove_gems(&mut user, price["price"].as_i64().unwrap()); + } else if price["consumeType"].as_i32().unwrap() == 4 { + global::use_item(price["masterItemId"].as_i64().unwrap(), price["price"].as_i64().unwrap(), &mut user); + } + + cardstogive = get_random_cards(lottery_id, price["count"].as_usize().unwrap()); } let lottery_type = LOTTERY[lottery_id.to_string()]["category"].as_i32().unwrap();