Core: implement start_inventory_from_pool (#1170)

* Core: implement start_inventory_from_pool

* Factorio/LttP/Subnautica: add start_inventory_from_pool Option
This commit is contained in:
Fabian Dill
2023-04-10 21:13:33 +02:00
committed by GitHub
parent 8d559daa35
commit c7284f90d9
7 changed files with 47 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
import typing
from BaseClasses import MultiWorld
from Options import Choice, Range, Option, Toggle, DefaultOnToggle, DeathLink, TextChoice, PlandoBosses
from Options import Choice, Range, Option, Toggle, DefaultOnToggle, DeathLink, StartInventoryPool, PlandoBosses
class Logic(Choice):
@@ -466,5 +466,6 @@ alttp_options: typing.Dict[str, type(Option)] = {
"beemizer_total_chance": BeemizerTotalChance,
"beemizer_trap_chance": BeemizerTrapChance,
"death_link": DeathLink,
"allow_collect": AllowCollect
"allow_collect": AllowCollect,
"start_inventory_from_pool": StartInventoryPool,
}

View File

@@ -1247,8 +1247,8 @@ def patch_rom(world: MultiWorld, rom: LocalRom, player: int, enemized: bool):
# assorted fixes
rom.write_byte(0x1800A2, 0x01 if world.fix_fake_world[
player] else 0x00) # Toggle whether to be in real/fake dark world when dying in a DW dungeon before killing aga1
rom.write_byte(0x180169,
0x01 if world.lock_aga_door_in_escape else 0x00) # Lock or unlock aga tower door during escape sequence.
# Lock or unlock aga tower door during escape sequence.
rom.write_byte(0x180169, 0x00)
if world.mode[player] == 'inverted':
rom.write_byte(0x180169, 0x02) # lock aga/ganon tower door with crystals in inverted
rom.write_byte(0x180171,

View File

@@ -2,7 +2,8 @@ from __future__ import annotations
import typing
import datetime
from Options import Choice, OptionDict, OptionSet, ItemDict, Option, DefaultOnToggle, Range, DeathLink, Toggle
from Options import Choice, OptionDict, OptionSet, ItemDict, Option, DefaultOnToggle, Range, DeathLink, Toggle, \
StartInventoryPool
from schema import Schema, Optional, And, Or
# schema helpers
@@ -454,6 +455,7 @@ factorio_options: typing.Dict[str, type(Option)] = {
"evolution_trap_increase": EvolutionTrapIncrease,
"death_link": DeathLink,
"energy_link": EnergyLink,
"start_inventory_from_pool": StartInventoryPool,
}
# spoilers below. If you spoil it for yourself, please at least don't spoil it for anyone else.

View File

@@ -1,6 +1,6 @@
import typing
from Options import Choice, Range, DeathLink, DefaultOnToggle
from Options import Choice, Range, DeathLink, DefaultOnToggle, StartInventoryPool
from .Creatures import all_creatures, Definitions
@@ -104,4 +104,5 @@ options = {
"creature_scans": CreatureScans,
"creature_scan_logic": AggressiveScanLogic,
"death_link": SubnauticaDeathLink,
"start_inventory_from_pool": StartInventoryPool,
}