Update time. Short, but sweet; this is what I added just counting today.
Chronological order, from left to right. Activate the keyhole with the local Boss Key item, and... suddenly there is an earthquake, the lower wall explodes over and over again, and finally crumbles away into a path, allowing you entrance to Level 1. The fancy fireworks display takes around six full seconds.
It took tons of pixel-perfect mathematical calculations and a fair bit of trial and error to orchestrate this miniature cutscene, and I am VERY proud of myself-- the two hardest parts, by the way, were getting the cutscene to not loop indefinitely, and making it only happen one time ever (instead of every time you come on the screen) and stay "happened".
Here's the script I used. It is completely un-commented, and geared specifically towards my own use on the screen you see here, so to get any use out of it you'll need at least a slight amount of scripting knowledge-- enough to modify it to your own needs. (That being said, you don't have to credit me if you use it.
Do show me, though, 'cause I'm curious to see if anyone will benefit from this creatively!)
CODE
ffc script SPEC_Level1GateKey
{
// D0 is how long the scene lasts,
// D1 is the sound when it begins,
// D2 is the sound when it finishes,
// and D3 is the amount of time left in the scene when the Screen Secrets will activate.
void run(int SceneTimer, int Sound, int SecretSound, int SecretActivate)
{
lweapon GateBoom;
while(!Screen->State[13])
{
if((GetLevelItem(0x10)) && (Screen->State[9]))
{
Game->PlaySound(Sound);
while(SceneTimer)
{
Screen->Quake = 6;
if(!(SceneTimer % 4))
{
GateBoom = CreateLWeaponAt(23, (Rand(88, 136)), (Rand(136, 152)));
GateBoom->UseSprite(89);
}
if(SceneTimer == SecretActivate)
{
Screen->TriggerSecrets();
}
SceneTimer --;
Waitframe();
}
SetLevelItem(0x10, false);
Game->PlaySound(SecretSound);
Screen->State[13] = true;
}
Waitframe();
}
}
}
One more thing!You see those blue Keese? They're special. You know what they do?
They
teleport. Whenever you damage them, they warp themselves to a random spot on the screen, always out-of-range of your Sword. Meaning you have to chase them down again.
For some bizarre reason it was
harder to write the script for them to do that than it was to make the wall explode-- I kept having problems with my While loops when I added the part that checks for close proximity to Link!
But I managed it. I need to learn to not think too hard and overcomplicate my Scripts; I've realized that more often than not the simpler commands are all I need to make things do what I want, the more complex setups aren't very often needed.
So there you go! Schwa Insight.
Schwinsight. And no, I am not releasing the Teleporting Keese script. Yet, at least. Maybe I will and maybe I won't.