2022-04-26 21:55:28 +00:00
|
|
|
import { kaboom } from "../deps.js";
|
|
|
|
|
|
|
|
export var charts = [
|
|
|
|
{
|
|
|
|
id: "tutorial",
|
|
|
|
name: "Tutorial",
|
|
|
|
speed: 5, // How much seconds it takes to get from Right Stage to the hitmarker
|
|
|
|
bpm: 135, // Song BPM
|
|
|
|
events: {
|
|
|
|
preload: function() {
|
|
|
|
loadSound("hitsoundJellyBean", "sounds/hitsoundJellyBean.wav");
|
|
|
|
loadSound("hitsoundCarterRedacted", "sounds/hitsoundJellyBean.wav");
|
|
|
|
loadSound("hitsoundMarc", "sounds/hitsoundJellyBean.wav");
|
|
|
|
loadSound("hitsoundRedVelvety", "sounds/hitsoundRedVelvety.wav");
|
|
|
|
loadSound("hitsoundMarkyMark", "sounds/burp.mp3");
|
|
|
|
loadSprite("JellyBeanPre", "sprites/previews/JellyBeanPre.png");
|
|
|
|
loadSprite("RedVelvetyPre", "sprites/previews/RedVelvetyPre.png");
|
|
|
|
loadSprite("MarkyMarkPre", "sprites/previews/MarkyMarkPre.png");
|
|
|
|
loadSprite("CarterRedactedPre", "sprites/previews/CarterRedactedPre.png");
|
|
|
|
loadSprite("MarcPre", "sprites/previews/MarcPre.png");
|
|
|
|
loadSprite("tutorialBG0", "sprites/bgCake.png");
|
|
|
|
loadSprite("tutorialFG0", "sprites/fgCake0.png");
|
|
|
|
loadSprite("tutorialFG1", "sprites/fgCake1.png");
|
|
|
|
loadSprite("Marctutorial", "sprites/marcCake.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 3,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 3,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 4,
|
|
|
|
to: 5,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 6,
|
|
|
|
to: 8,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
loadSprite("CarterRedactedtutorial", "sprites/carterredactedCake.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 3,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 3,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 4,
|
|
|
|
to: 5,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 6,
|
|
|
|
to: 8,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
loadSprite("MarkyMarktutorial", "sprites/markymarkCake.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 4,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 3,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 4,
|
|
|
|
to: 7,
|
|
|
|
speed: 40
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 8,
|
|
|
|
to: 10,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
loadSprite("RedVelvetytutorial", "sprites/redvelvetyCake.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 4,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 3,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 4,
|
|
|
|
to: 5,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
dox: {
|
|
|
|
from: 6,
|
|
|
|
to: 7,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 8,
|
|
|
|
to: 10,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
loadSprite("JellyBeantutorial", "sprites/jellybeanCake.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 4,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 3,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 4,
|
|
|
|
to: 5,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
dox: {
|
|
|
|
from: 6,
|
|
|
|
to: 7,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 8,
|
|
|
|
to: 10,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
characters: [
|
2022-04-27 02:34:11 +00:00
|
|
|
["JellyBean", "JellyBean", 186, 0],
|
|
|
|
["RedVelvety", "RedVelvety", 186, 0],
|
|
|
|
["Marc", "Marc", 186, 0],
|
|
|
|
["CarterRedacted", "CarterRedacted", 186, 0],
|
|
|
|
["MarkyMark", "Mark", 186, 0]
|
2022-04-26 21:55:28 +00:00
|
|
|
],
|
|
|
|
noteTypes: {
|
|
|
|
"J": noteDefault,
|
|
|
|
},
|
|
|
|
makeScript: {
|
|
|
|
customChar: false,
|
|
|
|
customBG: false,
|
|
|
|
charPos: [],
|
|
|
|
script: function() {
|
|
|
|
add([
|
|
|
|
sprite("tutorialFG1"),
|
|
|
|
layer("fg"),
|
|
|
|
scale(1)
|
|
|
|
]);
|
|
|
|
return {returnType: null};
|
|
|
|
}
|
|
|
|
},
|
|
|
|
chart: "................................................................................................................................J...........J.J...........J.J.J.............J.J.................J...........J.J...........J.J...J...............................J...........J.J...........J.J.J.............J.J...J.............J...........J.J...........J.J...J...............................J...........J.J...........J.J.J.............J.J...J.............J...........J.J...........J.J...J...............................J...........J.J...........J.J.J.............J.J...J...J...J.J...J...........J.J...........J.J...J...............................J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.J...................................J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.....J.............................J.J.J.J.J.J.J.J.J.J.J.J.J.J.J...................................J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.....J.J.....J.J.....J...........J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.................................J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.....J.J.....J.J.....J.J.....J...................................................................................................................................J...........J.J...........J.J.J.............J.J...J...J...J.J...J...........J.J...........J.J...J...............................J...........J.J...........J.J.J.............J.J...J...J...J.J...J...........J.J...........J.J...J...............................J...........J.J...........J.J.J.............J.J...J...J...J.J...J...........J.J...........J.J...J...............................J...........J.J...........J.J.J.............J.J...J...J...J.J...J...........J.J...........J.J...J...............................................................................................................................................................................................................................................................",
|
|
|
|
scale: 1 //Texture Scale (too lazy to upsize sprites sometimes)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "faith",
|
|
|
|
name: "Friendly Faith Plate",
|
|
|
|
speed: 2,
|
|
|
|
bpm: 120,
|
|
|
|
events: {
|
|
|
|
preload: function() {
|
|
|
|
loadSound("faith", "sounds/The Friendly Faith Plate.mp3"); //120
|
|
|
|
loadSound("hitsoundFaithPlate", "sounds/hitsoundFaithPlate.mp3");
|
|
|
|
loadSprite("FaithPlatePre", "sprites/previews/FaithPlatePre.png");
|
|
|
|
loadSprite("faithBG0", "sprites/bgFaith.png");
|
|
|
|
loadSprite("faithFG0", "sprites/fgFaith.png");
|
|
|
|
loadSprite("FaithPlatefaith", "sprites/faithplateFaith.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 3,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 3,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 4,
|
|
|
|
to: 5,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 6,
|
|
|
|
to: 8,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
characters: [
|
2022-04-27 02:28:13 +00:00
|
|
|
["FaithPlate", "Faith Plate", 0, 0]
|
2022-04-26 21:55:28 +00:00
|
|
|
],
|
|
|
|
noteTypes: {
|
|
|
|
"J": noteDefault,
|
|
|
|
},
|
|
|
|
makeScript: {
|
|
|
|
customChar: false,
|
|
|
|
customBG: false,
|
|
|
|
charPos: [],
|
|
|
|
script: function() {
|
|
|
|
return {returnType: null};
|
|
|
|
}
|
|
|
|
},
|
|
|
|
chart: "................................................................................................................................J...J...J...JJJJJ...J...J...J...J.J.J.J.J.J.J.J.JJJJJJJJJ.J.J.JJJ.J.J.J.J.J.JJJJJ.JJJ.J.J.J.J.J.J.JJJ.JJJ.J.J.J.JJJJJJJJJJJJJJJJJ.J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.J.JJJ.JJJ.JJJ.JJJ.JJJ.J.J.J.J.JJJ.J.JJJJJJJJJJJJJ.J.J.J.JJJJJ.J.J.J.J.J.J.J.JJJJJ.J.J.J.J.JJ.J..J.JJJ.JJJ.J.J.JJJ.JJJ.J.J.J.JJJJJ.J.J.JJJ.JJJJJJJJJJJJJJJJJ.J.JJJ.J.J.JJJ.J.J.JJJ.J.J.JJJ.J.J.JJJ.J.J.JJJ.J.J.JJJJJJJJJJJJJ.J.J.JJJ.J.JJJ.J.J.JJJ.J.J.JJJ.J.J.J.J.J.J.JJJ.JJJJ.JJ.J.J.J.JJ..J...J.J.J.J.J.J.JJJJJJJJJJJJJ.J.J.J.J.J.J.J.J.J.JJJJJ.J.J.J.J.J.J.J.J...J...J.J.J.J.JJJJJJJJJ.J.J.J.J.J.J.JJJ.J.JJJJJJJJJJJJJJJ.J.J.JJJ.J.JJJ.JJJJJJJJJJJJJJJJJ.J.J.JJJ.J.JJJ.JJJJJJJJJJJJJJJJJ.J.J.JJJ.J.JJJ.JJJJJJJJJJJJJJJJJ.J.J.JJJJ.JJJJJJJJJJJJJJJ.JJJJJJJJJJJJJ..J.JJJ.JJJJJJJJJJ....J.J.JJJJJJJ.J.JJJ.JJJJJJJJJJJJJJJJJJJJJ.J.J.J.JJJ.JJJJJJJJJ....JJJJJJJJJ....JJJJJJJ.JJJJJJJ..JJJ..J.JJJJJJJJJJJJJJJ.JJJJJJJ..JJJ....JJJJJJJJJJJJJJJ.JJJJJJJ..JJJ....JJJJJJJJJJJJJJJ.JJJJJJJJ.JJJ..J.JJJJJJJ.J.JJJ.JJJJJJJJJJJJJ.JJJ.J...JJJ.J.JJJ.JJJJJJJJJJJJJ.JJJ.JJJ.JJJ.J.JJJJJJJJJJJJJJJJJJJJJ.JJJ.JJJ.J.JJJ.JJJJJJJJJJJJJJJJJ.JJJ.JJJ.J.JJJ.JJJJJJJJJJJJJJJ...JJJJ........J...JJJJ........J...JJJJ........J...JJJJ........J.J.JJJJ........JJJ.JJJ.JJJ.J.JJJ.J.JJJJ........JJJ.JJJ.JJJ.JJJJJ.J.JJJJ........JJJ.JJJ.JJJ.J.JJJ.J.JJJJ........JJJ.JJJ.JJJ.JJJJJ.J.JJJJJ.......JJJ.J.............",
|
|
|
|
scale: 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "green",
|
|
|
|
name: "Green Hill Zone",
|
|
|
|
speed: 2,
|
|
|
|
bpm: 150,
|
|
|
|
events: {
|
|
|
|
preload: function() {
|
|
|
|
loadSound("green", "sounds/GreenHill.wav"); //139
|
|
|
|
loadSound("hitsoundSonicAndTails", "sounds/hitsoundJellyBean.wav");
|
|
|
|
loadSound("hitsoundTails", "sounds/hitsoundJellyBean.wav");
|
|
|
|
loadSprite("SonicAndTailsPre", "sprites/previews/SonicAndTailsPre.png");
|
|
|
|
loadSprite("TailsPre", "sprites/previews/TailsPre.png");
|
|
|
|
loadSprite("sonicBG0", "sprites/SonicBG.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 3,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 6,
|
|
|
|
speed: 10,
|
|
|
|
loop: true
|
|
|
|
}
|
|
|
|
},
|
|
|
|
});
|
|
|
|
loadSprite("sonicFG0", "sprites/SonicFG.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 3,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 0,
|
|
|
|
speed: 20
|
|
|
|
}
|
|
|
|
},
|
|
|
|
});
|
|
|
|
loadSprite("SonicAndTailssonic0", "sprites/SonicMidSim.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 4,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 6,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 7,
|
|
|
|
to: 8,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 9,
|
|
|
|
to: 11,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
loadSprite("SonicAndTailssonic1", "sprites/TailsMidSim.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 9,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 15,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 16,
|
|
|
|
to: 23,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 24,
|
|
|
|
to: 26,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
loadSprite("greenBG0", "sprites/SonicBG.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 3,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 6,
|
|
|
|
speed: 10,
|
|
|
|
loop: true
|
|
|
|
}
|
|
|
|
},
|
|
|
|
});
|
|
|
|
loadSprite("greenFG0", "sprites/SonicFG.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 3,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 0,
|
|
|
|
speed: 20
|
|
|
|
}
|
|
|
|
},
|
|
|
|
});
|
|
|
|
loadSprite("SonicAndTailsgreen0", "sprites/SonicMidSim.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 4,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 6,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 7,
|
|
|
|
to: 8,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 9,
|
|
|
|
to: 11,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
loadSprite("SonicAndTailsgreen1", "sprites/TailsMidSim.png", {
|
|
|
|
sliceX: 3,
|
|
|
|
sliceY: 9,
|
|
|
|
anims: {
|
|
|
|
idle: {
|
|
|
|
from: 0,
|
|
|
|
to: 15,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
talk: {
|
|
|
|
from: 16,
|
|
|
|
to: 23,
|
|
|
|
speed: 20
|
|
|
|
},
|
|
|
|
miss: {
|
|
|
|
from: 24,
|
|
|
|
to: 26,
|
|
|
|
speed: 10
|
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
characters: [
|
|
|
|
["SonicAndTails", "Sonic"],
|
|
|
|
["Tails", "Tails"]
|
|
|
|
],
|
|
|
|
noteTypes: {
|
2022-04-27 17:39:10 +00:00
|
|
|
"J": function(time, prevStep, char) {
|
2022-04-26 21:55:28 +00:00
|
|
|
if (char == "Tails") {
|
2022-04-27 17:39:10 +00:00
|
|
|
customNote(time, "J", prevStep, 0, [0, 0, 0], true);
|
2022-04-26 21:55:28 +00:00
|
|
|
} else {
|
2022-04-29 14:20:26 +00:00
|
|
|
noteDefault(time, prevStep)
|
2022-04-26 21:55:28 +00:00
|
|
|
}
|
|
|
|
},
|
2022-04-27 17:39:10 +00:00
|
|
|
"T": function(time, prevStep, char) {
|
2022-04-26 21:55:28 +00:00
|
|
|
if (char == "Tails") {
|
2022-04-29 14:20:26 +00:00
|
|
|
noteDefault(time, prevStep)
|
2022-04-26 21:55:28 +00:00
|
|
|
} else {
|
2022-04-27 17:39:10 +00:00
|
|
|
customNote(time, "T", prevStep, 0, [0, 0, 0], true);
|
2022-04-26 21:55:28 +00:00
|
|
|
}
|
|
|
|
},
|
2022-04-27 17:39:10 +00:00
|
|
|
"D": function(time, prevStep) {
|
2022-04-29 14:20:26 +00:00
|
|
|
noteDefault(time, prevStep);
|
2022-04-27 17:39:10 +00:00
|
|
|
customNote(time, "D", prevStep, 0, [0, 0, 0], true);
|
2022-04-26 21:55:28 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
makeScript: {
|
|
|
|
customChar: true,
|
|
|
|
customBG: false,
|
|
|
|
charPos: [],
|
|
|
|
script: function(players, char, bgEl) {
|
|
|
|
var player, player2;
|
|
|
|
bgEl.play("idle");
|
|
|
|
if (char == "Tails") {
|
|
|
|
player = add([
|
|
|
|
sprite("SonicAnd" + char + "green" + "1"),
|
|
|
|
layer("JELLYBEAN"),
|
|
|
|
"dances",
|
|
|
|
pos(224, 20),
|
|
|
|
scale(1)
|
|
|
|
])
|
|
|
|
player2 = add([
|
|
|
|
sprite("SonicAnd" + char + "green" + "0"),
|
|
|
|
layer("JELLYBEAN"),
|
|
|
|
"dances",
|
|
|
|
pos(20, 108),
|
|
|
|
scale(1)
|
|
|
|
])
|
|
|
|
} else {
|
|
|
|
player = add([
|
|
|
|
sprite(char + "green" + "0"),
|
|
|
|
layer("JELLYBEAN"),
|
|
|
|
"dances",
|
|
|
|
pos(20, 108),
|
|
|
|
scale(1)
|
|
|
|
])
|
|
|
|
player2 = add([
|
|
|
|
sprite(char + "green" + "1"),
|
|
|
|
layer("JELLYBEAN"),
|
|
|
|
"dances",
|
|
|
|
pos(224, 20),
|
|
|
|
scale(1)
|
|
|
|
])
|
|
|
|
}
|
|
|
|
return {returnType: "character", main: player, empty: player2};
|
|
|
|
}
|
|
|
|
},
|
|
|
|
chart: "................J.....J.....J.....J.....J...J...J.....J.....J...................J.....J.....J...J.....J.....J...J.....J.................................T.T...T.T...T.T...T...........T.T.T...T.T...T.T...T.............T.T...T.T...T.T...T...........T.T.T...T.T...T.T...T.....T.......J.J...J.J...D.J.T.J.T...T.....J.J.J...J.J...D.J.T.J.T...T.......J.J...J.J...D.J.T.J.T...T.....J.J.J...J.J...D.J.T.J.D...D.....J.....J.....J.....J.T.D.T.J.....J.....J.....J.....J.T.D.T.J.....J.....J.....J.....J.T.D.T.J.T.T.T...T.T.T...T.T.T.T.T.T.T.........J.J...J.J...J.J...J...........J.J.J...J.J...J.J...J.............J.J...J.J...J.J...J...........J.J.J...J.J...J.J...J.....J.......T.T...T.T...D.T.J.T.J...J.....T.T.T...T.T...D.T.J.T.J...J.......T.T...T.T...D.T.J.T.J...J.....T.T.T...T.T...D.T.J.T.J.T.D.....T.....T.....T.....T.J.D.J.T.....T.....T.....T.....T.J.D.J.T.....T.....T.....T.....T.J.D.J.T.J.J.J...J.J.J...J.J.J.J.J.J.J................................................................................................................................................................",
|
|
|
|
scale: 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "sonic",
|
|
|
|
name: "Emerald Hill Zone",
|
|
|
|
speed: 2,
|
|
|
|
bpm: 139,
|
|
|
|
events: {
|
|
|
|
preload: function() {
|
|
|
|
loadSound("tutorial", "sounds/Getting it Done.mp3"); //135
|
|
|
|
loadSound("faith", "sounds/The Friendly Faith Plate.mp3"); //120
|
|
|
|
loadSound("sonic", "sounds/SonicInMidSim.wav"); //139
|
|
|
|
loadSound("green", "sounds/GreenHill.wav"); //139
|
|
|
|
}
|
|
|
|
},
|
|
|
|
characters: [
|
|
|
|
["SonicAndTails", "Sonic"],
|
|
|
|
["Tails", "Tails"]
|
|
|
|
],
|
|
|
|
noteTypes: {
|
2022-04-27 17:39:10 +00:00
|
|
|
"J": function(time, prevStep, char) {
|
2022-04-26 21:55:28 +00:00
|
|
|
if (char == "Tails") {
|
2022-04-27 17:39:10 +00:00
|
|
|
customNote(time, "J", prevStep, 0, [0, 0, 0], true);
|
2022-04-26 21:55:28 +00:00
|
|
|
} else {
|
2022-04-29 14:20:26 +00:00
|
|
|
noteDefault(time, prevStep)
|
2022-04-26 21:55:28 +00:00
|
|
|
}
|
|
|
|
},
|
2022-04-27 17:39:10 +00:00
|
|
|
"T": function(time, prevStep, char) {
|
2022-04-26 21:55:28 +00:00
|
|
|
if (char == "Tails") {
|
2022-04-29 14:20:26 +00:00
|
|
|
noteDefault(time, prevStep)
|
2022-04-26 21:55:28 +00:00
|
|
|
} else {
|
2022-04-27 17:39:10 +00:00
|
|
|
customNote(time, "T", prevStep, 0, [0, 0, 0], true);
|
2022-04-26 21:55:28 +00:00
|
|
|
}
|
|
|
|
},
|
2022-04-27 17:39:10 +00:00
|
|
|
"D": function(time, prevStep) {
|
2022-04-29 14:20:26 +00:00
|
|
|
noteDefault(time, prevStep);
|
2022-04-27 17:39:10 +00:00
|
|
|
customNote(time, "D", prevStep, 0, [0, 0, 0], true);
|
2022-04-26 21:55:28 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
makeScript: {
|
|
|
|
customChar: true,
|
|
|
|
customBG: false,
|
|
|
|
charPos: [],
|
|
|
|
script: function(players, char, bgEl) {
|
|
|
|
var player, player2;
|
|
|
|
bgEl.play("idle");
|
|
|
|
if (char == "Tails") {
|
|
|
|
player = add([
|
|
|
|
sprite("SonicAnd" + char + "green" + "1"),
|
|
|
|
layer("JELLYBEAN"),
|
|
|
|
"dances",
|
|
|
|
pos(224, 20),
|
|
|
|
scale(1)
|
|
|
|
])
|
|
|
|
player2 = add([
|
|
|
|
sprite("SonicAnd" + char + "green" + "0"),
|
|
|
|
layer("JELLYBEAN"),
|
|
|
|
"dances",
|
|
|
|
pos(20, 108),
|
|
|
|
scale(1)
|
|
|
|
])
|
|
|
|
} else {
|
|
|
|
player = add([
|
|
|
|
sprite(char + "green" + "0"),
|
|
|
|
layer("JELLYBEAN"),
|
|
|
|
"dances",
|
|
|
|
pos(20, 108),
|
|
|
|
scale(1)
|
|
|
|
])
|
|
|
|
player2 = add([
|
|
|
|
sprite(char + "green" + "1"),
|
|
|
|
layer("JELLYBEAN"),
|
|
|
|
"dances",
|
|
|
|
pos(224, 20),
|
|
|
|
scale(1)
|
|
|
|
])
|
|
|
|
}
|
|
|
|
return {returnType: "character", main: player, empty: player2};
|
|
|
|
}
|
|
|
|
},
|
|
|
|
chart: "..................................................J.J.J.J.J.JJ....J.J.J.J..J.........JJJJ.J.JJ.J..................T.T.T.T.T.TT....T...T.T..T........TTT.T.T.TT.T..................J.J.J.J.J.J.J.J.J...J...........J.J.J.J.J.JJ..J.................T.T.T.T.T.T.T.T.T...T...........T.T.T.T.T.TT..T...............J.....J.....J.J.J.JJ....T.TT........J.J.J.J.J.J.J.J...J.........T.....T.....T.T.T.TT....J.JJ....DD.D.............................................................",
|
|
|
|
scale: 1
|
|
|
|
},
|
|
|
|
]
|
|
|
|
|
2022-04-27 19:04:30 +00:00
|
|
|
export function noteDefault(time, prevStep) {
|
2022-04-26 21:55:28 +00:00
|
|
|
add([
|
|
|
|
rect(10, 50),
|
|
|
|
pos(width(), 20),
|
|
|
|
color(232, 3, 252),
|
|
|
|
("note" + prevStep),
|
|
|
|
"note",
|
|
|
|
{
|
|
|
|
created: time,
|
2022-04-27 19:04:30 +00:00
|
|
|
type: "J",
|
2022-04-26 21:55:28 +00:00
|
|
|
empty: false,
|
|
|
|
normal: true
|
|
|
|
}
|
|
|
|
]);
|
2022-04-27 02:28:13 +00:00
|
|
|
}
|
2022-04-27 17:39:10 +00:00
|
|
|
|
|
|
|
export function customNote(time, letter, prevStep, w, colorArray, empty, funclol) {
|
|
|
|
add([
|
|
|
|
rect(w, 50),
|
|
|
|
pos(width(), 20),
|
|
|
|
colorArray ? color(colorArray[0], colorArray[1], colorArray[2]) : color(0, 0, 0),
|
|
|
|
("note" + prevStep),
|
|
|
|
"note",
|
|
|
|
{
|
|
|
|
created: time,
|
|
|
|
type: letter,
|
|
|
|
function: funclol,
|
|
|
|
empty: empty,
|
|
|
|
normal: funclol != undefined ? false : true
|
|
|
|
}
|
|
|
|
]);
|
2022-04-27 19:04:30 +00:00
|
|
|
}
|