diff --git a/data/quests.toml b/data/quests.toml index 485ca28..a316475 100644 --- a/data/quests.toml +++ b/data/quests.toml @@ -27,4 +27,9 @@ dat = "q102-ext-bb.dat" [[Retrieval.quests]] bin = "q233-ext-bb.bin" dat = "q233-ext-bb.dat" +#drop_table = "q102-drops" + +[[Retrieval.quests]] +bin = "q236-ext-bb.bin" +dat = "q236-ext-bb.dat" #drop_table = "q102-drops" \ No newline at end of file diff --git a/src/ship/map.rs b/src/ship/map.rs index b4bfdfd..1732701 100644 --- a/src/ship/map.rs +++ b/src/ship/map.rs @@ -85,7 +85,7 @@ pub struct MapEnemy { impl MapEnemy { fn from_raw(enemy: RawMapEnemy, episode: &Episode, map_area: &MapArea /*, battleparam */) -> Result { - // 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,