Fabian Dill
f311d3a8b9
implement "crossover logic".
...
Makes it impossible that logical progression for a logic-having player is placed inside a no-logic world. All other placements remain available.
2020-06-19 03:01:23 +02:00
caitsith2
617312fd4b
add available_triforce_pieces
2020-06-17 01:02:54 -07:00
Fabian Dill
9fcad5b392
fix that in a copied world progressive equipment would always say "on", including spoiler log
2020-06-09 18:44:02 +02:00
Fabian Dill
17f884d047
make triforce pieces required an option
2020-06-07 15:22:24 +02:00
Fabian Dill
2a649a749c
fix crash when quick filling locally locked trash items
2020-06-04 03:30:59 +02:00
Fabian Dill
e55726efca
make world-local items available as a general option
2020-06-03 22:13:58 +02:00
Fabian Dill
3864eb5071
fix /snes <snes_interface> if interface contains spaces (which it shouldn't, but meh)
2020-06-03 02:19:16 +02:00
Fabian Dill
daf3747bec
add progression balancing to spoiler
2020-05-20 22:30:21 +02:00
CaitSith2
0deac5ef9d
Add Bosses to spoiler log ( #96 )
2020-05-20 22:21:05 +02:00
Fabian Dill
11678fa20b
turn progression balancing into a per-player option
2020-05-18 03:54:29 +02:00
compiling
195f6c86d2
Replace world exploration with a faster algorithm - use BFS and keep track of all entrances that are currently blocked by progression items
2020-05-10 19:27:13 +10:00
Fabian Dill
1a53b0e69b
rename has_blunt_weapon to has_melee_weapon
2020-04-20 19:17:10 +02:00
Fabian Dill
860faf6ef5
unify versions
2020-04-20 14:50:49 +02:00
Fabian Dill
31d3b7ce84
implement glitch_boots as a proper CLI option
2020-04-16 11:02:16 +02:00
Fabian Dill
26ea2d5905
some optimization
2020-04-14 18:59:00 +02:00
Fabian Dill
2fb419263e
remove some instances of no longer existing __unicode__
2020-04-10 21:31:15 +02:00
Fabian Dill
01b7a590e7
add glitch_boots mystery node
2020-04-10 20:58:52 +02:00
Fabian Dill
2ebc133cab
add world get_type type checker
2020-04-10 20:54:18 +02:00
Fabian Dill
95d51d48bf
Merge branch 'pull/23'
...
# Conflicts:
# BaseClasses.py
# EntranceShuffle.py
# ItemList.py
# Mystery.py
# Rules.py
2020-04-08 15:07:19 +02:00
Fabian Dill
f89c28d5c2
Merge branch 'master' into pull/58
...
# Conflicts:
# AdjusterMain.py
# BaseClasses.py
# EntranceShuffle.py
# Gui.py
# InvertedRegions.py
# ItemList.py
# Main.py
# Plando.py
# Rom.py
# Rules.py
2020-04-04 09:16:39 +02:00
compiling
270fbce516
Fix bombs check
2020-03-15 21:59:06 +11:00
compiling
ab89f70fa3
Add 10 bombs as an uncle weapon for standard.
2020-03-15 11:09:34 +11:00
compiling
18c10dc7ad
Make retro arrows always require buying the wooden arrow.
...
The Silver Arrows grant the ability to shoot if they are non-progressive, but this is harder to model.
2020-03-15 10:12:22 +11:00
compiling
5c95cf8730
Fix Half Magic logic
2020-03-14 10:31:28 +11:00
Fabian Dill
4cb5af19d6
write spoiler in unicode
2020-03-10 00:36:26 +01:00
Fabian Dill
99e7d51f11
remove reachable cache. Seems I missed invalidations somewhere as the wrong state can be retained.
2020-03-08 05:41:56 +01:00
Fabian Dill
f583db3ee9
remove collections_extended dependency and replace with much faster stdlib Counter
2020-03-07 23:35:55 +01:00
Fabian Dill
27b6dd8bd7
some speed improvments
2020-03-07 23:20:11 +01:00
Fabian Dill
6059db3ea0
some general improvements. Mostly performance improvements of patching roms in multiworld with enemizer
2020-03-06 23:08:46 +01:00
Fabian Dill
e3beb702f8
fix clock mode, again
2020-03-04 13:55:03 +01:00
Fabian Dill
d49bb10534
remove unused checks (as indicated by new type annotations)
2020-03-03 00:17:36 +01:00
Fabian Dill
260e156316
add some annotations to BaseClasses.py
2020-03-03 00:12:14 +01:00
Fabian Dill
11e1ad6901
some small improvements for mystery
2020-02-23 17:06:44 +01:00
Fabian Dill
95aea8c4b4
rename ocarina to flute.
2020-02-17 10:08:03 +01:00
Fabian Dill
b04db006e0
implement server-client handshake and move hint system to optional colorama support
2020-02-16 15:32:40 +01:00
qadan
3d021356b8
hera and tr superbunny logic
2020-02-12 19:48:36 -04:00
qadan
aa569d1c3d
rework as region connectors (inverted will be broken)
2020-02-10 23:54:35 -04:00
qadan
ff3b879a02
more idiomatic, bugfix too
2020-02-10 00:38:55 -04:00
qadan
d22ccdedb3
some changes
2020-02-06 12:20:50 -04:00
cassidy
0e18dd06a6
Fix can_take_damage world attribute ( #24 )
2020-02-03 03:52:57 +01:00
cassidy
21b8c73179
Add "timer" as individual setting ( #23 )
2020-02-03 02:10:56 +01:00
qadan
4b7694b50f
updates
2020-01-28 18:19:07 -04:00
DatXFire
fbfcb54bab
Add missing colon ( #15 )
2020-01-22 18:08:56 +01:00
Fabian Dill
06ea170ecd
Non progressive option ( #12 )
...
* allow non-progressive
* use the actual extended_collections module
2020-01-22 06:28:58 +01:00
DatXFire
341e794cd8
Add Beemizer and Pot Shuffle to Spoiler Log Output
2020-01-18 12:51:10 -05:00
Bonta-kun
f988f7671b
--remote_items toggle: items will no longer be stored in the rom, a connection to a multiworld server will be required to receive them
2020-01-18 09:50:12 +01:00
Bonta-kun
ad278f91d6
Multiworld: clients will now be automatically be identified from the rom name and have their names and teams set by the host, meaning those need to be configured during seed gen
...
Player names will show up in spoiler log and hint tiles instead of player id
MultiClient: autoreconnect to mw server
2020-01-14 10:42:27 +01:00
Bonta-kun
2f5a3e24dd
Small shops refactor, cleanup some inverted mess
2020-01-10 11:41:22 +01:00
Bonta-kun
77ae96cf1b
Refactor rom patching now that jsonrom patches can safely be merged
2020-01-10 07:02:44 +01:00
Bonta-kun
6bafdfafe6
Mystery: rom options can be set in weights file, eg
...
rom:
sprite:
random: 1
randomonhit: 1
mog: 1
disablemusic: off
quickswap:
on: 1
off: 0
menuspeed:
normal: 1
instant: 1
double: 1
triple: 1
quadruple: 1
half: 1
heartcolor:
red: 1
blue: 1
green: 1
yellow: 1
random: 1
heartbeep:
double: 1
normal: 1
half: 1
quarter: 1
off: 1
ow_palettes:
default: 1
random: 1
blackout: 1
uw_palettes:
default: 1
random: 1
blackout: 1
2020-01-09 17:46:07 +01:00
Bonta-kun
42b85d7a3c
Include sphere0 items in the spoiler log and in the playthrough
2020-01-09 08:31:49 +01:00
compiling
edd656b903
Swap implementation of Take Any fix to match Multiworld.
2020-01-03 08:27:22 +11:00
compiling
0eed4bb527
Add shop door ids to tables (used when shop locations are vanilla)
...
Do not replace Upgrade Fairy with retro shop
2020-01-02 16:33:00 +11:00
Bonta-kun
fe307b1ac7
bzzz bzzz
2019-12-30 03:03:53 +01:00
Bonta-kun
819f6dc975
Retro: fix take any entrances with default connections
2019-12-27 19:11:41 +01:00
Bonta-kun
aa080eb455
Include unreachable items in the spoiler log
2019-12-21 13:33:07 +01:00
Bonta-kun
4a16ba74e8
Fix triforce hunt icon showing for every player
2019-12-21 10:42:59 +01:00
Bonta-kun
8721310cf7
World: include can_access_trock_eyebridge can_access_trock_front can_access_trock_big_chest can_access_trock_middle and fix_fake_world in the player specific attributes
2019-12-18 20:45:51 +01:00
Bonta-kun
36bdb5f487
Spoiler: reorder some settings for visibility
2019-12-17 21:12:05 +01:00
Bonta-kun
a24fe1f3bf
World.__init__: group player attributes to remove some redundancy
2019-12-17 21:09:33 +01:00
Bonta-kun
1ecb5fe40b
Individual settings: shufflebosses shuffleenemies enemy_health enemy_damage
2019-12-17 15:55:53 +01:00
Bonta-kun
8a5eef11ce
Individual settings: hints
2019-12-17 12:22:55 +01:00
Bonta-kun
d9281adc07
Individual settings: accessibility
2019-12-17 12:14:29 +01:00
Bonta-kun
e5246d5d5a
Individual settings: retro
2019-12-17 00:16:02 +01:00
Bonta-kun
1315eb55cf
Individual settings: map/compass/key/bk shuffle
2019-12-16 21:46:47 +01:00
Bonta-kun
dc26dfce77
Individual settings: crystals_ganon crystals_gt openpyramid
2019-12-16 19:09:15 +01:00
Bonta-kun
ec1b9eca43
Individual settings: shuffle
2019-12-16 18:24:34 +01:00
Bonta-kun
203147dda1
Individual settings: difficulty and item_functionality
2019-12-16 17:46:21 +01:00
Bonta-kun
c1788c070d
Individual settings: goal
2019-12-16 16:55:00 +01:00
Bonta-kun
9ca755d5b2
Individual settings: swords
2019-12-16 16:54:57 +01:00
Bonta-kun
ab28858a8f
Individual settings: mode
2019-12-16 16:54:46 +01:00
Bonta-kun
79786c7c9e
Individual settings: logic
2019-12-16 13:26:07 +01:00
Bonta-kun
d33582a3a2
Enable bombs in escape assist with an enemized standard start so you can beat the game
2019-12-16 09:59:16 +01:00
Bonta-kun
d608d5ca30
Optimize update_reachable_regions using the new region cache, it is almost twice as fast now
2019-12-14 19:53:19 +01:00
Bonta-kun
e4fef05d53
Initialize region cache in initialize_regions() and make it a 2d map for more efficient player filtering
2019-12-14 19:19:08 +01:00
Bonta-kun
fc9d1b501b
Replace keysanity with map/compass/key/bk shuffle
2019-12-13 22:37:52 +01:00
Bonta-kun
25068bcfdd
Added an option to pre-open the pyramid hole (aka "fast ganon")
2019-12-12 09:20:32 +01:00
Bonta-kun
d87cb2c380
BaseClasses: do not tag every location as locked by default
2019-12-10 19:21:05 +01:00
Bonta-kun
f479c8dc23
dont throw on __len__ attribute
2019-12-10 02:14:22 +01:00
Bonta-kun
55a30aa91f
multiworld
2019-12-09 19:27:56 +01:00
cassidoxa
2859acef7d
Swordless rom writes and inverted fixes
...
* Update Swordless rom writes
* Remove swordless as possible mode in ItemList.py
* Fix inverted HC Ledge access
Added collection state helper methods for determining lw/dw access
Restricted locations where Link's House can be in inverted
Dark Sanc and Link's House can no longer be at the back of Skull Woods
Fixed minor error in inverted bunny rules
* Update Link's House Shuffling in inverted insanity
* More isolated entrances not to put Link's House at
* Fix Link's House in dungeons shuffles
* More dungeons shuffle stuff I forgot
2019-09-21 21:59:16 -04:00
Kevin Cathcart
ab99e8c223
Triforce Hunt turn-in logic
2019-08-28 21:12:44 -04:00
Kevin Cathcart
df6bf6f99c
Fix errors
2019-08-24 15:53:21 -04:00
Kevin Cathcart
eb1b5053e5
update json spoiler meta section
2019-08-24 15:35:58 -04:00
cassidoxa
c042442d98
Pre bomb TR doors in inverted
2019-08-16 23:00:17 -04:00
Kevin Cathcart
418568df60
Add Item functionality setting and progressive bow
...
Progressive bows still have issue for silvers hint
2019-08-10 19:37:26 -04:00
Kevin Cathcart
996bf8495c
Implement new weapons modes
...
This also includes some partial additional cleanup of the item pool.
2019-08-10 16:10:54 -04:00
Kevin Cathcart
ef7c3d4f06
New Item/Location accessibility options
...
Replaces existing check_only_beatable, which became the "none" option.
TR can run out of key placement options, with the 100% locations
option, but I really don't care enough. It exists mostly for people who
want to 100% a seed, or to point to if they ask about keys locked behind
themselves.
2019-08-10 16:10:54 -04:00
Kevin Cathcart
b0f4fa8cec
Partial implementation of many V31 features
...
Partial support for Progressive bow
- Still needs to be added to item pool
- Silver hint handling remains TBD even for VT
Added weapons selection.
- Vanilla needs to be implemented
- Assured needs to be implemented
- Inverted swordless is almost certainly messed up.
- Swordless standard mode will likely softlock
- Random weapon standard mode is currently treated as uncle assured
Deleted removed difficulties
- Remaining difficulties still need to be adjusted
Added locked property to locations:
- This is used for preplaced items etc so that multiworld balancing
knows they cannot be moved.
Made a few of the difficulty changes from V31, but not all.
Added required text changes to handle crystals requirements
- More changes will likely me made in future
- Currently there is is no way to tell ganon requirement in
Inverted mode
2019-08-10 16:10:47 -04:00
Kevin Cathcart
90e5f522d8
Partially implement variable crystal requirements
2019-08-03 16:48:31 -04:00
cassidoxa
18f1275050
Inverted Mode ( #5 )
...
Merging in Cassidoxa's inverted mode.
I've still not fully reviewed the logic used in this mode, so it should be considered experimental, pending an in depth review by either myself or AA.
2019-07-27 09:13:13 -04:00
Kevin Cathcart
6d5a0a004d
Use a proper multiset for progression items
...
This can cut generation times in half in some cases
2019-07-13 18:17:16 -04:00
Kevin Cathcart
dcca15eda7
Avoid changing spoiler file for single world
2019-07-13 18:11:43 -04:00
Kevin Cathcart
c4570b732d
Remove option_identifier
...
It is no longer needed because we set the hash based on an actual
hash of the rom contents, so it is not based on the title field anymore.
2019-07-11 20:39:08 -04:00
Kevin Cathcart
759c1a5686
Optimize simplified caching system
2019-07-11 20:39:08 -04:00
Kevin Cathcart
d6ff27f0a5
Reinstate the state cache system for playthough generation
...
Fixed the issues in can_beat_game that required me to turn it off.
2019-07-11 20:39:08 -04:00
Kevin Cathcart
0b9e144f8e
Minor fixes and clarifications for Bonta's Multiworld code
2019-07-11 20:39:08 -04:00
Bonta-kun
1a62b1da28
Multiworld core implementation By Bonta0
...
Does not include the server/client code or the rom writes
specific to it. Indeed it cannot write multiworld roms at
all right now, pending addition future updates to support
the official ALTTPR Multiworld client.
Includes some GUI changes by Alaszun
Co-authored-by: Alaszun <koelze@google.com>
2019-07-11 20:39:08 -04:00
Kevin Cathcart
d44d194de7
Switch to simpler caching system
...
This should speed up generating the seeds the currently take
the longest. Seems to have no impact on the average case.
2019-07-09 20:31:39 -04:00
AmazingAmpharos
4d16559fae
TR Logic Fix
...
This update should fully fix the key logic for Turtle Rock. This involved fixing several longstanding bugs in the program we didn't realize we had until trying to really fix this issue. Notable inclusions are that now seeds generated with a count will be identical to similarly numbered seeds generated individually and that now the always allows actually work (key for key apparently actually never happened in ER before and we didn't notice!). This also required refactoring the item pool generation before rule setting and individually moving pendant/crystal placement out of item pool generation (it's not a separate step between rule setting and normal item fill). A few exotic seed generation fails are still possible involving multi-entrance dungeons being really, really inaccessible in non-keysanity, but they're now appropriately super rare instead of being as common as they were before.
2019-04-18 16:11:11 -05:00