Skip to content

Conversation

@shadeydo
Copy link
Contributor

@shadeydo shadeydo commented Feb 9, 2026

This ability teleports the character instantly in the direction they are running whenever the player presses C (Closes #1892).
The ability is local to the stealth mini-game character, and the hope is that the script will later be partially redacted so that the competitors can learn to code player movement.

Changes:

  • Added a new keybind “champ-blink” to the input map in project settings
  • Added an island in the stealth mini-game that can only be visited with the blink ability

The hope is that the player will see this new island and be incentivized to code a working blink ability.
This still needs some work, mainly because now that the player can go out of bounds, the system of using a hidden border tile layer becomes a bit awkward.

@shadeydo shadeydo added this to the Vermont Cup StoryQuest milestone Feb 9, 2026
@shadeydo shadeydo requested a review from a team as a code owner February 9, 2026 23:05
@shadeydo shadeydo requested a review from a team as a code owner February 9, 2026 23:05
@github-actions
Copy link

github-actions bot commented Feb 9, 2026

Play this branch at https://play.threadbare.game/branches/endlessm/champ-stealth-blink.

(This launches the game from the start, not directly at the change(s) in this pull request.)

project.godot Outdated
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(92, 25),"global_position":Vector2(92, 54),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
]
}
champ-blink={
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The implied convention for built-in Godot input actions, that we have followed for all other actions in this project, is to separate words with _ not -.

@@ -369,6 +375,7 @@ dialogue = ExtResource("15_sfcyb")
metadata/_custom_type_script = "uid://x1mxt6bmei2o"

[node name="Incomplete Character" type="CharacterBody2D" parent="." unique_id=94949845]
z_index = 1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You shouldn't need to explicitly set the z-index of the character if you have the y-sorting in the level configured correctly.

Addressed the comments in PR #1901
- changed champ-blink to champ_blink in the input map
- Removed explicit z index specification. In it's place, enabled Y sorting the decorations tile map layer and the character. I think this is what the comment meant
This addresses the comments in the stealth minigame PR a couple days ago.

- Made new WaterRock scene that is instantiated in the main stage instead of duplicate instances
- Did the same for the water ripples to make it easier to make changes
- Added RandomFrameSpriteBehavior node to both animations instead of a custom randomization script for each (I still had to have a script to start the animation playing though, can't figure out how to get around this.)
Comment on lines 6 to 8
# Called when the node enters the scene tree for the first time.
func _enter_tree() -> void:
play("1")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should be able to make animation "1" autoplay by setting this property on the node. You shouldn't need a script.

https://docs.godotengine.org/en/stable/classes/class_animatedsprite2d.html#class-animatedsprite2d-property-autoplay

Copy link
Contributor Author

@shadeydo shadeydo Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, the auto-play button in the gui is easy to miss! I addressed your comments in the latest commit, thanks for all the help getting things up to standards.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean to change the water_rock scene that is shared with the whole project, rather than the one in champ?

Addressed the new comments in the #1901 PR.
I didn't realize that there was already a water_rock.tcsn file shared with all story quests, so I switched the stealth mini game to using that!
Also, turned on autoplay for the water ripples instead of using a custom script to do so.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create a more advanced "ability" to traverse the level

3 participants