Fraymakers

Fraymakers

Not enough ratings
FrayTools Content Compatibility Guide
By Nyon
Game and Watch's throws, Kirby's inhale, Frayverse posts. While these mods usually have defaults they can use if your character lacks compatibility, it's more fun if your characters DO have compatibility.

This guide will try to list these mods, and explain how to have compatibility with them.
   
Award
Favorite
Favorited
Unfavorite
Final Smash
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3075958041
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3191823432
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3160937712
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3350478094

Originally from the Final Smash Assit mod by Krazy, and later implemented into ZAK ATTACK's Instant Final Smash Assist, Peace's Twilight Town Stage, and Tek's Special Modes Assist, this feature gives your character an incredibly powerfeu Final Smash attack.

On Twilight Town, after charging your assist meter, you can use your Final Smash by pressing Emote.

When using Special Modes, the Ultimate option includes a Final Smash meter, and a default final smash for any character who lacks one.

The game is intended to eventually have Supers, which would be similar to Final Smashes. It's expected that these will be the same moves, but they won't have to be.

What To Do For Compatibility

Your final Smash should be an animation named "final_smash"
Game and Watch Ball
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2884337828

1.Ghastly.Fox's Mr. Game & Watch character has a very small compatability feature, which gives a nice visual effect to his throws.

When Mr. Game & Watch throws a character, he will turn them into a ball, much like he does in Smash.

If your character does not have the required animation, he will instead use the basic throw animations.

What To Do For Compatibility

Start by making a "Ball Sprite" the reference circle is 18 by 18.

Create an animation named "gfgw_ball".

This animation must be at least 60 frames long, and have a hurtbox
Kirby Copy Abilities
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3221021297

This feature is used to influence the copy abilities of the Kirby character created by V.

Kirby's Neutral Special, Inhale, gives Kirby a copy ability when he swallows an opponent.

Unlike in Smash, these abilities are not unique to each character, but rather, Kirby has a set of pre-made copy abilities that it selects from, taken from the games.

The list is Beam, Fighter, Mirror, Wing, Jet, Ice, Fire, Ninja, Crash, Plasma, Hi-Jump, Tornado, and Sleep.

A character can have multiple copy abilities assigned to them, and the game will randomly select between them.

If your character lacks compatibility, then Kirby will select an ability at random.

What To Do For Compatibility

If you want Kirby to have a specific copy ability after swallowing your character, add an animation with a name using the following format:

VicariusKirbyAbility_ABILITY

With ABILITY replaced with the copy abilities internal name.

"beam" for the Beam Ability,
"fight" for the Fighter Ability,
"miror" for the Mirror Ability,
"wing" for the Wing Ability,
"jet" for the Jet Ability,
"ice" for the Ice Ability,
"fire" for the Fire Ability,
"ninj" for the Ninja Ability,
"cras" for the Crash Ability,
"plas" for the Plasma Ability,
"jump" for the Hi-Jump Ability,
"torn" for the Tornado Ability and
"sleep" for the Sleep Ability.

For instance, if your character has an animation named "VicariusKirbyAbility_beam" then Kirby will have a chance to have the beam ability when your character is swallowed.

You can have a pool of multiple abilities that Kirby can select, by having more than one of these animations in your character's entity.
Knock Out Animations
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3206379259

Mar-Mar's Hibiki Takane Character has a powerful special move called Issen. When this move is used against foes with a high enough percentage, they collapse onto the ground.

If the character isn't compatible, they will use the crash_bounce animation, but with compatibility, a special animation plays instead.

What To Do For Compatibility

Add an animation of your character collapsing, named knocked_out OR knocked_out_fatal

The knocked_out animation is intended to be something of a stock animation, reusable by other creators who want to share in compatibility.

The knocked_out_fatal animation however, should be used if the animation is specifically designed with Hibiki's Issen in mind.
Meme Board
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3145309250&searchtext=terriermon

When J-Dudd's Terriermon character uses it's emote, it pulls data (memes) from the internet to teach about its opponent.

When your character is compatible, it will display a random meme about them.

What To Do For Compatibility

Make an animation named "terr_ast_board"

Memes do not animate. Ever frame in the animation is a unique meme.

They should have the same dimensions as this template (202 x 126).
This template can be downloaded when viewing in a standard browser (instead of Steam).
Miiverse Posts
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3142085112

Drake Waffle's stage, Frayverse, mimics MiiVerse from Smash, by putting random comments in the background.

When a character with compatibility is in the match, it has a chance to randomly post a comment about them.

Assists with compatibility will play a post when summoned.

What To Do For Compatibility

Make an animation named "miiversePostAnim"

Posts do not animate. Ever frame in the animation is a unique post.

