Minor bug fixes and other updates
This commit is contained in:
parent
b908ba8718
commit
b259c10d27
|
@ -409,11 +409,11 @@ class CollectionState(object):
|
||||||
return len([pritem for pritem in self.prog_items if pritem.startswith('Bottle')])
|
return len([pritem for pritem in self.prog_items if pritem.startswith('Bottle')])
|
||||||
|
|
||||||
def has_hearts(self, count):
|
def has_hearts(self, count):
|
||||||
# Warning: This oncly considers items that are marked as advancement items
|
# Warning: This only considers items that are marked as advancement items
|
||||||
return self.heart_count() >= count
|
return self.heart_count() >= count
|
||||||
|
|
||||||
def heart_count(self):
|
def heart_count(self):
|
||||||
# Warning: This oncly considers items that are marked as advancement items
|
# Warning: This only considers items that are marked as advancement items
|
||||||
return (
|
return (
|
||||||
self.item_count('Boss Heart Container')
|
self.item_count('Boss Heart Container')
|
||||||
+ self.item_count('Sanctuary Heart Container')
|
+ self.item_count('Sanctuary Heart Container')
|
||||||
|
@ -424,26 +424,27 @@ class CollectionState(object):
|
||||||
def can_lift_heavy_rocks(self):
|
def can_lift_heavy_rocks(self):
|
||||||
return self.has('Titans Mitts')
|
return self.has('Titans Mitts')
|
||||||
|
|
||||||
def can_extend_magic(self, smallmagic=8, fullrefill=False): #This reflects the total magic Link has, not the total extra he has.
|
def can_extend_magic(self, smallmagic=16, fullrefill=False): #This reflects the total magic Link has, not the total extra he has.
|
||||||
basemagic = 8
|
basemagic = 8
|
||||||
if self.has('Quarter Magic'):
|
if self.has('Quarter Magic'):
|
||||||
basemagic = 32
|
basemagic = 32
|
||||||
elif self.has('Half Magic'):
|
elif self.has('Half Magic'):
|
||||||
basemagic = 16
|
basemagic = 16
|
||||||
|
if self.can_buy_unlimited('Green Potion') or self.can_buy_unlimited('Blue Potion'):
|
||||||
if self.world.difficulty == 'hard' and not fullrefill:
|
if self.world.difficulty == 'hard' and not fullrefill:
|
||||||
basemagic = basemagic + int(basemagic * 0.5 * self.bottle_count())
|
basemagic = basemagic + int(basemagic * 0.5 * self.bottle_count())
|
||||||
elif self.world.difficulty == 'expert' and not fullrefill:
|
elif self.world.difficulty == 'expert' and not fullrefill:
|
||||||
basemagic = basemagic + int(basemagic * 0.25 * self.bottle_count())
|
basemagic = basemagic + int(basemagic * 0.25 * self.bottle_count())
|
||||||
elif self.world.difficulty == 'insane' and not fullrefill:
|
elif self.world.difficulty == 'insane' and not fullrefill:
|
||||||
basemagic = basemagic
|
basemagic = basemagic
|
||||||
elif self.can_buy_unlimited('Green Potion') or self.can_buy_unlimited('Red Potion'):
|
else:
|
||||||
basemagic = basemagic + basemagic * self.bottle_count()
|
basemagic = basemagic + basemagic * self.bottle_count()
|
||||||
return basemagic >= smallmagic
|
return basemagic >= smallmagic
|
||||||
|
|
||||||
def can_kill_most_things(self, enemies=5):
|
def can_kill_most_things(self, enemies=5):
|
||||||
return (self.has_blunt_weapon()
|
return (self.has_blunt_weapon()
|
||||||
or self.has('Cane of Somaria')
|
or self.has('Cane of Somaria')
|
||||||
or (self.has('Cane of Byrna') and (enemies < 6 or self.can_extend_Magic()))
|
or (self.has('Cane of Byrna') and (enemies < 6 or self.can_extend_magic()))
|
||||||
or self.can_shoot_arrows()
|
or self.can_shoot_arrows()
|
||||||
or self.has('Fire Rod')
|
or self.has('Fire Rod')
|
||||||
)
|
)
|
||||||
|
|
6
Rom.py
6
Rom.py
|
@ -772,7 +772,11 @@ def patch_rom(world, rom, hashtable, beep='normal', color='red', sprite=None):
|
||||||
rom.write_byte(0x3A9A7, 0xD0) # Residual Portal: Normal (D0= Light Side, F0=Dark Side, 42 = both (Darth Vader))
|
rom.write_byte(0x3A9A7, 0xD0) # Residual Portal: Normal (D0= Light Side, F0=Dark Side, 42 = both (Darth Vader))
|
||||||
|
|
||||||
rom.write_byte(0x18004D, 0x00) # Escape assist (off)
|
rom.write_byte(0x18004D, 0x00) # Escape assist (off)
|
||||||
rom.write_byte(0x18004E, 0x00) # uncle Refill (off)
|
rom.write_byte(0x18004E, 0x00) # escape fills
|
||||||
|
rom.write_int16_to_rom(0x180183, 0) # rupee fill (for bow if rupee arrows enabled)
|
||||||
|
rom.write_bytes(0x180185, [0x00, 0x00, 0x00]) # uncle item refills
|
||||||
|
rom.write_bytes(0x180188, [0x00, 0x00, 0x00]) # zelda item refills
|
||||||
|
rom.write_bytes(0x18018B, [0x00, 0x00, 0x00]) # uncle item refills
|
||||||
|
|
||||||
|
|
||||||
if world.goal in ['pedestal', 'triforcehunt']:
|
if world.goal in ['pedestal', 'triforcehunt']:
|
||||||
|
|
Loading…
Reference in New Issue