#custom safari regions take to washer regions
52 messages · Page 1 of 1 (latest)
only custom regions? not vanilla regions?
my best guess is some kind of indexing problem
custom regions yes
after all thats what it says in the post title, but im more curious: the safari for these regions worked back then, now it doesnt
im not sure if its a slugbase issue, by some unholy reason
if this is a sequel to the time when custom regions werent recgonized by the game at all im scared
i am not sure & am also very sleepy rn
4:30 pm 
ok hang on i have another quastion. do these regions have a XX_S01 room?
bump
bump
can you send the properties.txt of your custom regions?
sorry ive just now noticed 
all of the properties?
but here is one for example, ive never changed anything there recently
(please reply ping me btw if something else is needed)
and I assume this is for a region that has this issue? The Watcher Safari mode update adds a safariStartRoom option to properties.txt, and so WSKA for example has safariStartRoom: WSKA_S07 in it. Somehow the game is loading that properties file though; I thought maybe you'd be inheriting from that properties file, but I don't see any indication of that. If it were a base game issue then I'd expect vanilla regions to have the same issue, but otherwise I'm not sure how something like this would be possible
Vanilla region don't have that happening, even downpour ones. Only custom regions.
Though, I could try also editing the property and see if it does something as part of curiosity
ok so I looked into how the game picks which region is chosen for Safari
and that seems to be the issue
first, ```cs
if (sender == warpSafariMenu)
{
manager.rainWorld.safariRegion = warpSafariMenu.SelectedRegion;
manager.rainWorld.safariSlugcat = warpSafariMenu.name;
}
else
{
List<string> entries = ExtEnum<MultiplayerUnlocks.SafariUnlockID>.values.entries;
manager.rainWorld.safariRegion = entries[GetGameTypeSetup.safariID];
so it uses safariID and uses it to index the SafariUnlockID list
safariID itself is defined in this way:```cs
List<string> list2 = SafariUnlocksWithButtons.Select((MultiplayerUnlocks.SafariUnlockID x) => x.value).ToList();
int num5 = SafariButtonsPerPage * safariPageNum;
for (int n = num5; n < Math.Min(num5 + SafariButtonsPerPage, list2.Count); n++)
{
if (list2[n] == text)
{
safariButtons[n - num5].toggled = true;
GetGameTypeSetup.safariID = n;
}
else
{
safariButtons[n - num5].toggled = false;
}
}
now here is the issue
safariID is defined as the ID of the button, and then it gets used as the ID of the safari region unlock
these were identical pre-1.11, but Watcher added warp-exclusive safari regions, which have region unlocks but not buttons
if the custom region's safari token is placed after Watcher safari tokens, then the existence of Watcher regions without buttons will offset it
@civic flicker does the order of the watcher regions you get sent to from the menu happen to start out with WSKA, WSKB, WRFA, WRRA, WPGA, WARF, and WSKD?
also cc @jade adder, this seems like it would be an issue to fix with CRS
correct, thats how they go
#modding-quick-support message
ive also figured it out that time
well that i have 5 regions, its only up to pillar grove
im interested that this issue only appeared recently, and not when i initially put my regions to support safari
in the end, is it a game issue?
So uh, I'm left with confusion, do I wait for crs fix or something?
yeah, I'll get to it uh, eventually...
i see, lmk when itll be done, cant wait to play safari in my regions again 
@civic flicker just updated CRS with hopefully a fix for this (I didn't test it so there's a chance it doesn't work at all, lmk if so)
make sure you're on version 0.10.5.9 of crs
(and if it doesn't work then the next base game update will fix this)
sorry for the delay, i kind of wanted to do this but got distracted heavily
seems like the issue is fixed for me!
while im at it, ill check others as well
well okay im 100% its fixed now
thank you
finally can play safari in my regions 
tagged this post as resolved now

