Add max count & allow sleigh room to open

This commit is contained in:
MarioSpore
2025-08-16 02:26:25 -04:00
parent 3549e55c59
commit dced197dc4
3 changed files with 27 additions and 12 deletions

View File

@@ -117,15 +117,20 @@ MISSION_ITEMS_TABLE: dict[str, GrinchItemData] = {
#Sleigh Parts #Sleigh Parts
SLEIGH_PARTS_TABLE: dict[str, GrinchItemData] = { SLEIGH_PARTS_TABLE: dict[str, GrinchItemData] = {
"Exhaust Pipes": GrinchItemData("Sleigh Parts", 300, IC.progression_skip_balancing, "Exhaust Pipes": GrinchItemData("Sleigh Parts", 300, IC.progression_skip_balancing,
[GrinchRamData(0x0101FB, binary_bit_pos=2)]), [GrinchRamData(0x0101FB, binary_bit_pos=2), GrinchRamData(0x0100AA, binary_bit_pos=5),
GrinchRamData(0x010200, value=99)]),
"GPS": GrinchItemData("Sleigh Parts", 301, IC.useful, "GPS": GrinchItemData("Sleigh Parts", 301, IC.useful,
[GrinchRamData(0x0101FB, binary_bit_pos=5)]), [GrinchRamData(0x0101FB, binary_bit_pos=5), GrinchRamData(0x0100AA, binary_bit_pos=5),
GrinchRamData(0x010200, value=99)]),
"Tires": GrinchItemData("Sleigh Parts", 302, IC.progression_skip_balancing, "Tires": GrinchItemData("Sleigh Parts", 302, IC.progression_skip_balancing,
[GrinchRamData(0x0101FB, binary_bit_pos=4)]), [GrinchRamData(0x0101FB, binary_bit_pos=4), GrinchRamData(0x0100AA, binary_bit_pos=5),
GrinchRamData(0x010200, value=99)]),
"Skis": GrinchItemData("Sleigh Parts", 303, IC.progression_skip_balancing, "Skis": GrinchItemData("Sleigh Parts", 303, IC.progression_skip_balancing,
[GrinchRamData(0x0101FB, binary_bit_pos=3)]), [GrinchRamData(0x0101FB, binary_bit_pos=3), GrinchRamData(0x0100AA, binary_bit_pos=5),
GrinchRamData(0x010200, value=99)]),
"Twin-End Tuba": GrinchItemData("Sleigh Parts", 304, IC.progression_skip_balancing, "Twin-End Tuba": GrinchItemData("Sleigh Parts", 304, IC.progression_skip_balancing,
[GrinchRamData(0x0101FB, binary_bit_pos=6)]) [GrinchRamData(0x0101FB, binary_bit_pos=6), GrinchRamData(0x0100AA, binary_bit_pos=5),
GrinchRamData(0x010200, value=99)])
} }
#Access Keys #Access Keys
@@ -155,14 +160,19 @@ KEYS_TABLE: dict[str, GrinchItemData] = {
#Misc Items #Misc Items
MISC_ITEMS_TABLE: dict[str, GrinchItemData] = { MISC_ITEMS_TABLE: dict[str, GrinchItemData] = {
# This item may not function properly if you receive it during a loading screen or in Mount Crumpit # This item may not function properly if you receive it during a loading screen or in Mount Crumpit
"Fully Healed Grinch": GrinchItemData("Health Items", 500, IC.filler, [GrinchRamData(0x0E8FDC, value=120)]), "Fully Healed Grinch": GrinchItemData("Health Items", 500, IC.filler,
"5 Rotten Eggs": GrinchItemData("Rotten Egg Bundles", 502, IC.filler, [GrinchRamData(0x010058, value=5, update_existing_value=True)]), [GrinchRamData(0x0E8FDC, value=120)]),
"10 Rotten Eggs": GrinchItemData("Rotten Egg Bundles", 503, IC.filler, [GrinchRamData(0x010058, value=10, update_existing_value=True)]), "5 Rotten Eggs": GrinchItemData("Rotten Egg Bundles", 502, IC.filler,
"20 Rotten Eggs": GrinchItemData("Rotten Egg Bundles", 504, IC.filler, [GrinchRamData(0x010058, value=20, update_existing_value=True)]) [GrinchRamData(0x010058, value=5, update_existing_value=True, max_count=200)]),
"10 Rotten Eggs": GrinchItemData("Rotten Egg Bundles", 503, IC.filler,
[GrinchRamData(0x010058, value=10, update_existing_value=True, max_count=200)]),
"20 Rotten Eggs": GrinchItemData("Rotten Egg Bundles", 504, IC.filler,
[GrinchRamData(0x010058, value=20, update_existing_value=True, max_count=200)])
} }
USEFUL_IC_TABLE: dict[str, GrinchItemData] = { USEFUL_IC_TABLE: dict[str, GrinchItemData] = {
"Heart of Stone": GrinchItemData("Health Items", 501, IC.useful, [GrinchRamData(0x0100ED, value=1, update_existing_value=True)]) "Heart of Stone": GrinchItemData("Health Items", 501, IC.useful,
[GrinchRamData(0x0100ED, value=1, update_existing_value=True, max_count=4)])
} }
#Traps #Traps

View File

@@ -8,4 +8,5 @@ class GrinchRamData(NamedTuple):
# Hex uses 0x00, unsigned are base whole numbers # Hex uses 0x00, unsigned are base whole numbers
binary_bit_pos: Optional[int] = None binary_bit_pos: Optional[int] = None
bit_size: int = 1 bit_size: int = 1
update_existing_value: bool = False update_existing_value: bool = False
max_count: int = 0

View File

@@ -73,4 +73,8 @@ class GrinchWorld(World):
return { return {
"give_unlimited_eggs": self.options.unlimited_eggs.value, "give_unlimited_eggs": self.options.unlimited_eggs.value,
} }
def generate_output(self, output_directory: str) -> None:
# print("")
pass