mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Add log in count mission
This commit is contained in:
parent
16322fea2d
commit
556060ca8b
5 changed files with 67 additions and 27 deletions
|
@ -82,7 +82,10 @@ pub fn home(req: HttpRequest) -> HttpResponse {
|
||||||
}
|
}
|
||||||
|
|
||||||
let daily_missions = array![1224003, 1253003, 1273009, 1273010, 1273011, 1273012];
|
let daily_missions = array![1224003, 1253003, 1273009, 1273010, 1273011, 1273012];
|
||||||
let home_missions = array![];
|
let mut home_missions = array![];
|
||||||
|
for i in 1153001..=1153019 {
|
||||||
|
home_missions.push(i).unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
let mut clear_ct = 0;
|
let mut clear_ct = 0;
|
||||||
let mut daily_ct = 0;
|
let mut daily_ct = 0;
|
||||||
|
|
|
@ -280,7 +280,7 @@ pub fn update_mission_status(master_mission_id: i64, expire: u64, completed: boo
|
||||||
mission["expire_date_time"] = expire.into();
|
mission["expire_date_time"] = expire.into();
|
||||||
}
|
}
|
||||||
|
|
||||||
if mission["expire_date_time"].as_u64().unwrap() < global::timestamp() || expire != 0 {
|
if (mission["expire_date_time"].as_u64().unwrap() < global::timestamp() || expire != 0) && (mission["expire_date_time"].as_u64().unwrap() != 0 || expire != 0) {
|
||||||
mission["progress"] = 0.into();
|
mission["progress"] = 0.into();
|
||||||
}
|
}
|
||||||
if advance {
|
if advance {
|
||||||
|
@ -308,37 +308,68 @@ pub fn update_mission_status_multi(master_mission_id: JsonValue, expire: u64, co
|
||||||
rv
|
rv
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn completed_daily_mission(id: i64, missions: &mut JsonValue) -> JsonValue {
|
pub fn get_mission_status(id: i64, missions: &JsonValue) -> JsonValue {
|
||||||
let all_daily_missions = array![1224003, 1253003, 1273009, 1273010, 1273011, 1273012];
|
|
||||||
for (_i, mission) in missions.members().enumerate() {
|
for (_i, mission) in missions.members().enumerate() {
|
||||||
if mission["master_mission_id"].as_i64().unwrap() == id {
|
if mission["master_mission_id"].as_i64().unwrap() == id {
|
||||||
if mission["expire_date_time"].as_u64().unwrap() >= global::timestamp() && mission["status"].as_i32().unwrap() > 1 {
|
return mission.clone();
|
||||||
return array![];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
JsonValue::Null
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn change_mission_id(old: i64, new: i64, missions: &mut JsonValue) {
|
||||||
|
for (_i, mission) in missions.members_mut().enumerate() {
|
||||||
|
if mission["master_mission_id"].as_i64().unwrap() == old {
|
||||||
|
mission["master_mission_id"] = new.into();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn completed_daily_mission(id: i64, missions: &mut JsonValue) -> JsonValue {
|
||||||
|
let all_daily_missions = array![1224003, 1253003, 1273009, 1273010, 1273011, 1273012];
|
||||||
|
|
||||||
|
let mission = get_mission_status(id, missions);
|
||||||
|
if mission["expire_date_time"].as_u64().unwrap() >= global::timestamp() && mission["status"].as_i32().unwrap() > 1 {
|
||||||
|
return array![];
|
||||||
|
}
|
||||||
let mut rv = array![];
|
let mut rv = array![];
|
||||||
for (_i, mission) in missions.clone().members().enumerate() {
|
if id == 1253003 {
|
||||||
if mission["master_mission_id"].as_i64().unwrap() == 1224003 {
|
for i in 1153001..=1153019 {
|
||||||
let next_reset = global::timestamp_since_midnight() + (24 * 60 * 60);
|
let mission_status = get_mission_status(i, missions);
|
||||||
if mission["expire_date_time"].as_u64().unwrap() < global::timestamp() {
|
if mission_status.is_empty() {
|
||||||
update_mission_status_multi(all_daily_missions, next_reset, false, false, false, missions);
|
continue;
|
||||||
}
|
}
|
||||||
|
let mission_info = crate::router::mission::MISSION_LIST[i as usize].clone();
|
||||||
if mission["progress"].as_i32().unwrap() == 4 {
|
if mission_info["conditionNumber"].as_i64().unwrap() > mission_status["progress"].as_i64().unwrap() + 1 {
|
||||||
if !update_mission_status(1224003, 0, true, false, true, missions).is_none() {
|
if !update_mission_status(i, 0, true, false, false, missions).is_none() {
|
||||||
rv.push(1224003).unwrap();
|
rv.push(i).unwrap();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if !update_mission_status(1224003, 0, false, false, true, missions).is_none() {
|
if !update_mission_status(i, 0, false, false, true, missions).is_none() {
|
||||||
rv.push(1224003).unwrap();
|
rv.push(i).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !update_mission_status(id, next_reset, true, false, true, missions).is_none() {
|
break;
|
||||||
rv.push(id).unwrap();
|
|
||||||
}
|
|
||||||
return rv;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
let mission = get_mission_status(1224003, missions);
|
||||||
|
let next_reset = global::timestamp_since_midnight() + (24 * 60 * 60);
|
||||||
|
if mission["expire_date_time"].as_u64().unwrap() < global::timestamp() {
|
||||||
|
update_mission_status_multi(all_daily_missions, next_reset, false, false, false, missions);
|
||||||
|
}
|
||||||
|
|
||||||
|
if mission["progress"].as_i32().unwrap() == 4 {
|
||||||
|
if !update_mission_status(1224003, 0, true, false, true, missions).is_none() {
|
||||||
|
rv.push(1224003).unwrap();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if !update_mission_status(1224003, 0, false, false, true, missions).is_none() {
|
||||||
|
rv.push(1224003).unwrap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !update_mission_status(id, next_reset, true, false, true, missions).is_none() {
|
||||||
|
rv.push(id).unwrap();
|
||||||
|
}
|
||||||
rv
|
rv
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
"id": 1153001,
|
"id": 1153001,
|
||||||
"title": "4日間ログインしよう",
|
"title": "4日間ログインしよう",
|
||||||
"detail": "4日間ログインしよう",
|
"detail": "4日間ログインしよう",
|
||||||
"type": 2,
|
"type": 1,
|
||||||
"parentMasterMissionId": 0,
|
"parentMasterMissionId": 0,
|
||||||
"conditionType": 2,
|
"conditionType": 1,
|
||||||
"conditionValues": [],
|
"conditionValues": [],
|
||||||
"conditionNumber": 4,
|
"conditionNumber": 4,
|
||||||
"masterMissionRewardId": 131153001,
|
"masterMissionRewardId": 131153001,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{
|
{
|
||||||
"id": 131153001,
|
"id": 131153001,
|
||||||
"number": 1,
|
"number": 1,
|
||||||
"type": 2,
|
"type": 1,
|
||||||
"giveType": 2,
|
"giveType": 2,
|
||||||
"value": 1,
|
"value": 1,
|
||||||
"level": 0,
|
"level": 0,
|
||||||
|
|
|
@ -48,7 +48,7 @@ pub fn clear(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
}
|
}
|
||||||
|
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
static ref MISSION_LIST: JsonValue = {
|
pub static ref MISSION_LIST: JsonValue = {
|
||||||
let mut info = object!{};
|
let mut info = object!{};
|
||||||
let items = json::parse(include_str!("json/mission.json")).unwrap();
|
let items = json::parse(include_str!("json/mission.json")).unwrap();
|
||||||
for (_i, data) in items.members().enumerate() {
|
for (_i, data) in items.members().enumerate() {
|
||||||
|
@ -75,13 +75,19 @@ pub fn receive(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
let mut rewards = array![];
|
let mut rewards = array![];
|
||||||
|
|
||||||
for (_i, mission) in body["master_mission_ids"].members().enumerate() {
|
for (_i, mission) in body["master_mission_ids"].members().enumerate() {
|
||||||
items::update_mission_status(mission.as_i64().unwrap(), 0, true, true, false, &mut missions);
|
|
||||||
let mission_info = MISSION_LIST[mission.to_string()].clone();
|
let mission_info = MISSION_LIST[mission.to_string()].clone();
|
||||||
let mut gift = MISSION_REWARD[mission_info["masterMissionRewardId"].to_string()].clone();
|
let mut gift = MISSION_REWARD[mission_info["masterMissionRewardId"].to_string()].clone();
|
||||||
gift["reward_type"] = gift["type"].clone();
|
gift["reward_type"] = gift["type"].clone();
|
||||||
gift["amount"] = gift["amount"].as_i64().unwrap().into();
|
gift["amount"] = gift["amount"].as_i64().unwrap().into();
|
||||||
items::give_gift(&gift, &mut user);
|
items::give_gift(&gift, &mut user);
|
||||||
rewards.push(gift).unwrap();
|
rewards.push(gift).unwrap();
|
||||||
|
|
||||||
|
if mission.as_i64().unwrap() >= 1153001 && mission.as_i64().unwrap() < 1153019 {
|
||||||
|
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 {
|
||||||
|
items::update_mission_status(mission.as_i64().unwrap(), 0, true, true, false, &mut missions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
userdata::save_acc(&key, user.clone());
|
userdata::save_acc(&key, user.clone());
|
||||||
|
|
Loading…
Add table
Reference in a new issue