Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New extension: AdvancedWallClimb #1186

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

github-actions[bot]
Copy link
Contributor

Description

This extension has everything you need to add Celeste-Inspired wall climbing mechanics into your platformer game.
Wall Jump, Climb Walls with Customizable options, like auto climb, press once to climb, and hold to climb!

How to use the extension

Add the AdvancedWallClimb behavior to your Object(s) to use the Conditions and Actions for this Extension.
This extension requires that you first add the platforming character behavior first. You can further customize your climbing type, climbing key, and objects point to use in the Behavior Section.

Note: You need to add a "Point" to the object wherever you'd want the collision for the grab trigger. Name it anything you'd like, and set that point in the Behavior Section.

Once that is configured, you are ready to use all the actions for that object.

Without further setup, the extension is ready to use! Alternatively, use our extensive condition and action options to refine and customize your climb speed, wall jumps, and other useful settings.

Checklist

  • I've followed all of the best practices.
  • I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed.
  • I am aware that the extension may be updated by anyone, and do not need my explicit consent to do so.

What tier of review do you aim for your extension?

Reviewed

Example file

ProjectExample.zip

Extension file

AdvancedWallClimb.zip

@github-actions github-actions bot requested a review from a team as a code owner February 23, 2024 20:24
@github-actions github-actions bot added the ✨ New extension A new extension label Feb 23, 2024
@github-actions github-actions bot added this to Needs review in Extensions review Feb 23, 2024
@github-actions github-actions bot mentioned this pull request Feb 23, 2024
3 tasks
@D8H
Copy link
Contributor

D8H commented Mar 1, 2024

Thank you for submitting an extension.

There is an existing extension that has wall jump feature. Have you considered to make an update for it?
https://wiki.gdevelop.io/gdevelop5/extensions/advanced-jump/

@Down2EarthGG
Copy link

Thank you for submitting an extension.

There is an existing extension that has wall jump feature. Have you considered to make an update for it? https://wiki.gdevelop.io/gdevelop5/extensions/advanced-jump/

The wall jump feature in this extension is necessary for a different use-case. The Wall jump features are not the same- to my understanding. The jump mechanic in this extension only allows for an "Auto Jump" once the climb point has reached the end of its collision or for a singular jump from a wall after climbing (Defined as having the ability to hold onto the wall and move up or down via control input. ) and introduces a duration timer for the "stamina" or wall hold time.

While similar, I don't know that the game-feel for these two applications are necessary to combine, but you can use both extensions without issue*

I believe I use it in the example upload.

@Down2EarthGG
Copy link

I have an update for the extension I would like to add. @D8H
Not sure where to put them, so- here we are!

AdvancedWallClimb.zip
Example Project.zip

A Discord user found an error:

Patch Notes: Advanced Wall Climbing V1.0.1

  • Fixed: extension name changed borked internal code.
  • Cleaned up some unclear sections
  • responded to community request

All the best

@D8H
Copy link
Contributor

D8H commented Mar 7, 2024

A few things from a quick check:

  • Generated code should never be called.

    let Climbable = gdjs.evtsExt__AdvancedWallClimb__GetClimbableNames.func(runtimeScene);

    Either:

    • Declare the function in JS to call it
    • Call it from events and pass the result by parameter
  • If you need to add a state on the object, you should use the extension namespace here too to avoid collision.

    const instance = objects[0];
    instance.CanClimb = true;
    instance.Climbed = false;

@VegeTato VegeTato moved this from Needs review to Needs changes in Extensions review Mar 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ New extension A new extension
Projects
Extensions review
  
Needs changes
Development

Successfully merging this pull request may close these issues.

None yet

2 participants