restore unkillable thieves in chaosthieves option

This commit is contained in:
Fabian Dill 2020-07-05 03:12:28 +02:00
parent 78dd0d4280
commit 252f9600fe
5 changed files with 17 additions and 11 deletions

View File

@ -292,8 +292,10 @@ def parse_arguments(argv, no_defaults=False):
parser.add_argument('--skip_playthrough', action='store_true', default=defval(False))
parser.add_argument('--enemizercli', default=defval('EnemizerCLI/EnemizerCLI.Core'))
parser.add_argument('--shufflebosses', default=defval('none'), choices=['none', 'basic', 'normal', 'chaos'])
parser.add_argument('--shuffleenemies', default=defval('none'), choices=['none', 'shuffled', 'chaos'])
parser.add_argument('--enemy_health', default=defval('default'), choices=['default', 'easy', 'normal', 'hard', 'expert'])
parser.add_argument('--shuffleenemies', default=defval('none'),
choices=['none', 'shuffled', 'chaos', 'chaosthieves'])
parser.add_argument('--enemy_health', default=defval('default'),
choices=['default', 'easy', 'normal', 'hard', 'expert'])
parser.add_argument('--enemy_damage', default=defval('default'), choices=['default', 'shuffled', 'chaos'])
parser.add_argument('--shufflepots', default=defval(False), action='store_true')
parser.add_argument('--beemizer', default=defval(0), type=lambda value: min(max(int(value), 0), 4))

2
Gui.py
View File

@ -375,7 +375,7 @@ def guiMain(args=None):
enemizerEnemyLabel.pack(side=LEFT)
enemyShuffleVar = StringVar()
enemyShuffleVar.set('none')
enemizerEnemyOption = OptionMenu(enemizerEnemyFrame, enemyShuffleVar, 'none', 'shuffled', 'chaos')
enemizerEnemyOption = OptionMenu(enemizerEnemyFrame, enemyShuffleVar, 'none', 'shuffled', 'chaos', 'chaosthieves')
enemizerEnemyOption.pack(side=LEFT)
enemizerBossFrame = Frame(enemizerFrame)

View File

@ -331,7 +331,9 @@ def roll_settings(weights):
ret.shuffleenemies = {'none': 'none',
'shuffled': 'shuffled',
'random': 'chaos'
'random': 'chaos',
'chaosthieves': 'chaosthieves',
'chaos': 'chaos'
}[get_choice('enemy_shuffle', weights)]
ret.enemy_damage = {'default': 'default',

5
Rom.py
View File

@ -152,7 +152,7 @@ def patch_enemizer(world, player: int, rom: LocalRom, enemizercli, random_sprite
options = {
'RandomizeEnemies': world.enemy_shuffle[player] != 'none',
'RandomizeEnemiesType': 3,
'RandomizeBushEnemyChance': world.enemy_shuffle[player] == 'chaos',
'RandomizeBushEnemyChance': 'chaos' in world.enemy_shuffle[player],
'RandomizeEnemyHealthRange': world.enemy_health[player] != 'default',
'RandomizeEnemyHealthType': {'default': 0, 'easy': 0, 'normal': 1, 'hard': 2, 'expert': 3}[
world.enemy_health[player]],
@ -203,7 +203,8 @@ def patch_enemizer(world, player: int, rom: LocalRom, enemizercli, random_sprite
'BeesLevel': 0,
'RandomizeTileTrapPattern': world.enemy_shuffle[player] == 'chaos',
'RandomizeTileTrapFloorTile': False,
'AllowKillableThief': world.enemy_shuffle[player] != 'none',
'AllowKillableThief': bool(random.randint(0, 1)) if 'thieves' in world.enemy_shuffle[player] else
world.enemy_shuffle[player] != 'none',
'RandomizeSpriteOnHit': random_sprite_on_hit,
'DebugMode': False,
'DebugForceEnemy': False,

View File

@ -145,16 +145,17 @@ item_functionality:
boss_shuffle:
none: 1 # No boss shuffle
simple: 0 # Existing bosses except Ganon and Agahnim are shuffled throughout dungeons
full: 0 # Replace GT bosses with random bosses, then follow simple logic
random: 0 # Choose from one of the above options
full: 0 # 3 bosses can occur twice
random: 0 # Any boss can appear any amount of times
enemy_shuffle:
none: 1 # Vanilla enemy placement
shuffled: 0 # Enemies are randomized
random: 0 # Choose one of the above
random: 0 # also shuffle bush enemies, random tile rooms and random bush enemy spawn chance
chaosthieves: 0 # random + thieves may not be killable
enemy_damage:
default: 1 # Vanilla enemy damage
shuffled: 0 # Enemies do a randomized amount of damage
random: 0 # Choose one of the above
shuffled: 0 # Enemies deal 0 to 4 hearts and armor helps
random: 0 # Enemies deal 0 to 8 hearts and armor just reshuffles the damage
enemy_health:
default: 1 # Vanilla enemy HP
easy: 0 # Enemies have reduced health