|
|
@ -85,7 +85,7 @@ pub struct MapEnemy { |
|
|
|
|
|
|
|
impl MapEnemy {
|
|
|
|
fn from_raw(enemy: RawMapEnemy, episode: &Episode, map_area: &MapArea /*, battleparam */) -> Result<MapEnemy, MapEnemyError> {
|
|
|
|
// TODO: rare enemies ep1-4, tower lilys, ult variants?
|
|
|
|
// TODO: rare enemies ep1-4, tower lilys, event rappies, ult variants?
|
|
|
|
let monster = match map_area {
|
|
|
|
MapArea::Forest1 | MapArea::Forest2 | MapArea::Dragon |
|
|
|
|
MapArea::Caves1 | MapArea::Caves2 | MapArea::Caves3 | MapArea::DeRolLe |
|
|
|
@ -141,7 +141,7 @@ impl MapEnemy { |
|
|
|
|
|
|
|
MapArea::VrTempleAlpha | MapArea::VrTempleBeta | MapArea::BarbaRay |
|
|
|
|
MapArea::VrSpaceshipAlpha | MapArea::VrSpaceshipBeta | MapArea::GolDragon |
|
|
|
|
MapArea::JungleAreaNorth | MapArea::JungleAreaEast | MapArea::Mountain | MapArea::Seaside | MapArea::Cca | MapArea::GalGryphon |
|
|
|
|
MapArea::JungleAreaNorth | MapArea::JungleAreaEast | MapArea::Mountain | MapArea::Seaside | MapArea::SeasideNight | MapArea::Cca | MapArea::GalGryphon |
|
|
|
|
MapArea::SeabedUpper | MapArea::SeabedLower | MapArea::OlgaFlow => {
|
|
|
|
match (enemy, episode) {
|
|
|
|
(RawMapEnemy {id: 64, ..}, _) => MonsterType::Hildebear,
|
|
|
@ -196,6 +196,22 @@ impl MapEnemy { |
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
MapArea::Tower => {
|
|
|
|
match (enemy, episode) {
|
|
|
|
(RawMapEnemy {id: 97, ..}, _) => MonsterType::DelLily,
|
|
|
|
(RawMapEnemy {id: 214, skin: 0, ..}, _) => MonsterType::Mericarol,
|
|
|
|
(RawMapEnemy {id: 214, skin: 1, ..}, _) => MonsterType::Merikle,
|
|
|
|
(RawMapEnemy {id: 214, skin: 2, ..}, _) => MonsterType::Mericus,
|
|
|
|
(RawMapEnemy {id: 216, ..}, _) => MonsterType::Gibbles,
|
|
|
|
(RawMapEnemy {id: 218, ..}, _) => MonsterType::GiGue,
|
|
|
|
(RawMapEnemy {id: 220, ..}, _) => MonsterType::Delbiter,
|
|
|
|
(RawMapEnemy {id: 223, ..}, _) => MonsterType::Recobox,
|
|
|
|
(RawMapEnemy {id: 224, ..}, _) => MonsterType::Epsilon,
|
|
|
|
(RawMapEnemy {id: 225, ..}, _) => MonsterType::IllGill,
|
|
|
|
_ => return Err(MapEnemyError::UnknownEnemyId(enemy.id))
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
MapArea::CraterEast | MapArea::CraterWest | MapArea::CraterSouth | MapArea::CraterNorth | MapArea::CraterInterior => {
|
|
|
|
match (enemy, episode) {
|
|
|
|
(RawMapEnemy {id: 65, ..}, Episode::Four) => MonsterType::SandRappyCrater,
|
|
|
|