Skip to content

Instantly share code, notes, and snippets.

@OatmealDome
Last active May 30, 2024 04:57
Show Gist options
  • Save OatmealDome/0028b73261ceb702f57531ea48eb7ae0 to your computer and use it in GitHub Desktop.
Save OatmealDome/0028b73261ceb702f57531ea48eb7ae0 to your computer and use it in GitHub Desktop.

Splatoon 1 Schedule Data

This document details how schedules are handled in Splatoon 1.

Schedule

The game schedule is controlled by BOSS through the schdat2 task. This task distributes a single file: VSSetting.byaml. This BYAML file is version 1, big endian, and has no path nodes.

I have uploaded a sample VSSetting.byaml file from Feb 1 here.

Field Type Description
AddFirstMatchingTime Int32 Unknown. Related to matchmaking. Set to 30.
AddMatchingTime Int32 Unknown. Related to matchmaking. Set to 0.
AfterFesBonusStart String A date and time in ISO 8601 format. Determines when Judd should start distributing bonus Super Sea Snails after the final Splatfest. Set to 2016-07-24T19:00:00+09:00.
BottleneckThreasholdFrame Int32 Unknown. Possibly related to detection of lagging players. Set to 480.
DateTime String A date and time in ISO 8601 format. This will be used as the schedule start time.
DisconnectByMemoryHash Boolean Controls whether the anti-cheat should kick suspicious players at the start of a match or not. Set to true.
MapFirstAppear Array<UnlockedMap> Determines which stages are unlocked and when to unlock them.
Phases Array<Phase> All rotations in this schedule.
RuleFirstAppear Array<UnlockedRule> Determines which gamemodes are unlocked and when to unlock them.
TimeoutAfterJoin Int32 Unknown. Set to 120.
Version Int32 The schedule format version. An unexpected value may cause the game to prompt for a software update. Set to 3.
WaitMatchingTime Int32 Unknown. Related to matchmaking. Set to 25.
WeaponUnlock Array<UnlockedWeapon> Determines which weapons are unlocked and when to unlock them.
WebPost Boolean Controls whether the game should send match result data to https://wup-agmj.app.nintendo.net/post. Set to true.

UnlockedMap

Field Type Description
Date String A date (time optional) in ISO 8601 format. Determines when this stage should be unlocked.
MapID Int32 The ID of the stage to be unlocked.

UnlockedRule

Field Type Description
Date String A date (time optional) in ISO 8601 format. Determines when this gamemode should be unlocked.
GachiRule String The enum of the gamemode to unlocked.

UnlockedWeapon

Field Type Description
Date String A date (time optional) in ISO 8601 format. Determines when this weapon should be unlocked.
WeaponSetID Int32 The ID of the weapon to be unlocked. Refer to Pack/Static.pack/Mush/WeaponInfo_Main.byaml for valid IDs.

Phase

Represents a single rotation.

Field Type Description
GachiRule String The enum of the Ranked Battle gamemode.
GachiStages Array<PhaseMap> The stages for Ranked Battle. Always 2 elements in size.
RegularRule String The enum of the Regular Battle gamemode. Always cPnt.
RegularStages Array<PhaseMap> The stages for Regular Battle. Always 2 elements in size.
Time Int32 The number of hours that this rotation will last for. Always 4.

PhaseMap

Field Type Description
MapID Int32 The ID of a stage.

Other Considerations

This section goes into detail about the behaviour of Nintendo's official rotation generator.

Preventing Duplicates

Nintendo's rotation generator ensures that a stage does not appear twice in the same matchmaking queue in a row. (For example, Urchin Underpass can't appear in the current Regular Battle rotation, and then also appear in the next Regular Battle rotation.) This is the case for Ranked Battle gamemodes as well.

In addition, the same stage cannot appear in both Regular Battle and Ranked Battle. All four stages in the current rotation must be unique.

Blacklisted Stage + Gamemode Combinations

Nintendo's rotation generator prevents some gamemode and stage combinations from appearing in Ranked Battle. This is because some stages were found to not work well when played on certain gamemodes.

The following stages are blacklisted in Rainmaker:

  • Saltspray Rig
  • Blackbelly Skatepark
  • Piranha Pit

The following stages are blacklisted in Tower Control:

  • Saltspray Rig
  • Port Mackerel

Last Rotation

Nintendo's official rotation generator sets the last rotation's length to 87600 hours (10 years) as a failsafe in case the file is not updated in time.

Appendix

Historical Data

Historical rotation data can be provided on request. I have archives of rotations going back to July 2022.

Stages

Stage ID English Name
0 Urchin Underpass
1 Walleye Warehouse
2 Saltspray Rig
3 Arowana Mall
4 Blackbelly Skatepark
5 Camp Triggerfish
6 Port Mackerel
7 Kelp Dome
8 Moray Towers
9 Bluefin Depot
10 Hammerhead Bridge
11 Flounder Heights
12 Museum d'Alfonsino
13 Ancho-V Games
14 Piranha Pit
15 Mahi-Mahi Resort

Gamemodes

Enum English Name
cPnt Turf War
cVar Splat Zones
cVlf Tower Control
cVgl Rainmaker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment