Commit Graph

77 Commits

Author SHA1 Message Date
NewSoupVi c984b48149
The Witness: Fix Town Tower 4th Door Logic () 2023-11-07 07:39:36 +01:00
Fabian Dill 3e0d1d4e1c
Core: change Region caching to on_change from on-miss-strategy () 2023-10-29 19:47:37 +01:00
NewSoupVi 9f126ad0d0
The Witness: Fix random events not having the correct probabilities () 2023-10-22 06:48:06 +02:00
NewSoupVi 19d649f92b
The Witness: Update docs (outdated information) ()
* Update Witness Game Page

* Update outdated Witness Setup Guide

* Incorporate suggestions
2023-10-12 19:46:16 -04:00
NewSoupVi b41a1e69b4 The Witness: Fix Itemlinks 2023-09-24 02:04:27 +02:00
NewSoupVi 8834ba88aa Witness: Expert Doors Logic Fix
Expert Swamp Maze currently thinks it needs Red Underwater 4 instead of the door. This could lead to an unbeatable seed in door shuffle, although it's very unlikely.
2023-09-22 02:55:44 +02:00
NewSoupVi 5eef7a34d3
The Witness: Fix Expert Tutorial Gate Close () 2023-09-10 23:34:20 +02:00
blastron 6c844750ae
Witness: fix items being modified by other slots () 2023-09-10 23:29:42 +02:00
NewSoupVi aa19a79d26
Witness: Fix one of the hints not being a Haiku (seriously) ()
I hope this gets a prize for "Most irrelevant PR in AP history"

Explanation:
When changing the hint system on the client side to be able to auto-wrap, decisions were made about which line breaks were still explicitly important, with most of them being removed.

This hint was somewhat devalued in the process.

-. --- - .... .. -. --. translates to "Nothing", which I thought was the entirety of the joke.

However, the line breaks were actually also important, because:

dash dot, dash dash dash,
dash, dot dot dot dot, dot dot,
dash dot, dash dash dot

is a Haiku! And the hint's creator (oddGarrett I believe) said this was specifically part of the creative vision for this joke hint. They said it's fine, I don't need to change it, but I couldn't let that stand.

So, the explicit line breaks for this joke hint are back.
2023-08-29 20:56:40 +02:00
blastron e30f364bbd
Witness: Fix for Witness plando crashes. () 2023-08-16 09:03:41 -05:00
NewSoupVi cf37a69e53
Witness: Fix 2 generation crashes ()
* Fix for error in get_early_items when removing plandoed items.

* Fix Early Caves

* Remove unnecessary list() call

* Update worlds/witness/items.py

Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>

---------

Co-authored-by: blastron <blastron@mac.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
2023-07-28 09:39:56 +02:00
NewSoupVi 8f447487fb Witness: Add Exempt-Medic to the in-game credits hint 2023-07-28 03:30:45 +02:00
NewSoupVi 2333ddeaf7
The Witness: Make the path behind Keep Pressure Plates 2 logical in Vanilla and Normal () 2023-07-25 17:58:28 +02:00
NewSoupVi 0e8ad7b9bc
Witness: Fixing a world bleed issue with multiple Witness seeds, preventing generation ()
Co-authored-by: blastron <blastron@mac.com>
2023-07-24 22:54:23 -05:00
NewSoupVi 6797216eb8
Witness: Fix type hints being incompatible with 3.8 ()
* Fixed 3.8 typing in init

* Fixed 3.8 typing in items

* Fixed 3.8 typing in player logic

* Fixed 3.8 typing in static_logic

* Fix 3.8 typing in utils

* Fixed fault import
2023-07-20 02:10:48 +02:00
NewSoupVi 75463193ab
Witness: Yeah let's not sort the entire multiworld's itempool lol ()
* Witness: Yeah let's not sort the entire multiworld's itempool lol

* Non-stupid dict sorting

Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>

* Even less stupid dict sorting

Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>

---------

Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
2023-07-20 01:20:59 +02:00
NewSoupVi 1a29caffcb
Witness: (Fatal) Fix incorrect reference due to a faulty merge conflict () 2023-07-19 17:08:25 -05:00
blastron 1f6db12797
The Witness: Item loading refactor. ()
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2023-07-18 22:02:57 -05:00
NewSoupVi f318ca8886
Witness: Add junk hints for new games () 2023-07-18 21:19:58 -05:00
NewSoupVi 48746f6c62
Witness: Fix Python 3.11 crash and fix Desert Laser hint () 2023-07-18 10:18:42 +02:00
NewSoupVi bad79ee11a
Witness: Fix excluded EPs not being precompleted anymore ()
One of the recent PRs accidentally removed all ability for the client to see which EPs are precompleted (due to settings)

