kbranch / Magpie

A web based tracker that integrates LADXR
MIT License
7 stars 1 forks source link

[Logic]: entrando minor issues #12

Closed foxsouns closed 1 year ago

foxsouns commented 1 year ago

From my understanding, Richard's house/Richard's cave should be treated as a one-way (cave-to-house) unless all five feathers are collected, then treat it as a two-way.

I understand that the way this tracker works is based off of a self-hosted copy of LADXR: would this be something to fix upstream, or just handle differently? If it would be an upstream fix, has it already happened in post-v10 commits?

foxsouns commented 1 year ago
tracker export ``` {"inventory":{"SHIELD":0,"SWORD":0,"TOADSTOOL":0,"MAGIC_POWDER":0,"MAX_POWDER_UPGRADE":0,"SHOVEL":0,"BOMB":0,"MAX_BOMBS_UPGRADE":0,"BOW":0,"MAX_ARROWS_UPGRADE":0,"FEATHER":0,"ROOSTER":0,"POWER_BRACELET":1,"PEGASUS_BOOTS":0,"FLIPPERS":0,"HOOKSHOT":1,"MAGIC_ROD":0,"BLUE_TUNIC":0,"RED_TUNIC":0,"OCARINA":0,"SONG1":0,"SONG2":0,"SONG3":0,"BOWWOW":0,"BOOMERANG":0,"SEASHELL":1,"TAIL_KEY":0,"ANGLER_KEY":0,"FACE_KEY":0,"BIRD_KEY":0,"SLIME_KEY":0,"GOLD_LEAF":1,"TRADING_ITEM_YOSHI_DOLL":0,"TRADING_ITEM_RIBBON":0,"TRADING_ITEM_DOG_FOOD":0,"TRADING_ITEM_BANANAS":0,"TRADING_ITEM_STICK":0,"TRADING_ITEM_HONEYCOMB":0,"TRADING_ITEM_PINEAPPLE":0,"TRADING_ITEM_HIBISCUS":0,"TRADING_ITEM_LETTER":0,"TRADING_ITEM_BROOM":0,"TRADING_ITEM_FISHING_HOOK":0,"TRADING_ITEM_NECKLACE":0,"TRADING_ITEM_SCALE":0,"TRADING_ITEM_MAGNIFYING_GLASS":0,"INSTRUMENT8":0,"KEY8":0,"NIGHTMARE_KEY8":0,"INSTRUMENT1":0,"KEY1":0,"NIGHTMARE_KEY1":0,"GREAT_FAIRY":0,"KEY9":0,"NIGHTMARE_KEY9":0,"INSTRUMENT7":0,"KEY7":0,"NIGHTMARE_KEY7":0,"INSTRUMENT2":0,"KEY2":0,"NIGHTMARE_KEY2":0,"INSTRUMENT6":0,"KEY6":0,"NIGHTMARE_KEY6":0,"INSTRUMENT3":0,"KEY3":0,"NIGHTMARE_KEY3":0,"INSTRUMENT5":0,"KEY5":0,"NIGHTMARE_KEY5":0,"INSTRUMENT4":0,"KEY4":1,"NIGHTMARE_KEY4":0},"settings":{"py/object":"magpie.LocalSettings","checkSize":"32","mapBrightness":"50","showOutOfLogic":false,"animateChecks":true,"swapMouseButtons":false,"swapItemsAndMap":false,"hideChecked":false,"ignoreHigherLogic":false,"hideVanilla":false,"dungeonItemsTemplate":"default.html","itemsTemplate":"default.html","customDungeonItems":null,"customItems":null,"showDungeonItemCount":false,"showItemsOnly":false,"highlightItemsOnHover":true,"enableAutotracking":false},"args":{"py/object":"ladxrInterface.getArgs..Args","flags":[],"logic":"","accessibility":"all","race":false,"heartpiece":true,"seashells":true,"heartcontainers":true,"instruments":false,"tradequest":true,"witch":true,"rooster":true,"boomerang":"gift","dungeon_items":"smallkeys","randomstartlocation":true,"dungeonshuffle":true,"entranceshuffle":"expert","boss":"default","miniboss":"default","goal":"egg","itempool":"","hpmode":"default","hardmode":"none","steal":"default","bowwow":"normal","overworld":"normal","owlstatues":"","superweapons":false,"nagmessages":true,"multiworld":null},"checkedChecks":{"Mabe Village-Tarin's Gift":{"name":"Tarin's Gift","area":"Mabe Village"},"Tal Tal Mountains-Outside Five Chest Game":{"name":"Outside Five Chest Game","area":"Tal Tal Mountains"},"Mabe Village-Bush Field":{"name":"Bush Field","area":"Mabe Village"},"Ukuku Prairie-Cave East of Mabe":{"name":"Cave East of Mabe","area":"Ukuku Prairie"},"Key Cavern-Four Zol Chest":{"name":"Four Zol Chest","area":"Key Cavern"},"Mabe Village-Well Heart Piece":{"name":"Well Heart Piece","area":"Mabe Village"},"Mysterious Woods-Two Zol, Moblin Chest":{"name":"Two Zol, Moblin Chest","area":"Mysterious Woods"},"Pothole Field-Under Richard's House":{"name":"Under Richard's House","area":"Pothole Field"}},"entranceMap":{"dream_hut":"start_house","papahl_house_right":"raft_return_enter","multichest_top":"raft_return_exit","papahl_house_left":"d6_connector_entrance","shop":"landfill","start_house":"desert_cave","mabe_phone":"prairie_left_cave1","trendy_shop":"d3","ulrira":"landfill","kennel":"landfill","madambowwow":"landfill","library":"landfill","toadstool_entrance":"richard_maze","multichest_right":"richard_house"},"connections":[{"entrances":["papahl_house_right","multichest_top"],"connector":{"id":"raft_return","name":"Raft Return","entrances":["raft_return_exit","raft_return_enter"],"obstacleTypes":["ONEWAY"],"checks":[]},"label":"A"},{"entrances":["multichest_right","toadstool_entrance"],"connector":{"id":"richard","name":"Richard's Cave","entrances":["richard_maze","richard_house"],"obstacleTypes":["FEATHER","LEAVES"],"checks":["0x2C8"]},"label":"B"}]} ```

