-
Notifications
You must be signed in to change notification settings - Fork 803
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LADX: drop rupee farm condition #4189
base: main
Are you sure you want to change the base?
LADX: drop rupee farm condition #4189
Conversation
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. Essentially, we think that this is a tradeoff of ridiculous logic security versus these checks being ridiculously late into logic. |
Are the heavily inflated rupee counts not related to the fact that you can buy things in an "inefficient" order? 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. |
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. |
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? |
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. |
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? |
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. |
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 |
FWIW - the reason all of the checks are inflated are to cover the cases of getting the "wrong" item first. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Upstream has also recently relaxed its rupee requirements a bit, to a larger degree than this PR is doing. So far the reception has been positive. The very small chance of a player getting soft locked is worth making rupee-locked items more important, imo. Rupees are also less likely to become junk items if they're not as frontloaded.
The player also always has the option of starting a new save if they do get stuck - softlocks should generally happen pretty early if they're going to.
I find this way of doing rupee logic quite confusing - Why exactly is access to a minigame required to farm rupees? Can't you just go kill monsters in the overworld? Why is the logic for rupee checks not just "can repeatedly kill enemies"? Plus some amount of "has received rupees" to be nice |
To be clear about what I mean: (For the record, this should be seen as a peer review, and is not blocking for this to be merged by me if everyone else approves it) |
So this PR is a bit confusing, but let me fully explain: There are 6 checks in the game that require rupees: Fishing Minigame (20), Trendy Minigame (10), Shop Check 1 (200), Shop Check 2 (980), Mamu (500), Raft Minigame (100). This is the current \main\ logic:
To explain, "COUNT" does also check if you have a way to rupee farm (which is defined as having a static weapon (no bombs, no bow, no powder) AND being able to access either the Raft minigame (which 3&3 pointed out is erronous already) OR be able to do the Trendy Game. Notice how every single count (except for the fishing minigame, since that is immediately available and is thus logically the first thing you should do - but even that has a r.bush AKA enemy killing requirement) is extremly inflated.
It does not make sense to have a farming requirement because the logic already assumes you've obtained enough rupees (via the multiworld even! Ingame farming there's a lot of free rupees) and then some. Especially in ER if you get unlucky and the Trendy Minigame is somewhere deep gone you're basically locked out of any money checks for a long time. And Raft farming is in itself even locked behind Trendy Minigame because you also need to pay the Raft Guy 100 every time (and again: erronously!) So yes, this is kind of dropping "overly restrictive" to "absolutely none" because there's no need for it. It's essentially a design decision between "No rupee farming" versus "Lots of rupee farming" and rupee farming just isn't fun. |
The original implementation allowed for sword having to unlock the shop via stealing. This has since or will soon be changed for…reasons? But another option is to have two different costs for the non shop checks, one for sword and one without.Just to be clear though - The farming requirement is not to reduce softlock potential for misspending rupees. It is ALSO there in case you get unlucky and hit the rupee cap before finding your rupee sinks. In the end I don’t think this will change a whole lot, but I am against it. You aren’t physically restricted from spending rupees without trendy access, just logically. I still see plenty of items in shop as is (admittedly with shop stealing enabled).Sent from my iPhoneOn Feb 1, 2025, at 2:18 PM, palex00 ***@***.***> wrote:
To be clear about what I mean: This PR feels to me like swinging all the way from "overly restrictive rupee farming condition" over to the other extreme of "no rupee farming condition"
(For the record, this should be seen as a peer review, and is not blocking for this to be merged by me if everyone else approves it)
So this PR is a bit confusing, but let me fully explain:
There are 6 checks in the game that require rupees: Fishing Minigame (20), Trendy Minigame (10), Shop Check 1 (200), Shop Check 2 (980), Mamu (500), Raft Minigame (100).
This is the current \main\ logic:
Location().add(FishingMinigame()).connect(mabe_village, AND(r.bush, COUNT("RUPEES", 20))) # fishing game, heart piece is directly done by the minigame.
trendy_shop.connect(Location().add(TradeSequenceItem(0x2A0, TRADING_ITEM_YOSHI_DOLL)), FOUND("RUPEES", 50))
Location().add(ShopItem(0)).connect(shop, OR(COUNT("RUPEES", 500), SWORD))
Location().add(ShopItem(1)).connect(shop, OR(COUNT("RUPEES", 1480), SWORD))
mamu = Location().connect(Location().add(Song(0x2FB)), AND(OCARINA, COUNT("RUPEES", 1480)))
Location().add(KeyLocation("RAFT")).connect(raft_house, AND(r.bush, COUNT("RUPEES", 100))) # add bush requirement for farming in case player has to try again
To explain, "COUNT" does also check if you have a way to rupee farm (which is defined as having a static weapon (no bombs, no bow, no powder) AND being able to access either the Raft minigame (which 3&3 pointed out is erronous already) OR be able to do the Trendy Game.
Notice how every single count (except for the fishing minigame, since that is immediately available and is thus logically the first thing you should do - but even that has a r.bush AKA enemy killing requirement) is extremly inflated.
Yoshi doll is +40 (to account for fishing minigame)
Shop Item 1 is +300 (to account for Raft, Fishing, Yoshi)
Shop Item 2 is +500 (to account for Mamu)
Mamu is +980 (to account for Shop Item 2)
Raft is an outlier because the initial implementation asssumed you'd be able to farm rupees inside itself - which is not possible without Feather.
It does not make sense to have a farming requirement because the logic already assumes you've obtained enough rupees (via the multiworld even! Ingame farming there's a lot of free rupees) and then some.
Especially in ER if you get unlucky and the Trendy Minigame is somewhere deep gone you're basically locked out of any money checks for a long time. And Raft farming is in itself even locked behind Trendy Minigame because you also need to pay the Raft Guy 100 every time (and again: erronously!)
So yes, this is kind of dropping "overly restrictive" to "absolutely none" because there's no need for it.
It's essentially a design decision between "No rupee farming" versus "Lots of rupee farming" and rupee farming just isn't fun.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
The option to take stealing out of logic was from a vote. Theres already a bush breaker requirement on all spending, in addition to rupees being progression and costs inflated. It is possible to heavily misspend rupees and need to farm, but its hard to do, and the minigame requirement id argue doesnt fix it, in that going infinite on minigames is as much a skill requirement as spending rupees effectively. Rupee overflow is a real concern and it would be nice to solve it, but again, i dont think the minigame requirement addresses that. |
I didn't see that. I thought this PR took out the bush breaker requirement as well. So then is the current logic, before this PR, checking for sword twice? 🤔 |
I was thinking that it was represented in the overworld logic definition but I had that wrong, its only certain cases. I'll put the free weapon rule back in. |
Good ending ✧・゚: *✧・゚:* |
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