These patch notes apply to the Steam Workshop beta branch of Rivals of Aether. You can access this version of the game through Steam Betas if you own Rivals of Aether.
New Features
Thanks to the addition of Giik to the developers (along with the rest of our talented team) this update brings a ton of new planned features to Steam Workshop. One of the largest pieces is that stage scripting is now available – opening up the ability for Workshop Developers to get even more creative and push boundaries with their stages.
- Stage scripting is now available! Unlock this in your stage by opening its config.ini file and changing the scripting parameter to “1”. There’s no way to do this in-game; you’re gonna be dealing with that folder a lot anyway so get used to it!
Scripted stages will get 2 new tabs, in addition to Terrain and Player spawns: Markers and Article Spawns.
- Markers can be used for various reference points, like a moving platform’s path or the limits of where something can spawn. You can have 96 of these in a stage, and you can change their color as well as icons for better organization. Use the get_marker_x and get_marker_y functions to reference their positions.
- You have access to 3 different types of stage articles: obj_stage_article, obj_stage_article_platform, and obj_stage_article_solid. You can change which type the spawner will create in the editor, and the script set the article will use is dependent on the number of the spawner.
- Article spawners spawn articles. Shocker. You can place up to 99 of these in a stage total, though there’s 96 spawners. If you hit that 99 spawner limit, 3 of those are gonna use the same scripts. Though each placed spawner has its own set of properties.
- Yes, that means you have 96 sets of scripts stage articles can use. You can check which script set a stage article is using with the get_article_script function.
- Scripted stages will now detect the folders “/sprites/articles” (for sprites loaded via sprite_get), “/scripts”, “/scripts/attacks” and “/sounds/sfx” (for sounds loaded via sound_get).
- The spawners can display custom icons in the editor by adding the files “icon1.png”, “icon2.png”, etc. in the “/sprites/articles” folder. That should keep things nice and clear.
- Article spawners also have an array of Spawn Variables that you can change in the editor; This will be passed into the actual articles using the spawn_variables array.
- For example, changing ARG3 in the editor will change spawn_variables[3] when the article actually spawns.
- The config.ini file also has a section for rule overrides! With this, you can change or disable things like stock and time limits, or force teams to be on for custom game modes. Setting the rule override to -1 will disable the override.
- The stage editor now also has a Save + Playtest feature! This way you can quickly test out how the stage looks and behaves with articles enabled in a match.
- Custom stages now also have Aether layouts! With this, you can create an entirely different layout for the stage. You can also make article spawners only activate if the stage is in Aether or Basic mode, so you can keep decorative articles on Basic mode (or just keep things ridiculous regardless).
- If you want a background layer to use a different sprite in Aether mode, put a file in the sprites folder with “a_” as a prefix. For example, the ground layer in Aether mode should be named “a_ground.png”. You can also rename the “thumb_big.png” file to “thumb_big_strip2.png” if you want to have a separate thumbnail for aether mode on the stage select!
- Players and stages alike also have new scripts: user_event0 – user_event15. These scripts don’t usually run; instead you call them using the new user_event function.
To provide examples for developers to dig into we’ve created two new stages packed with new functions from this update. You can download The Sandbox to check out advanced Stage Scripting and our original custom stage Bamboo Lodge to see its new Aether Mode.
New Functions
- set_view_position
- end_match
- get_match_setting
- get_marker_x/y
- is_special_pressed
- is_player_on
- is_aether_stage
- get_player_hud_color
- get_article_script
- print_debug
- user_event
- music_play_file
- music_stop
- music_set_volume
- music_fade
- music_crossfade
- is_laststock
- suppress_stage_music
New Player Variables
- burning_color
- activated_kill_effect
New Objects
- obj_stage_main
- obj_stage_article
- obj_stage_article_platform
- obj_stage_article_solid
Miscellaneous Changes
- Loading or reloading a mod now shows progress.
- Projectiles now display their hitboxes when enabled.
- The error for a custom script failing to compile now shows which script failed.
- Hitboxes now have the variable “can_hit_self”. This will let them hit the player that created them, but not teammates.
Bugfixes
- Online custom stages no longer crash if the selected stage was on page 2 or above.
- Replays now save the correct custom stage if the selected stage was on page 2 or above.
- Articles no longer crash if the sprite_index is below 0.
- Pre-draw and post-draw now run during playtesting and in the workshop window.
- The game’s file path is no longer copied to your clipboard on launch.
- All 16 palettes on workshop characters can be used online now.
- The buddy in the 5th custom slot no longer crashes the game.
- Having a workshop character in player 4’s slot for more than one match no longer crashes.
- Landing during a move now properly updates the hurtbox.
- Selecting a workshop character resets the color selected back to 0, meaning you can’t “copy” a color slot from a basegame character to a WS character, which can cause crashes if out of range of that character’s palette list
- Freezing a player no longer crashes when the ice breaks.
- Setting an opponent on fire on specific palettes as a workshop character no longer crashes.