For stylistic purposes, posts should be made exclusively from back and white (#070707 and #FFFFFF)

They should have the same dimensions as this template (320 x 120).
This template can be downloaded when viewing in a standard browser (instead of Steam).
M.U.G.E.N Stages
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3392020254
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3394644631
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3417843668
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3408919463

Bigman's Mountainside Temple stage, YaBoyIce's MUGEN Mega Stage Pack, Drake Waffle's MUGEN Pikmin Stage, and ZAK ATTACK's Gamblecore M.U.G.E.N from the RaxdFlipnote Pack, are unique stages that overhaul the game's mechanics to feel more like a tradifional fighter, with incredible combo potential. However, their unique HUD means that some characters can have incorrect names, or missing HUD elements.

You can fix this though!

If your character's name doesn't display properly, you can use the code

self.exports = {
mugenStageName: "My New Display Name"
};

If your character's HUD image displays strangely, you can fix it by adding 2 animations to your character entity named tokenHUD and tokenHUDmini

tokenHUD should be 40x40
tokenHUDmini should be 20x20

If your character's HUD is missing resources, the first step is adding this code to your character's initialize

self.addTimer(5,1,function(){
if(stage.exports.mugen != null){
//YOUR CODE HERE
}
else{return;}
}, {persistent:true});

Then, you can add whatever code you need to adjust the HUD for your character.
Note that you need to work in the camera's foregroundFront container
Sunset Shore Palettes
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3040877255

Characters compatible with Kactus' Sunset Shore Stage will have special visual effects applied to them, aside from being a silhouette.

What To Do For Compatibility

Ask Kactus.
Samurai Showdown Blood
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3206379259

Mar-Mar's Hibiki Takane character comes from the fighting game Samurai Showdown and has quite a few visual effects where foes' blood sprays from their wounds.

But what if your character... doesn't have blood? Or maybe their blood is green?

What To Do For Compatibility

This is one of the more technical compatibilities to explain, and it's going to require a few steps.

1) Put the following code in your character's script file:

self.exports={
setSamuraiBlood:function(input){
input.addShader(self.getCostumeShader());
}
}

If your character uses other exports, make sure to format properly.
This code will allow Hibiki to apply your character's palette shader to her blood vfx.

2) Add the colors for the blood splatters to your character's palette.
These vfx use the 4 shades of red in this image, which have the hex codes 680000 C00000 900808 and F03000

To make your character not bleed, you can use the line
input.destroy();
instead of adding a shader.

If these colors conflict with your character's palette, you CAN supply other shaders. In fact, you can technically do anything you want with the blood vfx. Just be careful, because you might cause bugs if you try something too funny.
Windows Popups
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3300380330&searchtext=xp
The hazards on version of J-Dudd's Windows XP stage will cover the screen with pop ups and spam messages.
With compatibility, some of the messages displayed will be replaced by your own character's special form of spam.

What To Do For Compatibility
Add an animation titled windowsPopup to your character.
Unlike Miiverse Posts, Windows Popups are animated, and you can only have 1. They will run the full length of their animation a random number of times so consider that your popup will probably play around 3 times before disappearing when designing it.

These messages have no uniform size or length, and their window border is also not consistent, but you can consider this sprite a rough guideline, or use a windows popup generator. You can download this image if you're viewing this guide from a standard browser.
Please consider how much of the screen your popup covers when you decide on it's length.
Making Compatibility Features For Your Creations
Going forward, I'd like to set standards for compatibility features, so that adding support for them is as simple as possible.

This will mostly apply to having characters be compatible with your mod, not stages or assists, but the same general ideas apply.

Remember to check the current compatibilities before making your own. If you want to make blood effects that have character dependency, please consider using the same palette and system already used. If you want to use small emblems that represent characters, maybe consider the Game and Watch balls. The fewer redundant compatibilities offered, the easier it is for creators to use them.

This can be roughly broken down into a few steps
  • Getting the character
  • Compatibility with the base cast
  • Compatibility with other characters
  • What to do if a character isn't compatible

Getting The Character
In all honesty, I can't explain this very much.
You might use event.data.foe in a HIT_DEALT event listener, you might use match.getPlayers()[] I dunno. You just need to have a variable set to another player/character.

Compatibility With The Base Cast
This is an annoying process, and I'm going to skim through it pretty quickly.
  • Set a variable for compatibility, we'll use "compatible" to false.
  • Check if the character is base cast. You need to check each base cast member individually. The code is
    if(playerX.getResource().getContent()=="BASE CAST CONTENT ID PATH HERE")
  • The base cast content id paths are
    public::octodad.null
    public::welltaro.null
    public::commandervideo.null
    public::orcane.null
    public::fishbunjin.null
    public::thewatcher.null
  • Run the appropriate code for making them work. Remember that any resources for these must come from within your mod.
  • At the end of the code, set "compatible" to true

Compatibility With Other Characters
First, check "compatible", and if it's true, skip this step

There are two main types of compatibility features: Animations, and um... Not Animations. I guess.

For animations, you can easily do
if( CHARACTER.hasAnimation("ANIMATION NAME HERE")){ YOUR CODE HERE }
If you do not use hasAnimation, then you may run into bugs.

For Non Animation compatibilities, I recommend using exports to check compatibility (exports allow you to run functions, while metadata only allows you to store and retrieve variables)

You can check if a character has an export with
if( CHARACTER.exports.THING_TO_CHECK != null){ YOUR CODE HERE}
if it returns true, then you can access that export without causing any bugs. That export can then return whatever data you need.

In either case, set "compatible" to true at the end of the code.

What To Do If A Character Isn't Compatible
Mostly straight forward.
if "compatible" is still false, then you should have something happen anyways.
4 Comments
JMaster24 7 Sep, 2024 @ 8:39pm 
Thank you!
Nyon  [author] 7 Sep, 2024 @ 1:07pm 
You *can* download them if you open the guide in another browser, rather than Steam, but I'll put the dimensions in the guide.
Nyon  [author] 7 Sep, 2024 @ 1:06pm 
ah. didn't know that they can't be downloaded. sorry.
JMaster24 7 Sep, 2024 @ 12:27pm 
What are the dimensions of the frayverse post? I can't download the template image.