Skip to content

Oracle of Seasons APWorld 0.9f

Pre-release
Pre-release
Compare
Choose a tag to compare
@Dinopony Dinopony released this 22 Mar 17:21
· 805 commits to oos since this release

Changelog

🗳️ New Options

  • Duplicate Seed Tree: you can now configure which tree will contain a “seed duplicate”

    • previously, Horon’s tree was the one guaranteed to contain a seed duplicate, leading to 4 games out of 5 where one seed type was locked in the tree near D6
    • with this option, you can now enforce the fact that Tarm Ruins’ tree (or any other tree) will be the one that contain a duplicate, ensuring you can get all 5 seed types without going there (as in vanilla)
  • Tarm Ruins Gate Required Jewels: determines the number of jewels required to open the gate to Tarm Ruins

    • whatever the option’s value is, all 4 jewels are still shuffled in the pool
    • the sign in front of the gate indicates how many jewels are required to open the door
  • Added an alternate “Beat Ganon” goal

    • when set, you are teleported to the Room of Rites after beating Onox
    • you then need to defeat Twinrova, then Ganon to win the game
  • Combat Difficulty: applies a global modifier to damage received from most sources, which can make the experience more oriented towards exploration or combat.

    • Peaceful: great damage reduction
    • Easier: significant damage reduction
    • Vanilla: default damage values
    • Harder: significant damage increase
    • Insane: come on.
  • Samasa Desert Gate and a Random Samasa Gate Code Length:

    • you can now ask for the Samasa Desert gate code to be randomized
    • just like in the vanilla game, you can ask the piratian in their Subrosian lair to show you the code by closing cupboards
    • the desired randomized length can be configured… up to 40 inputs.
  • Randomize Ore Digging Spots:

    • Vanilla: all spots contain a golden ore chunk, like in vanilla
    • Randomized Hidden: all spots contain a randomized item instead (and golden ore chunks are shuffled in the pool)
    • Randomized Visible: all spots contain a randomized item, and spots are revealed as diggable tiles (like the one at the end of the hide & seek game)
  • New values for Rupee Old Men:

    • Random Values: each Old Man gives/takes a random amount of rupees
    • Random Positive Values: each Old Man gives a random amount of rupees, but can never make you pay to fix his door
    • Turn Into Locations: each Old Man becomes a randomized check, and an equivalent of the total sum of rupees given by all Old Men in vanilla is added to the item pool
  • Added support for Deathlink. You know you want it.

📦 New Locations

  • Strange Brothers’ Hide & Seek Minigame in Subrosia now grants a randomized item when done for the first time (subsequent times give guaranteed 50x Ore Chunks). Just like in previous releases, they do not steal an item from you: going to their house is enough to trigger the mini-game.

  • Buried Bomb Flower in Subrosia is now randomized, and the Bomb Flower can be found anywhere in the game

  • 3 new Maku Tree freestanding items gated behind essence counts

    • in the vanilla game, Maku Tree contained three Gasha Seeds that appeared each on a very specific essence count (3, 5 and 7 respectively)
    • now, those items appear at 3+, 5+ and 7+ essences respectively so they cannot be permanently missed anymore
    • the items were slightly moved because the game handles having several items in the same room pretty badly
      • first item is on the hallway upstairs of Farore’s room (accessible at 3+ essences)
      • second item is inside the first “resting pool” (accessible at 5+ essences)
      • third item is inside the third “resting pool” (accessible at 7+ essences)
  • Subrosian Sign-Loving Guy is now randomized

    • the amount of signs that need to be broken in order to get the item is configurable through an option
    • the NPC tells how many signs are required in order to get the reward, and what is your current progress towards that goal
    • default value for required sign count is 10, to turn it into a “fun” mini-game where you have to think about breaking a few signs along the seed without being a chore
  • Maple trade occuring when you have the Lon Lon Egg is now randomized, and the Ghastly Doll can now be obtained anywhere

