this allows skipping multiple simplifications of the same object, e.g. item_rules
also update the logic simplification tests to be a proper unittest.TestCase
* Update faq_en.md
Reorganizing information and adding links to some of the various guides and website pages. Even just adding the Getting Started, Supported Games, and Server Commands links seems like a hefty upgrade. We have good resources, we should make them obvious.
I think more can probably be done here, but I already shuffled this around a lot.
* Reorganize information again, elaborate single player
Sneaki's suggestion makes way more sense organizationally. Added more detail to the single player section to more clearly explain the easiest method.
* Usage of multi-world
Consistency
Co-authored-by: kindasneaki <ryandj67@hotmail.com>
* More multi-world
More consistency
Co-authored-by: kindasneaki <ryandj67@hotmail.com>
* Revert to multiworld
Makes more sense and is colloquially the preferred terminology.
* Rework "leaving early"
Changed the "What if a player needs to leave early" section into, "Does everyone need to be connected at the same time?"
This allows the FAQ to explain briefly what a sync multiworld and an async multiworld is. This is probably good material for the Glossary, but it comes up so much in the Discord that we probably need to explain it here as briefly as possible. This paragraph lends itself to the question of what to do if a player must leave early anyway.
* Grammatical, tensing, and voice updates for consistency with other pages I originally authored.
---------
Co-authored-by: kindasneaki <ryandj67@hotmail.com>
Co-authored-by: Chris Wilson <chris@legendserver.info>
* add missing groups
* remove set comprehensions
* fix boss essence
* reorganized them
* combine boss essence on creation instead of update
* rename to match option names
* Add missing groups
* add PoP totem
* Stardew Valley: Test: unify mods
* Stardew Valley: Test: don't use SVTestBase where setUp is unused
* Stardew Valley: Test: remove duplicate backpack test
* Stardew Valley: Test: remove 2,3,4 heart tests
assume the math is correct with just 2 points on the curve
* Stardew Valley: Test: reduce duplicate test/gen runs
* Stardew Valley: Test: Change 'long' tests to not use TestBase
TestBase' setUp is not being used in the changed TestCases
* Stardew Valley: Test: Use subtests and inheritance for backpacks
* Stardew Valley: Test: add flag to skip some of the extensive tests by default
* Stardew Valley: speed up rules creation by 4%
No class should ever inherit from And, Or, False_ or True_ and isinstance is not free.
Sadly there is no cheap way to forbid inheritance, but it was tested using metaclass.
* Stardew Valley: save calls to type()
Local variable is a bit faster than fetching type again
* Stardew Valley: save calls to True_() and False_(), also use 'in' operator
* Stardew Valley: optimize And and Or simplification
* Stardew Valley: optimize logic constructors
* begin reworking adding games.md
* make it presentable
* some doc cleanup
* style cleanup
* rework the "more on that later" section of SDV
* remove now unused images
* make the doc links consistent
* typo
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
---------
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
* bumpstik: treasure/booster location rules
* bumpstik: oop missed a bit
* bumpstik: apply access rule to Hazards check
* bumpstik: move completion cond. to set_rules
* bumpstik: tests?
I have literally never written these before so 🤷
* bumpstik: oops
* bumpstik: how about this?
* bumpstik: fix some logic
* bumpstik: this almost works but not quite
* bumpstik: accurate region boundaries for BBs
since we're using rules now
* bumpstik: holy heck it works now
* SoE: create regions cleanup and speedup
keep local reference instead of hitting multiworld cache
also technically fixes a bug where all locations are in 'menu', not 'ingame'
* SoE: somplify region connection
* WebHost: unify references to options
* it was just an extra s the whole time...
* grammar
* redirect from old pages
* redirect stuff correctly
* use url_for
* use " for modified strings
* remove redirect cache
* player_settings
* update site map
Sweep only current player's locations so that more players does not slow it down.
Fix a slight possibility of Full door shuffle crash by only sorting for outdoor dead ends only when connecting from a non-dead end.
- Added location name groups, so you can make your entire Water Temple priority to annoy everyone else
- Significant improvement to ER generation success rate (~80% to >99%)
- Changed `adult_trade_start` option to a choice option instead of a list (this shouldn't actually break any YAMLs though, due to the lesser-known property of lists parsing as a uniformly-weighted choice)
- Major improvements to the option tooltips where needed. (Possibly too much text now)
- Changed default hint distribution to `async` to help people's generation times. The tooltip explains that it removes WOTH hints so people hopefully don't get tripped up.
- Makes stick and nut capacity upgrades useful items
- Added shop prices and required trials to spoiler log
- Added Cojiro to adult trade item group, because it had been forgotten previously
- Fixed size-modified chests not being moved properly due to trap appearance changing the size
- Fixed Thieves Hideout keyring not being allowed in start inventory
- Fixed hint generation not accurately flagging barren locations on certain dungeon item shuffle settings
- Fixed bug where you could plando arbitrarily-named items into the world, breaking everything
This PR adds a new, optional aspect to the Ancient Cave experience:
During their run, players can have the opportunity to purchase some additional items or spells to improve their party. If enabled, a shop will appear everytime a certain (configurable) number of floors in the dungeon has been completed. The shop inventories are generated randomly (taking into account player preference as well as a system to ensure that more expensive items can only become available deeper into the run).
For customization, 3 new options are introduced:
- `shop_interval`: Determines by how many floors the shops are separated (or keeps them turned off entirely)
- `shop_inventory`: Determines what's possible to be for sale. (Players can specify weights for general categories of things such as "weapon" or "spell" or even adjust the probabilities of individual items)
- `gold_modifier`: Determines how much gold is dropped by enemies. This is the player's only source of income and thus controls how much money they will have available to spend in shops