Dynamic RPC: Improve Pokemon Scarlet/Violet (#723)

Updated Pokemon Scarlet and Violet to use multi parser it now displays
if your in a team circle and area of the game

![image](https://github.com/user-attachments/assets/6d8d52c5-65a9-4ac3-af91-cb0c03576ad6)
This commit is contained in:
Piplup 2025-02-25 23:48:47 +00:00 committed by GitHub
parent 332bcdfaf1
commit 9227cbe5a7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 10 deletions

View file

@ -59,12 +59,13 @@ namespace Ryujinx.Ava.Utilities.PlayReport
"Race" => "Racing", "Race" => "Racing",
_ => FormattedValue.ForceReset _ => FormattedValue.ForceReset
}; };
private static FormattedValue PokemonSVUnionCircle(SingleValue value) private static FormattedValue PokemonSV(MultiValue values)
=> value.Matched.BoxedValue is 0 ? "Playing Alone" : "Playing in a group"; {
private static FormattedValue PokemonSVArea(SingleValue value) string playStatus = values.Matched[0].BoxedValue is 0 ? "Playing Alone" : "Playing in a group";
=> value.Matched.StringValue switch
FormattedValue locations = values.Matched[1].ToString() switch
{ {
// Base Game Locations // Base Game Locations
"a_w01" => "South Area One", "a_w01" => "South Area One",
@ -92,10 +93,13 @@ namespace Ryujinx.Ava.Utilities.PlayReport
"a_w24" => "South Paldean Sea", "a_w24" => "South Paldean Sea",
"a_w25" => "West Paldean Sea", "a_w25" => "West Paldean Sea",
"a_w26" => "East Paldean Sea", "a_w26" => "East Paldean Sea",
"a_w27" => "Nouth Paldean Sea", "a_w27" => "North Paldean Sea",
//TODO DLC Locations //TODO DLC Locations
_ => FormattedValue.ForceReset _ => FormattedValue.ForceReset
}; };
return$"{playStatus} in {locations}";
}
private static FormattedValue SuperSmashBrosUltimate_Mode(SparseMultiValue values) private static FormattedValue SuperSmashBrosUltimate_Mode(SparseMultiValue values)
{ {

View file

@ -59,9 +59,8 @@ namespace Ryujinx.Ava.Utilities.PlayReport
.AddSpec( .AddSpec(
["0100a3d008c5c000", "01008f6008c5e000"], ["0100a3d008c5c000", "01008f6008c5e000"],
spec => spec spec => spec
.WithDescription("based on what area of Paldea you're exploring.") .WithDescription("based on if you're playing alone or in a group and what area of Paldea you're exploring.")
.AddValueFormatter("area_no", PokemonSVArea) .AddMultiValueFormatter(["team_circle", "area_no"], PokemonSV)
.AddValueFormatter("team_circle", PokemonSVUnionCircle)
) )
.AddSpec( .AddSpec(
"01006a800016e000", "01006a800016e000",