💭 Misc. Improvements

  • Progression items (right) now have a distinctive sprite from non-progression items (left)
    Untitled

  • Bombs now work as progressive upgrades to the max bomb count

    • Finding a “Bombs (10)” treasure now increases max carriable bombs by 10
    • Finding all 10 instances in the item pool enables reaching 99, which is the max in vanilla linked games
  • Some adjustments were made to the item pool to better reflect their vanilla contents

    • Subrosian Wilds Digging Spot now “initially” contains a ring instead of rupees, adding a random ring to the pool
    • Spool Swamp Digging Spot now “initially” contains a ring instead of rupees, adding a random ring to the pool
  • Some adjustments were made to the item pool to improve the overall experience

    • -1 Gasha Seed ⇒ +1 Seed Satchel (puts all 3 Satchels in pool)
    • -1 Gasha Seed ⇒ +1 Bombs (enables reaching 99 max instead of 90)
    • -1 Gasha Seed ⇒ +1 Rupees x200 (for the wow effect)
    • -3 Gasha Seed ⇒ +3 Ore Chunks x50 (to have a bit of permanent ore chunks in the pool, even if not randomizing Subrosian digging spots)
  • Prices are overall a bit lower and more interestingly distributed

  • Impa refill has been slightly buffed:

    • it restores hearts up to full health
    • it restores 20 seeds of each instead of 10 (trees or deku scrub remaining the preferred refill methods when having 50+ max seeds)
  • Sunken City bullies requirement to visit the map below the seed tree no longer applies (changes nothing logically, it just is less obscure for beginners)

  • Grabbing the seed satchel doesn’t say “with 20 ember seeds” anymore, which was misleading

  • Renamed a few items to reflect their real name in-game

    • “Boombproof Ring” (lol) is now “Bombproof Ring”
    • “Bracelet” is now “Power Bracelet”
    • “Magnet Gloves” are now “Magnetic Gloves”
  • A few previously untrackable locations now have a trackable flag (especially useful for tracking software):

    • Seed trees when harvested for the first time
    • Essences
    • Pirate’s Bell
  • Optimized snowy layout for the “problematic winter map” in Woods of Winter

🧠 Logic Changes

  • Self-locking items are now a thing when using any accessibility option other than “locations” (mainly Small Keys and trade sequence items)

    • This means the logic will sometimes put a key behind the door it’s meant to unlock if that’s the only check behind that door
    • This will allow for more variety as a whole, and can be disabled by putting the “Locations” accessibility type
    • This change was possible thanks to an initial study and proof of concept developed by Ishigh (thanks!)
  • Summer-only vines near D2 have been replaced by stairs that make it so the stump and the chest are never inaccessible, even with dungeons shuffled and non-summer default season

    • this keeps the vanilla spirit for that region where the stump was initially accessible when entering
    • this prevents cursed configurations where you are expected to go through D2 again only to reach the stump and put autumn to have access to the cave below
  • Killing enemies with seeds now expects having two satchels to have a max of 50 seeds and ensure that chaining rooms in dungeon doesn’t result in a impossible logic

  • Killing enemies with bombs is now allowed in medium+ logic when having 40+ max bombs (I sincerely hope you’ll have an alternate way of killing them by that time)

  • Medium logic now expects you to know where you can get “wild” consumables in dungeons:

    • Ember Seeds (D4 Agunima room, D5 armos puzzle chest, D7 in first Poe room)
    • Mystery Seeds (D8 Frypolar room)
    • Bombs (D2 far moblins room)
  • Mystery seeds are not expected anymore as an Ember substitute when facing multiple torches with a tight timing

  • Added a path to reach Sunken City from the Moblin Keep promontory

  • 2nd poe fight in D7 was made easier in casual logic

  • Hard logic now takes into account the fact that you can obtain new seed types in some unusual places (D4 miniboss room, D7 entrance, D5 armos puzzle room…)

  • Frypolar logic was vastly improved

    • Casual logic now expects using Mystery Seeds + Bracelet only
    • Medium logic allows using Ember Seeds if max seeds are 50+
    • Hard logic allows using Ember Seeds even if max is 20
  • Essence gated checks (Treehouse old man, Maku tree freestanding items…) are now excluded if the essence requirement for getting Maku Seed is below theirs

  • Pits on the left of Spool Swamp Subrosian portal are back from vanilla game (they were removed in upstream rando because reasons which are not valid anymore)

  • Fixed golden beasts being logically killable with consumables when they required an actual lot of them, leading to occasionally unbeatable seeds

  • Dimitri can now be used to harvest seeds in Sunken City (thanks Ishigh)

  • Gohma logic was significantly improved (thanks Ishigh)

  • D7 darknut bridge sector logic was improved (thanks Ishigh)

⚙️ Bugfixes

  • You cannot receive items inside Blaino’s Gym anymore to prevent any “cheating” issue during Blaino’s fight

  • Syrup shop is not scouted before giving mushroom anymore

  • Fixed quickflute preventing the flute from killing Pols Voices

  • Impa doesn’t give “hidden bombs” anymore when not owning bombs which could be used to convince Sunken City bullies of letting Dimitri go

  • Advance shop is now always closed (even in GBA mode) when setting is false

  • Fixed a visually glitched tile in Temple Remains winter

  • Fixed the cupboard Piratian not showing the combination once other pirates had sailed to Western Coast

🔧 Technical Improvements

You cannot notice it, but the patcher has gone under lots of rewriting to make it way simpler than it was before. At first, it broke many things, but now we’re back on track and this means
that we are closer than ever of being able to port it into Python.

Being able to port it would remove the need for a patcher at all, and make the generation process provide an .apseasons file capable of building a ROM right away without the need for an external software.

There is no guarantee that this goal will ever be reached, but I’m on a good track to do so 👍


Special thanks to Ishigh and Seto for their cooperation during the development process!