Add server rank rewards

This commit is contained in:
Ethan O'Brien
2026-07-24 21:40:41 -05:00
parent 4ebcc06d56
commit 3a29fde575
2 changed files with 28 additions and 0 deletions

View File

@@ -271,6 +271,18 @@ lazy_static! {
pub static ref RANKS: JsonValue = t("user_rank");
pub static ref USER_RANK_REWARD: JsonValue = {
let mut info = object! {};
for data in t("user_rank_reward").members() {
let id = data["id"].to_string();
if info[&id].is_null() {
info[&id] = array![];
}
info[&id].push(data.clone()).unwrap();
}
info
};
pub static ref EVOLVE_COST: JsonValue = {
let mut info = object! {};
for data in t("card_evolve").members() {

View File

@@ -367,6 +367,22 @@ pub fn give_exp(amount: i32, user: &mut JsonValue, mission: &mut JsonValue, rv:
if current_rank["rank"] != new_rank["rank"] {
user["stamina"]["stamina"] = (user["stamina"]["stamina"].as_i64().unwrap() + new_rank["maxLp"].as_i64().unwrap()).into();
let from = current_rank["rank"].as_i64().unwrap();
let to = new_rank["rank"].as_i64().unwrap();
for rank in databases::RANKS.members() {
let num = rank["rank"].as_i64().unwrap();
if num <= from || num > to {
continue;
}
for reward in databases::USER_RANK_REWARD[rank["masterUserRankRewardId"].to_string()].members() {
give_gift(&object!{
reward_type: reward["type"].clone(),
value: reward["value"].clone(),
amount: reward["amount"].clone()
}, user, mission, &mut array![], &mut array![]);
}
}
let status = get_mission_status(get_variable_mission_num(1101001, 1101030, mission), mission);
if status.is_empty() {
return;