Fix full combo flag

This commit is contained in:
Ethan O'Brien 2024-05-05 11:14:04 -05:00
parent c0cd73940e
commit 25e9952a53

View file

@ -319,7 +319,7 @@ fn get_live_mission_info(id: i64) -> JsonValue {
MISSION_REWARD_DATA[id.to_string()].clone()
}
fn get_live_mission_completed_ids(user: &JsonValue, live_id: i64, score: i64, combo: i64, clear_count: i64, level: i64) -> Option<JsonValue> {
fn get_live_mission_completed_ids(user: &JsonValue, live_id: i64, score: i64, combo: i64, clear_count: i64, level: i64, full_combo: bool) -> Option<JsonValue> {
let live_info = get_live_info(live_id);
let mut out = array![];
let combo_info = get_live_combo_info(live_info["masterMusicId"].as_i64()?);
@ -337,7 +337,7 @@ fn get_live_mission_completed_ids(user: &JsonValue, live_id: i64, score: i64, co
}
},
3 => {
if combo_info["valueList"][3].as_i64()? <= combo && data["level"].as_i64()? == level {
if full_combo && combo_info["valueList"][3].as_i64()? <= combo && data["level"].as_i64()? == level {
out.push(data["id"].as_i32()?).ok()?;
}
},
@ -394,7 +394,8 @@ fn live_end(req: &HttpRequest, body: &String) -> JsonValue {
live_completed(body["master_live_id"].as_i64().unwrap(), body["level"].as_i32().unwrap(), false, body["live_score"]["score"].as_i64().unwrap(), user["user"]["id"].as_i64().unwrap());
}
let missions = get_live_mission_completed_ids(&user, body["master_live_id"].as_i64().unwrap(), body["live_score"]["score"].as_i64().unwrap(), body["live_score"]["max_combo"].as_i64().unwrap(), live["clear_count"].as_i64().unwrap_or(0), body["level"].as_i64().unwrap()).unwrap_or(array![]);
let is_full_combo = (body["live_score"]["good"].as_i32().unwrap_or(1) + body["live_score"]["bad"].as_i32().unwrap_or(1) + body["live_score"]["miss"].as_i32().unwrap_or(1)) == 0;
let missions = get_live_mission_completed_ids(&user, body["master_live_id"].as_i64().unwrap(), body["live_score"]["score"].as_i64().unwrap(), body["live_score"]["max_combo"].as_i64().unwrap(), live["clear_count"].as_i64().unwrap_or(0), body["level"].as_i64().unwrap(), is_full_combo).unwrap_or(array![]);
update_live_mission_data(&mut user, &object!{
master_live_id: body["master_live_id"].as_i64().unwrap(),
@ -501,7 +502,7 @@ pub fn skip(req: HttpRequest, body: String) -> HttpResponse {
}
}, false);
let missions = get_live_mission_completed_ids(&user, body["master_live_id"].as_i64().unwrap(), live["high_score"].as_i64().unwrap(), live["max_combo"].as_i64().unwrap(), live["clear_count"].as_i64().unwrap(), live["level"].as_i64().unwrap()).unwrap_or(array![]);
let missions = get_live_mission_completed_ids(&user, body["master_live_id"].as_i64().unwrap(), live["high_score"].as_i64().unwrap(), live["max_combo"].as_i64().unwrap(), live["clear_count"].as_i64().unwrap(), live["level"].as_i64().unwrap(), false).unwrap_or(array![]);
update_live_mission_data(&mut user, &object!{
master_live_id: body["master_live_id"].as_i64().unwrap(),