Jump to content

Photo

Modify how far Link can jump with the Roc's Feather...


  • Please log in to reply
10 replies to this topic

#1 Demonlink

Demonlink

    Lurking in the shadows...

  • Members
  • Real Name:Miguel
  • Location:Wouldn't you like to know?

Posted 01 October 2017 - 02:10 PM

I'm using Justin's Pegasus Boots script, along with the Roc's Feather. I changed the height multiplier to 1 for its normal use, but combined with the boots, it gives Link momentarily a Lv2 Feather to give the false impression that under speed, he can jump farther.

 

However, I'm not comfortable with the fact that the Lv2 Feather has a height multiplier of 2, and makes Link jump very high, 4 combos wide to be precise. In the Oracle series, the Feather could be used to jump a combo width in ZC. Using the Pegasus Boots (or seeds), it would make Link jump far the equivalent to 2 combos wide and not 4 by having a height multiplier of 2 in ZC.

 

Hmmm, to make my question simple, is it possible to make (or script), the feather to make Link jump less farther? It would be nice for the height multiplier values be changed in future ZC versions to allow float values or such, because a multiplier of 2 is too much in my opinion.


  • Naru likes this

#2 Gégé

Gégé

    Senior

  • Members
  • Real Name:Gérard
  • Location:France

Posted 01 October 2017 - 05:05 PM

Try this :
item script RocsFeather{
    void run(int jmp, int Snd){
        if(Link->Jump != 0)Quit();
        Link->Jump = jmp;
        Game->PlaySound(Snd);
    }
}
Custom Item class
D0 : Height jump (can use 0.1, 0.2 ...)
D1 : Sound Jump

Edited by Gégé, 01 October 2017 - 05:11 PM.

  • Demonlink likes this

#3 Demonlink

Demonlink

    Lurking in the shadows...

  • Members
  • Real Name:Miguel
  • Location:Wouldn't you like to know?

Posted 01 October 2017 - 10:06 PM

Thanks, it works perfectly! :D

 

EDIT: Hmmm, while I can modify precisely Link's jump value, the Pegasus Boots Script doesn't give me the Feather upgrade if I jump while dashing. Actually, I can't even jump while dashing now, it has to be a Roc's Feather Itemclass for it to work. I think it has to do with this code of the script:

 

if(PegasusDash >= 0){
        if(!PegasusCollision){
            if( (Link->Action != LA_SCROLLING && ((StoreInput == 1 && !Link->InputA) || (StoreInput == 2 && !Link->InputB)))
                || StoreHP > Link->HP || Link->Action == LA_RAFTING
                || Link->Action == LA_DROWNING || Link->Action == LA_SWIMMING || Link->Action == LA_DIVING
                || (CanDrown == 0 && IsWater(TouchedComboLoc())) || (CanDrown == 1 && IsWater(loc)) ){


                    StopDash();


                    if(Link->Action == LA_SWIMMING) DashCounter = -20;
            }


            if(!UsingItem(I_ROCSFEATHER_INCREASER))
               NoAction();


            if(Link->Item[130] && !Link->Item[I_ROCSFEATHER_INCREASER]){ //Item #130 is scripted Roc's Feather; replaced I_ROCSFEATHER
               Link->Item[I_ROCSFEATHER_INCREASER]=true;
            }

Edited by Demonlink, 01 October 2017 - 10:34 PM.


#4 Gégé

Gégé

    Senior

  • Members
  • Real Name:Gérard
  • Location:France

Posted 02 October 2017 - 06:28 AM

Script Pegasus edited
Spoiler

Edited by Gégé, 02 October 2017 - 07:03 AM.


#5 Gégé

Gégé

    Senior

  • Members
  • Real Name:Gérard
  • Location:France

Posted 02 October 2017 - 07:03 AM

I hope it's what you want :)
item script RocsFeather{
    void run(int jmp, int jmp2){
        if(Link->Jump != 0)Quit();

        if(PegasusDash > 0){
            if(jmp2 > 0)Link->Jump = jmp2;
            else Link->Jump = jmp;
        }
        else{
            Link->Jump = jmp;
        }
        Game->PlaySound(45);
    }
}
D0 = Height
D1 = Height while Pegasus (set 0 ignore that)
The Link->Item[I_ROCSFEATHER_INCREASER] is deleted.
  • Demonlink likes this

#6 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 02 October 2017 - 09:57 PM

This is another glorious example of what the future itemdata stuff will do, to make this kind of thing easier.

In the SMB-style quest that I started four years ago, I had some 'Wands' that when used, modified Mario's jump height.

I essentially had one array index for jumpheight, and when the player used any item, it set that index to a specific value. Then, whenever the player pressed the jump button, that value was used.

Other than that, Roc's Feather is an easy way to allow a player to break your game. It is a very abuse-heavy item, and I sort of love it for that. :D

#7 Demonlink

Demonlink

    Lurking in the shadows...

  • Members
  • Real Name:Miguel
  • Location:Wouldn't you like to know?

Posted 03 October 2017 - 07:52 PM

I hope it's what you want :)

item script RocsFeather{
    void run(int jmp, int jmp2){
        if(Link->Jump != 0)Quit();

        if(PegasusDash > 0){
            if(jmp2 > 0)Link->Jump = jmp2;
            else Link->Jump = jmp;
        }
        else{
            Link->Jump = jmp;
        }
        Game->PlaySound(45);
    }
}
D0 = Height
D1 = Height while Pegasus (set 0 ignore that)
The Link->Item[I_ROCSFEATHER_INCREASER] is deleted.

 

Thanks so much for your help Gegé! Hmmm, the only issue is that when Link is dashing and I press the button to use the scripted feather, it doesn't do anything. Link can jump as long as he is not dashing. :(

 

 

This is another glorious example of what the future itemdata stuff will do, to make this kind of thing easier.

In the SMB-style quest that I started four years ago, I had some 'Wands' that when used, modified Mario's jump height.

I essentially had one array index for jumpheight, and when the player used any item, it set that index to a specific value. Then, whenever the player pressed the jump button, that value was used.

Other than that, Roc's Feather is an easy way to allow a player to break your game. It is a very abuse-heavy item, and I sort of love it for that. :D

Yes, and I intend to have the item in late game, or something like that. I keep in mind the feather very closely when designing screens and such. BTW, you mention that these issues are being addressed in newer ZC versions!?  :omg:



#8 Gégé

Gégé

    Senior

  • Members
  • Real Name:Gérard
  • Location:France

Posted 04 October 2017 - 05:40 AM

Like this ?
https://youtu.be/yz4jyy7XVnQ

#9 Demonlink

Demonlink

    Lurking in the shadows...

  • Members
  • Real Name:Miguel
  • Location:Wouldn't you like to know?

Posted 09 October 2017 - 08:44 PM

Yes, exactly like that. Is it possible to emulate that? Also, please excuse my late reply, my laptop had no AC adapter and I had to wait a week to replace it. Thanks so much for your help so far Gegé! :D



#10 Gégé

Gégé

    Senior

  • Members
  • Real Name:Gérard
  • Location:France

Posted 10 October 2017 - 03:34 AM

I used the item script and Pegasus script edited (in spoiler) :)

Edited by Gégé, 10 October 2017 - 03:34 AM.


#11 Demonlink

Demonlink

    Lurking in the shadows...

  • Members
  • Real Name:Miguel
  • Location:Wouldn't you like to know?

Posted 10 October 2017 - 12:35 PM

I used the item script and Pegasus script edited (in spoiler) :)

Hmmm, I guess I might have setup something wrong. In any case, I really appreciate your help, thank you so much. :)




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users