Super Mario 64: Add Star Costs to Spoiler (#4544)
This commit is contained in:
parent
1832bac1a3
commit
96b941ed35
|
@ -48,6 +48,17 @@ class SM64World(World):
|
||||||
filler_count: int
|
filler_count: int
|
||||||
star_costs: typing.Dict[str, int]
|
star_costs: typing.Dict[str, int]
|
||||||
|
|
||||||
|
# Spoiler specific variable(s)
|
||||||
|
star_costs_spoiler_key_maxlen = len(max([
|
||||||
|
'First Floor Big Star Door',
|
||||||
|
'Basement Big Star Door',
|
||||||
|
'Second Floor Big Star Door',
|
||||||
|
'MIPS 1',
|
||||||
|
'MIPS 2',
|
||||||
|
'Endless Stairs',
|
||||||
|
], key=len))
|
||||||
|
|
||||||
|
|
||||||
def generate_early(self):
|
def generate_early(self):
|
||||||
max_stars = 120
|
max_stars = 120
|
||||||
if (not self.options.enable_coin_stars):
|
if (not self.options.enable_coin_stars):
|
||||||
|
@ -238,3 +249,19 @@ class SM64World(World):
|
||||||
for location in region.locations:
|
for location in region.locations:
|
||||||
er_hint_data[location.address] = entrance_name
|
er_hint_data[location.address] = entrance_name
|
||||||
hint_data[self.player] = er_hint_data
|
hint_data[self.player] = er_hint_data
|
||||||
|
|
||||||
|
def write_spoiler(self, spoiler_handle: typing.TextIO) -> None:
|
||||||
|
# Write calculated star costs to spoiler.
|
||||||
|
star_cost_spoiler_header = '\n\n' + self.player_name + ' Star Costs for Super Mario 64:\n\n'
|
||||||
|
spoiler_handle.write(star_cost_spoiler_header)
|
||||||
|
# - Reformat star costs dictionary in spoiler to be a bit more readable.
|
||||||
|
star_costs_spoiler = {}
|
||||||
|
star_costs_copy = self.star_costs.copy()
|
||||||
|
star_costs_spoiler['First Floor Big Star Door'] = star_costs_copy['FirstBowserDoorCost']
|
||||||
|
star_costs_spoiler['Basement Big Star Door'] = star_costs_copy['BasementDoorCost']
|
||||||
|
star_costs_spoiler['Second Floor Big Star Door'] = star_costs_copy['SecondFloorDoorCost']
|
||||||
|
star_costs_spoiler['MIPS 1'] = star_costs_copy['MIPS1Cost']
|
||||||
|
star_costs_spoiler['MIPS 2'] = star_costs_copy['MIPS2Cost']
|
||||||
|
star_costs_spoiler['Endless Stairs'] = star_costs_copy['StarsToFinish']
|
||||||
|
for star, cost in star_costs_spoiler.items():
|
||||||
|
spoiler_handle.write(f"{star:{self.star_costs_spoiler_key_maxlen}s} = {cost}\n")
|
||||||
|
|
Loading…
Reference in New Issue