diff --git a/src/ship/map.rs b/src/ship/map.rs index 9f3a716..b4bfdfd 100644 --- a/src/ship/map.rs +++ b/src/ship/map.rs @@ -452,8 +452,8 @@ pub enum MapArea { OlgaFlow, BarbaRay, GolDragon, - // Seaside2, - // Tower, + SeasideNight, + Tower, Pioneer2Ep4, CraterEast, CraterWest, @@ -507,8 +507,8 @@ impl MapArea { (Episode::Two, 13) => Ok(MapArea::OlgaFlow), (Episode::Two, 14) => Ok(MapArea::BarbaRay), (Episode::Two, 15) => Ok(MapArea::GolDragon), - // (Episode::Two, 16) => Ok(MapArea::Seaside2), - // (Episode::Two, 17) => Ok(MapArea::Tower), + (Episode::Two, 16) => Ok(MapArea::SeasideNight), + (Episode::Two, 17) => Ok(MapArea::Tower), (Episode::Four, 0) => Ok(MapArea::Pioneer2Ep4), (Episode::Four, 1) => Ok(MapArea::CraterEast), (Episode::Four, 2) => Ok(MapArea::CraterWest), @@ -540,6 +540,7 @@ impl MapArea { MapArea::DeRolLe => Some(5), MapArea::VolOpt => Some(7), MapArea::DarkFalz => Some(9), + MapArea::VrTempleAlpha => Some(0), MapArea::VrTempleBeta => Some(1), MapArea::VrSpaceshipAlpha => Some(2), @@ -555,8 +556,9 @@ impl MapArea { MapArea::OlgaFlow => Some(9), MapArea::BarbaRay => Some(2), MapArea::GolDragon => Some(5), - // MapArea::Seaside2 => Some(0), - // MapArea::Tower => Some(0), + MapArea::SeasideNight => Some(7), + MapArea::Tower => Some(9), + MapArea::CraterEast => Some(2), MapArea::CraterWest => Some(3), MapArea::CraterSouth => Some(4), @@ -604,8 +606,8 @@ impl MapArea { MapArea::OlgaFlow => 13, MapArea::BarbaRay => 14, MapArea::GolDragon => 15, - // MapArea::Seaside2 => 16, - // MapArea::Tower => 17, + MapArea::SeasideNight => 16, + MapArea::Tower => 17, MapArea::Pioneer2Ep4 => 0, MapArea::CraterEast => 1, MapArea::CraterWest => 2, @@ -645,12 +647,12 @@ impl MapVariant { MapArea::VrTempleAlpha | MapArea::VrTempleBeta => rand::thread_rng().gen_range(0, 2), MapArea::VrSpaceshipAlpha | MapArea::VrSpaceshipBeta => rand::thread_rng().gen_range(0, 2), MapArea::Cca => 0, - MapArea::JungleAreaNorth => 0, - MapArea::JungleAreaEast => 0, + MapArea::JungleAreaNorth | MapArea::JungleAreaEast => 0, MapArea::Mountain => rand::thread_rng().gen_range(0, 2), - MapArea::Seaside => 0, + MapArea::Seaside | MapArea::SeasideNight=> 0, MapArea::SeabedUpper | MapArea::SeabedLower => rand::thread_rng().gen_range(0, 2), MapArea::BarbaRay | MapArea::GolDragon | MapArea::GalGryphon | MapArea::OlgaFlow => 0, + MapArea::Tower => 0, MapArea::Pioneer2Ep4 => 0, MapArea::CraterEast | MapArea::CraterWest | MapArea::CraterSouth | MapArea::CraterNorth | MapArea::CraterInterior => 0, @@ -661,8 +663,7 @@ impl MapVariant { let minor = match map { MapArea::Pioneer2Ep1 => 0, - MapArea::Forest1 => rand::thread_rng().gen_range(0, 5), - MapArea::Forest2 => rand::thread_rng().gen_range(0, 5), + MapArea::Forest1 | MapArea::Forest2 => rand::thread_rng().gen_range(0, 5), MapArea::Caves1 | MapArea::Caves2 | MapArea::Caves3 => rand::thread_rng().gen_range(0, 2), MapArea::Mines1 | MapArea::Mines2 => rand::thread_rng().gen_range(0, 2), MapArea::Ruins1 | MapArea::Ruins2 | MapArea::Ruins3 => rand::thread_rng().gen_range(0, 2), @@ -672,15 +673,12 @@ impl MapVariant { MapArea::VrTempleAlpha | MapArea::VrTempleBeta => 0, MapArea::VrSpaceshipAlpha | MapArea::VrSpaceshipBeta => 0, MapArea::Cca => rand::thread_rng().gen_range(0, 3), - MapArea::JungleAreaNorth => rand::thread_rng().gen_range(0, 3), - MapArea::JungleAreaEast => rand::thread_rng().gen_range(0, 3), + MapArea::JungleAreaNorth | MapArea::JungleAreaEast => rand::thread_rng().gen_range(0, 3), MapArea::Mountain => rand::thread_rng().gen_range(0, 2), - MapArea::Seaside => rand::thread_rng().gen_range(0, 3), + MapArea::Seaside | MapArea::SeasideNight => rand::thread_rng().gen_range(0, 3), MapArea::SeabedUpper | MapArea::SeabedLower => rand::thread_rng().gen_range(0, 2), - MapArea::GalGryphon => 0, - MapArea::OlgaFlow => 0, - MapArea::BarbaRay => 0, - MapArea::GolDragon => 0, + MapArea::BarbaRay | MapArea::GolDragon | MapArea::GalGryphon | MapArea::OlgaFlow => 0, + MapArea::Tower => 0, MapArea::Pioneer2Ep4 => 0, MapArea::CraterEast | MapArea::CraterWest | MapArea::CraterSouth | MapArea::CraterNorth | MapArea::CraterInterior => rand::thread_rng().gen_range(0, 3), @@ -699,21 +697,22 @@ impl MapVariant { else { let major = match map { MapArea::Pioneer2Ep1 => 0, - MapArea::Forest1 => 0, | MapArea::Forest2 => 0, + MapArea::Forest1 | MapArea::Forest2 => 0, MapArea::Caves1 | MapArea::Caves2 | MapArea::Caves3 => rand::thread_rng().gen_range(0, 3), - MapArea::Mines1 | MapArea::Mines2 => rand::thread_rng().gen_range(0, 3), // no offline-specific maps - MapArea::Ruins1 | MapArea::Ruins2 | MapArea::Ruins3 => rand::thread_rng().gen_range(0, 3), // no offline-specific maps + MapArea::Mines1 | MapArea::Mines2 => rand::thread_rng().gen_range(0, 3), + MapArea::Ruins1 | MapArea::Ruins2 | MapArea::Ruins3 => rand::thread_rng().gen_range(0, 3), MapArea::Dragon | MapArea::DeRolLe | MapArea::VolOpt | MapArea::DarkFalz => 0, MapArea::Pioneer2Ep2 => 0, - MapArea::VrTempleAlpha | MapArea::VrTempleBeta | MapArea::VrSpaceshipAlpha | MapArea::VrSpaceshipBeta => rand::thread_rng().gen_range(0, 2), + MapArea::VrTempleAlpha | MapArea::VrTempleBeta => rand::thread_rng().gen_range(0, 2), + MapArea::VrSpaceshipAlpha | MapArea::VrSpaceshipBeta => rand::thread_rng().gen_range(0, 2), MapArea::Cca => 0, - MapArea::JungleAreaNorth => 0, - MapArea::JungleAreaEast => 0, + MapArea::JungleAreaNorth | MapArea::JungleAreaEast => 0, MapArea::Mountain => rand::thread_rng().gen_range(0, 2), - MapArea::Seaside => 0, + MapArea::Seaside | MapArea::SeasideNight => 0, MapArea::SeabedUpper | MapArea::SeabedLower => rand::thread_rng().gen_range(0, 2), MapArea::BarbaRay | MapArea::GolDragon | MapArea::GalGryphon | MapArea::OlgaFlow => 0, + MapArea::Tower => 0, MapArea::Pioneer2Ep4 => 0, MapArea::CraterEast | MapArea::CraterWest | MapArea::CraterSouth | MapArea::CraterNorth | MapArea::CraterInterior => 0, @@ -724,25 +723,22 @@ impl MapVariant { let minor = match map { MapArea::Pioneer2Ep1 => 0, - MapArea::Forest1 => rand::thread_rng().gen_range(0, 3), - MapArea::Forest2 => rand::thread_rng().gen_range(0, 3), + MapArea::Forest1 | MapArea::Forest2 => rand::thread_rng().gen_range(0, 3), MapArea::Caves1 | MapArea::Caves2 | MapArea::Caves3 => 0, - MapArea::Mines1 | MapArea::Mines2 => rand::thread_rng().gen_range(0, 2), // no offline-specific maps - MapArea::Ruins1 | MapArea::Ruins2 | MapArea::Ruins3 => rand::thread_rng().gen_range(0, 2),// no offline-specific maps + MapArea::Mines1 | MapArea::Mines2 => rand::thread_rng().gen_range(0, 2), + MapArea::Ruins1 | MapArea::Ruins2 | MapArea::Ruins3 => rand::thread_rng().gen_range(0, 2), MapArea::Dragon | MapArea::DeRolLe | MapArea::VolOpt | MapArea::DarkFalz => 0, MapArea::Pioneer2Ep2 => 0, - MapArea::VrTempleAlpha | MapArea::VrTempleBeta | MapArea::VrSpaceshipAlpha | MapArea::VrSpaceshipBeta => 0, + MapArea::VrTempleAlpha | MapArea::VrTempleBeta => 0, + MapArea::VrSpaceshipAlpha | MapArea::VrSpaceshipBeta => 0, MapArea::Cca => rand::thread_rng().gen_range(0, 3), - MapArea::JungleAreaNorth => rand::thread_rng().gen_range(0, 3), - MapArea::JungleAreaEast => rand::thread_rng().gen_range(0, 3), + MapArea::JungleAreaNorth | MapArea::JungleAreaEast => rand::thread_rng().gen_range(0, 3), MapArea::Mountain => rand::thread_rng().gen_range(0, 2), - MapArea::Seaside => rand::thread_rng().gen_range(0, 3), + MapArea::Seaside | MapArea::SeasideNight => rand::thread_rng().gen_range(0, 3), MapArea::SeabedUpper | MapArea::SeabedLower => 0, - MapArea::GalGryphon => 0, - MapArea::OlgaFlow => 0, - MapArea::BarbaRay => 0, - MapArea::GolDragon => 0, + MapArea::BarbaRay | MapArea::GolDragon | MapArea::GalGryphon | MapArea::OlgaFlow => 0, + MapArea::Tower => 0, MapArea::Pioneer2Ep4 => 0, MapArea::CraterEast | MapArea::CraterWest | MapArea::CraterSouth | MapArea::CraterNorth | MapArea::CraterInterior => rand::thread_rng().gen_range(0, 3), @@ -807,6 +803,7 @@ impl MapVariant { MapArea::SubDesert2 => format!("data/maps/map_desert02_0{}_0{}e.dat", self.major, self.minor), MapArea::SubDesert3 => format!("data/maps/map_desert03_0{}_0{}e.dat", self.major, self.minor), MapArea::SaintMillion => "data/maps/map_boss09_00_00e.dat".into(), + _ => unreachable!(), } } else { // Offline match self.map { @@ -859,6 +856,7 @@ impl MapVariant { MapArea::SubDesert2 => format!("data/maps/map_desert02_0{}_0{}e.dat", self.major, self.minor), MapArea::SubDesert3 => format!("data/maps/map_desert03_0{}_0{}e.dat", self.major, self.minor), MapArea::SaintMillion => "data/maps/map_boss09_00_00e.dat".into(), + _ => unreachable!(), } } } @@ -909,6 +907,7 @@ impl MapVariant { MapArea::SubDesert2 => format!("data/maps/map_desert02_0{}_0{}o.dat", self.major, self.minor), MapArea::SubDesert3 => format!("data/maps/map_desert03_0{}_0{}o.dat", self.major, self.minor), MapArea::SaintMillion => "data/maps/map_boss09_00_00o.dat".into(), + _ => unreachable!(), } } else { match self.map { @@ -961,6 +960,7 @@ impl MapVariant { MapArea::SubDesert2 => format!("data/maps/map_desert02_0{}_0{}o.dat", self.major, self.minor), MapArea::SubDesert3 => format!("data/maps/map_desert03_0{}_0{}o.dat", self.major, self.minor), MapArea::SaintMillion => "data/maps/map_boss09_00_00o.dat".into(), + _ => unreachable!(), } } }