mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Fix repeated mission completed notifications
This commit is contained in:
parent
8de84b194f
commit
d288bccd7d
1 changed files with 2 additions and 1 deletions
|
@ -300,6 +300,7 @@ pub fn give_exp(amount: i32, user: &mut JsonValue, mission: &mut JsonValue, rv:
|
||||||
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 (_i, mission) in missions.members_mut().enumerate() {
|
||||||
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;
|
||||||
mission["status"] = if claimed { 3 } else if completed { 2 } else { 1 }.into();
|
mission["status"] = if claimed { 3 } else if completed { 2 } else { 1 }.into();
|
||||||
if expire != 0 {
|
if expire != 0 {
|
||||||
mission["expire_date_time"] = expire.into();
|
mission["expire_date_time"] = expire.into();
|
||||||
|
@ -312,7 +313,7 @@ pub fn update_mission_status(master_mission_id: i64, expire: u64, completed: boo
|
||||||
mission["progress"] = (mission["progress"].as_i64().unwrap() + advance).into();
|
mission["progress"] = (mission["progress"].as_i64().unwrap() + advance).into();
|
||||||
}
|
}
|
||||||
|
|
||||||
if completed && !claimed {
|
if completed && !claimed && !was_completed {
|
||||||
return Some(master_mission_id);
|
return Some(master_mission_id);
|
||||||
}
|
}
|
||||||
return None;
|
return None;
|
||||||
|
|
Loading…
Add table
Reference in a new issue