about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md16
-rw-r--r--apworld/__init__.py2
-rw-r--r--apworld/context.py7
-rw-r--r--apworld/player_logic.py2
-rw-r--r--data/maps/daedalus/doors.txtpb1
5 files changed, 21 insertions, 7 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index e32a5fd..2b92cfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md
@@ -1,5 +1,21 @@
1# lingo2-archipelago Releases 1# lingo2-archipelago Releases
2 2
3## v7.0.1 - 2025-10-01
4
5- Fixed logic error regarding the Plaza Entrance in The Repetitive. Going from
6 The Plaza to The Repetitive does not require the door to be open in vanilla
7 doors, but both directions require the door item when doors are shuffled.
8- Fixed Worldports tracker tab getting messed up after disconnecting and
9 reconnecting to multiworld.
10- Improved error messages when failing to connect. The game now also shows you
11 when your connection has dropped.
12
13Download:
14[lingo2.apworld](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v7.0.1/lingo2.apworld)<br/>
15Template YAML:
16[Lingo 2.yaml](https://files.fourisland.com/releases/lingo2-archipelago/apworld/v7.0.1/Lingo%202.yaml)<br/>
17Source: [v7.0.1](https://code.fourisland.com/lingo2-archipelago/tag/?h=v7.0.1)
18
3## v7.0.0 - 2025-09-30 19## v7.0.0 - 2025-09-30
4 20
5- Major update! First and foremost: the client and apworld are no longer 21- Major update! First and foremost: the client and apworld are no longer
diff --git a/apworld/__init__.py b/apworld/__init__.py index 96f6804..1d12050 100644 --- a/apworld/__init__.py +++ b/apworld/__init__.py
@@ -11,7 +11,7 @@ from .options import Lingo2Options
11from .player_logic import Lingo2PlayerLogic 11from .player_logic import Lingo2PlayerLogic
12from .regions import create_regions, shuffle_entrances, connect_ports_from_ut 12from .regions import create_regions, shuffle_entrances, connect_ports_from_ut
13from .static_logic import Lingo2StaticLogic 13from .static_logic import Lingo2StaticLogic
14from ..LauncherComponents import Component, Type, components, launch as launch_component, icon_paths 14from worlds.LauncherComponents import Component, Type, components, launch as launch_component, icon_paths
15 15
16 16
17class Lingo2WebWorld(WebWorld): 17class Lingo2WebWorld(WebWorld):
diff --git a/apworld/context.py b/apworld/context.py index 63645a4..e78ce35 100644 --- a/apworld/context.py +++ b/apworld/context.py
@@ -254,11 +254,8 @@ class Lingo2ClientContext(CommonContext):
254 return ui 254 return ui
255 255
256 async def server_auth(self, password_requested: bool = False): 256 async def server_auth(self, password_requested: bool = False):
257 if password_requested: 257 if password_requested and not self.password:
258 if self.password is None: 258 self.manager.game_ctx.send_connection_refused("Invalid password.")
259 self.manager.game_ctx.send_connection_refused("Slot requires a password.")
260 else:
261 self.manager.game_ctx.send_connection_refused("Invalid password.")
262 else: 259 else:
263 self.auth = self.username 260 self.auth = self.username
264 await self.send_connect() 261 await self.send_connect()
diff --git a/apworld/player_logic.py b/apworld/player_logic.py index 5be066d..3ed1bb1 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py
@@ -4,7 +4,7 @@ from .generated import data_pb2 as data_pb2
4from .items import SYMBOL_ITEMS 4from .items import SYMBOL_ITEMS
5from typing import TYPE_CHECKING, NamedTuple 5from typing import TYPE_CHECKING, NamedTuple
6 6
7from .options import VictoryCondition, ShuffleLetters, CyanDoorBehavior 7from .options import ShuffleLetters, CyanDoorBehavior
8 8
9if TYPE_CHECKING: 9if TYPE_CHECKING:
10 from . import Lingo2World 10 from . import Lingo2World
diff --git a/data/maps/daedalus/doors.txtpb b/data/maps/daedalus/doors.txtpb index 6097e57..b6881b3 100644 --- a/data/maps/daedalus/doors.txtpb +++ b/data/maps/daedalus/doors.txtpb
@@ -199,6 +199,7 @@ doors {
199 #receivers: "Components/Doors/Entry/entry_14" 199 #receivers: "Components/Doors/Entry/entry_14"
200 panels { room: "Welcome Back Area" name: "GREETINGS OLD FRIEND" } 200 panels { room: "Welcome Back Area" name: "GREETINGS OLD FRIEND" }
201 location_room: "Welcome Back Area" 201 location_room: "Welcome Back Area"
202 location_name: "GREETINGS OLD FRIEND"
202} 203}
203# entry_3 is the door to SEAL, which we will ignore. 204# entry_3 is the door to SEAL, which we will ignore.
204doors { 205doors {