ijwu / archipelago.riskofrain2 Goto Github PK
View Code? Open in Web Editor NEWRisk of Rain 2 client for Archipelago
Risk of Rain 2 client for Archipelago
If someone else uses !collect manually or automatically, the RoR2 player gets jumped ahead to that item number in the linear item collection path, and any items that weren't collected yet but had a lower number now won't be picked up normally by the Risk of Rain 2 player.
It would be nice to have a YAML option for enforcing a specific ending as a clear condition:
Currently all runs are effectively using the clear condition ("Reach Commencement or Obliterate"), but in an awkward way that requires you to win or die to declare victory. So oftentimes the fastest route to officially winning is to commit suicide as quickly as you can after getting to Commencement.
In my opinion you should either need to actually beat the boss or the game should automatically go to a victory screen when you reach the necessary stage. Also, there's an inconsistency where dying while fighting Mythrix counts as a victory but dying while fighting the Twisted Scavenger does not count.
The relevant part where the code checks for victory is here:
Archipelago.RiskOfRain2/Archipelago.RiskOfRain2/ArchipelagoClient.cs
Lines 322 to 323 in 5fc106f
After completing all checks or forfeiting, upon reconnect location checks will continue to be sent to the server and iterate the check counter higher than the max.
Having the maximum number of checks in RoR2 at 500 has caused more problems than it has helped. It's not immediately apparent how high people "should" set their number of checks, and setting the number too high causes unfun scenarios like:
A brief discussion in the Discord channel reached a consensus on lowering the value to 250 for now, bringing it more in line with the number of checks in most of the other games, with the option to adjust further if 250 still proves to be problematic or lowering the max exposes a need to allow more.
AP 0.3.4, RoR 2 AP 1.1.3 (also reprducible in AP 0.3.2, RoR 2 AP 1.1.0, possibly earlier)
When connecting to a fully-item-checked player slot (i.e. dying or quitting after having done all checks but not completing the multiworld goal), the objective counter starts at X/X, but does not auto-complete or disappear - it acts as if there are still checks to be done. Each run restart sets the objective counter back to X/X.
The location progress bar also advances as if checks still need to be done:
...then the next item that would trigger a check increments the objective counter to X+1/X, as if an item check was sent to the multiworld, but grants no item:
Under normal circumstances, completing all check counts, coming from X-1/X -> X/X, the objective completes / crosses-out / disappears, and all item checks beyond that revert to normal local RoR 2 item drops.
I would like to allow multiple players, each with their own set of items and Archipelago player slot, to make progress while playing the same Risk of Rain 2 co-op instance. So each player sends and receives items from the multiworld according to their own player slot, based on who triggered the item check.
I'm not sure this is technically possible with the way RoR2 works, but it would be nice if it is.
AP version: 0.2.3, 0.2.4
RoR2 AP mod version: 1.0.2 (all mod dependencies at latest versions as of 03 Feb)
When triggering an item check that would send an item to another player, no message is shown in the source player's RoR 2 in-game chat/console detailing what that item is or which player received it. Opening the chat/console in-game shows messages from the server and other players/clients (but not the server's item-send message for the sender's RoR 2 game). The destination player does receive the item as expected.
I believe the message was shown as recently as AP 0.2.2 / mod version 1.0.1, but I am not certain.
AP v0.3.4, RoR2 AP mod v1.1.2 - RoR2 client cannot connect to AP server.
Log from r2modman / BePin console:
[Error : Unity Log] MissingMethodException: Archipelago.MultiClient.Net.LoginResult Archipelago.MultiClient.Net.ArchipelagoSession.TryConnectAndLogin(string,string,System.Version,Archipelago.MultiClient.Net.Enums.ItemsHandlingFlags,System.Collections.Generic.List`1<string>,string,string)
Stack trace:
Archipelago.RiskOfRain2.ArchipelagoPlugin.Run_onRunStartGlobal (RoR2.Run obj) (at <6f0ff8e3e4874f6799bd1ad00bfb6504>:IL_005E)
RoR2.Run.Start () (at <2b2f3d5000df48ae8f94a9b49e82d786>:IL_017A)
Mod v1.1.1 seems to work fine - connects and sends/receives items as normal.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.