Gacha Simulator for https://bluearchive.jp/
Go to file
Rekai Nyangadzayi Musuka b9f705c7b2 Add README.md 2021-02-09 15:02:27 -06:00
src feat: ensure tests pass 2021-02-09 14:48:19 -06:00
.gitignore Initial Commit 2021-02-08 22:33:35 -06:00
Cargo.lock feat: ensure tests pass 2021-02-09 14:48:19 -06:00
Cargo.toml feat: ensure tests pass 2021-02-09 14:48:19 -06:00
LICENSE Create LICENSE 2021-02-09 14:50:15 -06:00
README.md Add README.md 2021-02-09 15:02:27 -06:00
students.json feat: implement rate-up 2021-02-09 14:42:09 -06:00

README.md

Blue Archive Gacha Simulator

Here's an implementation of Blue Archive's Gacha System I believe it to be correct, though I'm always willing to accept corrections if you have any!

Example

Here's what's needed in order to call .roll() and .roll10().

let mut file = File::open("students.json").unwrap();
    let mut json = String::new();
    file.read_to_string(&mut json).unwrap();

    let students: Vec<Student> = serde_json::from_str(&json).unwrap();

    let banner_students: Vec<Student> = students
        .iter()
        .filter(|student| student.name != "ノゾミ")
        .map(|student| student.clone())
        .collect();

    let hoshino = find_student(&students, "ホシノ").unwrap();
    let shiroko = find_student(&students, "シロコ").unwrap();
    let rate_up_students = vec![shiroko, hoshino];

    let gacha = GachaBuilder::new(79.0, 18.5, 2.5)
        .with_pool(banner_students)
        .with_priority(&rate_up_students, 0.7)
        .finish()
        .unwrap();

    let pickup_banner = BannerBuilder::new("ピックアップ募集")
        .with_name_translation(Language::English, "Rate-Up Registration")
        .with_sparkable_students(&rate_up_students)
        .with_gacha(&gacha)
        .finish()
        .unwrap();