mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-05-25 05:19:57 -07:00
implement StealingInLogic option
This commit is contained in:
@@ -233,12 +233,6 @@ def generateRom(args, world: "LinksAwakeningWorld"):
|
||||
# The default rom has this build in, just need to set a flag and we get this save.
|
||||
rom.patch(0, 0x0003, "00", "01")
|
||||
|
||||
# Patch the sword check on the shopkeeper turning around.
|
||||
if world.ladxr_settings.steal == 'never':
|
||||
rom.patch(4, 0x36F9, "FA4EDB", "3E0000")
|
||||
elif world.ladxr_settings.steal == 'always':
|
||||
rom.patch(4, 0x36F9, "FA4EDB", "3E0100")
|
||||
|
||||
if world.ladxr_settings.hpmode == 'inverted':
|
||||
patches.health.setStartHealth(rom, 9)
|
||||
elif world.ladxr_settings.hpmode == '1':
|
||||
|
||||
@@ -40,8 +40,12 @@ class World:
|
||||
self._addEntrance("start_house", mabe_village, start_house, None)
|
||||
|
||||
shop = Location("Shop")
|
||||
Location().add(ShopItem(0)).connect(shop, OR(COUNT("RUPEES", 500), SWORD))
|
||||
Location().add(ShopItem(1)).connect(shop, OR(COUNT("RUPEES", 1480), SWORD))
|
||||
if options.steal:
|
||||
Location().add(ShopItem(0)).connect(shop, OR(COUNT("RUPEES", 500), SWORD))
|
||||
Location().add(ShopItem(1)).connect(shop, OR(COUNT("RUPEES", 1480), SWORD))
|
||||
else:
|
||||
Location().add(ShopItem(0)).connect(shop, COUNT("RUPEES", 500))
|
||||
Location().add(ShopItem(1)).connect(shop, COUNT("RUPEES", 1480))
|
||||
self._addEntrance("shop", mabe_village, shop, None)
|
||||
|
||||
dream_hut = Location("Dream Hut")
|
||||
|
||||
+11
-6
@@ -284,12 +284,15 @@ class MusicChangeCondition(Choice):
|
||||
# [Hero] Switch version hero mode, double damage, no heart/fairy drops.
|
||||
# [One hit KO] You die on a single hit, always."""),
|
||||
|
||||
# Setting('steal', 'Gameplay', 't', 'Stealing from the shop',
|
||||
# options=[('always', 'a', 'Always'), ('never', 'n', 'Never'), ('default', '', 'Normal')], default='default',
|
||||
# description="""Effects when you can steal from the shop. Stealing is bad and never in logic.
|
||||
# [Normal] requires the sword before you can steal.
|
||||
# [Always] you can always steal from the shop
|
||||
# [Never] you can never steal from the shop."""),
|
||||
|
||||
class StealingInLogic(DefaultOffToggle, LADXROption):
|
||||
"""
|
||||
Puts stealing from the shop in logic if the player has a sword.
|
||||
"""
|
||||
display_name = "Stealing in Logic"
|
||||
ladxr_name = "steal"
|
||||
|
||||
|
||||
class Bowwow(Choice):
|
||||
"""Allows BowWow to be taken into any area. Certain enemies and bosses are given a new weakness to BowWow.
|
||||
[Normal] BowWow is in the item pool, but can be logically expected as a damage source.
|
||||
@@ -521,6 +524,7 @@ ladx_option_groups = [
|
||||
OptionGroup("Miscellaneous", [
|
||||
TradeQuest,
|
||||
Rooster,
|
||||
StealingInLogic,
|
||||
TrendyGame,
|
||||
NagMessages,
|
||||
BootsControls
|
||||
@@ -579,3 +583,4 @@ class LinksAwakeningOptions(PerGameCommonOptions):
|
||||
nag_messages: NagMessages
|
||||
ap_title_screen: APTitleScreen
|
||||
boots_controls: BootsControls
|
||||
stealing_in_logic: StealingInLogic
|
||||
|
||||
@@ -85,7 +85,7 @@ Title screen graphics by toomanyteeth✨ (https://instagram.com/toomanyyyteeth)
|
||||
<p>The walrus is moved a bit, so that you can access the desert without taking Marin on a date.</p>
|
||||
|
||||
<h3>Logic</h3>
|
||||
<p>Depending on your options, you can only steal after you find the sword, always, or never.</p>
|
||||
<p>Depending on your options, you can only steal after you find the sword.</p>
|
||||
<p>Do not forget that there are two items in the rafting ride. You can access this with just Hookshot or Flippers.</p>
|
||||
<p>Killing enemies with bombs is in normal logic. You can switch to casual logic if you do not want this.</p>
|
||||
<p>D7 confuses some people, but by dropping down pits on the 2nd floor you can access almost all of this dungeon, even without feather and power bracelet.</p>
|
||||
|
||||
Reference in New Issue
Block a user