The issue here, is that you are referencing the types of games that are typically sideview quests, and almost all sideview quests use scripted jumping, whereby it would be trivial to do this type of jump mechanic.
Something like this could work:
Code:
ffc script RocJumpTimed{
void run(int timermax, int frames){
int timer;
while ( ( ( GettEquipmentA == I_ROCSFEATHER && Link->InputA ) || ( GetEquipmentB == I_ROCSFEATHER && Link->InputB ) ) && timer <= maxtimer ) {
timer++;
if ( timer % frames == 0 ) Link->Jump += height;
Waitframe();
}
this->Data = 0; this->Script = 0; Quit();
}
}
item script RocMario{
void run(int maxtimer, int frames){
int ff[]=RocJumpTimed";
ffc f; int fff = Game->GetFFCScript(ff);
for (int q = 1; q <= 32; q++){
f = Screen->LoadFFC(q);
if ( q-> Script == fff ) Quit();
}
int a[8]={maxtimer,frames};
RunFFCScript(fff,a);
}
}
Making the height of Ric' s Feather scale based on the number of frames of input could be an item editor option, but I doubt it would see much use...?