|
@ -316,6 +316,7 @@ impl MapEnemy { |
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#[must_use]
|
|
|
pub fn set_shiny(self) -> MapEnemy {
|
|
|
pub fn set_shiny(self) -> MapEnemy {
|
|
|
MapEnemy {
|
|
|
MapEnemy {
|
|
|
shiny: true,
|
|
|
shiny: true,
|
|
@ -337,6 +338,7 @@ impl MapEnemy { |
|
|
TODO: distinguish between a `random` rare monster and a `set/guaranteed` rare monster? (does any acceptable quest even have this?)
|
|
|
TODO: distinguish between a `random` rare monster and a `set/guaranteed` rare monster? (does any acceptable quest even have this?)
|
|
|
guaranteed rare monsters don't count towards the limit
|
|
|
guaranteed rare monsters don't count towards the limit
|
|
|
*/
|
|
|
*/
|
|
|
|
|
|
#[must_use]
|
|
|
pub fn set_rare_appearance(self) -> MapEnemy {
|
|
|
pub fn set_rare_appearance(self) -> MapEnemy {
|
|
|
match (self.monster, self.map_area.to_episode()) {
|
|
|
match (self.monster, self.map_area.to_episode()) {
|
|
|
(MonsterType::RagRappy, Episode::One) => {MapEnemy {monster: MonsterType::AlRappy, shiny:true, ..self}},
|
|
|
(MonsterType::RagRappy, Episode::One) => {MapEnemy {monster: MonsterType::AlRappy, shiny:true, ..self}},
|
|
@ -357,6 +359,7 @@ impl MapEnemy { |
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
// in theory this should only be called on monsters we know can have rare types
|
|
|
// in theory this should only be called on monsters we know can have rare types
|
|
|
|
|
|
#[must_use]
|
|
|
pub fn roll_appearance_for_mission(self, rare_monster_table: &RareMonsterAppearTable) -> MapEnemy {
|
|
|
pub fn roll_appearance_for_mission(self, rare_monster_table: &RareMonsterAppearTable) -> MapEnemy {
|
|
|
if rare_monster_table.roll_appearance(&self.monster) {
|
|
|
if rare_monster_table.roll_appearance(&self.monster) {
|
|
|
return self.set_rare_appearance()
|
|
|
return self.set_rare_appearance()
|
|
|