From ea7376f2b5666b055fe5499c44727ba5a947611d Mon Sep 17 00:00:00 2001 From: Ethan O'Brien <77750390+ethanaobrien@users.noreply.github.com> Date: Tue, 16 Apr 2024 14:37:27 -0500 Subject: [PATCH] Give item after live --- src/router/global.rs | 36 ++++++++++++++++++++---------------- src/router/live.rs | 17 +++++++++++++++++ 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/router/global.rs b/src/router/global.rs index 543f05f..93cd239 100644 --- a/src/router/global.rs +++ b/src/router/global.rs @@ -113,27 +113,31 @@ pub fn error_resp() -> HttpResponse { send(object!{}) } +pub fn give_item(master_item_id: i64, amount: i64, user: &mut JsonValue) { + let mut has = false; + for (_j, dataa) in user["item_list"].members_mut().enumerate() { + has = true; + if dataa["master_item_id"].as_i64().unwrap() == master_item_id { + dataa["amount"] = (dataa["amount"].as_i64().unwrap() + amount).into(); + } + break; + } + if !has { + user["item_list"].push(object!{ + id: master_item_id, + master_item_id: master_item_id, + amount: amount, + expire_date_time: null + }).unwrap(); + } +} + // true - added // false - already has pub fn give_character(id: String, user: &mut JsonValue) -> bool { for (_i, data) in user["card_list"].members().enumerate() { if data["master_card_id"].to_string() == id { - let mut has = false; - for (_j, dataa) in user["item_list"].members_mut().enumerate() { - has = true; - if dataa["master_item_id"].as_i64().unwrap() == 19100001 { - dataa["amount"] = (dataa["amount"].as_i64().unwrap() + 10).into(); - } - break; - } - if !has { - user["item_list"].push(object!{ - id: 19100001, - master_item_id: 19100001, - amount: 10, - expire_date_time: null - }).unwrap(); - } + give_item(19100001, 100, user); return false; } } diff --git a/src/router/live.rs b/src/router/live.rs index d41b094..7b53013 100644 --- a/src/router/live.rs +++ b/src/router/live.rs @@ -263,6 +263,23 @@ pub fn end(req: HttpRequest, body: String) -> HttpResponse { let user2 = userdata::get_acc_home(&key); let mut user = userdata::get_acc(&key); + let mut has = false; + for (_j, data) in user["point_list"].members_mut().enumerate() { + has = true; + if data["type"].as_i64().unwrap() == 1 { + data["amount"] = (data["amount"].as_i64().unwrap() + 5000).into(); + } + break; + } + if !has { + user["point_list"].push(object!{ + type: 1, + amount: 5000 + }).unwrap(); + } + global::give_item(16005003, 10, &mut user); + global::give_item(17001003, 2, &mut user); + user["stamina"]["stamina"] = (user["stamina"]["stamina"].as_i32().unwrap() - body["use_lp"].as_i32().unwrap()).into(); if user["stamina"]["stamina"].as_i32().unwrap() < 0 { user["stamina"]["stamina"] = (0).into();