Commit Graph

171 Commits

Author SHA1 Message Date
Fabian Dill 7884c6cd97 Factorio: add mod thumbnail.png 2021-04-13 12:36:40 +02:00
Fabian Dill 4fe10b88b3 Factorio: move info dump to https://mods.factorio.com/mod/archipelago-extractor 2021-04-13 12:35:42 +02:00
Fabian Dill b7327138f3 Factorio: Show item source and enable research queue 2021-04-13 11:14:05 +02:00
Fabian Dill 0586b24579 Factorio: add small_diamonds tech tree layout 2021-04-10 03:03:46 +02:00
Fabian Dill 4461cb67f0 fix ap-sync and remove infinite techs from randomization 2021-04-09 00:33:32 +02:00
Fabian Dill f0a6b5a8e4 Factorio:
add visibility option
fix tech_cost using the wrong variable name
fix yaml defaults not init'ing the Option class
LttP:
fix potential pathing confusion in maseya palette shuffler
Server:
Minimum version per team made no sense, removed
2021-04-08 19:53:24 +02:00
Fabian Dill 4c71662719 factorio: award free samples to entire force 2021-04-07 01:55:53 +02:00
Fabian Dill 96a28ed41e implement Factorio option "free_samples" 2021-04-06 21:16:25 +02:00
Fabian Dill bc1d0ed583 Update Factorio mod to give free samples
(for now always, probably an option later)
2021-04-06 02:20:13 +02:00
Fabian Dill 91bcd59940 implement Factorio options max_science_pack and tech_cost
also give warnings about deprecated LttP options
also fix FactorioClient.py getting stuck if send an unknown item id
also fix !missing having an extra newline after each entry
also default to no webui
2021-04-03 14:47:49 +02:00
Fabian Dill d24ee45462 Merge branch 'main' into Archipelago_Main
# Conflicts:
#	BaseClasses.py
#	LttPAdjuster.py
#	Main.py
#	Mystery.py
#	Utils.py
#	WebHostLib/generate.py
#	playerSettings.yaml
2021-04-01 11:44:37 +02:00
Fabian Dill dc73fa0f33 Factorio integration 2021-04-01 11:40:58 +02:00
CaitSith2 9fe4fa1098 Disable glitching to Triforce except in no logic or when ganon is vulnerable. 2021-03-22 03:46:15 -07:00
Chris Wilson 37d33b19fc Update node.js dependencies for WebUI 2021-03-21 12:18:17 -04:00
Fabian Dill 6455dc3ffc Merge branch 'main' into breaking_changes
# Conflicts:
#	README.md
2021-03-13 23:34:38 +01:00
CaitSith2 8d25965f5c Whoops, HC Big key was being counted when it shouldn't. 2021-03-08 11:50:10 -08:00
Fabian Dill 0d576eefbb Merge branch 'main' into breaking_changes
# Conflicts:
#	Main.py
#	worlds/alttp/EntranceRandomizer.py
2021-03-03 01:54:52 +01:00
pepperpow 1ee26a843f Updated rom to latest, removed AdjusterMain 2021-02-26 16:45:44 -06:00
pepperpow 222784dbb6 Merge branch 'main' of https://github.com/Berserker66/MultiWorld-Utilities into triforce_changes 2021-02-22 22:44:43 -06:00
Fabian Dill 122e360ec8 Merge branch 'main' into breaking_changes
# Conflicts:
#	MultiClient.py
#	Utils.py
#	worlds/alttp/ItemPool.py
#	worlds/alttp/Main.py
#	worlds/alttp/Shops.py
2021-02-19 13:45:50 +01:00
CaitSith2 26d69032e9 Base rom changes
* Stop resuing the memory region that was used formerly for compass stats.
* Add flags for dungeon prize collected. 7EF46B-7EF46C, same bit ordering as maps/compass/big key.   Something useful for auto-tracking, so that it can know that you actually collected the Swamp Palace prize, even if duped out of another dungeon.
2021-02-10 09:31:53 -08:00
pepperpow 1d1abb7d22 Removed remnants of team stuff, make hide_goal default 2021-02-05 20:37:27 -06:00
CaitSith2 100ac7634e Merge branch 'inverted_flut' into main 2021-02-03 06:43:41 -08:00
Chris Wilson db6642f290 Update WebUI to show unique items as a different color, and with a drop-shadow 2021-02-02 22:58:22 -05:00
pepperpow 3d9085e98a put that sign back where i found it 2021-02-02 21:48:08 -06:00
pepperpow 36de78dddd Moved inverted goal sign to castle lawn 2021-02-01 20:26:07 -06:00
pepperpow 99468e6d46 Fixed flute working in both worlds instead of just dark 2021-01-31 21:42:44 -06:00
pepperpow 6b737775a2 Added hash/inverted sign message 2021-01-31 20:57:18 -06:00
pepperpow 4aedf3a8ed inverted_flute 2021-01-31 18:26:49 -06:00
CaitSith2 77a0e6f9cf Triforce at pedestal / Trinexx now correctly counts towards final total. 2021-01-31 00:54:31 -08:00
Fabian Dill a646594f08 Merge branch 'main' into breaking_changes
# Conflicts:
#	BaseClasses.py
#	Fill.py
#	MultiClient.py
#	MultiServer.py
#	Utils.py
#	test/dungeons/TestDungeon.py
#	test/inverted/TestInverted.py
#	test/inverted_minor_glitches/TestInvertedMinor.py
#	test/inverted_owg/TestInvertedOWG.py
#	test/minor_glitches/TestMinor.py
#	test/owg/TestVanillaOWG.py
#	test/vanilla/TestVanilla.py
#	worlds/alttp/ItemPool.py
#	worlds/alttp/Main.py
#	worlds/alttp/Rom.py
2021-01-30 23:29:32 +01:00
CaitSith2 ad8427c15a Fix shop tracking. 2021-01-29 22:52:10 -08:00
CaitSith2 90c3fe9df3 Count take-any caves into final total. 2021-01-29 15:42:28 -08:00
pepperpow 82fc2aba20 Added triforce hud options, expanded triforce requirement 2021-01-29 15:42:00 -06:00
CaitSith2 96e12088d7 Shop-sanity shops now marked as counting towards end-game credits.
Retro single arrow now marks itself as purchased from every single shop location on initial purchase.  (Nothing prevents you from buying your 'first' quiver if you already have one, however, its 6 hint points for the price of one in shop sanity.)
2021-01-29 00:25:13 -08:00
CaitSith2 2a5115bc91 Good Bee shop item now fills bottles. 2021-01-23 11:59:32 -08:00
CaitSith2 5b223c3d9f Update base rom. 2021-01-22 15:33:58 -08:00
CaitSith2 ecf05dc29e Base rom update 2021-01-21 23:05:34 -08:00
CaitSith2 60afd0112c Update basepatch 2021-01-21 12:41:14 -08:00
pepperpow 62435c8349 Added overworld bee trap disguises, shop indicators and new shop items 2021-01-20 04:22:26 -06:00
Fabian Dill e36c6e97c1 Merge remote-tracking branch 'pepper/multishop-all' into multishop
# Conflicts:
#	EntranceRandomizer.py
#	Rom.py
#	WebHostLib/static/static/playerSettings.json
#	data/basepatch.bmbp
2021-01-09 16:03:59 +01:00
Fabian Dill 08ca4245c1 Merge branch 'main' into breaking_changes
# Conflicts:
#	Adjuster.py
#	AdjusterMain.py
#	BaseClasses.py
#	MultiClient.py
#	MultiServer.py
#	Mystery.py
#	Utils.py
#	WebHostLib/downloads.py
#	WebHostLib/generate.py
#	dumpSprites.py
#	test/TestBase.py
#	worlds/alttp/EntranceRandomizer.py
#	worlds/alttp/Main.py
#	worlds/alttp/Rom.py
2021-01-03 13:13:59 +01:00
CaitSith2 41fd85e8be Add Vanilla tile order 2020-12-22 20:05:19 -08:00
CaitSith2 d090a02d81 Implement tile shuffle 2020-12-22 01:05:48 -08:00
dependabot[bot] b0681627f4 Bump ini from 1.3.5 to 1.3.8 in /data/web
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit eb6e094157ac65cbea3aa1b284d2fc86da1aa9f8)
2020-12-19 19:35:54 +01:00
pepperpow 360fcbea9e Add new patch, disallow single bee traps from shops 2020-12-02 20:00:08 -06:00
CaitSith2 5475b00b58 Fix bug where a sworded seed on normal item functionality or greater can still kill freezors with bombos. 2020-11-24 07:54:08 -08:00
pepperpow 6e01442092 Updated patch 2020-11-24 01:30:00 -06:00
pepperpow 167a253596 Added basepatch 2020-11-23 20:06:44 -06:00
Fabian Dill 3a47aadfd6 Remove sprites from repository and setup 2020-11-11 13:53:21 +01:00
CaitSith2 e48838151b Fix 2nd easy item pool silverbow not counting towards the 216 when it is your own. 2020-10-28 20:49:47 -07:00
CaitSith2 7cf4ad35a9 Encrypt most of the remaining items, and all player IDs 2020-10-27 01:43:32 -07:00
CaitSith2 b2a60ac926 Fix "LOCKED" always showing on file select screen. 2020-10-21 02:29:38 -07:00
CaitSith2 651e1a1901 Changes
* Fix chests always being for yourself AND intended recipient for Race Rom seeds.
* Fix MultiMystery not being able to correctly pack Race Rom seeds into a zip file.
* Add tags to multidata for Race rom, Spoiler log, and Playthrough if spoiler log was generated.
2020-10-21 02:02:13 -07:00
Fabian Dill 4f8c737eec squashed commit of many breaking changes
Dropping Support for Python 3.7; adding support for Python 3.9
2020-10-19 08:26:31 +02:00
CaitSith2 f17682e997 Implement pedestal ganon goal 2020-10-15 15:24:52 -07:00
CaitSith2 5b16fd2552 Allow master sword pedestal to be re-pulled if goal was pedestal. 2020-10-14 23:38:41 -07:00
CaitSith2 b6fed8d3d5 Fix long standing bug with Agahnim Tower compass counter never displaying 01/02. 2020-10-13 02:30:01 -07:00
CaitSith2 4a923c7046 Add bonk to random sprite on event 2020-10-07 16:16:56 -07:00
CaitSith2 d75281c37a Base rom now has default link sprite in the 32 randomspriteonevent slots. 2020-10-05 10:55:56 -07:00
CaitSith2 38ac943a9c Random sprite on hit now part of basepatch. Other events possible too. 2020-10-04 10:57:30 -07:00
CaitSith2 947041c06d Update baserom with latest changes 2020-09-23 11:59:23 -07:00
CaitSith2 c2e950aba5 Fix glitch where bombing yourself at lost woods chest game spawns you at pyramid. 2020-09-17 22:14:04 -07:00
CaitSith2 9ac6c33ab0 Add easy item functionality
Allows swordless medallion use everywhere, whether or not you are actually on swordless.  It also allows for retrieving the tablets with just a hammer/book and the hammer to harm ganon.
2020-09-16 22:00:27 -07:00
Chris Wilson c11fe9cb51 Fix misleading data in WebUI. Server Version is now called ClientVersion 2020-09-13 00:39:52 -04:00
CaitSith2 0bae6b9860 Low stakes and high stakes chest games no longer increments item count. 2020-09-04 06:35:23 -07:00
CaitSith2 01525f6504 Update discord link in credits 2020-09-03 20:21:28 -07:00
CaitSith2 df04cbcac3 Allow only one quiver to be purchased. 2020-08-31 16:43:15 -07:00
Chris Wilson 0236097809 Add alternate font toggle to WebUI 2020-08-31 02:02:54 -04:00
Chris Wilson 3080925950 Update to fix security vulnerability in WebUI 2020-08-15 21:45:05 -04:00
CaitSith2 5c447967ab TerrorPin AI Fix 2020-08-05 08:49:50 -07:00
dependabot[bot] cab75ea7df
Bump elliptic from 6.5.2 to 6.5.3 in /data/web
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-01 00:01:54 +00:00
Fabian Dill ebd6a9e3cf Removed all instances of the word "Official" where it does not refer to Nintendo 2020-07-31 19:45:10 +02:00
CaitSith2 4ab1e563a0 Fix sprite glitch while receiving items during Ganon fight. 2020-07-29 22:05:37 -07:00
Chris Wilson e62b406337 Update npm dependencies to pull in security updates 2020-07-18 16:40:04 -04:00
caitsith2 0ba2405bbc Swamp trench 1 no longer drains. That only happens in door rando now. 2020-07-14 22:45:55 -07:00
Fabian Dill 30c0415364 update sprites 2020-07-06 06:26:03 +02:00
CaitSith2 545bb8023c
Add ganon triforce hunt (#117)
* Add ganon triforce hunt

* Add self to license

* Correction of help message for Local Ganon Triforce Hunt.

* if 'triforcehunt in world.goal[player]:
2020-06-26 16:18:53 +02:00
Fabian Dill 8d3961b6fb update sprites and double the width for sprites 2020-06-23 05:58:27 +02:00
caitsith2 780ae4ebcc Fix fake lightworld bug with climbing GT a second time. @compiling 2020-06-20 19:47:07 -07:00
caitsith2 95742ddb98 Skull Woods MSU v32 fix 2020-06-20 18:55:15 -07:00
Fabian Dill 29ee4fe307 rename baserom to basepatch to make it clearer what it is
Also move actual baserom to root folder to make it harder to accidentally share it with others when copying stuff
2020-06-17 08:59:50 +02:00
Chris e11f33b589 Update WebUI to display server, check, and hint info. CURRENT HINT POINTS DO NOT WORK YET 2020-06-14 18:04:03 -04:00
Fabian Dill fdaba7e28c Merge branch 'bsdiff4_baserom'
# Conflicts:
#	Main.py
2020-06-13 22:51:44 +02:00
Chris 53744be44c Remove useless code and rebuild bundle file 2020-06-13 15:24:28 -04:00
caitsith2 de9ae7d111 baserom now derived from bmbp file. 2020-06-09 12:18:48 -07:00
caitsith2 0aa6bc5a94 Updated baserom patch 2020-06-08 11:55:40 -07:00
caitsith2 73d1f56ffb base rom changes
* V32 MSU
* All items from chests/received in dark rooms now visible.
* Regular bunny can read signs
* Players up to Player 255 supported on send/received.
2020-06-06 20:49:53 -07:00
Chris 7d42137782 Fix bug preventing manual snes reconnect. Update WebUI to automatically connect if only one SNES device is detected. 2020-06-06 19:58:10 -04:00
Chris b57dd3c454 Fix WebUI becoming unresponsive if the MultiClient was closed but the WebAUI was left open for too long.
- Implemented maximum number of retry attempts (20)
    - Added Output Logs directory to .gitignore
2020-06-04 21:24:04 -04:00
Fabian Dill 38cbcc662f
WebUI (#100)
* Object-Oriented base changes for web-ui prep

* remove debug raise

* optimize broadcast to serialize once

* Implement WebUI socket, static assets, and classes

- Still need to wrap logging functions and send output to UI
- UI commands are successfully being sent to the server

* GUI operational. Wrap logging functions, implement server address selection on GUI, automatically launch web browser when client websocket is served

* Update MultiServer status when a user disconnects / reconnects

* Implement colored item and hint checks, improve GUI readability

* Fix improper formatting on received items

* Update SNES connection status on disconnect / reconnect. Implement itemFound, prevent accidentally printing JS objects

* Minor text change for itemFound

* Fixed a very wrong comment

* Fixed client commands not working, fixed un-helpful error messages appearing in GUI

* Fix a bug causing a failure to connect to a multiworld server if a previously existing cached address was present and the client was loaded without an address passed in

* Convert WebUI to React /w Redux. WebSocket communications not yet operational.

* WebUI fully converted to React / Redux.

- Websocket communication operational
- Added a button to connect to the multiserver which appears only when a SNES is connected and a server connection is not active

* Restore some features lost in WebUI

- Restore (found) notification on hints if the item has already been obtained
- Restore (x/y) indicator on received items, which indicates the number of items the client is waiting to receive from the client in a queue

* Fix a grammatical UI big causing player names to show only an apostrophe when possessive

* Add support for multiple SNES Devices, and switching between them

* freeze support for client

* make sure flask works when frozen

* UI Improvements

- Hint messages now actually show a found status via ✔ and  emoji
- Active player name is always a different color than other players (orange for now)
- Add a toggle to show only entries relevant to the active player
- Added a WidgetArea
- Added a notes widget

* Received items now marked as relevant

* Include production build for deployment

* Notes now survive a browser close. Minimum width applied to monitor to prevent CSS issues.

* include webUi folder in setup.py

* Bugfixes for Monitor

- Fix a bug causing the monitor window to grow beyond it's intended content limit
- Reduced monitor content limit to 200 items
- Ensured each monitor entry has a unique key

* Prevent eslint from yelling at me about stupid things

* Add button to collapse sidebar, press enter on empty server input to disconnect on purpose

* WebUI is now aware of client disconnect, message log limit increased to 350, fix !missing output

* Update WebUI to v2.2.1

- Added color to WebUI for entrance-span
- Make !missing show total count at bottom of list to match /missing behavior

* Fix a bug causing clients version <= 2.2.0 to crash when anyone asks for a hint

- Also fix a bug in the WebUI causing the entrance location to always show as "somewhere"

* Update WebUI color palette (this cost me $50)

* allow text console input alongside web-ui

* remove Flask
a bit overkill for what we're doing

* remove jinja2

* Update WebUI to work with new hosting mechanism

* with flask gone, we no longer need subprocess shenanigans

* If multiple web ui clients try to run, at least present a working console

* Update MultiClient and WebUI to handle multiple clients simultaneously.

- The port on which the websocket for the WebUI is hosted is not chosen randomly from 5000 - 5999. This port is passed to the browser so it knows which MultiClient to connect to

- Removed failure condition if a web server is already running, as there is no need to run more than one web server on a single system. If an exception is thrown while attempting to launch a web server, a check is made for the port being unavailable. If the port is unavailable, it probably means the user is launching a second MultiClient. A web browser is then opened with a connection to the correct webui_socket_port.

- Add a /web command to the MultiClient to repoen the appropriate browser window and get params in case a user accidentally closes the tab

* Use proper name for WebUI

* move webui into /data with other data files

* make web ui optional
This is mostly for laptop users wanting to preserve some battery, should not be needed outside of that.

* fix direct server start

* re-add connection timer

* fix indentation

Co-authored-by: Chris <chris@legendserver.info>
2020-06-03 21:29:43 +02: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 d9592e68fb Fix GT torch potentially overwritting playerid of chests in hope room 2020-01-13 04:07:45 +01:00
Bonta-kun 6c9fde8bee Fix unusable infinite bombs with an empty inventory 2019-12-30 06:26:03 +01:00
Bonta-kun fe307b1ac7 bzzz bzzz 2019-12-30 03:03:53 +01:00
Bonta-kun 6ca9cddc9a Rom: revert multiworld overflow replacement settings, baserom patch will skip limit checks for multiworld items 2019-12-27 01:04:34 +01:00
Bonta-kun 60b3c83e1a update sprites 2019-12-10 02:13:42 +01:00
Bonta-kun 55a30aa91f multiworld 2019-12-09 19:27:56 +01:00
AmazingAmpharos 1ddfc040f3
Update base ROM
Oops, forgot to ever do this, erroneously assumed it was done before.
2019-10-24 02:13:02 -05:00
Bonta-kun ea07c3d9c0 Update sprites 2019-07-11 20:39:08 -04:00