Configurable exlaunch-based mods for Pokemon Sword and Shield
- Download the latest release for your game version
- Unzip the release to your sd card (or the sdmc directory of your emulator)
- Edit
sd:/config/swsh-mods-exl/config.toml
to your liking
Mod that makes shiny pokemon visible in the overworld with a sound indicator & particle effect
overworld_shiny.mp4
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)
sound
- Controls the "command" that is run upon shiny spawns
- Leave empty (
""
) for no command - Sound effects are commands and that is the intended use of this setting
- string (
""
,"Play_Camp_Cooking_Explosion"
, etc.)
shiny_ptcl
- Controls the particle effect that is played around a shiny
- Leave empty (
""
) for no particle - Any .ptcl in romfs or custom layeredfs should work but needs to be configured to repeat
- string (
""
,"bin/field/effect/particle/particle/ef_poke_symbol_aura.ptcl"
, etc.)
show_aura_for_brilliants
- Controls whether or not regular brilliant spawns show their aura
- boolean (
true
,false
)
include_battle_sounds
- Controls whether or not to load the battle sound bank in the overworld (needed for battle shiny sound)
- boolean (
true
,false
)
play_sound_for_following
- Controls whether or not to play the shiny sound when the following pokemon respawns
- boolean (
true
,false
)
show_ptcl_for_following
- Controls whether or not to show the shiny particle for the following pokemon
- boolean (
true
,false
)
boosted_percentage
- Controls the percentage for the modified overworld shiny odds
- Set to 0 for regular shiny odds
- This setting is intended to be used to ensure shiny models are functioning properly, not as a standalone shiny odds boost cheat
- integer [0, 100]
- Hooks the check that determines whether or not a PokemonModel should display shininess to always return true (normally only true for following pokemon)
- If the PokemonModel is shiny -> call SendCommand to trigger the sound effect
- Hooks the functions responsible for adding & playing the particle effects to supply a custom .ptcl path
- Hooks the brilliant aura check (only for displaying the effect) for both EncountObjects and FishingPoints to check the shiny flag or the brilliant flag
- FishingPoints do not use PokemonModels so the sound effect for them is triggered here
- Hooks the instruction that sets the shiny flag to call an external PRNG to determine shininess based on percentage (
randU64() % 100 < boosted_rate
)
Mod that makes symbol encounters pull from the encounter tables of hidden encounters, allowing "underworld"-exclusive pokemon to spawn and be visible in the overworld
This is a reimplementation of norainthefuture's mod which accomplishes the swapping via exefs patching rather than manually swapping the data tables. The idea is entirely by her!
underworld.mp4
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)
- Hooks function responsible for generating SymbolEncounts to write the proper hidden table to the encounter table parameter
- In the vanilla game, each EncountSpawner is assigned a hash and the symbol encounter table is stored within the spawner object upon initialization
- The hook needs to actively pull the proper encounter table based on player location every new symbol spawn (hidden encounts naturally do this)
Mod that live randomizes the species and form of all overworld spawns rather than statically randomizing the encounter tables they pull from
2023112001001501-B8FAEF4816CAC2B76D11869B05CA7601.1.mp4
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)
- Hooks the functions responsible for setting species & form for symbol, hidden, and gimmick encounters to overwrite the chosen species and form
- A random species (randU64() % 898 + 1) and form (randU64() % form_count) are generated until one is found that exists in game
Mod that overwrites the default camera constants to allow tweaking of camera speed, pitch range, and field of view
Idea & recommendations by norainthefuture
camera_tweaks.mp4
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)
adjustment_speed
- Controls the speed of the camera
- Value is in degrees per time unit
- float [
0.0
,360.0
)
min_pitch
- Controls the minimum pitch of the camera
- Value is in degrees
- float [
-180.0
,180.0
)
max_pitch
- Controls the maximum pitch of the camera
- Value is in degrees
- float [
-180.0
,180.0
)
min_distance
- Controls the distance of the camera when zoomed in
- float [
0.0
,...
)
max_distance
- Controls the distance of the camera when zoomed out
- float [
0.0
,...
)
- Hooks the camera constructor to overwrite the applicable constants
Mod that removes the level cap-based shiny lock & (optionally) catch lock
2023112003283301-B8FAEF4816CAC2B76D11869B05CA7601.mp4
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)
fully
- Controls whether or not all level caps are removed
- Must be set to true for level capped pokemon to be catchable
- boolean (
true
,false
)
- Hooks the functions that set level cap based on badge count
- if
fully
is set totrue
: always return 100, otherwise: only return 100 when shiny locking
- if
Mod that allows detaching the camera from the player and moving it on its own
2024042106123501-B8FAEF4816CAC2B76D11869B05CA7601.mp4
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)
disable_terrain_culling
- Controls whether or not the game's automatic culling of far away terrain is disabled
- boolean (
true
,false
)
always_use_extended_camera
- Controls whether or not the extended camera (the wild area camera that you can adjust) is enabled by default in all areas
- boolean (
true
,false
)
- Manual camera angle adjustment only possible on "Wide Roads" (wild area/ioa/ct) unless
always_use_extended_camera
is set - Inputs only register from "Npad" controllers (only tested on pro controller)
- R+A to detach/reattach the camera from the player
- In detached state:
- D-Pad to move camera
- L/R to decrease/increase movement speed
- ZL/ZR to decrease/increase height
Mod that overwrites the maximum symbol encounter spawn count for spawners in glimwood tangle
2024043003535501-B8FAEF4816CAC2B76D11869B05CA7601.mp4
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)
maximum_spawns
- Maximum symbol count per spawner
- int
- Overwrites the maximum symbol count field on any new EncountSpawner with a hash within the hard-coded glimwood list
Mod that allows you to pilot your following pokemon
Idea & recommendations by norainthefuture
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)
- Inputs only register from "Npad" controllers (only tested on pro controller)
- Movement can be buggy at times
- If the following pokemon gets forcefully despawned you may teleport to (0,0)
- L+R to toggle in and out of the state
Mod that allows following pokemon in the galar mainland wild area
active
- Controls whether or not the mod is activated
- boolean (
true
,false
)