add results of rare enemy RE

This commit is contained in:
Martin Michelsen
2024-01-03 23:27:40 -08:00
parent e13b220be9
commit 08437844e4
+11 -8
View File
@@ -829,12 +829,15 @@ void Map::add_enemy(
break; break;
case 0x0040: // TObjEneMoja case 0x0040: // TObjEneMoja
add(this->check_and_log_rare_enemy(e.uparam1 & 0x01, rare_rates->hildeblue) add(this->check_and_log_rare_enemy(e.uparam1 != 0, rare_rates->hildeblue)
? EnemyType::HILDEBLUE ? EnemyType::HILDEBLUE
: EnemyType::HILDEBEAR); : EnemyType::HILDEBEAR);
break; break;
case 0x0041: { // TObjEneLappy case 0x0041: { // TObjEneLappy
bool is_rare = this->check_and_log_rare_enemy(e.uparam1 & 0x01, rare_rates->rappy); // On BB, the set rare condition is uparam1 & 1; on other versions it's
// simply uparam1 != 0.
bool default_is_rare = rare_rates ? (e.uparam1 & 1) : (e.uparam1 != 0);
bool is_rare = this->check_and_log_rare_enemy(default_is_rare, rare_rates->rappy);
switch (episode) { switch (episode) {
case Episode::EP1: case Episode::EP1:
add(is_rare ? EnemyType::AL_RAPPY : EnemyType::RAG_RAPPY); add(is_rare ? EnemyType::AL_RAPPY : EnemyType::RAG_RAPPY);
@@ -842,13 +845,13 @@ void Map::add_enemy(
case Episode::EP2: case Episode::EP2:
if (is_rare) { if (is_rare) {
switch (event) { switch (event) {
case 0x01: case 0x01: // rappy_type 1
add(EnemyType::SAINT_RAPPY); add(EnemyType::SAINT_RAPPY);
break; break;
case 0x04: case 0x04: // rappy_type 2
add(EnemyType::EGG_RAPPY); add(EnemyType::EGG_RAPPY);
break; break;
case 0x05: case 0x05: // rappy_type 3
add(EnemyType::HALLO_RAPPY); add(EnemyType::HALLO_RAPPY);
break; break;
default: default:
@@ -887,10 +890,10 @@ void Map::add_enemy(
add(EnemyType::GRASS_ASSASSIN); add(EnemyType::GRASS_ASSASSIN);
break; break;
case 0x0061: // TObjEneRe2Flower case 0x0061: // TObjEneRe2Flower
if ((episode == Episode::EP2) && (e.floor > 0x0F)) { if ((episode == Episode::EP2) && (e.floor == 0x11)) {
add(EnemyType::DEL_LILY); add(EnemyType::DEL_LILY);
} else { } else {
add(this->check_and_log_rare_enemy(e.uparam1 & 0x01, rare_rates->nar_lily) add(this->check_and_log_rare_enemy(e.uparam1 != 0, rare_rates->nar_lily)
? EnemyType::NAR_LILY ? EnemyType::NAR_LILY
: EnemyType::POISON_LILY); : EnemyType::POISON_LILY);
} }
@@ -904,7 +907,7 @@ void Map::add_enemy(
break; break;
} }
case 0x0064: // TObjEneSlime case 0x0064: // TObjEneSlime
add(this->check_and_log_rare_enemy(e.uparam1 & 0x01, rare_rates->pouilly_slime) add(this->check_and_log_rare_enemy(e.uparam1 != 0, rare_rates->pouilly_slime)
? EnemyType::POUILLY_SLIME ? EnemyType::POUILLY_SLIME
: EnemyType::POFUILLY_SLIME); : EnemyType::POFUILLY_SLIME);
default_num_children = 4; default_num_children = 4;