ArchipelagoMW / Archipelago

Archipelago Multi-Game Randomizer and Server
https://archipelago.gg
Other
521 stars 678 forks source link

LADX: drop rupee farm condition #4189

Open threeandthreee opened 1 week ago

threeandthreee commented 1 week ago

What is this fixing or adding?

There's currently a rule that doesn't allow logic to use rupees until the player can farm them via the trendy game or the raft game. It isn't defined correctly (raft game should require feather to farm rupees), but it also just doesn't make sense as a condition. Logic already requires the player to have enough rupees to not need to farm. This rule pushes things back in logic for no real reason.

How was this tested?

Only generation so far

ScipioWright commented 1 week ago

So what happens if the player spends their rupees on hearts or some other "useless" thing?

palex00 commented 1 week ago

So what happens if the player spends their rupees on hearts or some other "useless" thing?

So, let me elaborate on the whole PR & also answer your question.

Currently there are 6 checks that require rupees:

The Shop Checks and Mamu are covered by having way more in logic than actually needed. Fishing Minigame (will never be affected by ER) has a bush breaker in logic: with this one you can also farm money off of monsters. The RAFT minigame is the only iffy one but to access it in any current iteration of ER or non-ER you'd need to luck into the edge case that the Bird Key Cave is Sphere 1 accessible (that's three entrances out of a lot) and you getting flippers Sphere 1 for it to be logically relevant. Any other case requires you to have a bush breaker already so it's guaranteed that you can farm rupees through monsters and then by proxy with the trendy minigame, etc. etc.

Essentially, we think that this is a tradeoff of ridiculous logic security versus these checks being ridiculously late into logic.

ScipioWright commented 1 week ago

Are the heavily inflated rupee counts not related to the fact that you can buy things in an "inefficient" order? The 3rd and 4th ones are both 1480, and they cost 500 and 980, so clearly those two are related.

Let's say you do mamu last. You have received exactly 1480 rupees and you do not have a sword yet. You spent 980 on the expensive shop item and 200 on the other shop item.

You now have 300 rupees and mamu is currently in logic.

palex00 commented 1 week ago

And if you can access Mamu you have enough equipment to farm rupees either through monsters, the fishing minigame or Trendy Minigame. The game only holds 999 rupees. So even the previous solution is just a bandaid fix.

ScipioWright commented 1 week ago

So, what is this change actually doing then? It doesn't seem to actually bring anything into logic any earlier than before other than the Raft game?

palex00 commented 1 week ago

It does, actually.

All "farming" is reliant on the Events "Raft Access" or "Can Trendy Minigame" being accessible. So stuff like Shop 200 Check can never be Sphere 1, even with 800 Rupees in Start Inventory, because it required access to these. So it'll bump them up by at least One Sphere.

Plus, stuff like the Shop Checks: 200 Rupees wouldn't be in logic even with 900 rupees because it still needed some form of Bush Breaker. With this change the Shops can be in logic with just rupees.

ScipioWright commented 1 week ago

So let's say someone starts with 200 rupees in start inventory. They spend 10 on a heart or something. They now have 190 rupees and cannot afford the shop check in logic. Is this correct?

threeandthreee commented 1 week ago

The rupee requirement for first shop item is inflated to 500, the player would need to burn 300 rupees in this scenario. Fwiw I don't love how inflated they are but it does protect against this in most reasonable cases.

ScipioWright commented 1 week ago

At the very minimum, you should consider adding a bush breaker to the Raft requirement, since as Palex said, you could get "lucky" enough for it to kill your seed.

threeandthreee commented 1 week ago

At the very minimum, you should consider adding a bush breaker to the Raft requirement, since as Palex said, you could get "lucky" enough for it to kill your seed.

Makes sense, I've added this to the logic updates PR