This is pretty bad, as the client now thinks these EPs need to be completed for "Obelisk Side" locations, when the generator does not. This would lead to impossible seeds.
2023-07-18 09:56:04 +02:00
NewSoupVi afed1dc558
Witness: Logic Fix (Incorrect Symbols expected for Quarry Lower Row 1 in Expert) ()
Doesn't currently lead to any broken seeds or anything, it just makes seeds unnecessarily restrictive.
2023-07-18 09:34:31 +02:00
NewSoupVi cfe14aec76
The Witness: Add Quarry Stoneworks Control Room Left to the hint pool () 2023-07-09 14:21:05 +02:00
NewSoupVi 99656bf059
The Witness: Utils.cache_argsless -> functools.lru_cache ()
* Changed Utils.cache_argsless to functools.lru_cache

* Revmoed unused variable

* Removed remaining direct reference to a .txt outside utils

* Update worlds/witness/utils.py

Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>

---------

Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
2023-06-28 02:23:50 +02:00
NewSoupVi dc46e96e3f
Witness: APworld compatibility, but for real this time ()
* removed relative imports from outside the witness package

* Remove Witness from the apworld shame list
2023-06-26 00:38:39 +02:00
NewSoupVi 0934e5c711
The Witness: Fixed seeds not generating with vanilla logic ()
Yikes, I swear I ran like 15 generations with a random yaml, I got so unlucky
2023-06-26 00:20:28 +02:00
NewSoupVi 46b13e0b53
Witness: apworld support () 2023-06-25 02:00:56 +02:00
NewSoupVi f3c788d0cc Witness: Fix missing location
All Pressure Plates puzzles are now always locations.

This makes a line where a Pressure Plates location gets added and a different one cause incorrect behavior.
2023-06-23 10:16:39 +02:00
NewSoupVi 845502ad39
The Witness: Hint distribution changes, added locations, misc fixes ()
Changes:

* Hints should feel a lot less same-y now ("Priority hints" are no longer always hints in disguise)
* Keep Hedge Mazes 1-3 and Pressure Plates 1-3 are added as locations in all settings
* Desert Final Room Hexagonal & Desert Final Room Bent 3 are added as locations
* Entries in exclude_locations that are referring to panels are now sent through slot data. This means they can be pre-skipped on the client side.

Fixes:

* Logic error in the Stoneworks that led to more restrictive seeds than necessary
* Logic error for Theater Flowers EP that led to more restrictive seeds than necessary
* Fixed crash in plando when "item" is a dict with weights
* Spoiler log locations were in random order per region, now they are consistent
2023-06-21 00:45:26 +02:00
NewSoupVi 923ff033b1
The Witness: Logic Fix: Vanilla First Wooden Beam () 2023-06-15 00:30:50 +02:00
NewSoupVi 7674e62ba7 The Witness: Logic fix in response to broken seed (Expert Swamp) 2023-05-15 08:54:12 +02:00
NewSoupVi 0cfdc973f6
The Witness - Expert logic bug (could lead to broken seeds) () 2023-03-11 10:09:09 +01:00
NewSoupVi b1599c557f
The Witness: Death Link + Small bug fixes ()
* Fully functional DeathLink implementation. But it's always on right now :D

* Death Link options. Last commit: All entity names being sent through slot_data

* Tutorial Gate Close logic fix

* Improved option tooltip wording

* Fixed shuffle_postgame: false not excluding some locations

* Link to latest stable client rather than full releases page
2023-03-10 07:58:00 +01:00
NewSoupVi 016157a0eb Witness: Fixed settings combination not rolling (see description)
Settings combination:
- EP Shuffle
- disable_non_randomized
- doors: panels or doors: none

An Event Item was being created that is inaccessible. This is fixed now.
(The fix makes sure that player_logic is not trying to create events for the sake of EPs that are disabled)

Note: These two sets should probably be merged anyway, they used to behave differenty but no longer really do. But that will require some extra care on the client side as well.
2023-03-07 09:13:54 +01:00
NewSoupVi 805f33c39e
Witness: Bugfixes in response to beta tests ()
* Make all Keep Pressure Plates logically required for the Laser Panel

* Added more Tutorial checks

* Added the remaining two Shipwreck Boat EPs to the exclude list for normal

* Improved itempool filling system, added warning if usefuls had to be eaten

* Moved creation of said warning string to utils

* Fixed logic bug causing broken seeds on Mountain Floor 2

* Hints system change

* Expert Logic Fix

