fix: prevent crash from bush spawning mimics hopefully
This commit is contained in:
@@ -408,8 +408,9 @@ def randomize_overworld_enemies(data_tables, custom_ow):
|
||||
chosen = random.choices(candidate_sprites, weight, k=1)[0]
|
||||
sprite.kind = chosen.sprite
|
||||
# randomize the bush sprite per area
|
||||
bush_candidates = [x for x in candidate_sprites if x.bush_valid]
|
||||
weight = [data_tables.ow_weights[r.sprite] for r in candidate_sprites]
|
||||
bush_sprite_choice = random.choices(candidate_sprites, weight, k=1)[0]
|
||||
bush_sprite_choice = random.choices(bush_candidates, weight, k=1)[0]
|
||||
data_tables.bush_sprite_table[area_id] = bush_sprite_choice
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ class SpriteRequirement:
|
||||
self.uw_valid = True
|
||||
self.can_randomize = True
|
||||
self.water_phobic = False
|
||||
self.bush_valid = True
|
||||
|
||||
self.groups = []
|
||||
self.sub_groups = defaultdict(list)
|
||||
@@ -94,6 +95,10 @@ class SpriteRequirement:
|
||||
self.uw_valid = False
|
||||
return self
|
||||
|
||||
def no_bush(self):
|
||||
self.bush_valid = False
|
||||
return self
|
||||
|
||||
def good_for_uw_water(self):
|
||||
return self.water_only and not self.static and not self.dont_use and self.uw_valid
|
||||
|
||||
@@ -366,8 +371,8 @@ def init_sprite_requirements():
|
||||
SpriteRequirement(EnemySprite.MagicShopAssistant).affix().sub_group(0, 0x4b).sub_group(3, 0x5a),
|
||||
SpriteRequirement(EnemySprite.SomariaPlatform).affix().sub_group(2, 0x27),
|
||||
SpriteRequirement(EnemySprite.CastleMantle).affix().sub_group(0, 0x5d),
|
||||
SpriteRequirement(EnemySprite.GreenMimic).sub_group(1, 0x2c),
|
||||
SpriteRequirement(EnemySprite.RedMimic).sub_group(1, 0x2c),
|
||||
SpriteRequirement(EnemySprite.GreenMimic).sub_group(1, 0x2c).no_bush(),
|
||||
SpriteRequirement(EnemySprite.RedMimic).sub_group(1, 0x2c).no_bush(),
|
||||
SpriteRequirement(EnemySprite.MedallionTablet).affix().sub_group(2, 0x12),
|
||||
|
||||
# overlord requirements - encapsulated mostly in the required sheets
|
||||
|
||||
Reference in New Issue
Block a user