mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Finish login bonus
This commit is contained in:
parent
37410f888e
commit
89eaf11414
3 changed files with 86 additions and 43 deletions
|
@ -2,8 +2,8 @@
|
||||||
{
|
{
|
||||||
"id": 150000101,
|
"id": 150000101,
|
||||||
"number": 1,
|
"number": 1,
|
||||||
"type": 2,
|
"type": 3,
|
||||||
"giveType": 2,
|
"giveType": 1,
|
||||||
"value": 16005003,
|
"value": 16005003,
|
||||||
"level": 0,
|
"level": 0,
|
||||||
"amount": 15,
|
"amount": 15,
|
||||||
|
|
|
@ -39,6 +39,9 @@ lazy_static! {
|
||||||
if info[data["masterReleaseLabelId"].to_string()].is_null() {
|
if info[data["masterReleaseLabelId"].to_string()].is_null() {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if info[data["masterReleaseLabelId"].to_string()]["days"].len() != 0 && data["id"].as_i64().unwrap() != info[data["masterReleaseLabelId"].to_string()]["days"][info[data["masterReleaseLabelId"].to_string()]["days"].len() - 1]["id"].as_i64().unwrap() + 1 {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
info[data["masterReleaseLabelId"].to_string()]["days"].push(data.clone()).unwrap();
|
info[data["masterReleaseLabelId"].to_string()]["days"].push(data.clone()).unwrap();
|
||||||
}
|
}
|
||||||
let mut real_info = object!{};
|
let mut real_info = object!{};
|
||||||
|
@ -84,19 +87,20 @@ pub fn bonus(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
let mut to_rm = array![];
|
let mut to_rm = array![];
|
||||||
for (i, data) in bonuses["bonus_list"].members_mut().enumerate() {
|
for (i, data) in bonuses["bonus_list"].members_mut().enumerate() {
|
||||||
let info = get_login_bonus_info(data["master_login_bonus_id"].as_i64().unwrap());
|
let info = get_login_bonus_info(data["master_login_bonus_id"].as_i64().unwrap());
|
||||||
let current = data["day_counts"].len();
|
let mut current = data["day_counts"].len();
|
||||||
if current >= info["days"].len() && info["info"]["loop"].as_i32().unwrap_or(0) == 1 {
|
if current >= info["days"].len() && info["info"]["loop"].as_i32().unwrap_or(0) == 1 {
|
||||||
data["day_counts"] = array![];
|
data["day_counts"] = array![];
|
||||||
|
current = 0;
|
||||||
} else if current >= info["days"].len() {
|
} else if current >= info["days"].len() {
|
||||||
to_rm.push(i).unwrap();
|
to_rm.push(i).unwrap();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
global::gift_item(&info["days"][current + 1], &mut user_home);
|
global::gift_item(&info["days"][current], &mut user_home);
|
||||||
data["day_counts"].push(current + 1).unwrap();
|
data["day_counts"].push(current + 1).unwrap();
|
||||||
}
|
}
|
||||||
for (_i, data) in to_rm.members().enumerate() {
|
for (i, data) in to_rm.members().enumerate() {
|
||||||
bonuses["bonus_list"].array_remove(data.as_usize().unwrap());//IPMGQAYWYAW6AYA7
|
bonuses["bonus_list"].array_remove(data.as_usize().unwrap() - i);
|
||||||
}
|
}
|
||||||
bonuses["last_rewarded"] = last_reset.into();
|
bonuses["last_rewarded"] = last_reset.into();
|
||||||
userdata::save_acc_loginbonus(&key, bonuses.clone());
|
userdata::save_acc_loginbonus(&key, bonuses.clone());
|
||||||
|
@ -104,7 +108,7 @@ pub fn bonus(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
} else {
|
} else {
|
||||||
to_send = array![];
|
to_send = array![];
|
||||||
}
|
}
|
||||||
println!("{}", json::stringify(to_send.clone()));
|
// println!("{}", json::stringify(to_send.clone()));
|
||||||
|
|
||||||
userdata::save_acc_home(&key, user_home);
|
userdata::save_acc_home(&key, user_home);
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ use crate::router::global;
|
||||||
use crate::encryption;
|
use crate::encryption;
|
||||||
use actix_web::{HttpResponse, HttpRequest};
|
use actix_web::{HttpResponse, HttpRequest};
|
||||||
use crate::router::userdata;
|
use crate::router::userdata;
|
||||||
|
use lazy_static::lazy_static;
|
||||||
|
|
||||||
pub fn deck(req: HttpRequest, body: String) -> HttpResponse {
|
pub fn deck(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
let key = global::get_login(req.headers(), &body);
|
let key = global::get_login(req.headers(), &body);
|
||||||
|
@ -45,6 +46,21 @@ pub fn user(req: HttpRequest) -> HttpResponse {
|
||||||
global::send(resp)
|
global::send(resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lazy_static! {
|
||||||
|
static ref LOTTERY_INFO: JsonValue = {
|
||||||
|
let mut info = object!{};
|
||||||
|
let items = json::parse(include_str!("json/login_bonus_reward.json")).unwrap();
|
||||||
|
for (_i, data) in items.members().enumerate() {
|
||||||
|
info[data["id"].to_string()] = data.clone();
|
||||||
|
}
|
||||||
|
info
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
fn get_info_from_id(id: i64) -> JsonValue {
|
||||||
|
LOTTERY_INFO[id.to_string()].clone()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn gift(req: HttpRequest, body: String) -> HttpResponse {
|
pub fn gift(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
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();
|
||||||
|
@ -55,57 +71,79 @@ pub fn gift(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
let mut rewards = array![];
|
let mut rewards = array![];
|
||||||
let mut failed = array![];
|
let mut failed = array![];
|
||||||
|
|
||||||
let mut to_remove = array![];
|
|
||||||
for (_i, gift_id) in body["gift_ids"].members().enumerate() {
|
for (_i, gift_id) in body["gift_ids"].members().enumerate() {
|
||||||
|
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"].to_string() != gift_id.to_string() {
|
if data["id"].to_string() != gift_id.to_string() {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if data["reward_type"].to_string() == "1" {
|
let info = get_info_from_id(data["id"].as_i64().unwrap());
|
||||||
//gems
|
//println!("{}", json::stringify(info.clone()));
|
||||||
userr["gem"]["free"] = (userr["gem"]["free"].as_i64().unwrap() + data["amount"].as_i64().unwrap()).into();
|
|
||||||
//} else if data["reward_type"].to_string() == "3" {
|
if info["giveType"].to_string() == "1" {
|
||||||
//not working
|
if info["type"].to_string() == "1" {
|
||||||
/*
|
// basically primogems!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
//goes into user item_list
|
userr["gem"]["free"] = (userr["gem"]["free"].as_i64().unwrap() + info["amount"].as_i64().unwrap()).into();
|
||||||
let mut contains = false;
|
} else if info["type"].to_string() == "2" {
|
||||||
for (_k, dataa) in userr["item_list"].members_mut().enumerate() {
|
//character
|
||||||
if dataa["id"].to_string() != data["id"].to_string() {
|
global::give_character(info["value"].to_string(), &mut userr);
|
||||||
continue;
|
} else if info["type"].to_string() == "3" {
|
||||||
}
|
let mut has = false;
|
||||||
contains = true;
|
for (_k, data2) in userr["item_list"].members_mut().enumerate() {
|
||||||
dataa["amount"] = (dataa["amount"].as_i64().unwrap() + data["amount"].as_i64().unwrap()).into();
|
if data2["master_item_id"].to_string() == info["value"].to_string() {
|
||||||
|
has = true;
|
||||||
|
data2["amount"] = (data2["amount"].as_i64().unwrap() + info["amount"].as_i64().unwrap()).into();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if !contains {
|
}
|
||||||
let to_push = object!{
|
if !has {
|
||||||
"id": data["id"].clone(),
|
userr["item_list"].push(object!{
|
||||||
"master_item_id": data["id"].clone(),//idk if this is correct
|
id: info["value"].clone(),
|
||||||
"amount": data["amount"].clone(),
|
master_item_id: info["value"].clone(),
|
||||||
"expire_date_time": null
|
amount: info["amount"].clone(),
|
||||||
};
|
expire_date_time: null
|
||||||
userr["item_list"].push(to_push).unwrap();
|
}).unwrap();
|
||||||
}*/
|
}
|
||||||
} else {//idk
|
} else if info["type"].to_string() == "4" {
|
||||||
println!("Redeeming reward not implimented for reward id {}", data["id"].to_string());
|
// basically moraa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
let mut has = false;
|
||||||
|
for (_k, data2) in userr["point_list"].members_mut().enumerate() {
|
||||||
|
if data2["type"].to_string() == info["type"].to_string() {
|
||||||
|
has = true;
|
||||||
|
data2["amount"] = (data2["amount"].as_i64().unwrap() + info["amount"].as_i64().unwrap()).into();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !has {
|
||||||
|
userr["point_list"].push(object!{
|
||||||
|
type: info["type"].clone(),
|
||||||
|
amount: info["amount"].clone()
|
||||||
|
}).unwrap();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
println!("Redeeming reward not implimented for reward id {}", info["id"].to_string());
|
||||||
failed.push(gift_id.clone()).unwrap();
|
failed.push(gift_id.clone()).unwrap();
|
||||||
continue;
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
println!("Redeeming reward not implimented for give type {}", info["giveType"].to_string());
|
||||||
|
failed.push(gift_id.clone()).unwrap();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
let to_push = object!{
|
let to_push = object!{
|
||||||
give_type: data["give_type"].clone(),
|
give_type: info["giveType"].clone(),
|
||||||
type: data["reward_type"].clone(),
|
type: data["reward_type"].clone(),
|
||||||
value: data["value"].clone(),
|
value: info["value"].clone(),
|
||||||
level: data["level"].clone(),
|
level: info["level"].clone(),
|
||||||
amount: data["amount"].clone()
|
amount: info["amount"].clone()
|
||||||
};
|
};
|
||||||
rewards.push(to_push).unwrap();
|
rewards.push(to_push).unwrap();
|
||||||
to_remove.push(j).unwrap();
|
to_remove = j + 1;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if to_remove != 0 {
|
||||||
|
user["home"]["gift_list"].array_remove(to_remove - 1);
|
||||||
}
|
}
|
||||||
for (_i, index) in to_remove.members().enumerate() {
|
|
||||||
user["home"]["gift_list"].array_remove(index.as_usize().unwrap());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
userdata::save_acc_home(&key, user.clone());
|
userdata::save_acc_home(&key, user.clone());
|
||||||
|
@ -119,7 +157,8 @@ pub fn gift(req: HttpRequest, body: String) -> HttpResponse {
|
||||||
"failed_gift_ids": failed,
|
"failed_gift_ids": failed,
|
||||||
"updated_value_list": {
|
"updated_value_list": {
|
||||||
"gem": userr["gem"].clone(),
|
"gem": userr["gem"].clone(),
|
||||||
"item_list": userr["item_list"].clone()
|
"item_list": userr["item_list"].clone(),
|
||||||
|
"point_list": userr["point_list"].clone()
|
||||||
},
|
},
|
||||||
"clear_mission_ids": user["clear_mission_ids"].clone(),
|
"clear_mission_ids": user["clear_mission_ids"].clone(),
|
||||||
"reward_list": rewards
|
"reward_list": rewards
|
||||||
|
|
Loading…
Add table
Reference in a new issue