diff --git a/src/router/card.rs b/src/router/card.rs index 2b7ab85..2e2bebf 100644 --- a/src/router/card.rs +++ b/src/router/card.rs @@ -20,7 +20,7 @@ fn do_reinforce(user: &mut JsonValue, body: &JsonValue, exp_id: &str, money_mult let item = &databases::ITEM_INFO[data2["master_item_id"].to_string()]; if evolve { card["evolve"] = array![{type: 2,count: 1}]; - money = money_multiplier; + money = databases::EVOLVE_COST[items::get_rarity(card["master_card_id"].as_i64().unwrap()).to_string()].as_i64().unwrap(); } else { card[exp_id] = (card[exp_id].as_i64().unwrap() + (item["effectValue"].as_i64().unwrap() * data2["amount"].as_i64().unwrap())).into(); money += item["effectValue"].as_i64().unwrap() * data2["amount"].as_i64().unwrap() * money_multiplier; @@ -28,6 +28,7 @@ fn do_reinforce(user: &mut JsonValue, body: &JsonValue, exp_id: &str, money_mult } user["card_list"][i] = card.clone(); + for data in user["point_list"].members_mut() { if data["type"].as_i32().unwrap() == 1 { data["amount"] = (data["amount"].as_i64().unwrap() - money).into(); @@ -78,7 +79,7 @@ pub fn evolve(req: HttpRequest, body: String) -> Option { let body = json::parse(&encryption::decrypt_packet(&body).unwrap()).unwrap(); let mut user = userdata::get_acc(&key); - let card = do_reinforce(&mut user, &body, "", 30000, true); + let card = do_reinforce(&mut user, &body, "", 0, true); userdata::save_acc(&key, user.clone()); diff --git a/src/router/databases/json/card_evolve.json b/src/router/databases/json/card_evolve.json new file mode 100644 index 0000000..a52bebb --- /dev/null +++ b/src/router/databases/json/card_evolve.json @@ -0,0 +1,26 @@ +[ + { + "rarity": 1, + "evolveCount": 1, + "maxLevel": 60, + "price": 30000, + "hpAddValue": 1, + "masterReleaseLabelId": 1 + }, + { + "rarity": 2, + "evolveCount": 1, + "maxLevel": 80, + "price": 70000, + "hpAddValue": 1, + "masterReleaseLabelId": 1 + }, + { + "rarity": 3, + "evolveCount": 1, + "maxLevel": 100, + "price": 100000, + "hpAddValue": 1, + "masterReleaseLabelId": 1 + } +] diff --git a/src/router/databases/mod.rs b/src/router/databases/mod.rs index 4127b78..ae749c7 100644 --- a/src/router/databases/mod.rs +++ b/src/router/databases/mod.rs @@ -196,4 +196,12 @@ lazy_static! { pub static ref RANKS: JsonValue = { json::parse(&include_file!("src/router/databases/json/user_rank.json")).unwrap() }; + pub static ref EVOLVE_COST: JsonValue = { + let mut info = object!{}; + let items = json::parse(&include_file!("src/router/databases/json/card_evolve.json")).unwrap(); + for data in items.members() { + info[data["rarity"].to_string()] = data["price"].clone(); + } + info + }; }