mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Add live completed count missions
This commit is contained in:
parent
556060ca8b
commit
b51533dbbe
4 changed files with 44 additions and 26 deletions
|
@ -1,5 +1,6 @@
|
|||
use json::{object, array, JsonValue};
|
||||
use actix_web::{HttpResponse, HttpRequest};
|
||||
use lazy_static::lazy_static;
|
||||
|
||||
use crate::router::{global, userdata, items};
|
||||
use crate::encryption;
|
||||
|
@ -67,6 +68,20 @@ pub fn preset_get(req: HttpRequest) -> HttpResponse {
|
|||
global::send(resp, req)
|
||||
}
|
||||
|
||||
|
||||
lazy_static! {
|
||||
pub static ref HOME_MISSIONS: JsonValue = {
|
||||
let mut missions = array![];
|
||||
for i in 1153001..=1153019 {
|
||||
missions.push(i).unwrap();
|
||||
}
|
||||
for i in 1105001..=1105017 {
|
||||
missions.push(i).unwrap();
|
||||
}
|
||||
missions
|
||||
};
|
||||
}
|
||||
|
||||
pub fn home(req: HttpRequest) -> HttpResponse {
|
||||
let key = global::get_login(req.headers(), "");
|
||||
let mut user = userdata::get_acc_home(&key);
|
||||
|
@ -82,10 +97,6 @@ pub fn home(req: HttpRequest) -> HttpResponse {
|
|||
}
|
||||
|
||||
let daily_missions = array![1224003, 1253003, 1273009, 1273010, 1273011, 1273012];
|
||||
let mut home_missions = array![];
|
||||
for i in 1153001..=1153019 {
|
||||
home_missions.push(i).unwrap();
|
||||
}
|
||||
|
||||
let mut clear_ct = 0;
|
||||
let mut daily_ct = 0;
|
||||
|
@ -93,7 +104,7 @@ pub fn home(req: HttpRequest) -> HttpResponse {
|
|||
if mission["status"].as_i32().unwrap() != 2 {
|
||||
continue;
|
||||
}
|
||||
if home_missions.contains(mission["master_mission_id"].as_i64().unwrap()) {
|
||||
if HOME_MISSIONS.contains(mission["master_mission_id"].as_i64().unwrap()) {
|
||||
clear_ct += 1;
|
||||
}
|
||||
if daily_missions.contains(mission["master_mission_id"].as_i64().unwrap()) {
|
||||
|
|
|
@ -287,7 +287,6 @@ pub fn update_mission_status(master_mission_id: i64, expire: u64, completed: boo
|
|||
mission["progress"] = (mission["progress"].as_i32().unwrap() + 1).into();
|
||||
}
|
||||
|
||||
|
||||
if completed && !claimed {
|
||||
return Some(master_mission_id);
|
||||
}
|
||||
|
@ -326,6 +325,28 @@ pub fn change_mission_id(old: i64, new: i64, missions: &mut JsonValue) {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn advance_variable_mission(min: i64, max: i64, missions: &mut JsonValue) -> JsonValue {
|
||||
let mut rv = array![];
|
||||
for i in min..=max {
|
||||
let mission_status = get_mission_status(i, missions);
|
||||
if mission_status.is_empty() {
|
||||
continue;
|
||||
}
|
||||
let mission_info = &crate::router::mission::MISSION_LIST[i.to_string()];
|
||||
if mission_info["conditionNumber"].as_i64().unwrap() > mission_status["progress"].as_i64().unwrap() + 1 {
|
||||
if !update_mission_status(i, 0, false, false, true, missions).is_none() {
|
||||
rv.push(i).unwrap();
|
||||
}
|
||||
} else {
|
||||
if !update_mission_status(i, 0, true, false, true, missions).is_none() {
|
||||
rv.push(i).unwrap();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
rv
|
||||
}
|
||||
|
||||
pub fn completed_daily_mission(id: i64, missions: &mut JsonValue) -> JsonValue {
|
||||
let all_daily_missions = array![1224003, 1253003, 1273009, 1273010, 1273011, 1273012];
|
||||
|
||||
|
@ -335,23 +356,7 @@ pub fn completed_daily_mission(id: i64, missions: &mut JsonValue) -> JsonValue {
|
|||
}
|
||||
let mut rv = array![];
|
||||
if id == 1253003 {
|
||||
for i in 1153001..=1153019 {
|
||||
let mission_status = get_mission_status(i, missions);
|
||||
if mission_status.is_empty() {
|
||||
continue;
|
||||
}
|
||||
let mission_info = crate::router::mission::MISSION_LIST[i as usize].clone();
|
||||
if mission_info["conditionNumber"].as_i64().unwrap() > mission_status["progress"].as_i64().unwrap() + 1 {
|
||||
if !update_mission_status(i, 0, true, false, false, missions).is_none() {
|
||||
rv.push(i).unwrap();
|
||||
}
|
||||
} else {
|
||||
if !update_mission_status(i, 0, false, false, true, missions).is_none() {
|
||||
rv.push(i).unwrap();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
rv = advance_variable_mission(1153001, 1153019, missions);
|
||||
}
|
||||
let mission = get_mission_status(1224003, missions);
|
||||
let next_reset = global::timestamp_since_midnight() + (24 * 60 * 60);
|
||||
|
|
|
@ -400,7 +400,7 @@ fn live_end(req: &HttpRequest, body: &String) -> JsonValue {
|
|||
let live = update_live_data(&mut user, &body, true);
|
||||
|
||||
//1273009, 1273010, 1273011, 1273012
|
||||
let mut cleared_missions = array![];
|
||||
let mut cleared_missions = items::advance_variable_mission(1105001, 1105017, &mut user_missions);
|
||||
if body["master_live_id"].to_string().len() > 1 {
|
||||
let id = body["master_live_id"].to_string().split("").collect::<Vec<_>>()[2].parse::<i64>().unwrap_or(0);
|
||||
if id <= 4 && id >= 1 {
|
||||
|
@ -408,7 +408,6 @@ fn live_end(req: &HttpRequest, body: &String) -> JsonValue {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if body["live_score"]["score"].as_i64().unwrap() > 0 {
|
||||
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());
|
||||
}
|
||||
|
@ -514,6 +513,7 @@ pub fn skip(req: HttpRequest, body: String) -> HttpResponse {
|
|||
let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap();
|
||||
let user2 = userdata::get_acc_home(&key);
|
||||
let mut user = userdata::get_acc(&key);
|
||||
//let mut user_missions = userdata::get_acc_missions(&key);
|
||||
let live = update_live_data(&mut user, &object!{
|
||||
master_live_id: body["master_live_id"].clone(),
|
||||
level: 1,
|
||||
|
@ -539,6 +539,7 @@ pub fn skip(req: HttpRequest, body: String) -> HttpResponse {
|
|||
items::use_item(21000001, body["live_boost"].as_i64().unwrap(), &mut user);
|
||||
|
||||
userdata::save_acc(&key, user.clone());
|
||||
//userdata::save_acc_missions(&key, user_missions.clone());
|
||||
|
||||
let resp = object!{
|
||||
"code": 0,
|
||||
|
|
|
@ -82,7 +82,8 @@ pub fn receive(req: HttpRequest, body: String) -> HttpResponse {
|
|||
items::give_gift(&gift, &mut user);
|
||||
rewards.push(gift).unwrap();
|
||||
|
||||
if mission.as_i64().unwrap() >= 1153001 && mission.as_i64().unwrap() < 1153019 {
|
||||
if mission.as_i64().unwrap() >= 1153001 && mission.as_i64().unwrap() < 1153019 ||
|
||||
mission.as_i64().unwrap() >= 1105001 && mission.as_i64().unwrap() < 1105017 {
|
||||
items::change_mission_id(mission.as_i64().unwrap(), mission.as_i64().unwrap() + 1, &mut missions);
|
||||
items::update_mission_status(mission.as_i64().unwrap() + 1, 0, false, false, false, &mut missions);
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue