Custom Notes for Psych Engine
Step 1: Concepts & Assets.
Lets say you wanna make a note called “Shine note”. And everytime you press it, bf plays dodge
animation, and if you miss it, you get like, a screen flash. Well, you’ll need 2 spritesheets:
1. TESTNOTE_assets
TESTNOTE_assets.x
ml
2. TESTnoteSplashes
TESTnoteSplashes.x
ml
Now, replace, TEST with something cool, like BRUH or HIGH or SPLASH. We will use SHINE.
Step 2: Coding the note in.
Yep. We are gonna code notes in. Go to ChartingState.hx and find a line like this:
(ignore the pot_note, im using my mod source for this) Now you want to add your note
there. So type the note name there, right about here:
Next we want to get the note workin’. So, we go into this section
Right about here:
And we add a code section here
We have to add this:
if(note.noteType == 'Shine Note')
{
//amogus
}
Replace //amogus by whatever you want to happen when the note is hit.
In this case:
if(note.noteType == 'Shine Note')
{
if(boyfriend.animOffsets.exists('dodge'))
{
boyfriend.playAnim('dodge', true);
boyfriend.specialAnim = true;
boyfriend.heyTimer = 0.6;
}
}
Now, were telling the game to play the ‘dodge’ animation whenever the note is hit.
But we still need the flashy flash to appear on screen whenever you miss a note, so lets
get on that.
Find this shit:
Then go down here:
if(daNote.noteType == 'GF Sing') {
gf.playAnim(animToPlay, true);
} else {
var daAlt = '';
if(daNote.noteType == 'Alt Animation') daAlt = '-alt';
boyfriend.playAnim(animToPlay + daAlt, true);
}
And copy the if(daNote.noteType == ‘GF Sing’) thing, and copy it below
gf.playAnim(animToPlay, true);. Then lets add our little function:
Step 3: Adding the asset.
Alright, the note should look like a normal note, but its gonna make bf play play dodge
animation (you can compile to try it out, press 7 to open the charting menu, and click on
the note section)
Now, lets load our asset!
Find a section like this:
Copy everything from “case ‘Hurt Note’:” to “hitCausesMiss = true;” (include case hurt
note and hit causes miss true), and paste it after it, like this:
switch(value) {
case 'Hurt Note':
ignoreNote = mustPress;
reloadNote('HURT');
noteSplashTexture = 'HURTnoteSplashes';
colorSwap.hue = 0;
colorSwap.saturation = 0;
colorSwap.brightness = 0;
if(isSustainNote) {
missHealth = 0.1;
} else {
missHealth = 0.3;
}
hitCausesMiss = true;
case 'Hurt Note':
ignoreNote = mustPress;
reloadNote('HURT');
noteSplashTexture = 'HURTnoteSplashes';
colorSwap.hue = 0;
colorSwap.saturation = 0;
colorSwap.brightness = 0;
if(isSustainNote) {
missHealth = 0.1;
} else {
missHealth = 0.3;
}
hitCausesMiss = true;
case 'No Animation':
noAnimation = true;
case 'Pot_Note':
ignoreNote = mustPress;
reloadNote('POT');
noteSplashTexture = 'POTnoteSplashes';
colorSwap.hue = 0;
colorSwap.saturation = 0;
colorSwap.brightness = 0;
}
Now you’ve gotta replace some shit. Replace the second ‘Hurt Note’ by ‘Shine Note’.
Replace ‘HURT’ by ‘SHINE’. Replace ‘HURTnoteSplashes’ by ‘SHINEnoteSplashes’.
Replace missHealth = 0.1; to missHealth = 0;. Replace missHealth = 0.3; to missHealth = 0;.
And replace “hitCausesMiss = true;” to “hitCausesMiss = false;”.
Aaaaand delete ignoreNote = mustPress;
Now, we got our asset, our code, and our function. Everything should be working perfect,
right?
And that’s right! This is how you add custom notes. If you need anything, contact me.