Adds .randomizer command
parent
b976591e7a
commit
7936b24d28
@ -1,5 +1,6 @@
|
||||
{
|
||||
"rust-analyzer.linkedProjects": [
|
||||
".\\Cargo.toml",
|
||||
".\\Cargo.toml"
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
use rand::prelude::*;
|
||||
|
||||
pub fn get_random_item() -> String
|
||||
{
|
||||
let major_items = vec!["Missiles", "Super Missiles", "E Tank", "Power Bombs" ];
|
||||
let minor_items = vec!["Morphing Ball", "Bombs", "Reserve Tank", "Charge Beam", "Spazer", "Ice Beam", "Wave Beam", "Plasma Beam", "Hi-Jump Boots", "Speed Booster",
|
||||
"Grappling Beam", "Stupi... I mean Spring Ball", "Space Jump", "Screw Attack",
|
||||
"Varia Suit", "Gravity Suit", "X-Ray Scope"];
|
||||
|
||||
let major_item_threshold = 75;
|
||||
let not_missile_threshold = 40;
|
||||
let missile_idx = 0;
|
||||
|
||||
let mut rng = rand::thread_rng();
|
||||
let item_category: i32 = rng.gen_range(0..100);
|
||||
|
||||
if item_category >= major_item_threshold
|
||||
{
|
||||
let item: usize = rng.gen_range(0..minor_items.len() - 1);
|
||||
return minor_items[item].to_string();
|
||||
}
|
||||
else
|
||||
{
|
||||
let missile = rng.gen_range(0..100);
|
||||
if missile >= not_missile_threshold
|
||||
{
|
||||
let item: usize = rng.gen_range(0..major_items.len() - 1);
|
||||
return major_items[item].to_string();
|
||||
}
|
||||
else
|
||||
{
|
||||
return major_items[missile_idx].to_string();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue