If a NamedRange has a `special_range_names` entry outside the
`range_start` and `range_end`, the HTML5 range input will clamp the
submitted value to the closest value in the range.
These means that, for example, Pokemon RB's "HM Compatibility" option's
"Vanilla (-1)" option would instead get posted as "0" rather than "-1".
This change updates NamedRange to behave like TextChoice, where the
select element has a `name` attribute matching the option, and there is
an additional element to be able to provide an option other than the
select element's choices.
This uses a different suffix of `-range` rather than `-custom` that
TextChoice uses. The reason is we need some way to decide whether to use
the custom value or the select value, and that method needs to work
without JavaScript. For TextChoice this is easy, if the custom field is
empty use the select element. For NamedRange this is more difficult as
the browser will always submit *something*. My choice was to only use
the value from the range if the select box is set to "custom". Since
this only happens with JS as "custom' is hidden, I made the range hidden
under no-JS. If it's preferred, I could make the select box hidden
instead. Let me know.
This PR also makes the `js-required` class set `display: none` with
`!important` as otherwise the class wouldn't work on any rule that
had `display: flex` with more specificity than a single class.
* updates HK to consistently use world.random, use world.options, don't use world = self.multiworld, and remove some things from the logicMixin
* Update HK to new options dataclass
* Move completion condition helpers to Rules.py
* updates from review
These areas are technically connected through The Observant, but the connection between The Observant and The Incomparable is marked as a warp because of the warp hallways leading up to The Observant's achievement panel. Creating separate entrances for The Incomparable is a simple workaround, and allows use of that connection during a pilgrimage.
* save the seed in slot data to reuse it in UT
* add logging when seed is missing
* add UT test and fix bundle test
* self review
* run UT test on allsanity+mod so it's more meaningfull
* Created panels mode door shuffle
* Added some panel door item names
* Remove RUNT TURN panel door
Not really useful.
* Fix logic with First SIX related stuff
* Add group_doors to slot data
* Fix LEVEL 2 behavior with panels mode
* Fixed unit tests
* Fixed duplicate IDs from merge
* Just regenerated new IDs
* Fixed duplication of color and door group items
* Removed unnecessary unit test option
* Fix The Seeker being achievable without entrance door
* Fix The Observant being achievable without locked panels
* Added some more panel doors
* Added Progressive Suits Area
* Lingo: Fix Basement access with THE MASTER
* Added indirect conditions for MASTER-blocked entrances
* Fixed Incomparable achievement access
* Fix STAIRS panel logic
* Fix merge error with good items
* Is this clearer?
* DREAD and TURN LEARN
* Allow a weird edge case for reduced locations
Panels mode door shuffle + grouped doors + color shuffle + pilgrimage enabled is exactly the right number of items for reduced locations. Removing color shuffle also allows for disabling pilgrimage, adding sunwarp locking, or both, with a couple of locations left over.
* Prevent small sphere one on panels mode
* Added shuffle_doors aliases for old options
* Fixed a unit test
* Updated datafile
* Tweaked requirements for reduced locations
* Added player name to OptionError messages
* Update generated.dat
* Docs: Add Swedish Guide for Pokemon Emerald
Swedish Translation
* v2
some proof reading & clarification changes
* v3
* v4
* v5
typo
* v6
* Update worlds/pokemon_emerald/docs/setup_sv.md
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
* Update worlds/pokemon_emerald/docs/setup_sv.md
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
* v7
Tried to reduce the length of lines, this should still convey the same message/meaning
* typo
* v8
Removed Leading/Trailing Spaces
* typo v2
* Added a couple of full stops.
* lowercase typos
* Update setup_sv.md
* Apply suggestions from code review
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
---------
Co-authored-by: Bryce Wilson <gyroscope15@gmail.com>
Co-authored-by: bittersweetrin <chandraherbozo@gmail.com>
* Fix logic bug on daggerfish
* Make new region for pond.
* Fix SVE logic for crops
* Fix Distant Lands Cropsanity
* Fix failing tests.
* Reverting removing these for now.
* Fix bugs, add combat requirement
* convert str into tuple directly
* add ginger island to mod tests
* Move a lot of mod item logic to content pack
* Gut the rules from DL while we're at it.
* Import nuke
* Fix alecto
* Move back some rules for now.
* Move archaeology rules
* Add some comments why its done.
* Clean up archaeology and fix sve
* Moved dulse to water item class
* Remove digging like worms for now
* fix
* Add missing shipsanity location
* Move background names around or something idk
* Revert ArchaeologyTrash for now
---------
Co-authored-by: Jouramie <jouramie@hotmail.com>
* settings: clean up imports
* settings: try to use atomic rename
* settings: flush, sync and validate new yaml
before replacing the old one
* settings: add test for Settings.save
* adding one faq :)
* adding another faq that links to the relevant file
* add lined line breaks between questions and lower the heading size of the question so sub-divisions can be added later
* missed some newlines
* updating best practice filler method
* add note about get_filler_item_name()
* updates to wording from review
* add section to CODEOWNERS for maintainers of this doc
* use underscores to reference the file easier in CODEOWNERS
* update link to be direct and filter to function name
* makes the kivy connect button do the same username forgetting that /connect does to fix an issue where losing connection would make you unable to connect to a different server
* extract duplicate code
* per request, adds handling on any disconnect to forget the saved password as to not leak it to other servers
---------
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
* Lingo: Add option to prevent shuffling postgame
* Allow roof access on door shuffle
* Fix broken unit test
* Simplified THE END edge case
* Revert unnecessary change
* Review comments
* Fix mastery unit test
* Update generated.dat
* Added player's name to error message
* [TLOZ]: Fix determinism / Add Location Name Groups / Remove Level 9 Junk Fill
Axing the final uses of world.multiworld.random that were missed before, hopefully fixing the determinism issue brought up in Issue #3664 (at least on TLOZ's end, leaving SMZ3 alone). Also adding location name groups finally, as well as axing the Level 9 Junk Fill because with the new location name groups players can choose to exclude Level 9 with exclude locations instead.
* location name groups
* add take any item and sword cave location name groups
* use sets like you're supposed to, silly
* update the addresses hopefully
* todo
* update address for steam and epic
* oops
* leftover hard address
* made auto tracking say which version of the game
* not needed anymore since they were updated
* FFMQ Efficiency improvement and use new options methods
* Hard check for 0x01 game status
* Fixes
* Why were Mac's Ship entrance hints excluded?
* Two remaining per_slot_randoms purged
* reformat generate_early
* Utils.parse_yaml
* Lingo: Add pilgrimage logic through Starting Room
* Added unit test
* Reverse order of two doors in unit test
* Remove print statements from TestPilgrimage
* Update generated.dat
* - Extracted walnut logic to a Mixin so it can be used in content pack requirements
* - Add 100 walnut requirements to the Queen of Sauce Cookbook
* - Woops a file wasn't added to previous commits
* - Make the queen of sauce cookbook a ginger island only thing, due to the walnut requirement
* - Moved the book in the correct content pack
* - Removed an empty class that I'm not sure where it came from