* Fixed typo

* Better wording

* Added missing games to junk hints

* Made sure Entrance names are unique

* Fixed missing Obelisk Side

* Disable Non Randomized + EP Shuffle fix

* Fixed disable_non_randomized precompleted EPs being 'disabled' instead of 'precompleted'

* Fixed if/elif error

* Tutorial Gate Open local symbol item becomes local_early_item in expert instead

* Bump required client version. There is a beta client that sends 0.3.9.

* Removed print statement, oops

* Fixed itempool manipulation in pre_fill

* Replaced string concats with fstrings

* Improved make_warning_string function signature

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* Improved performance on removing multiple items from multiworld itempool

* Comment

* Fixed errors with the code

* Made removal from itempool not fail unit test for multiple references

* Moved all item creation to create_items, got rid of itempool modifying system

* Colored Squares is no longer a good item, that's outdated

* Removed double if

* React to from_pool: false by removing a junk item

* Fixed warning if only Fnc Brain was removed

* Make use of string truthiness instead

* Made reading of plandoed items safer

---------

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2023-03-03 00:08:24 +01:00
alwaysintreble 7cbeb8438b
core: rip out RegionType and rework Region class () 2023-02-14 01:06:43 +01:00
NewSoupVi c360b9266c
Witness: Renaming: Mill -> Stoneworks, correcting order for 'First, Second, ...', removed all instances of 'Door (Door)' () 2023-02-07 03:12:47 +01:00
CaitSith2 555a0da46d
Core: Rename the missed slot_seeds. ()
* Rename the missed slot_seeds.

* Fixed a threaded context random error.
2023-02-03 19:39:18 +01:00
NewSoupVi 0817305d5b
Witness: Added an option tooltip for "Environmental Puzzles Difficulty" option (+ another bugfix) ()
* Added an option tooltip

* Fixed eclipse being on in EP difficulty normal
2023-02-03 19:38:54 +01:00
NewSoupVi 4de7ebd8b0
The Witness: v4 Content Update ()
## New Features:

- EP Shuffle (Individual or Obelisk Sides, with varying difficulty levels)
- Ability to play without Puzzle Randomization (I.e. vanilla + AP layer)
- Pet the Dog to get a Puzzle Skip :) (No, really.)

## Changes:

- Starting inventory behavior improved (Consider starting items like doors and lasers logically even if they aren't part of the mode)
- Audio Log hint system improved (On low hint counts, you will no longer get the same locations hinted every time, i.e. always hints are shuffled)

## Fixes:

- Many fixes to symbol requirements
- Fixes to "shuffle_postgame" (What checks are evaluated as "postgame" in specific modes)
- Logically irrelevant doors are now "useful" instead of "progression"
2023-02-01 21:18:07 +01:00
Fabian Dill 847582ff5f
Server: fix release_mode ()
* Server: fix release_mode

* Core: actually rename forfeit to release across the program
2023-01-24 03:36:27 +01:00
NewSoupVi e641c3ca1b The Witness: Fix Expert PP2 Access Logic 2022-12-01 03:46:11 +01:00
Jarno Westhof fd8867c782 [Witness, Docs] Updated link to repository owner, as repository was transferred 2022-12-01 03:42:49 +01:00
NewSoupVi 8b9b482972 The Witness: Logic Fix (Broken Seed reported)
Jungle Discard requires Arrows, not Triangles
2022-11-27 02:08:56 +01:00
NewSoupVi 95f90851ac
The Witness: Update docs, credits, junk hints ()
* Updated Credits & AP-game hints

* Updated docs
2022-11-17 17:35:59 +01:00
NewSoupVi 17da06f763 The Witness: Fix "doors: panels" items referring to the wrong panels 2022-11-12 02:18:51 +01:00
NewSoupVi b0b8268249
Witness: Expert logic broken seed fixes (by IHNN) ()
Co-authored-by: metzner <unconfigured@null.spigotmc.org>
2022-11-10 04:05:00 +01:00
NewSoupVi 66d594e95b
The Witness: Add required client version ()
Co-authored-by: metzner <unconfigured@null.spigotmc.org>
2022-11-06 14:26:56 -06:00
NewSoupVi f2426ae603
The Witness: Logic Fix ()
Co-authored-by: metzner <unconfigured@null.spigotmc.org>
2022-11-06 17:31:53 +01:00
NewSoupVi d28738a918
The Witness: Logic Fix & Generation Fix ()
* Logic fix

* static object modification instead of copy error fixed

Co-authored-by: metzner <unconfigured@null.spigotmc.org>
2022-11-04 23:10:29 -05:00