seed: 1606F78167545E4BF13DE8087631F2BC settings: hsHTWRDsruEElc

chest game area: places after that should be available now, but are not in-tracker.

kbranch commented 1 year ago

Oh, good catch!

You're right, it should be considered one way and it looks like logic is not seeing it that way. It should be a pretty simple upstream fix. I have a couple other logic tweaks that I've been meaning to submit, so I can bundle this in with that pull request soon if you'd like.

I think this is the area that will need tweaking if you're interested in digging into it yourself: https://github.com/daid/LADXR/blob/master/logic/overworld.py#L214

foxsouns commented 1 year ago

I also noticed a breach in logic involving Rooster Key Cave: the pits in that area are another one-way: to the waterfall below Rooster Key Cave. It doesn't appear to be randomized, or accounted for in logic.

kbranch commented 1 year ago

Now while that one (also the well in Mabe and hole in Lanmola's room) isn't randomized, it should be accounted for in logic - I've seen it work as a one way before. Do you have an example where it's not?

foxsouns commented 1 year ago

I don't think so: the waterfall doesn't physically allow Link to go back in, and the Rooster Key Cave pit exit isn't randomized, so that's the only case. I do have a seed that was made easier because of RKC pit exit, but there was another way to get to the mountain area elsewhere, IIRC. I guess it's possibly a logic skip, as of now.

kbranch commented 1 year ago

That pit exit is in logic (except for casual logic) as a one way from RKC to that waterfall area in Tal Tal. The tracker reflects that when I fiddle with it and here's the line in logic for it: https://github.com/daid/LADXR/blob/master/logic/overworld.py#L379

Let me know if you found a situation where it's not showing up correctly in the tracker, though - it might be some weird edge case or an issue on the Magpie end of things.

foxsouns commented 1 year ago

@kbranch: been playing around with Rooster Key Cave: seems to enable all the right Tal Tal checks upon finding it. No action needed (afai-can tell).

foxsouns commented 1 year ago

Oh, well, of course, labeling it as a one-way: it "works" as-is, though a map marking of the exit waterfall would be nice.

kbranch commented 1 year ago

That's a good point - I'll think about how to display that better, along with Lanmola's cave and the hole entrance into damp cave.

kbranch commented 1 year ago

The logic change has been merged in upstream. I'll open another issue for representing the one-way drop entrances.