From bcf92b63075d2907f9fa411ab129dd213a0f0b49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Tue, 14 Apr 2026 16:38:23 -0300 Subject: [PATCH 1/2] Integrate powerup asset This is a ball of thread animated, for the grappling hook. Use it in both the grapple ability and the longer thread modifier. Merge the Aseprite file provided by PixelFrog with the existing one, because we still need a default powerup asset. Also keep the shadow, which wasn't in the delivered files. Also desaturate the highlight sprite provided, because modulate the highlight is an easy way to distinguish the powerups. Finally, export multiple layers: - A shadow layer - The highlight effect - The powerup asset itself Change the powerup scene accordingly. Remove the shader used before for highlighting. --- .../components/unify_abilities_test.tscn | 4 + .../props/powerup/components/powerup.aseprite | 4 +- .../props/powerup/components/powerup.gd | 9 +- .../props/powerup/components/powerup.png | 3 - .../powerup/components/powerup_default.png | 3 + .../components/powerup_default.png.import | 40 +++++++++ .../powerup/components/powerup_default.tres | 14 ++++ .../powerup/components/powerup_highlight.png | 4 +- .../powerup/components/powerup_shadow.png | 3 + ...p.png.import => powerup_shadow.png.import} | 8 +- .../powerup/components/powerup_thread.png | 3 + .../components/powerup_thread.png.import | 40 +++++++++ .../powerup/components/powerup_thread.tres | 53 ++++++++++++ .../powerup/components/ripple_effect.gdshader | 40 --------- .../components/ripple_effect.gdshader.uid | 1 - .../game_elements/props/powerup/powerup.tscn | 82 +++++++++++++++---- .../2_ink_combat/ink_combat_round_1.tscn | 2 + .../grappling_hook_powerup.tscn | 2 + .../grappling_hook_start.tscn | 2 + .../void_grappling_round_2.tscn | 2 + .../2_NO_EDIT_combat/NO_EDIT_combat.tscn | 2 + 21 files changed, 248 insertions(+), 73 deletions(-) delete mode 100644 scenes/game_elements/props/powerup/components/powerup.png create mode 100644 scenes/game_elements/props/powerup/components/powerup_default.png create mode 100644 scenes/game_elements/props/powerup/components/powerup_default.png.import create mode 100644 scenes/game_elements/props/powerup/components/powerup_default.tres create mode 100644 scenes/game_elements/props/powerup/components/powerup_shadow.png rename scenes/game_elements/props/powerup/components/{powerup.png.import => powerup_shadow.png.import} (77%) create mode 100644 scenes/game_elements/props/powerup/components/powerup_thread.png create mode 100644 scenes/game_elements/props/powerup/components/powerup_thread.png.import create mode 100644 scenes/game_elements/props/powerup/components/powerup_thread.tres delete mode 100644 scenes/game_elements/props/powerup/components/ripple_effect.gdshader delete mode 100644 scenes/game_elements/props/powerup/components/ripple_effect.gdshader.uid diff --git a/scenes/game_elements/characters/player/components/unify_abilities_test.tscn b/scenes/game_elements/characters/player/components/unify_abilities_test.tscn index 7f0b0cb2d..6c50afe28 100644 --- a/scenes/game_elements/characters/player/components/unify_abilities_test.tscn +++ b/scenes/game_elements/characters/player/components/unify_abilities_test.tscn @@ -16,6 +16,8 @@ [ext_resource type="Script" uid="uid://cp54mgi54nywo" path="res://scenes/game_logic/fill_game_logic.gd" id="17_b7aom"] [ext_resource type="PackedScene" uid="uid://dmevaymmt6wco" path="res://scenes/game_elements/props/powerup/powerup.tscn" id="17_w66m4"] [ext_resource type="PackedScene" uid="uid://b82nsrh332syj" path="res://scenes/game_elements/characters/enemies/throwing_enemy/throwing_enemy.tscn" id="18_iu48k"] +[ext_resource type="SpriteFrames" uid="uid://cfgahyntmtfgu" path="res://scenes/game_elements/props/powerup/components/powerup_thread.tres" id="18_mecxj"] +[ext_resource type="SpriteFrames" uid="uid://cualgrcaaggcm" path="res://scenes/game_elements/props/powerup/components/powerup_default.tres" id="18_nev3j"] [ext_resource type="PackedScene" uid="uid://y8ha8abfyap2" path="res://scenes/game_elements/props/filling_barrel/filling_barrel.tscn" id="19_a36ca"] [node name="Testeo" type="Node2D" unique_id=80760666] @@ -91,6 +93,7 @@ color = Color(0, 1, 1, 1) [node name="RepelPowerup" parent="OnTheGround" unique_id=1795462717 instance=ExtResource("17_w66m4")] position = Vector2(-307, 1622) +sprite_frames = ExtResource("18_nev3j") highlight_color = Color(0, 0.4392157, 1, 1) [node name="GrapplePowerup" parent="OnTheGround" unique_id=1564118198 instance=ExtResource("17_w66m4")] @@ -98,6 +101,7 @@ position = Vector2(-307, 1770) ability = 16 ability_name = "Grapple" interact_action = "Collect Grapple" +sprite_frames = ExtResource("18_mecxj") highlight_color = Color(0.8910073, 0.7227245, 0, 1) [node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=1976326993] diff --git a/scenes/game_elements/props/powerup/components/powerup.aseprite b/scenes/game_elements/props/powerup/components/powerup.aseprite index 6ebc3d7d1..9503c7179 100644 --- a/scenes/game_elements/props/powerup/components/powerup.aseprite +++ b/scenes/game_elements/props/powerup/components/powerup.aseprite @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:85521554f47d1985edb2fa23d6e55702f4f909b28564985522f73ac2cb2cdf9b -size 955 +oid sha256:55b8c510d4c250334084d142d892b006c7b3b62d80a5057e8cdc9482676132a9 +size 21580 diff --git a/scenes/game_elements/props/powerup/components/powerup.gd b/scenes/game_elements/props/powerup/components/powerup.gd index 45440dccc..8f92c97d3 100644 --- a/scenes/game_elements/props/powerup/components/powerup.gd +++ b/scenes/game_elements/props/powerup/components/powerup.gd @@ -21,7 +21,7 @@ signal collected set = _set_interact_action ## Asset of this powerup. -@export var sprite_frames: SpriteFrames: +@export var sprite_frames: SpriteFrames = preload("uid://cualgrcaaggcm"): set = _set_sprite_frames ## The powerup shines with this color through a shader. @@ -34,7 +34,7 @@ signal collected var _tween: Tween @onready var interact_area: InteractArea = %InteractArea -@onready var highlight_effect: Sprite2D = %HighlightEffect +@onready var highlight_effect: AnimatedSprite2D = %HighlightEffect @onready var sprite: AnimatedSprite2D = %Sprite @onready var interact_collision: CollisionShape2D = %InteractCollision @onready var ground_collision: CollisionShape2D = %GroundCollision @@ -99,7 +99,6 @@ func _on_interact_area_interaction_started( _tween.kill() _tween = create_tween() _tween.tween_property(highlight_effect, "modulate", Color.WHITE, 0.5) - _tween.tween_property(highlight_effect, "material:shader_parameter/width", 1.0, 1.0) await _tween.finished if dialogue: DialogueManager.show_dialogue_balloon(dialogue, "", [self]) @@ -113,5 +112,5 @@ func _on_interact_area_observers_changed() -> void: if _tween: _tween.kill() _tween = create_tween() - var width: float = 0.8 if interact_area.is_being_observed else 0.4 - _tween.tween_property(highlight_effect, "material:shader_parameter/width", width, 1.0) + var color: Color = Color.WHITE if interact_area.is_being_observed else highlight_color + _tween.tween_property(highlight_effect, "modulate", color, 0.5) diff --git a/scenes/game_elements/props/powerup/components/powerup.png b/scenes/game_elements/props/powerup/components/powerup.png deleted file mode 100644 index 9a25def33..000000000 --- a/scenes/game_elements/props/powerup/components/powerup.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5646b743efe7b14a3ff63d54302b17d29e958d917c4bfa05924dc7b2b2784617 -size 1022 diff --git a/scenes/game_elements/props/powerup/components/powerup_default.png b/scenes/game_elements/props/powerup/components/powerup_default.png new file mode 100644 index 000000000..64e96a057 --- /dev/null +++ b/scenes/game_elements/props/powerup/components/powerup_default.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d680945595aa88c90801ac6dfb7b45f934d7faeb83ef055e81b6899992050da +size 752 diff --git a/scenes/game_elements/props/powerup/components/powerup_default.png.import b/scenes/game_elements/props/powerup/components/powerup_default.png.import new file mode 100644 index 000000000..d7057505f --- /dev/null +++ b/scenes/game_elements/props/powerup/components/powerup_default.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drfvwiaeco2b1" +path="res://.godot/imported/powerup_default.png-552e42b7860b171ba67b0c2747fd11f3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/game_elements/props/powerup/components/powerup_default.png" +dest_files=["res://.godot/imported/powerup_default.png-552e42b7860b171ba67b0c2747fd11f3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/game_elements/props/powerup/components/powerup_default.tres b/scenes/game_elements/props/powerup/components/powerup_default.tres new file mode 100644 index 000000000..0b39ae30e --- /dev/null +++ b/scenes/game_elements/props/powerup/components/powerup_default.tres @@ -0,0 +1,14 @@ +[gd_resource type="SpriteFrames" format=3 uid="uid://cualgrcaaggcm"] + +[ext_resource type="Texture2D" uid="uid://drfvwiaeco2b1" path="res://scenes/game_elements/props/powerup/components/powerup_default.png" id="1_cyg7p"] + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_cyg7p") +}], +"loop": true, +"name": &"default", +"speed": 10.0 +}] diff --git a/scenes/game_elements/props/powerup/components/powerup_highlight.png b/scenes/game_elements/props/powerup/components/powerup_highlight.png index c2849789b..93fe50d37 100644 --- a/scenes/game_elements/props/powerup/components/powerup_highlight.png +++ b/scenes/game_elements/props/powerup/components/powerup_highlight.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4163dde57282bfac63c54e2b59797735028d6289aae4135120c8695a2851b1b -size 6231 +oid sha256:8d2a0e95e663e6f68a680ed963d493485f339be6904c262d0c3071cf3175a24a +size 9433 diff --git a/scenes/game_elements/props/powerup/components/powerup_shadow.png b/scenes/game_elements/props/powerup/components/powerup_shadow.png new file mode 100644 index 000000000..2c9bed933 --- /dev/null +++ b/scenes/game_elements/props/powerup/components/powerup_shadow.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e30bf946dcd7a254dc41b79ca37807db9e2c06295d81c0666ccf3fb5e95aa3a +size 337 diff --git a/scenes/game_elements/props/powerup/components/powerup.png.import b/scenes/game_elements/props/powerup/components/powerup_shadow.png.import similarity index 77% rename from scenes/game_elements/props/powerup/components/powerup.png.import rename to scenes/game_elements/props/powerup/components/powerup_shadow.png.import index d886e85b7..9c1dcfdfd 100644 --- a/scenes/game_elements/props/powerup/components/powerup.png.import +++ b/scenes/game_elements/props/powerup/components/powerup_shadow.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dr1cdu5ien6jq" -path="res://.godot/imported/powerup.png-a4ee45e73209b83508bc25ff7865937f.ctex" +uid="uid://dhsw4tbjtoa46" +path="res://.godot/imported/powerup_shadow.png-fc59d6f1ed68daaa632d29c5b80396fc.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://scenes/game_elements/props/powerup/components/powerup.png" -dest_files=["res://.godot/imported/powerup.png-a4ee45e73209b83508bc25ff7865937f.ctex"] +source_file="res://scenes/game_elements/props/powerup/components/powerup_shadow.png" +dest_files=["res://.godot/imported/powerup_shadow.png-fc59d6f1ed68daaa632d29c5b80396fc.ctex"] [params] diff --git a/scenes/game_elements/props/powerup/components/powerup_thread.png b/scenes/game_elements/props/powerup/components/powerup_thread.png new file mode 100644 index 000000000..1b027780c --- /dev/null +++ b/scenes/game_elements/props/powerup/components/powerup_thread.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8835a8d6bbda3ee35fa549332d0a15c9fb46f376d643268ee846fd7430b495c +size 5424 diff --git a/scenes/game_elements/props/powerup/components/powerup_thread.png.import b/scenes/game_elements/props/powerup/components/powerup_thread.png.import new file mode 100644 index 000000000..9adb1504b --- /dev/null +++ b/scenes/game_elements/props/powerup/components/powerup_thread.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dag3wdvqw680w" +path="res://.godot/imported/powerup_thread.png-0cdc0a37f05a3819bb0e19229a1a379b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/game_elements/props/powerup/components/powerup_thread.png" +dest_files=["res://.godot/imported/powerup_thread.png-0cdc0a37f05a3819bb0e19229a1a379b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/game_elements/props/powerup/components/powerup_thread.tres b/scenes/game_elements/props/powerup/components/powerup_thread.tres new file mode 100644 index 000000000..3d264ea35 --- /dev/null +++ b/scenes/game_elements/props/powerup/components/powerup_thread.tres @@ -0,0 +1,53 @@ +[gd_resource type="SpriteFrames" format=3 uid="uid://cfgahyntmtfgu"] + +[ext_resource type="Texture2D" uid="uid://dag3wdvqw680w" path="res://scenes/game_elements/props/powerup/components/powerup_thread.png" id="1_f5gth"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_6sv62"] +atlas = ExtResource("1_f5gth") +region = Rect2(0, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_elgan"] +atlas = ExtResource("1_f5gth") +region = Rect2(128, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_maew6"] +atlas = ExtResource("1_f5gth") +region = Rect2(256, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2k382"] +atlas = ExtResource("1_f5gth") +region = Rect2(384, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e16ta"] +atlas = ExtResource("1_f5gth") +region = Rect2(512, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b7mv3"] +atlas = ExtResource("1_f5gth") +region = Rect2(640, 0, 128, 128) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_6sv62") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_elgan") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_maew6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2k382") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e16ta") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b7mv3") +}], +"loop": true, +"name": &"default", +"speed": 10.0 +}] diff --git a/scenes/game_elements/props/powerup/components/ripple_effect.gdshader b/scenes/game_elements/props/powerup/components/ripple_effect.gdshader deleted file mode 100644 index 0a9b274a7..000000000 --- a/scenes/game_elements/props/powerup/components/ripple_effect.gdshader +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Ripple effect - * - * This shader expects the CanvasItem to be a gradient asset that goes from white to transparent. - * It adjusts the alpha to create a ripple effect of a certain width. - * - * SPDX-FileCopyrightText: The Threadbare Authors - * SPDX-License-Identifier: MPL-2.0 - */ -shader_type canvas_item; -render_mode blend_add; - -/** - * How smooth or sharp are the ripples. - */ -uniform float ease: hint_range(0.0, 2.0) = 2.0; - -/** - * This is perceived as the amount of ripples. - */ -uniform float modulo_width: hint_range(0.0, 1.0) = 0.2; - -/** - * The ripple width. - */ -uniform float width: hint_range(0.0, 1.0) = 0.4; - -/** - * The ripple speed. - */ -uniform float speed: hint_range(0.0, 2.0) = 0.2; - -void fragment() { - float sdf_alpha = mod(TIME * speed + COLOR.a, modulo_width); - float front_ease = smoothstep(0, ease, sdf_alpha); - float easeAmount = front_ease * modulo_width; - float brightness = COLOR.a - sdf_alpha + easeAmount; - - COLOR.a = smoothstep(1.0 - width, width+(1.0 - width), brightness); -} diff --git a/scenes/game_elements/props/powerup/components/ripple_effect.gdshader.uid b/scenes/game_elements/props/powerup/components/ripple_effect.gdshader.uid deleted file mode 100644 index ca946bacf..000000000 --- a/scenes/game_elements/props/powerup/components/ripple_effect.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://v56tvdvw22lj diff --git a/scenes/game_elements/props/powerup/powerup.tscn b/scenes/game_elements/props/powerup/powerup.tscn index ee465a633..b1e28807e 100644 --- a/scenes/game_elements/props/powerup/powerup.tscn +++ b/scenes/game_elements/props/powerup/powerup.tscn @@ -1,17 +1,20 @@ [gd_scene format=3 uid="uid://dmevaymmt6wco"] [ext_resource type="Script" uid="uid://bhmae3daygmqh" path="res://scenes/game_elements/props/powerup/components/powerup.gd" id="1_5vrqc"] -[ext_resource type="Texture2D" uid="uid://dr1cdu5ien6jq" path="res://scenes/game_elements/props/powerup/components/powerup.png" id="2_bq5to"] [ext_resource type="Script" uid="uid://du8wfijr35r35" path="res://scenes/game_elements/props/interact_area/interact_area.gd" id="2_q7xhf"] [ext_resource type="Texture2D" uid="uid://bbo1nd3usbxnr" path="res://scenes/game_elements/props/powerup/components/powerup_highlight.png" id="4_bq5to"] -[ext_resource type="Shader" uid="uid://v56tvdvw22lj" path="res://scenes/game_elements/props/powerup/components/ripple_effect.gdshader" id="4_vllb8"] +[ext_resource type="SpriteFrames" uid="uid://cualgrcaaggcm" path="res://scenes/game_elements/props/powerup/components/powerup_default.tres" id="6_ljncq"] +[ext_resource type="Texture2D" uid="uid://dhsw4tbjtoa46" path="res://scenes/game_elements/props/powerup/components/powerup_shadow.png" id="6_sba0c"] [ext_resource type="Script" uid="uid://dabvr3pqmyya4" path="res://scenes/game_elements/props/hookable_area/components/hookable_area.gd" id="6_spw1e"] +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_spw1e"] +load_path = "res://.godot/imported/powerup.png-a4ee45e73209b83508bc25ff7865937f.ctex" + [sub_resource type="SpriteFrames" id="SpriteFrames_bq5to"] animations = [{ "frames": [{ "duration": 1.0, -"texture": ExtResource("2_bq5to") +"texture": SubResource("CompressedTexture2D_spw1e") }], "loop": true, "name": &"default", @@ -25,13 +28,55 @@ height = 68.0 [sub_resource type="CircleShape2D" id="CircleShape2D_5vrqc"] radius = 50.0 -[sub_resource type="ShaderMaterial" id="ShaderMaterial_spw1e"] -resource_local_to_scene = true -shader = ExtResource("4_vllb8") -shader_parameter/ease = 2.0 -shader_parameter/modulo_width = 0.2 -shader_parameter/width = 0.4 -shader_parameter/speed = 0.2 +[sub_resource type="AtlasTexture" id="AtlasTexture_sba0c"] +atlas = ExtResource("4_bq5to") +region = Rect2(0, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ljncq"] +atlas = ExtResource("4_bq5to") +region = Rect2(128, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ikco4"] +atlas = ExtResource("4_bq5to") +region = Rect2(256, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f0t2w"] +atlas = ExtResource("4_bq5to") +region = Rect2(384, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7lp77"] +atlas = ExtResource("4_bq5to") +region = Rect2(512, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hnwgu"] +atlas = ExtResource("4_bq5to") +region = Rect2(640, 0, 128, 128) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ladu5"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_sba0c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ljncq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ikco4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f0t2w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7lp77") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hnwgu") +}], +"loop": true, +"name": &"default", +"speed": 10.0 +}] [sub_resource type="RectangleShape2D" id="RectangleShape2D_spw1e"] size = Vector2(90, 90) @@ -64,17 +109,22 @@ position = Vector2(0, -33) shape = SubResource("CircleShape2D_5vrqc") debug_color = Color(0.600391, 0.54335, 0, 0.42) -[node name="HighlightEffect" type="Sprite2D" parent="." unique_id=1449487876] +[node name="PowerupShadow" type="Sprite2D" parent="InteractArea" unique_id=1565501906] +position = Vector2(0, -34) +texture = ExtResource("6_sba0c") + +[node name="HighlightEffect" type="AnimatedSprite2D" parent="." unique_id=1553184658] unique_name_in_owner = true -visible = false -material = SubResource("ShaderMaterial_spw1e") position = Vector2(0, -34) -texture = ExtResource("4_bq5to") +sprite_frames = SubResource("SpriteFrames_ladu5") +autoplay = "default" +frame = 3 +frame_progress = 0.7309393 -[node name="Sprite" type="AnimatedSprite2D" parent="." unique_id=682377422] +[node name="Sprite" type="AnimatedSprite2D" parent="." unique_id=305072782] unique_name_in_owner = true position = Vector2(0, -34) -sprite_frames = SubResource("SpriteFrames_bq5to") +sprite_frames = ExtResource("6_ljncq") autoplay = "default" [node name="HookableArea" type="Area2D" parent="." unique_id=1984587489 node_paths=PackedStringArray("controlled_entity", "anchor_point")] diff --git a/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_1.tscn b/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_1.tscn index 6a31423ad..4c5cbd50e 100644 --- a/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_1.tscn +++ b/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_1.tscn @@ -23,6 +23,7 @@ [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="13_hlahk"] [ext_resource type="AudioStream" uid="uid://bbnj2fog3rdy8" path="res://assets/first_party/sounds/throwing_enemy/Spray.wav" id="14_7ekah"] [ext_resource type="PackedScene" uid="uid://c5jedlvvnnbi0" path="res://scenes/game_elements/props/projectile/ink_blob_projectile.tscn" id="16_k65js"] +[ext_resource type="SpriteFrames" uid="uid://cualgrcaaggcm" path="res://scenes/game_elements/props/powerup/components/powerup_default.tres" id="24_iu4vq"] [ext_resource type="PackedScene" uid="uid://dmevaymmt6wco" path="res://scenes/game_elements/props/powerup/powerup.tscn" id="26_a4lwd"] [sub_resource type="Animation" id="Animation_nlryc"] @@ -211,6 +212,7 @@ scale = Vector2(0.95, 0.95) [node name="RepelPowerup" parent="OnTheGround" unique_id=1795462717 instance=ExtResource("26_a4lwd")] position = Vector2(236, 428) +sprite_frames = ExtResource("24_iu4vq") highlight_color = Color(0, 0.4392157, 1, 1) [node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=127644403] diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_powerup.tscn b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_powerup.tscn index 5598c2ed4..4a48ef73b 100644 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_powerup.tscn +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_powerup.tscn @@ -21,6 +21,7 @@ [ext_resource type="Script" uid="uid://csev4hv57utxv" path="res://scenes/game_logic/walk_behaviors/character_speeds.gd" id="13_vodlh"] [ext_resource type="PackedScene" uid="uid://lgu7aeqa7o3r" path="res://scenes/game_elements/props/door/door.tscn" id="15_rlnni"] [ext_resource type="PackedScene" uid="uid://dmevaymmt6wco" path="res://scenes/game_elements/props/powerup/powerup.tscn" id="17_a36ca"] +[ext_resource type="SpriteFrames" uid="uid://cfgahyntmtfgu" path="res://scenes/game_elements/props/powerup/components/powerup_thread.tres" id="18_a36ca"] [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="20_exmm1"] [ext_resource type="SpriteFrames" uid="uid://2ek86nvw6y28" path="res://scenes/game_elements/props/tree/components/tree_spriteframes_yellow.tres" id="21_y6p0v"] [ext_resource type="PackedScene" uid="uid://crqjcicx0vdu" path="res://scenes/game_elements/props/decoration/bush/bush.tscn" id="22_iu48k"] @@ -226,6 +227,7 @@ position = Vector2(-549, 689) ability = 32 ability_name = "Longer Thread" interact_action = "Collect Longer Thread" +sprite_frames = ExtResource("18_a36ca") highlight_color = Color(0.8910073, 0.7227245, 0, 1) [node name="VoidPatrolling" parent="OnTheGround" unique_id=2124322919 node_paths=PackedStringArray("void_layer", "idle_patrol_path") instance=ExtResource("12_ptg16")] diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_start.tscn b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_start.tscn index cb582636f..546553f4c 100644 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_start.tscn +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_start.tscn @@ -25,6 +25,7 @@ [ext_resource type="SpriteFrames" uid="uid://bapks76u4hipj" path="res://scenes/game_elements/props/decoration/bush/components/bush_spriteframes_green_small.tres" id="19_6n4qp"] [ext_resource type="Script" uid="uid://hqdquinbimce" path="res://scenes/game_elements/props/teleporter/teleporter.gd" id="20_wv4km"] [ext_resource type="PackedScene" uid="uid://dmevaymmt6wco" path="res://scenes/game_elements/props/powerup/powerup.tscn" id="21_6n4qp"] +[ext_resource type="SpriteFrames" uid="uid://cfgahyntmtfgu" path="res://scenes/game_elements/props/powerup/components/powerup_thread.tres" id="23_6n4qp"] [sub_resource type="Animation" id="Animation_w67qe"] length = 0.001 @@ -298,6 +299,7 @@ position = Vector2(933, 689) ability = 16 ability_name = "Grapple" interact_action = "Collect Grapple" +sprite_frames = ExtResource("23_6n4qp") highlight_color = Color(0.8910073, 0.7227245, 0, 1) [node name="Teleporter" type="Area2D" parent="." unique_id=579212473] diff --git a/scenes/quests/lore_quests/quest_002/3_void_grappling/void_grappling_round_2.tscn b/scenes/quests/lore_quests/quest_002/3_void_grappling/void_grappling_round_2.tscn index c110734de..7e1976aa7 100644 --- a/scenes/quests/lore_quests/quest_002/3_void_grappling/void_grappling_round_2.tscn +++ b/scenes/quests/lore_quests/quest_002/3_void_grappling/void_grappling_round_2.tscn @@ -16,6 +16,7 @@ [ext_resource type="Script" uid="uid://dagrhfrj0f33i" path="res://scenes/game_logic/camera_behaviors/frame_camera_behavior.gd" id="13_xwjev"] [ext_resource type="PackedScene" uid="uid://evb46lm6ssu2" path="res://scenes/game_elements/props/hookable_pin/hookable_pin.tscn" id="14_4tdqi"] [ext_resource type="PackedScene" uid="uid://dmevaymmt6wco" path="res://scenes/game_elements/props/powerup/powerup.tscn" id="16_bkul7"] +[ext_resource type="SpriteFrames" uid="uid://cfgahyntmtfgu" path="res://scenes/game_elements/props/powerup/components/powerup_thread.tres" id="17_jr6vd"] [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="20_q1v2m"] [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="21_gvlvr"] [ext_resource type="SpriteFrames" uid="uid://2ek86nvw6y28" path="res://scenes/game_elements/props/tree/components/tree_spriteframes_yellow.tres" id="22_siwq5"] @@ -214,6 +215,7 @@ position = Vector2(2048, 576) ability = 32 ability_name = "Longer Thread" interact_action = "Collect Longer Thread" +sprite_frames = ExtResource("17_jr6vd") highlight_color = Color(0.8910073, 0.7227245, 0, 1) [node name="PinsAndNeedles" type="Node2D" parent="OnTheGround" unique_id=478811176] diff --git a/scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn b/scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn index 645239fbf..1178c811d 100644 --- a/scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn +++ b/scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn @@ -15,6 +15,7 @@ [ext_resource type="PackedScene" uid="uid://y8ha8abfyap2" path="res://scenes/game_elements/props/filling_barrel/filling_barrel.tscn" id="12_2eyq6"] [ext_resource type="PackedScene" uid="uid://dmevaymmt6wco" path="res://scenes/game_elements/props/powerup/powerup.tscn" id="14_6xf5p"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="14_ttfgd"] +[ext_resource type="SpriteFrames" uid="uid://cualgrcaaggcm" path="res://scenes/game_elements/props/powerup/components/powerup_default.tres" id="15_kdldn"] [sub_resource type="Resource" id="Resource_a51xm"] script = ExtResource("11_4lmqk") @@ -108,6 +109,7 @@ dialogue_title = &"well_done" [node name="RepelPowerup" parent="OnTheGround" unique_id=1795462717 instance=ExtResource("14_6xf5p")] position = Vector2(114, 488) +sprite_frames = ExtResource("15_kdldn") highlight_color = Color(0, 0.4392157, 1, 1) [node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=1277924950] From 34c411f08e610699f734beeb6fe0ea9b58b4b59e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Wed, 15 Apr 2026 07:44:46 -0300 Subject: [PATCH 2/2] Fix comment. --- scenes/game_elements/props/powerup/components/powerup.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scenes/game_elements/props/powerup/components/powerup.gd b/scenes/game_elements/props/powerup/components/powerup.gd index 8f92c97d3..8557494db 100644 --- a/scenes/game_elements/props/powerup/components/powerup.gd +++ b/scenes/game_elements/props/powerup/components/powerup.gd @@ -24,7 +24,7 @@ signal collected @export var sprite_frames: SpriteFrames = preload("uid://cualgrcaaggcm"): set = _set_sprite_frames -## The powerup shines with this color through a shader. +## The powerup shines with this color. @export var highlight_color: Color = Color.WHITE: set = _set_highlight_color