11from dataclasses import dataclass
22
33from Options import Toggle , Range , Choice , PerGameCommonOptions , DefaultOnToggle , StartInventoryPool , OptionGroup , \
4- DeathLink , Removed
4+ ItemSet , DeathLink , Removed
55
66
77# Main Options
@@ -123,7 +123,7 @@ class StartingMajorUpgrades(Range):
123123 """How many major upgrades you begin with.
124124 Note that depending on your StartingLocation and EarlyProgression settings, you may receive more than specified here
125125 in order to successfully generate the game. Upgrades are taken from the general item pool and will be replaced
126- by a random minor tank .
126+ by a random filler item .
127127 These will be applied in addition to your start_inventory and start_inventory_from_pool items.
128128 These will be sent by the client once you're connected.
129129 This is a Custom Game Mode option and will only be applied if GameMode is set to Custom."""
@@ -135,14 +135,22 @@ class StartingMajorUpgrades(Range):
135135class StartingEnergyTanks (Range ):
136136 """How many Energy Tanks you begin with.
137137 This will be overridden by the number specified in start_inventory and start_inventory_from_pool, if applicable.
138- Energy tanks are taken from the general item pool and will be replaced by a random minor tank .
138+ Energy tanks are taken from the general item pool and will be replaced by a random filler item .
139139 These will be sent by the client once you're connected.
140140 This is a Custom Game Mode option and will only be applied if GameMode is set to Custom."""
141141 display_name = "Starting Energy Tanks"
142142 range_start = 0
143143 range_end = 20
144144 default = 0
145145
146+ class FillerItems (ItemSet ):
147+ """Which Items are used as filler when Items are removed from the pool
148+ Whenever an item is removed from the pool by start_inventory_from_pool, StartingMajorUpgrades, StartingEnergyTanks,
149+ or for other reasons, it will be replaced with a random item from this list.
150+ This is a Custom Game Mode option and will only be applied if GameMode is set to Custom."""
151+ display_name = "Filler Items"
152+ default = ["Missile Tank" , "Power Bomb Tank" ]
153+
146154class OpenSectorElevators (Toggle ):
147155 """Determines if the sector elevators in the Sector Hub are locked by their vanilla keycard requirements.
148156 This is a Custom Game Mode option and will only be applied if GameMode is set to Custom."""
@@ -243,6 +251,7 @@ class MetroidFusionOptions(PerGameCommonOptions):
243251 StartingLocation : StartingLocation
244252 StartingMajorUpgrades : StartingMajorUpgrades
245253 StartingEnergyTanks : StartingEnergyTanks
254+ FillerItems : FillerItems
246255 OpenSectorElevators : OpenSectorElevators
247256 SectorNavigationRoomHintLocks : SectorNavigationRoomHintLocks
248257
@@ -283,6 +292,7 @@ class MetroidFusionOptions(PerGameCommonOptions):
283292 StartingLocation ,
284293 StartingMajorUpgrades ,
285294 StartingEnergyTanks ,
295+ FillerItems ,
286296 OpenSectorElevators ,
287297 SectorNavigationRoomHintLocks
288298 ]),
0 commit comments