diff --git a/src/core/wave.rs b/src/core/wave.rs index 06749f3..edeb48a 100644 --- a/src/core/wave.rs +++ b/src/core/wave.rs @@ -10,7 +10,7 @@ use crate::{ kirby::Kirby, life::Life, }, - map::map::{BOTTOM, LEFT, RIGHT, TOP}, + map::map::{BOTTOM, LEFT, RIGHT, RIGHT_DIR, TOP, UP_DIR}, }; #[derive(Event)] @@ -44,8 +44,8 @@ impl BubbleSplash { } } -const BASE_MOVE_FORCE: f32 = 4000.0; -const BASE_LIFE: f32 = 10.0; +const BASE_MOVE_FORCE: f32 = 6000.0; +const BASE_LIFE: f32 = 20.0; const NORMAL_BUBBLE: BubbleType = BubbleType { color: Color::linear_rgb(1.0, 1.0, 1.0), @@ -60,7 +60,7 @@ const RED_BUBBLE: BubbleType = BubbleType { }; const GREEN_BUBBLE: BubbleType = BubbleType { - color: Color::linear_rgb(1.0, 0.0, 0.0), + color: Color::linear_rgb(0.0, 1.0, 0.0), move_force: BASE_MOVE_FORCE * 0.5, max_life: BASE_LIFE * 2.0, }; @@ -84,16 +84,41 @@ fn get_bubble_waves() -> BubbleWaves { BubbleSplash::new(RED_BUBBLE, BOTTOM, 10.0, 20), ], vec![ - BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 100.0, 200), - BubbleSplash::new(RED_BUBBLE, RIGHT, 100.0, 100), + BubbleSplash::new(NORMAL_BUBBLE, RIGHT - UP_DIR * 20.0, 100.0, 200), + BubbleSplash::new(RED_BUBBLE, RIGHT + UP_DIR * 20.0, 100.0, 100), BubbleSplash::new(RED_BUBBLE, LEFT, 100.0, 100), ], + vec![ + BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 100.0, 200), + BubbleSplash::new(RED_BUBBLE, RIGHT + UP_DIR * 40.0, 100.0, 100), + BubbleSplash::new(GREEN_BUBBLE, RIGHT - UP_DIR * 40.0, 100.0, 100), + ], + vec![BubbleSplash::new(GREEN_BUBBLE, Vec2::ZERO, 300.0, 1000)], + vec![ + BubbleSplash::new(RED_BUBBLE, Vec2::ZERO, 300.0, 1000), + BubbleSplash::new(GREEN_BUBBLE, Vec2::ZERO, 300.0, 1000), + ], ], collectables: vec![ vec![], vec![(CollectableType::NewKirby, LEFT)], vec![(CollectableType::SpeedBoost, BOTTOM)], vec![(CollectableType::ShieldBoost, BOTTOM)], + vec![ + (CollectableType::ShieldBoost, TOP), + (CollectableType::ShieldBoost, TOP + RIGHT_DIR * 40.0), + (CollectableType::NewKirby, BOTTOM), + ], + vec![(CollectableType::NewKirby, LEFT + UP_DIR * 40.0), (CollectableType::NewKirby, LEFT - UP_DIR * 40.0)], + vec![ + (CollectableType::SpeedBoost, TOP), + (CollectableType::SpeedBoost, BOTTOM), + (CollectableType::SpeedBoost, TOP + RIGHT_DIR * 40.0), + (CollectableType::SpeedBoost, BOTTOM + RIGHT_DIR * 40.0), + (CollectableType::SpeedBoost, TOP - RIGHT_DIR * 40.0), + (CollectableType::SpeedBoost, BOTTOM - RIGHT_DIR * 40.0), + (CollectableType::NewKirby, RIGHT), + ], vec![], ], current_wave: 0, diff --git a/src/map/map.rs b/src/map/map.rs index 0432ae7..b222c91 100644 --- a/src/map/map.rs +++ b/src/map/map.rs @@ -10,6 +10,9 @@ pub const LEFT: Vec2 = Vec2::new(-NEAR_LIMIT, 0.0); pub const TOP: Vec2 = Vec2::new(0.0, NEAR_LIMIT); pub const BOTTOM: Vec2 = Vec2::new(0.0, -NEAR_LIMIT); +pub const UP_DIR: Vec2 = Vec2::new(0.0, 1.0); +pub const RIGHT_DIR: Vec2 = Vec2::new(1.0, 0.0); + #[derive(Resource)] pub struct MapBounds { pub min: Vec2,