This commit is contained in:
Ethan O'Brien 2024-05-25 17:06:02 -05:00
parent d288bccd7d
commit 5c4029ad50
13 changed files with 84 additions and 86 deletions

View file

@ -11,7 +11,7 @@ fn do_reinforce(user: &mut JsonValue, body: &JsonValue, exp_id: &str, money_mult
let mut card = data.clone(); let mut card = data.clone();
let mut money: i64 = 0; let mut money: i64 = 0;
for (_j, data2) in materials.members().enumerate() { for data2 in materials.members() {
items::use_item(&object!{ items::use_item(&object!{
value: data2["master_item_id"].as_i64().unwrap(), value: data2["master_item_id"].as_i64().unwrap(),
amount: 1, amount: 1,
@ -28,7 +28,7 @@ fn do_reinforce(user: &mut JsonValue, body: &JsonValue, exp_id: &str, money_mult
} }
user["card_list"][i] = card.clone(); user["card_list"][i] = card.clone();
for (_i, data) in user["point_list"].members_mut().enumerate() { for data in user["point_list"].members_mut() {
if data["type"].as_i32().unwrap() == 1 { if data["type"].as_i32().unwrap() == 1 {
data["amount"] = (data["amount"].as_i64().unwrap() - money).into(); data["amount"] = (data["amount"].as_i64().unwrap() - money).into();
} }

View file

@ -19,7 +19,7 @@ pub fn home(req: HttpRequest, body: String) -> Option<JsonValue> {
let chats = userdata::get_acc_chats(&key); let chats = userdata::get_acc_chats(&key);
let mut rooms = array![]; let mut rooms = array![];
for (_i, data) in chats.members().enumerate() { for data in chats.members() {
rooms.push(databases::CHATS[data["chat_id"].to_string()][data["room_id"].to_string()]["id"].clone()).unwrap(); rooms.push(databases::CHATS[data["chat_id"].to_string()][data["room_id"].to_string()]["id"].clone()).unwrap();
} }
@ -41,7 +41,7 @@ pub fn end(req: HttpRequest, body: String) -> Option<JsonValue> {
let mut missions = userdata::get_acc_missions(&key); let mut missions = userdata::get_acc_missions(&key);
let mut chats = userdata::get_acc_chats(&key); let mut chats = userdata::get_acc_chats(&key);
for (_i, data) in chats.members_mut().enumerate() { for data in chats.members_mut() {
if body["chapter_id"].as_i64().unwrap() == data["chapter_id"].as_i64().unwrap() { if body["chapter_id"].as_i64().unwrap() == data["chapter_id"].as_i64().unwrap() {
if data["is_read"].as_i32().unwrap() != 1 { if data["is_read"].as_i32().unwrap() != 1 {
items::advance_mission(1169001, 1, 50, &mut missions); items::advance_mission(1169001, 1, 50, &mut missions);

View file

@ -141,7 +141,7 @@ fn get_json() -> JsonValue {
let lives = DATABASE.lock_and_select_all("SELECT live_id FROM lives", params!()).unwrap(); let lives = DATABASE.lock_and_select_all("SELECT live_id FROM lives", params!()).unwrap();
let mut rates = array![]; let mut rates = array![];
let mut ids = array![]; let mut ids = array![];
for (_i, id) in lives.members().enumerate() { for id in lives.members() {
let info = DATABASE.get_live_data(id.as_i64().unwrap()); let info = DATABASE.get_live_data(id.as_i64().unwrap());
if info.is_err() { if info.is_err() {
continue; continue;

View file

@ -7,7 +7,7 @@ lazy_static! {
pub static ref LOGIN_REWARDS: JsonValue = { pub static ref LOGIN_REWARDS: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/login_bonus_reward.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/login_bonus_reward.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -15,7 +15,7 @@ lazy_static! {
pub static ref SHOP_INFO: JsonValue = { pub static ref SHOP_INFO: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/shop_item.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/shop_item.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -23,7 +23,7 @@ lazy_static! {
pub static ref CHATS: JsonValue = { pub static ref CHATS: JsonValue = {
let mut chats = object!{}; let mut chats = object!{};
let items = json::parse(&include_file!("src/router/databases/json/chat_room.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/chat_room.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
if chats[data["masterChatId"].to_string()].is_null() { if chats[data["masterChatId"].to_string()].is_null() {
chats[data["masterChatId"].to_string()] = object!{}; chats[data["masterChatId"].to_string()] = object!{};
} }
@ -34,7 +34,7 @@ lazy_static! {
pub static ref CHAPTERS: JsonValue = { pub static ref CHAPTERS: JsonValue = {
let mut chats = object!{}; let mut chats = object!{};
let items = json::parse(&include_file!("src/router/databases/json/chat_chapter.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/chat_chapter.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
if chats[data["masterChatId"].to_string()].is_null() { if chats[data["masterChatId"].to_string()].is_null() {
chats[data["masterChatId"].to_string()] = object!{}; chats[data["masterChatId"].to_string()] = object!{};
} }
@ -45,7 +45,7 @@ lazy_static! {
pub static ref EXCHANGE_LIST: JsonValue = { pub static ref EXCHANGE_LIST: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/exchange_item.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/exchange_item.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -53,7 +53,7 @@ lazy_static! {
pub static ref EXCHANGE_REWARD: JsonValue = { pub static ref EXCHANGE_REWARD: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/exchange_item_reward.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/exchange_item_reward.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -61,7 +61,7 @@ lazy_static! {
pub static ref LIVE_LIST: JsonValue = { pub static ref LIVE_LIST: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/live.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/live.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -72,7 +72,7 @@ lazy_static! {
pub static ref MISSION_COMBO_DATA: JsonValue = { pub static ref MISSION_COMBO_DATA: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/live_mission_combo.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/live_mission_combo.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["masterMusicId"].to_string()] = data.clone(); info[data["masterMusicId"].to_string()] = data.clone();
} }
info info
@ -80,7 +80,7 @@ lazy_static! {
pub static ref MISSION_REWARD_DATA: JsonValue = { pub static ref MISSION_REWARD_DATA: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/live_mission_reward.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/live_mission_reward.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -88,7 +88,7 @@ lazy_static! {
pub static ref CARD_LIST: JsonValue = { pub static ref CARD_LIST: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/card.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/card.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -96,7 +96,7 @@ lazy_static! {
pub static ref LOTTERY_INFO: JsonValue = { pub static ref LOTTERY_INFO: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/login_bonus.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/login_bonus.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
if info[data["id"].to_string()].is_null() { if info[data["id"].to_string()].is_null() {
info[data["id"].to_string()] = object!{ info[data["id"].to_string()] = object!{
info: data.clone(), info: data.clone(),
@ -105,14 +105,14 @@ lazy_static! {
} }
} }
let days = json::parse(&include_file!("src/router/databases/json/login_bonus_reward_setting.json")).unwrap(); let days = json::parse(&include_file!("src/router/databases/json/login_bonus_reward_setting.json")).unwrap();
for (_i, data) in days.members().enumerate() { for data in days.members() {
if info[data["masterLoginBonusId"].to_string()].is_null() { if info[data["masterLoginBonusId"].to_string()].is_null() {
continue; continue;
} }
info[data["masterLoginBonusId"].to_string()]["days"].push(data.clone()).unwrap(); info[data["masterLoginBonusId"].to_string()]["days"].push(data.clone()).unwrap();
} }
let mut real_info = object!{}; let mut real_info = object!{};
for (_i, data) in info.entries().enumerate() { for data in info.entries() {
real_info[data.1["info"]["id"].to_string()] = data.1.clone(); real_info[data.1["info"]["id"].to_string()] = data.1.clone();
} }
real_info real_info
@ -120,7 +120,7 @@ lazy_static! {
pub static ref CARDS: JsonValue = { pub static ref CARDS: JsonValue = {
let mut cardz = object!{}; let mut cardz = object!{};
let items = json::parse(&include_file!("src/router/databases/json/lottery_item.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/lottery_item.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
if cardz[data["id"].to_string()].is_null() { if cardz[data["id"].to_string()].is_null() {
cardz[data["id"].to_string()] = object!{}; cardz[data["id"].to_string()] = object!{};
} }
@ -131,7 +131,7 @@ lazy_static! {
pub static ref POOL: JsonValue = { pub static ref POOL: JsonValue = {
let mut cardz = object!{}; let mut cardz = object!{};
let items = json::parse(&include_file!("src/router/databases/json/lottery_item.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/lottery_item.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
if cardz[data["id"].to_string()].is_null() { if cardz[data["id"].to_string()].is_null() {
cardz[data["id"].to_string()] = array![]; cardz[data["id"].to_string()] = array![];
} }
@ -142,7 +142,7 @@ lazy_static! {
pub static ref RARITY: JsonValue = { pub static ref RARITY: JsonValue = {
let mut cardz = object!{}; let mut cardz = object!{};
let items = json::parse(&include_file!("src/router/databases/json/lottery_rarity.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/lottery_rarity.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
if cardz[data["id"].to_string()].is_null() { if cardz[data["id"].to_string()].is_null() {
cardz[data["id"].to_string()] = array![]; cardz[data["id"].to_string()] = array![];
} }
@ -153,7 +153,7 @@ lazy_static! {
pub static ref LOTTERY: JsonValue = { pub static ref LOTTERY: JsonValue = {
let mut cardz = object!{}; let mut cardz = object!{};
let items = json::parse(&include_file!("src/router/databases/json/lottery.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/lottery.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
cardz[data["id"].to_string()] = data.clone(); cardz[data["id"].to_string()] = data.clone();
} }
cardz cardz
@ -161,7 +161,7 @@ lazy_static! {
pub static ref PRICE: JsonValue = { pub static ref PRICE: JsonValue = {
let mut cardz = object!{}; let mut cardz = object!{};
let items = json::parse(&include_file!("src/router/databases/json/lottery_price.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/lottery_price.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
if cardz[data["id"].to_string()].is_null() { if cardz[data["id"].to_string()].is_null() {
cardz[data["id"].to_string()] = object!{}; cardz[data["id"].to_string()] = object!{};
} }
@ -172,7 +172,7 @@ lazy_static! {
pub static ref MISSION_LIST: JsonValue = { pub static ref MISSION_LIST: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/mission.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/mission.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -180,7 +180,7 @@ lazy_static! {
pub static ref MISSION_REWARD: JsonValue = { pub static ref MISSION_REWARD: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/mission_reward.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/mission_reward.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info
@ -188,7 +188,7 @@ lazy_static! {
pub static ref ITEM_INFO: JsonValue = { pub static ref ITEM_INFO: JsonValue = {
let mut info = object!{}; let mut info = object!{};
let items = json::parse(&include_file!("src/router/databases/json/item.json")).unwrap(); let items = json::parse(&include_file!("src/router/databases/json/item.json")).unwrap();
for (_i, data) in items.members().enumerate() { for data in items.members() {
info[data["id"].to_string()] = data.clone(); info[data["id"].to_string()] = data.clone();
} }
info info

View file

@ -23,7 +23,7 @@ pub fn friend(req: HttpRequest, body: String) -> Option<JsonValue> {
array![] array![]
}; };
for (_i, uid) in rv_data.members().enumerate() { for uid in rv_data.members() {
rv.push(global::get_user(uid.as_i64().unwrap(), &friends, false)).unwrap(); rv.push(global::get_user(uid.as_i64().unwrap(), &friends, false)).unwrap();
} }
@ -51,7 +51,7 @@ pub fn recommend(req: HttpRequest, body: String) -> Option<JsonValue> {
} }
let mut rv = array![]; let mut rv = array![];
for (_i, uid) in random.members().enumerate() { for uid in random.members() {
let user = global::get_user(uid.as_i64().unwrap(), &friends, false); let user = global::get_user(uid.as_i64().unwrap(), &friends, false);
if user["user"]["friend_request_disabled"] == 1 || user.is_empty() { if user["user"]["friend_request_disabled"] == 1 || user.is_empty() {
continue; continue;

View file

@ -126,7 +126,7 @@ pub fn start_login_bonus(id: i64, bonus: &mut JsonValue) -> bool {
if crate::router::login::get_login_bonus_info(id).is_empty() { if crate::router::login::get_login_bonus_info(id).is_empty() {
return false; return false;
} }
for (_j, dataa) in bonus["bonus_list"].members().enumerate() { for dataa in bonus["bonus_list"].members() {
if dataa["master_login_bonus_id"].as_i64().unwrap() == id { if dataa["master_login_bonus_id"].as_i64().unwrap() == id {
return false; return false;
} }
@ -144,7 +144,7 @@ pub fn get_card(id: i64, user: &JsonValue) -> JsonValue {
return object!{}; return object!{};
} }
for (_i, data) in user["card_list"].members().enumerate() { for data in user["card_list"].members() {
if data["master_card_id"].as_i64().unwrap_or(0) == id { if data["master_card_id"].as_i64().unwrap_or(0) == id {
return data.clone(); return data.clone();
} }
@ -154,7 +154,7 @@ pub fn get_card(id: i64, user: &JsonValue) -> JsonValue {
fn get_cards(arr: JsonValue, user: &JsonValue) -> JsonValue { fn get_cards(arr: JsonValue, user: &JsonValue) -> JsonValue {
let mut rv = array![]; let mut rv = array![];
for (_i, data) in arr.members().enumerate() { for data in arr.members() {
let to_push = get_card(data.as_i64().unwrap_or(0), user); let to_push = get_card(data.as_i64().unwrap_or(0), user);
if to_push.is_empty() { if to_push.is_empty() {
continue; continue;
@ -166,7 +166,7 @@ fn get_cards(arr: JsonValue, user: &JsonValue) -> JsonValue {
fn get_clear_count(user: &JsonValue, level: i32) -> i64 { fn get_clear_count(user: &JsonValue, level: i32) -> i64 {
let mut rv = 0; let mut rv = 0;
for (_i, current) in user["live_list"].members().enumerate() { for current in user["live_list"].members() {
if current["level"] == level { if current["level"] == level {
rv += 1; rv += 1;
} }
@ -176,7 +176,7 @@ fn get_clear_count(user: &JsonValue, level: i32) -> i64 {
fn get_full_combo_count(user: &JsonValue, level: i32) -> i64 { fn get_full_combo_count(user: &JsonValue, level: i32) -> i64 {
let mut rv = 0; let mut rv = 0;
for (_i, current) in user["live_mission_list"].members().enumerate() { for current in user["live_mission_list"].members() {
if current["clear_master_live_mission_ids"].contains(20 + level) { if current["clear_master_live_mission_ids"].contains(20 + level) {
rv += 1; rv += 1;
} }
@ -186,7 +186,7 @@ fn get_full_combo_count(user: &JsonValue, level: i32) -> i64 {
fn get_perfect_count(user: &JsonValue, level: i32) -> i64 { fn get_perfect_count(user: &JsonValue, level: i32) -> i64 {
let mut rv = 0; let mut rv = 0;
for (_i, current) in user["live_mission_list"].members().enumerate() { for current in user["live_mission_list"].members() {
if current["clear_master_live_mission_ids"].contains(40 + level) { if current["clear_master_live_mission_ids"].contains(40 + level) {
rv += 1; rv += 1;
} }

View file

@ -219,15 +219,14 @@ pub fn migration_verify(req: HttpRequest, body: String) -> HttpResponse {
let user = userdata::get_acc_transfer(uid, &body["migration_code"].to_string(), &password); let user = userdata::get_acc_transfer(uid, &body["migration_code"].to_string(), &password);
let resp; let resp = if !user["success"].as_bool().unwrap() || uid == 0 {
if !user["success"].as_bool().unwrap() || uid == 0 { object!{
resp = object!{
result: "ERR", result: "ERR",
messsage: "User Not Found" messsage: "User Not Found"
}; }
} else { } else {
let data_user = userdata::get_acc(&user["login_token"].to_string()); let data_user = userdata::get_acc(&user["login_token"].to_string());
resp = object!{ object!{
result: "OK", result: "OK",
src_uuid: user["login_token"].clone(), src_uuid: user["login_token"].clone(),
src_x_uid: uid.to_string(), src_x_uid: uid.to_string(),
@ -235,8 +234,8 @@ pub fn migration_verify(req: HttpRequest, body: String) -> HttpResponse {
balance_charge_gem: data_user["gem"]["charge"].to_string(), balance_charge_gem: data_user["gem"]["charge"].to_string(),
balance_free_gem: data_user["gem"]["free"].to_string(), balance_free_gem: data_user["gem"]["free"].to_string(),
balance_total_gem: data_user["gem"]["total"].to_string() balance_total_gem: data_user["gem"]["total"].to_string()
}; }
} };
send(req, resp) send(req, resp)
} }

View file

@ -10,7 +10,7 @@ pub fn preset(req: HttpRequest, body: String) -> Option<JsonValue> {
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap(); let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
let mut user = userdata::get_acc_home(&key); let mut user = userdata::get_acc_home(&key);
for (_i, data) in user["home"]["preset_setting"].members_mut().enumerate() { for data in user["home"]["preset_setting"].members_mut() {
if data["slot"] == body["slot"] { if data["slot"] == body["slot"] {
*data = body.clone(); *data = body.clone();
} }
@ -97,7 +97,7 @@ pub fn home(req: HttpRequest) -> Option<JsonValue> {
let mut clear_ct = 0; let mut clear_ct = 0;
let mut daily_ct = 0; let mut daily_ct = 0;
for (_i, mission) in user_missions.members().enumerate() { for mission in user_missions.members() {
if mission["status"].as_i32().unwrap() != 2 { if mission["status"].as_i32().unwrap() != 2 {
continue; continue;
} }

View file

@ -33,7 +33,7 @@ const LIMIT_PRIMOGEMS: i64 = 1000000;
pub fn give_shop(master_item_id: i64, count: i64, user: &mut JsonValue) -> bool { pub fn give_shop(master_item_id: i64, count: i64, user: &mut JsonValue) -> bool {
let mut has = false; let mut has = false;
for (_j, dataa) in user["shop_list"].members_mut().enumerate() { for dataa in user["shop_list"].members_mut() {
if dataa["master_shop_item_id"].as_i64().unwrap() == master_item_id { if dataa["master_shop_item_id"].as_i64().unwrap() == master_item_id {
has = true; has = true;
let new_amount = dataa["count"].as_i64().unwrap() + count; let new_amount = dataa["count"].as_i64().unwrap() + count;
@ -55,7 +55,7 @@ pub fn give_shop(master_item_id: i64, count: i64, user: &mut JsonValue) -> bool
pub fn give_item(master_item_id: i64, amount: i64, user: &mut JsonValue) -> bool { pub fn give_item(master_item_id: i64, amount: i64, user: &mut JsonValue) -> bool {
let mut has = false; let mut has = false;
for (_j, dataa) in user["item_list"].members_mut().enumerate() { for dataa in user["item_list"].members_mut() {
if dataa["master_item_id"].as_i64().unwrap() == master_item_id { if dataa["master_item_id"].as_i64().unwrap() == master_item_id {
has = true; has = true;
let new_amount = dataa["amount"].as_i64().unwrap() + amount; let new_amount = dataa["amount"].as_i64().unwrap() + amount;
@ -124,14 +124,14 @@ pub fn give_gift_basic(ty_pe: i32, id: i64, amount: i64, user: &mut JsonValue, m
pub fn give_points(master_item_id: i64, amount: i64, user: &mut JsonValue, missions: &mut JsonValue, clear_missions: &mut JsonValue) -> bool { pub fn give_points(master_item_id: i64, amount: i64, user: &mut JsonValue, missions: &mut JsonValue, clear_missions: &mut JsonValue) -> bool {
if master_item_id == 1 { if master_item_id == 1 {
let cleared = advance_variable_mission(1121001, 1121019, amount, missions); let cleared = advance_variable_mission(1121001, 1121019, amount, missions);
for (_i, data) in cleared.members().enumerate() { for data in cleared.members() {
if !clear_missions.contains(data.as_i64().unwrap()) { if !clear_missions.contains(data.as_i64().unwrap()) {
clear_missions.push(data.clone()).unwrap(); clear_missions.push(data.clone()).unwrap();
} }
} }
} }
let mut has = false; let mut has = false;
for (_j, data) in user["point_list"].members_mut().enumerate() { for data in user["point_list"].members_mut() {
if data["type"].as_i64().unwrap() == master_item_id { if data["type"].as_i64().unwrap() == master_item_id {
has = true; has = true;
let new_amount = data["amount"].as_i64().unwrap() + amount; let new_amount = data["amount"].as_i64().unwrap() + amount;
@ -152,7 +152,7 @@ pub fn give_points(master_item_id: i64, amount: i64, user: &mut JsonValue, missi
} }
pub fn use_itemm(master_item_id: i64, amount: i64, user: &mut JsonValue) { pub fn use_itemm(master_item_id: i64, amount: i64, user: &mut JsonValue) {
for (_j, data) in user["item_list"].members_mut().enumerate() { for data in user["item_list"].members_mut() {
if data["master_item_id"].as_i64().unwrap() == master_item_id { if data["master_item_id"].as_i64().unwrap() == master_item_id {
if data["amount"].as_i64().unwrap() >= amount { if data["amount"].as_i64().unwrap() >= amount {
data["amount"] = (data["amount"].as_i64().unwrap() - amount).into(); data["amount"] = (data["amount"].as_i64().unwrap() - amount).into();
@ -243,14 +243,14 @@ pub fn lp_modification(user: &mut JsonValue, change_amount: u64, remove: bool) {
// true - added // true - added
// false - already has // false - already has
pub fn give_character(id: i64, user: &mut JsonValue, missions: &mut JsonValue, clear_missions: &mut JsonValue) -> bool { pub fn give_character(id: i64, user: &mut JsonValue, missions: &mut JsonValue, clear_missions: &mut JsonValue) -> bool {
for (_i, data) in user["card_list"].members().enumerate() { for data in user["card_list"].members() {
if data["master_card_id"] == id || data["id"] == id { if data["master_card_id"] == id || data["id"] == id {
give_item(19100001, 50, user); give_item(19100001, 50, user);
return false; return false;
} }
} }
let cleared = advance_variable_mission(1112001, 1112033, 1, missions); let cleared = advance_variable_mission(1112001, 1112033, 1, missions);
for (_i, data) in cleared.members().enumerate() { for data in cleared.members() {
if !clear_missions.contains(data.as_i64().unwrap()) { if !clear_missions.contains(data.as_i64().unwrap()) {
clear_missions.push(data.clone()).unwrap(); clear_missions.push(data.clone()).unwrap();
} }
@ -291,14 +291,14 @@ pub fn give_exp(amount: i32, user: &mut JsonValue, mission: &mut JsonValue, rv:
} }
let to_advance = new_rank["rank"].as_i64().unwrap() - status["progress"].as_i64().unwrap(); let to_advance = new_rank["rank"].as_i64().unwrap() - status["progress"].as_i64().unwrap();
let rvv = advance_variable_mission(1101001, 1101030, to_advance, mission); let rvv = advance_variable_mission(1101001, 1101030, to_advance, mission);
for (_i, id) in rvv.members().enumerate() { for id in rvv.members() {
rv.push(id.as_i64().unwrap()).unwrap(); rv.push(id.as_i64().unwrap()).unwrap();
} }
} }
} }
pub fn update_mission_status(master_mission_id: i64, expire: u64, completed: bool, claimed: bool, advance: i64, missions: &mut JsonValue) -> Option<i64> { pub fn update_mission_status(master_mission_id: i64, expire: u64, completed: bool, claimed: bool, advance: i64, missions: &mut JsonValue) -> Option<i64> {
for (_i, mission) in missions.members_mut().enumerate() { for mission in missions.members_mut() {
if mission["master_mission_id"].as_i64().unwrap() == master_mission_id { if mission["master_mission_id"].as_i64().unwrap() == master_mission_id {
let was_completed = mission["status"] == 2; let was_completed = mission["status"] == 2;
mission["status"] = if claimed { 3 } else if completed { 2 } else { 1 }.into(); mission["status"] = if claimed { 3 } else if completed { 2 } else { 1 }.into();
@ -324,17 +324,17 @@ pub fn update_mission_status(master_mission_id: i64, expire: u64, completed: boo
pub fn update_mission_status_multi(master_mission_id: JsonValue, expire: u64, completed: bool, claimed: bool, advance: i64, missions: &mut JsonValue) -> JsonValue { pub fn update_mission_status_multi(master_mission_id: JsonValue, expire: u64, completed: bool, claimed: bool, advance: i64, missions: &mut JsonValue) -> JsonValue {
let mut rv = array![]; let mut rv = array![];
for (_i, mission) in master_mission_id.members().enumerate() { for mission in master_mission_id.members() {
let val = update_mission_status(mission.as_i64().unwrap(), expire, completed, claimed, advance, missions); let val = update_mission_status(mission.as_i64().unwrap(), expire, completed, claimed, advance, missions);
if val.is_some() { if let Some(val2) = val {
rv.push(val.unwrap()).unwrap(); rv.push(val2).unwrap();
} }
} }
rv rv
} }
pub fn get_mission_status(id: i64, missions: &JsonValue) -> JsonValue { pub fn get_mission_status(id: i64, missions: &JsonValue) -> JsonValue {
for (_i, mission) in missions.members().enumerate() { for mission in missions.members() {
if mission["master_mission_id"].as_i64().unwrap() == id { if mission["master_mission_id"].as_i64().unwrap() == id {
return mission.clone(); return mission.clone();
} }
@ -343,7 +343,7 @@ pub fn get_mission_status(id: i64, missions: &JsonValue) -> JsonValue {
} }
pub fn change_mission_id(old: i64, new: i64, missions: &mut JsonValue) { pub fn change_mission_id(old: i64, new: i64, missions: &mut JsonValue) {
for (_i, mission) in missions.members_mut().enumerate() { for mission in missions.members_mut() {
if mission["master_mission_id"].as_i64().unwrap() == old { if mission["master_mission_id"].as_i64().unwrap() == old {
mission["master_mission_id"] = new.into(); mission["master_mission_id"] = new.into();
return; return;

View file

@ -101,7 +101,7 @@ pub fn guest(req: HttpRequest, body: String) -> Option<JsonValue> {
random.array_remove(index.unwrap()); random.array_remove(index.unwrap());
} }
for (_i, uid) in random.members().enumerate() { for uid in random.members() {
let guest = global::get_user(uid.as_i64().unwrap(), &friends, false); let guest = global::get_user(uid.as_i64().unwrap(), &friends, false);
if guest["user"]["friend_request_disabled"] == 1 || guest.is_empty() { if guest["user"]["friend_request_disabled"] == 1 || guest.is_empty() {
continue; continue;
@ -208,7 +208,7 @@ pub fn update_live_data(user: &mut JsonValue, data: &JsonValue, add: bool) -> Js
}; };
let mut has = false; let mut has = false;
for (_i, current) in user["live_list"].members_mut().enumerate() { for current in user["live_list"].members_mut() {
if current["master_live_id"] == rv["master_live_id"] && (current["level"] == rv["level"] || data["level"].as_i32().unwrap() == 0) { if current["master_live_id"] == rv["master_live_id"] && (current["level"] == rv["level"] || data["level"].as_i32().unwrap() == 0) {
has = true; has = true;
if add { if add {
@ -249,9 +249,9 @@ pub fn update_live_mission_data(user: &mut JsonValue, data: &JsonValue) {
"clear_master_live_mission_ids": data["clear_master_live_mission_ids"].clone() "clear_master_live_mission_ids": data["clear_master_live_mission_ids"].clone()
}; };
for (_i, current) in user["live_mission_list"].members_mut().enumerate() { for current in user["live_mission_list"].members_mut() {
if current["master_live_id"] == rv["master_live_id"] { if current["master_live_id"] == rv["master_live_id"] {
for (_i, id) in data["clear_master_live_mission_ids"].members().enumerate() { for id in data["clear_master_live_mission_ids"].members() {
if !current["clear_master_live_mission_ids"].contains(id.as_i32().unwrap()) { if !current["clear_master_live_mission_ids"].contains(id.as_i32().unwrap()) {
current["clear_master_live_mission_ids"].push(id.as_i32().unwrap()).unwrap(); current["clear_master_live_mission_ids"].push(id.as_i32().unwrap()).unwrap();
} }
@ -267,7 +267,7 @@ fn get_live_mission_completed_ids(user: &JsonValue, live_id: i64, score: i64, co
let mut out = array![]; let mut out = array![];
let combo_info = &databases::MISSION_COMBO_DATA[live_info["masterMusicId"].to_string()]; let combo_info = &databases::MISSION_COMBO_DATA[live_info["masterMusicId"].to_string()];
for (_i, data) in databases::MISSION_DATA.members().enumerate() { for data in databases::MISSION_DATA.members() {
match data["type"].as_i32()? { match data["type"].as_i32()? {
1 => { 1 => {
if live_info[&format!("score{}", data["value"])].as_i64()? <= score { if live_info[&format!("score{}", data["value"])].as_i64()? <= score {
@ -298,9 +298,9 @@ fn get_live_mission_completed_ids(user: &JsonValue, live_id: i64, score: i64, co
} }
} }
let mut rv = array![]; let mut rv = array![];
for (_i, current) in user["live_mission_list"].members().enumerate() { for current in user["live_mission_list"].members() {
if current["master_live_id"] == live_id { if current["master_live_id"] == live_id {
for (_i, id) in out.members().enumerate() { for id in out.members() {
if !current["clear_master_live_mission_ids"].contains(id.as_i32().unwrap()) { if !current["clear_master_live_mission_ids"].contains(id.as_i32().unwrap()) {
rv.push(id.as_i32().unwrap()).unwrap(); rv.push(id.as_i32().unwrap()).unwrap();
} }
@ -313,7 +313,7 @@ fn get_live_mission_completed_ids(user: &JsonValue, live_id: i64, score: i64, co
fn give_mission_rewards(user: &mut JsonValue, missions: &JsonValue, user_missions: &mut JsonValue, cleared_missions: &mut JsonValue, multiplier: i64) -> JsonValue { fn give_mission_rewards(user: &mut JsonValue, missions: &JsonValue, user_missions: &mut JsonValue, cleared_missions: &mut JsonValue, multiplier: i64) -> JsonValue {
let mut rv = array![]; let mut rv = array![];
for (_i, data) in databases::MISSION_DATA.members().enumerate() { for data in databases::MISSION_DATA.members() {
if !missions.contains(data["id"].as_i32().unwrap()) { if !missions.contains(data["id"].as_i32().unwrap()) {
continue; continue;
} }
@ -361,7 +361,7 @@ fn get_live_character_list(lp_used: i32, deck_id: i32, user: &JsonValue, mission
let mut has_i = array![]; let mut has_i = array![];
let characters_in_deck = user["deck_list"][(deck_id - 1) as usize]["main_card_ids"].clone(); let characters_in_deck = user["deck_list"][(deck_id - 1) as usize]["main_card_ids"].clone();
let mut i = 0; let mut i = 0;
for (_i, data) in user["card_list"].members().enumerate() { for data in user["card_list"].members() {
if !characters_in_deck.contains(data["id"].as_i64().unwrap()) && !characters_in_deck.contains(data["master_card_id"].as_i64().unwrap()) { if !characters_in_deck.contains(data["id"].as_i64().unwrap()) && !characters_in_deck.contains(data["master_card_id"].as_i64().unwrap()) {
continue; continue;
} }
@ -432,31 +432,30 @@ fn get_live_character_list(lp_used: i32, deck_id: i32, user: &JsonValue, mission
rv rv
} }
fn live_end(req: &HttpRequest, body: &String, skipped: bool) -> JsonValue { fn live_end(req: &HttpRequest, body: &str, skipped: bool) -> JsonValue {
let key = global::get_login(req.headers(), body); let key = global::get_login(req.headers(), body);
let body = json::parse(&encryption::decrypt_packet(body).unwrap()).unwrap(); let body = json::parse(&encryption::decrypt_packet(body).unwrap()).unwrap();
let user2 = userdata::get_acc_home(&key); let user2 = userdata::get_acc_home(&key);
let mut user = userdata::get_acc(&key); let mut user = userdata::get_acc(&key);
let mut user_missions = userdata::get_acc_missions(&key); let mut user_missions = userdata::get_acc_missions(&key);
let live;
let live = if skipped {
if skipped {
items::use_item(&object!{ items::use_item(&object!{
value: 21000001, value: 21000001,
amount: 1, amount: 1,
consumeType: 4 consumeType: 4
}, body["live_boost"].as_i64().unwrap(), &mut user); }, body["live_boost"].as_i64().unwrap(), &mut user);
live = update_live_data(&mut user, &object!{ update_live_data(&mut user, &object!{
master_live_id: body["master_live_id"].clone(), master_live_id: body["master_live_id"].clone(),
level: 0, level: 0,
live_score: { live_score: {
score: 1, score: 1,
max_combo: 1 max_combo: 1
} }
}, false); }, false)
} else { } else {
live = update_live_data(&mut user, &body, true); update_live_data(&mut user, &body, true)
} };
//1273009, 1273010, 1273011, 1273012 //1273009, 1273010, 1273011, 1273012
let mut cleared_missions = items::advance_variable_mission(1105001, 1105017, 1, &mut user_missions); let mut cleared_missions = items::advance_variable_mission(1105001, 1105017, 1, &mut user_missions);
@ -464,7 +463,7 @@ fn live_end(req: &HttpRequest, body: &String, skipped: bool) -> JsonValue {
let id = body["master_live_id"].to_string().split("").collect::<Vec<_>>()[2].parse::<i64>().unwrap_or(0); let id = body["master_live_id"].to_string().split("").collect::<Vec<_>>()[2].parse::<i64>().unwrap_or(0);
if (1..=4).contains(&id) { if (1..=4).contains(&id) {
let to_push = items::completed_daily_mission(1273009 + id - 1, &mut user_missions); let to_push = items::completed_daily_mission(1273009 + id - 1, &mut user_missions);
for (_i, data) in to_push.members().enumerate() { for data in to_push.members() {
cleared_missions.push(data.as_i32().unwrap()).unwrap(); cleared_missions.push(data.as_i32().unwrap()).unwrap();
} }
} }
@ -563,7 +562,7 @@ pub fn event_end(req: HttpRequest, body: String) -> Option<JsonValue> {
let live_id = databases::LIVE_LIST[body["master_live_id"].to_string()]["masterMusicId"].as_i64().unwrap(); let live_id = databases::LIVE_LIST[body["master_live_id"].to_string()]["masterMusicId"].as_i64().unwrap();
let mut all_clear = 1; let mut all_clear = 1;
for (_i, data) in event["event_data"]["star_event"]["star_music_list"].members_mut().enumerate() { for data in event["event_data"]["star_event"]["star_music_list"].members_mut() {
if data["master_music_id"].as_i64().unwrap() == live_id { if data["master_music_id"].as_i64().unwrap() == live_id {
data["is_cleared"] = 1.into(); data["is_cleared"] = 1.into();
} }

View file

@ -68,7 +68,7 @@ fn get_random_cards(id: i64, mut count: usize) -> JsonValue {
let mut promised = false; let mut promised = false;
if count > 1 { if count > 1 {
for (_i, item) in databases::RARITY[id.to_string()].members().enumerate() { for item in databases::RARITY[id.to_string()].members() {
if item["ensured"].as_i32().unwrap() == 1 { if item["ensured"].as_i32().unwrap() == 1 {
get_random_card(item, &mut rv, &mut rng); get_random_card(item, &mut rv, &mut rng);
promised = true; promised = true;
@ -82,7 +82,7 @@ fn get_random_cards(id: i64, mut count: usize) -> JsonValue {
for _i in 0..count { for _i in 0..count {
let random_number: i64 = rng.gen_range(1..total_ratio + 1); let random_number: i64 = rng.gen_range(1..total_ratio + 1);
let mut cumulative_ratio = 0; let mut cumulative_ratio = 0;
for (_i, item) in databases::RARITY[id.to_string()].members().enumerate() { for item in databases::RARITY[id.to_string()].members() {
cumulative_ratio += item["ratio"].as_i64().unwrap(); cumulative_ratio += item["ratio"].as_i64().unwrap();
if random_number <= cumulative_ratio { if random_number <= cumulative_ratio {
get_random_card(item, &mut rv, &mut rng); get_random_card(item, &mut rv, &mut rng);
@ -125,7 +125,7 @@ pub fn lottery_post(req: HttpRequest, body: String) -> Option<JsonValue> {
let mut lottery_list = array![]; let mut lottery_list = array![];
if lottery_type == 1 { if lottery_type == 1 {
for (_i, data) in cardstogive.members().enumerate() { for data in cardstogive.members() {
let mut is_new = true; let mut is_new = true;
if !items::give_character(data["master_card_id"].as_i64().unwrap(), &mut user, &mut missions, &mut cleared_missions) { if !items::give_character(data["master_card_id"].as_i64().unwrap(), &mut user, &mut missions, &mut cleared_missions) {
is_new = false; is_new = false;
@ -154,7 +154,7 @@ pub fn lottery_post(req: HttpRequest, body: String) -> Option<JsonValue> {
} }
items::give_gift_basic(3, 15540034, 10, &mut user, &mut missions, &mut cleared_missions); items::give_gift_basic(3, 15540034, 10, &mut user, &mut missions, &mut cleared_missions);
} else if lottery_type == 2 { } else if lottery_type == 2 {
for (_i, data) in cardstogive.members().enumerate() { for data in cardstogive.members() {
let info = get_card(data["master_lottery_item_id"].to_string(), data["master_lottery_item_number"].to_string()); let info = get_card(data["master_lottery_item_id"].to_string(), data["master_lottery_item_number"].to_string());
items::give_gift_basic(info["type"].as_i32().unwrap(), info["value"].as_i64().unwrap(), info["amount"].as_i64().unwrap(), &mut user, &mut missions, &mut cleared_missions); items::give_gift_basic(info["type"].as_i32().unwrap(), info["value"].as_i64().unwrap(), info["amount"].as_i64().unwrap(), &mut user, &mut missions, &mut cleared_missions);
let to_push = object!{ let to_push = object!{

View file

@ -19,7 +19,7 @@ pub fn clear(req: HttpRequest, body: String) -> Option<JsonValue> {
let mut missions = userdata::get_acc_missions(&key); let mut missions = userdata::get_acc_missions(&key);
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap(); let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
for (_i, id) in body["master_mission_ids"].members().enumerate() { for id in body["master_mission_ids"].members() {
items::update_mission_status(id.as_i64().unwrap(), 0, true, true, 1, &mut missions); items::update_mission_status(id.as_i64().unwrap(), 0, true, true, 1, &mut missions);
} }
@ -38,7 +38,7 @@ pub fn receive(req: HttpRequest, body: String) -> Option<JsonValue> {
let mut user = userdata::get_acc(&key); let mut user = userdata::get_acc(&key);
let mut rewards = array![]; let mut rewards = array![];
for (_i, mission) in body["master_mission_ids"].members().enumerate() { for mission in body["master_mission_ids"].members() {
let mission_info = databases::MISSION_LIST[mission.to_string()].clone(); let mission_info = databases::MISSION_LIST[mission.to_string()].clone();
let mut gift = databases::MISSION_REWARD[mission_info["masterMissionRewardId"].to_string()].clone(); let mut gift = databases::MISSION_REWARD[mission_info["masterMissionRewardId"].to_string()].clone();
gift["reward_type"] = gift["type"].clone(); gift["reward_type"] = gift["type"].clone();
@ -48,7 +48,7 @@ pub fn receive(req: HttpRequest, body: String) -> Option<JsonValue> {
let variable_missions = array![[1153001, 1153019], [1105001, 1105017], [1101001, 1101030], [1121001, 1121019], [1112001, 1112033]]; let variable_missions = array![[1153001, 1153019], [1105001, 1105017], [1101001, 1101030], [1121001, 1121019], [1112001, 1112033]];
let mut variable = false; let mut variable = false;
for (_i, id) in variable_missions.members().enumerate() { for id in variable_missions.members() {
if mission.as_i64().unwrap() >= id[0].as_i64().unwrap() && mission.as_i64().unwrap() < id[1].as_i64().unwrap() { if mission.as_i64().unwrap() >= id[0].as_i64().unwrap() && mission.as_i64().unwrap() < id[1].as_i64().unwrap() {
items::change_mission_id(mission.as_i64().unwrap(), mission.as_i64().unwrap() + 1, &mut missions); items::change_mission_id(mission.as_i64().unwrap(), mission.as_i64().unwrap() + 1, &mut missions);
items::advance_variable_mission(id[0].as_i64().unwrap(), id[1].as_i64().unwrap(), 0, &mut missions); items::advance_variable_mission(id[0].as_i64().unwrap(), id[1].as_i64().unwrap(), 0, &mut missions);

View file

@ -20,7 +20,7 @@ pub fn deck(req: HttpRequest, body: String) -> Option<JsonValue> {
} }
} }
for (_i, data) in user["deck_list"].members_mut().enumerate() { for data in user["deck_list"].members_mut() {
if data["slot"].as_i32().unwrap() == body["slot"].as_i32().unwrap() { if data["slot"].as_i32().unwrap() == body["slot"].as_i32().unwrap() {
data["main_card_ids"] = body["main_card_ids"].clone(); data["main_card_ids"] = body["main_card_ids"].clone();
break; break;
@ -59,7 +59,7 @@ pub fn gift(req: HttpRequest, body: String) -> Option<JsonValue> {
let mut rewards = array![]; let mut rewards = array![];
let mut failed = array![]; let mut failed = array![];
for (_i, gift_id) in body["gift_ids"].members().enumerate() { for gift_id in body["gift_ids"].members() {
let mut to_remove = 0; let mut to_remove = 0;
for (j, data) in user["home"]["gift_list"].members_mut().enumerate() { for (j, data) in user["home"]["gift_list"].members_mut().enumerate() {
if data["id"] != *gift_id { if data["id"] != *gift_id {
@ -267,7 +267,7 @@ pub fn detail(req: HttpRequest, body: String) -> Option<JsonValue> {
let friends = userdata::get_acc_friends(&key); let friends = userdata::get_acc_friends(&key);
let mut user_detail_list = array![]; let mut user_detail_list = array![];
for (_i, data) in body["user_ids"].members().enumerate() { for data in body["user_ids"].members() {
let uid = data.as_i64().unwrap(); let uid = data.as_i64().unwrap();
let user = global::get_user(uid, &friends, true); let user = global::get_user(uid, &friends, true);
user_detail_list.push(user).unwrap(); user_detail_list.push(user).unwrap();