My first script(s) were for an attempt at Deadman's Volley back in the original two week incarnation of Light of the Heavens over 7 years ago. They were awful. Instead of actually scripting it properly, I had a series of screens 2.10 style with a projectile going towards Link (stuck on a 1x2 platform), and a projectile going back up towards the boss, with scripts that would advance you to the next screen if you hit A at the right time. I also tried manually drawing the sword on A press for... reasons. Also a button mash sequence.
int ballx;
int bally;
ffc script ballcomingdown{
void run(int dmapnumber, int screennumber){
while(true){
if (Link->X > this->X-1 && Link->X < this->X+16 && Link->Y > this->Y && Link->Y < this->Y+32 && Link->InputA == true) {
Waitframes(10);
ballx = this->X; bally = this->Y;
Link->PitWarp(dmapnumber, screennumber);
}
else if (Link->X == this->X && Link->Y == this->Y){
Game->PlaySound(19);
Link->HP -= 16;
}
Waitframe(); }
}
}
ffc script ballgoingup{
void run(){
this->X = ballx;
this->Y = bally;
}
}
ffc script ballgoingup2{
void run(int ffcx, int ffcy, int dmapnumber, int screennumber){
this->X = ballx;
this->Y = bally;
while(true){
if (this->X == ffcx && this->Y == ffcy){
Link->PitWarp(dmapnumber, screennumber);
}
Waitframe();}
}
}
ffc script sworddeflect{
void run(){
int xposition = Link->X; int yposition = Link->Y-16;
Screen->DrawCombo(2, xposition, yposition, 4536, 1, 1, 8, -1, -1, 1, 1, 0, 1, 0, false, 128);
}
}
ffc script differentending{
void run(int dmapnumber, int screennumber){
Link->InputA = false;
Waitframes (60);
while(true){
if (Link->Item[7] == true && Link->InputA == true && Link->Dir == 0){
Link->PitWarp(dmapnumber, screennumber);
}
Waitframe();}
}
}
ffc script damage{
void run(){
while(true){
if (Link->X > this->X - 1 && Link->X < this->X + 16 && Link->Y > this->Y - 1 && Link->Y < this->Y + 32){
Game->PlaySound(19);
Link->HP -= 8;
Waitframes(60);
}
Waitframe();}
}
}
ffc script pressa{
void run(int dmapnumber, int screennumber){
int acount;
while(true){
if (Link->InputA == true){
acount += 1;
}
if (acount == 60 || acount > 60){
Link->Warp(dmapnumber, screennumber);
}
Waitframe();}
}
}
I want to go back in time and strangle my younger self. Thanks for making me relive this.