.devcontainer | ||
.github/workflows | ||
.vscode | ||
src | ||
.gitignore | ||
.gitmodules | ||
Cargo.toml | ||
full_build.sh | ||
link.ld | ||
README.md | ||
rust-toolchain |
Ultimate Training Modpack Plugin
A Skyline plugin using cargo-skyline for adding features to the training mode. It interfaces with a Tesla, a Switch custom overlay, for use as a menu to the features offered in training mode.
Built releases can be found here.
Features
The features in this modpack are configured through the Tesla menu, which can be accessed at any time with by pressing L+X+DPad Left
. This button configuration is fully configurable in the file /config/tesla/config.ini
.
Stage Hazards Toggle
Set stage hazards on or off in Training Mode! Use this to practice on tournament legal stages with hazards.
Input Delay
Practice with emulated extra input delay, in frames. This should help a lot by allowing practice with online's default delay.
Frame Advantage.
Currently only works on shield. Practice moves on shield to find out the frame advantage of the moves performed. Best used with Infinite Shield.
Save States
At any time in Training Mode, you can press Grab + Down Taunt
to save the state of training mode. This will save the position, state, and damage of each fighter, which can then be reverted to at any time with Grab + Up Taunt
. Use this instead of the built-in training mode reset!
Hitbox Visualization
Currently, hitboxes and grabboxes are supported. When visualization is active, other move effects are temporarily turned off for easier visualization.
Selecting Multiple Options
Any submenu that allows you to toggle multiple options will randomize between only those options. This is the vast majority of items in the menu detailed below, and it's a huge change that allows for really deep practice.
Mash Section
Mash Toggles
Note: Combine this with the shield toggles to force the CPU to perform options OoS when their shield is damaged!
CPUs will mash an option on the first frame possible out of hitstun.
Airdodge has specific logic that the CPU will also flash shield when landing.
Followup Toggles
Set a mash option to perform directly after the one specified with Mash Toggles.
Mash in Neutral
Set a CPU to mash specified option in neutral/idle state.
Left Stick Section
DI
CPUs DI in the direction specified, relative to the player's facing position.
SDI
Works the same way as the DI toggle, but choose a direction for the CPU to SDI every 4 frames of hitlag.
Airdodge Direction
When a CPU is set to mash airdodge, it will use this direction as its airdodge direction.
Chase Section
Ledge Option
CPUs will perform a random ledge option among the selected options.
CPUs will also perform a defensive option after getting up.
Ledge Delay
CPUs will delay their getup option by a random number of frames among the selected options.
Tech Option
CPUs will perform a random tech option among the selected options.
CPUs will also perform a defensive option after getting up.
Missed Tech Option
CPUs will perform a random getup option among the selected options after missing a tech.
Defensive Option
CPUs will perform the defensive option a CPU will perform after teching or getting up from the ledge, among the selected options.
Shield Section
Shield Options
- Infinite: CPUs will hold a shield that does not deteriorate over time or by damage.
- Hold: CPUs will hold a shield that does not deteriorate over time until hit for the first time.
OOS Offset
The CPU will delay until the specified number of hits to perform an OoS option.
OOS Reaction Time
The CPU will delay a specified number of frames before performing an OoS option.
Shield Tilt
Set the CPU to tilt their shield in a direction while set to Hold or Infinite shield.
Aerials Section
Edit how the CPU performs aerials.
Fast Fall
Full Hops
Falling Aerials
Fast Fall Delay
Specified in frames (from apex of CPU's jump).
Aerial Delay
CPUs will delay their aerial attack input by a random number of frames among the selected options.
Build from Source
The overall process can be found in the Github Actions specification file as well.
Prerequisites
- Rust environment with cargo-skyline
- DEVKITPRO
switch-dev
installation - Built Skyline, Tesla nx-ovlloader and Tesla Menu, and libnro_hook.nro
Build steps
# clone the repository recursively
git clone --recursive
# to build the training mod Skyline plugin
# resulting build is found in target/aarch64-skyline-switch/release/libtraining_modpack.nro
cargo skyline build --release
# to build the training mod Tesla overlay
# resulting build is ovlTrainingModpack.ovl
cd TrainingModpackOverlay && make