diff --git a/scenes/game_elements/fx/curly_trail/components/curly_trail.gd b/scenes/game_elements/fx/curly_trail/components/curly_trail.gd new file mode 100644 index 000000000..a0a35456a --- /dev/null +++ b/scenes/game_elements/fx/curly_trail/components/curly_trail.gd @@ -0,0 +1,79 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +class_name CurlyTrail +extends Node2D +## @experimental +## +## A curly trail effect for a [Line2D] node. +## +## Add points to the line in circle, so when this node moves, a curly effect is obtained. The circle +## radius becomes smaller the faster this node moves, as a simple way to achieve a thread stretching +## effect. +## [br][br] +## Note: For the effect to be achieved, this node must move. For example, by putting it as child of +## a [PathFollow2D] node. + +## The line to use for the effect. +@export var line: Line2D + +## The radius at zero velocity. +@export_range(10, 50, 1, "or_greater", "or_less") var radius: float = 30 + +## The velocity at which the thread stretches fully. +@export_range(0, 100, 1, "or_greater", "or_less") var stretched_velocity: float = 50 + +@export_range(-45, 45, 0.1, "radians", "or_greater", "or_less") var wheel_rotation: float = 0.2 +@export_range(0, 1, 0.01) var radius_update: float = 0.1 +@export var min_points_distance := 40 + +## How many points can the [member line] have. +@export var max_points := 100 + +## Draw the wheel circle and the tip for debugging. +@export var debug := false + +## A value between 0 and 1 that is how stretched is the line. +var _stretching_amount := 0.0 + +var _last_position: Vector2 + +@onready var wheel: Node2D = %Wheel +@onready var tip: Node2D = %Tip + + +func _ready() -> void: + tip.position.x = radius + + +func _draw() -> void: + if debug: + draw_circle(Vector2.ZERO, tip.position.x, Color(1.0, 0.0, 0.0, 0.486)) + draw_line(Vector2.ZERO, tip.position.rotated(wheel.rotation), Color(1.0, 1.0, 0.0, 0.486)) + + +func _process(_delta: float) -> void: + var direction := Vector2.ZERO if not _last_position else _last_position - global_position + _last_position = global_position + + var new_stretching_amount: float = ( + (stretched_velocity - min(direction.length_squared(), stretched_velocity)) + / stretched_velocity + ) + _stretching_amount = lerpf(_stretching_amount, new_stretching_amount, radius_update) + + tip.position.x = radius * _stretching_amount + wheel.rotate(wheel_rotation * _stretching_amount * _stretching_amount) + + if not line.get_point_count(): + line.add_point(line.to_local(tip.global_position)) + else: + var last_p := line.points[-1] + if last_p.distance_squared_to(tip.global_position) < min_points_distance: + line.remove_point(0) + return + line.add_point(line.to_local(tip.global_position)) + while line.get_point_count() > max_points: + line.remove_point(0) + + if debug: + queue_redraw() diff --git a/scenes/game_elements/fx/curly_trail/components/curly_trail.gd.uid b/scenes/game_elements/fx/curly_trail/components/curly_trail.gd.uid new file mode 100644 index 000000000..46169fb85 --- /dev/null +++ b/scenes/game_elements/fx/curly_trail/components/curly_trail.gd.uid @@ -0,0 +1 @@ +uid://w7ouog565l67 diff --git a/scenes/game_elements/fx/curly_trail/curly_trail.tscn b/scenes/game_elements/fx/curly_trail/curly_trail.tscn new file mode 100644 index 000000000..3d88a7eca --- /dev/null +++ b/scenes/game_elements/fx/curly_trail/curly_trail.tscn @@ -0,0 +1,13 @@ +[gd_scene format=3 uid="uid://bs32ac1yj83ub"] + +[ext_resource type="Script" uid="uid://w7ouog565l67" path="res://scenes/game_elements/fx/curly_trail/components/curly_trail.gd" id="1_siqvk"] + +[node name="CurlyTrail" type="Node2D" unique_id=760772735] +script = ExtResource("1_siqvk") + +[node name="Wheel" type="Node2D" parent="." unique_id=1902346593] +unique_name_in_owner = true + +[node name="Tip" type="Node2D" parent="Wheel" unique_id=286815947] +unique_name_in_owner = true +position = Vector2(90, 0) diff --git a/scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd b/scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd new file mode 100644 index 000000000..289b9a71f --- /dev/null +++ b/scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd @@ -0,0 +1,71 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +class_name StitchTrail +extends Node2D +## @experimental +## +## A stitching effect for a [Line2D] node. +## +## Add points to the line in zigzag, imitating a thread being stitched. +## [br][br] +## Note: For the effect to be achieved, this node must move. For example, by putting it as child of +## a [PathFollow2D] node. + +## The line to use for the effect. +@export var line: Line2D + +## Flatten the effect vertically so it looks like it's on the floor, matching +## the Threadbare top-down isometric perspective. +@export var on_floor: bool = true + +## How thick is the effect. +@export_range(0, 150, 1.0, "suffix:px") var width: float = 50 + +## How many stitches per second. +@export_range(0, 1, 0.01) var stitches_per_second: float = 0.03 + +## Weight of the direction lerp interpolation. To smooth the zigzag direction as this node moves. +## This wouldn't be necessary if moving along a predefined path. But if moving abruptly using the +## mouse position (for instance) this smoothing is better. +@export_range(0, 1, 0.01) var direction_weight: float = 0.1 + +## MANUQ TODO +@export var min_points_distance := 40 + +## How many points can the [member line] have. +@export var max_points := 100 + +var _last_stitch_seconds: float = 0 +var _last_position: Vector2 +var _stitch_direction: Vector2 +var _stitch_sign := 1 + + +func _do_stitch() -> void: + var new_point := global_position + (_stitch_direction * width / 2) * _stitch_sign + line.add_point(line.to_local(new_point)) + _stitch_sign *= -1 + _last_position = global_position + + +func _process(delta: float) -> void: + if _last_stitch_seconds < stitches_per_second: + _last_stitch_seconds += delta + return + _last_stitch_seconds = 0 + + var direction := Vector2.ZERO if not _last_position else _last_position - global_position + var orthogonal := direction.orthogonal().normalized() + if on_floor: + orthogonal *= Vector2(1, 0.5) + _stitch_direction = _stitch_direction.lerp(orthogonal, direction_weight) + + if not line.get_point_count(): + _do_stitch() + else: + if _last_position.distance_squared_to(global_position) < min_points_distance: + line.remove_point(0) + return + _do_stitch() + while line.get_point_count() > max_points: + line.remove_point(0) diff --git a/scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd.uid b/scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd.uid new file mode 100644 index 000000000..de77f2ec2 --- /dev/null +++ b/scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd.uid @@ -0,0 +1 @@ +uid://c4oww6rkbqfxc diff --git a/scenes/game_elements/fx/stitch_trail/stitch_trail.tscn b/scenes/game_elements/fx/stitch_trail/stitch_trail.tscn new file mode 100644 index 000000000..14184a596 --- /dev/null +++ b/scenes/game_elements/fx/stitch_trail/stitch_trail.tscn @@ -0,0 +1,6 @@ +[gd_scene format=3 uid="uid://nnqyfbc80vpw"] + +[ext_resource type="Script" uid="uid://c4oww6rkbqfxc" path="res://scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd" id="1_7empc"] + +[node name="StitchTrail" type="Node2D" unique_id=1085823885] +script = ExtResource("1_7empc") diff --git a/scenes/game_elements/fx/world_reweaven/components/fabric_texture.png b/scenes/game_elements/fx/world_reweaven/components/fabric_texture.png new file mode 100644 index 000000000..f9c214e78 --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/fabric_texture.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:546858071893aa79d83d0068cd9474a89afb17c4c40764ab5af156bb07cc324f +size 5326 diff --git a/scenes/game_elements/fx/world_reweaven/components/fabric_texture.png.import b/scenes/game_elements/fx/world_reweaven/components/fabric_texture.png.import new file mode 100644 index 000000000..3d9fe2d63 --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/fabric_texture.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drlsbgxh5e6vv" +path="res://.godot/imported/fabric_texture.png-75b56e12718e160760eb7d37d429c546.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/game_elements/fx/world_reweaven/components/fabric_texture.png" +dest_files=["res://.godot/imported/fabric_texture.png-75b56e12718e160760eb7d37d429c546.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/fx/world_reweaven/components/fabric_texture.png.license b/scenes/game_elements/fx/world_reweaven/components/fabric_texture.png.license new file mode 100644 index 000000000..3a52ef2d6 --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/fabric_texture.png.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: The Threadbare Authors +SPDX-License-Identifier: CC-BY-SA-4.0 diff --git a/scenes/game_elements/fx/world_reweaven/components/line_trails_test.gd b/scenes/game_elements/fx/world_reweaven/components/line_trails_test.gd new file mode 100644 index 000000000..4554f798a --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/line_trails_test.gd @@ -0,0 +1,28 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +extends Node2D + +@onready var mouse_tracker: Node2D = %MouseTracker +@onready var curly_mouse: CurlyTrail = %CurlyMouse +@onready var stitch_mouse: StitchTrail = %StitchMouse + + +func _process(_delta: float) -> void: + var mouse_pos := get_global_mouse_position() + mouse_tracker.global_position = lerp(mouse_tracker.global_position, mouse_pos, 0.1) + + +func _unhandled_input(event: InputEvent) -> void: + if event is not InputEventMouseButton: + return + if event.pressed: + curly_mouse.process_mode = Node.PROCESS_MODE_DISABLED + curly_mouse.visible = false + stitch_mouse.process_mode = Node.PROCESS_MODE_INHERIT + stitch_mouse.visible = true + else: + curly_mouse.process_mode = Node.PROCESS_MODE_INHERIT + curly_mouse.visible = true + curly_mouse.wheel_rotation *= -1 + stitch_mouse.process_mode = Node.PROCESS_MODE_DISABLED + stitch_mouse.visible = false diff --git a/scenes/game_elements/fx/world_reweaven/components/line_trails_test.gd.uid b/scenes/game_elements/fx/world_reweaven/components/line_trails_test.gd.uid new file mode 100644 index 000000000..c01d9588e --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/line_trails_test.gd.uid @@ -0,0 +1 @@ +uid://cc08dqkf7umf5 diff --git a/scenes/game_elements/fx/world_reweaven/components/line_trails_test.tscn b/scenes/game_elements/fx/world_reweaven/components/line_trails_test.tscn new file mode 100644 index 000000000..94acb17cc --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/line_trails_test.tscn @@ -0,0 +1,203 @@ +[gd_scene format=3 uid="uid://c6mikotrke4mc"] + +[ext_resource type="Script" uid="uid://cc08dqkf7umf5" path="res://scenes/game_elements/fx/world_reweaven/components/line_trails_test.gd" id="1_5vwnp"] +[ext_resource type="PackedScene" uid="uid://bs32ac1yj83ub" path="res://scenes/game_elements/fx/curly_trail/curly_trail.tscn" id="1_fynpo"] +[ext_resource type="Script" uid="uid://c4oww6rkbqfxc" path="res://scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd" id="2_5vwnp"] + +[sub_resource type="Animation" id="Animation_0hol4"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CurlyTest/CurlyTrail:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(742, 340)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("PathTest/Path2D/PathFollow2D:progress_ratio") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("StitchTest/Path2D/PathFollow2D:progress") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} + +[sub_resource type="Animation" id="Animation_epypp"] +resource_name = "default" +length = 6.0 +loop_mode = 1 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CurlyTest/CurlyTrail:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 3, 6), +"transitions": PackedFloat32Array(-2, -2, -2), +"update": 0, +"values": [Vector2(50, 640), Vector2(50, 40), Vector2(50, 640)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("PathTest/Path2D/PathFollow2D:progress_ratio") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 6), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("StitchTest/Path2D/PathFollow2D:progress") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0, 0, 0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 338.0688, -0.25, 0, 0.25, 0, 338.0688, -0.25, 0, 0.25, 0, 702.7635, -0.25, 0, 0.25, 0, 702.7635, -0.25, 0, 0.25, 0, 1070.8698, -0.25, 0, 0.25, 0, 1070.8698, -0.25, 0, 0.25, 0, 1441.0135, -0.25, 0, 0.25, 0, 1441.0135, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0, 1.1261708, 1.3764602, 2.6011987, 2.851488, 4.152527, 4.402816, 5.7497106, 6) +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_0hol4"] +_data = { +&"RESET": SubResource("Animation_0hol4"), +&"default": SubResource("Animation_epypp") +} + +[sub_resource type="Curve" id="Curve_k0a1w"] +_limits = [1.0, 1.5043478, 0.0, 1.0] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.49668872, 1.5043478), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="Curve2D" id="Curve2D_5l8d3"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 555, 253, 0, 0, 0, 0, 856, 407, 0, 0, 0, 0, 532, 571, 0, 0, 0, 0, 210, 398, 0, 0, 0, 0, 555, 253) +} +point_count = 5 + +[sub_resource type="Curve2D" id="Curve2D_k0a1w"] +_data = { +"points": PackedVector2Array(-7.061966, 82.04583, 7.061966, -82.04583, 307, 469, -102.17881, 1.5026295, 102.17881, -1.5026295, 483, 191, 46.01136, -86.5986, -46.01136, 86.5986, 725, 280, 39.068367, -60.856495, -39.068367, 60.856495, 276, 265, 58.519997, -59.695004, -58.519997, 59.695004, 540, 645, -7.3603706, 86.69717, 7.3603706, -86.69717, 307, 469) +} +point_count = 6 + +[node name="LineTrailsTest" type="Node2D" unique_id=596574303] +script = ExtResource("1_5vwnp") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=480715457] +libraries/ = SubResource("AnimationLibrary_0hol4") +autoplay = &"default" + +[node name="MouseTest" type="Node2D" parent="." unique_id=1500786098] + +[node name="Line2D" type="Line2D" parent="MouseTest" unique_id=1593087933] +texture_repeat = 2 +width = 3.0 +width_curve = SubResource("Curve_k0a1w") +joint_mode = 2 + +[node name="MouseTracker" type="Node2D" parent="MouseTest" unique_id=1967144198] +unique_name_in_owner = true + +[node name="CurlyMouse" parent="MouseTest/MouseTracker" unique_id=812965254 node_paths=PackedStringArray("line") instance=ExtResource("1_fynpo")] +unique_name_in_owner = true +line = NodePath("../../Line2D") +radius = 44.0 +stretched_velocity = 100.0 +debug = true + +[node name="StitchMouse" type="Node2D" parent="MouseTest/MouseTracker" unique_id=782158258 node_paths=PackedStringArray("line")] +unique_name_in_owner = true +process_mode = 4 +script = ExtResource("2_5vwnp") +line = NodePath("../../Line2D") +stitches_per_second = 0.01 +metadata/_custom_type_script = "uid://c4oww6rkbqfxc" + +[node name="CurlyTest" type="Node2D" parent="." unique_id=1650676841] + +[node name="Line2D" type="Line2D" parent="CurlyTest" unique_id=625975575] +texture_repeat = 2 +width = 3.0 +width_curve = SubResource("Curve_k0a1w") +joint_mode = 2 + +[node name="CurlyTrail" parent="CurlyTest" unique_id=1097706612 node_paths=PackedStringArray("line") instance=ExtResource("1_fynpo")] +position = Vector2(742, 340) +line = NodePath("../Line2D") +stretched_velocity = 34.0 +debug = true + +[node name="StitchTest" type="Node2D" parent="." unique_id=1413279914] + +[node name="Line2D" type="Line2D" parent="StitchTest" unique_id=214318953] +texture_repeat = 2 +width = 3.0 +width_curve = SubResource("Curve_k0a1w") +joint_mode = 2 + +[node name="Path2D" type="Path2D" parent="StitchTest" unique_id=1459786898] +position = Vector2(393, 118) +curve = SubResource("Curve2D_5l8d3") + +[node name="PathFollow2D" type="PathFollow2D" parent="StitchTest/Path2D" unique_id=1080902156] +position = Vector2(555, 253) +rotation = 0.70556813 +rotates = false + +[node name="StitchTrail" type="Node2D" parent="StitchTest/Path2D/PathFollow2D" unique_id=1460959262 node_paths=PackedStringArray("line")] +script = ExtResource("2_5vwnp") +line = NodePath("../../../Line2D") +stitches_per_second = 0.0 +min_points_distance = 20 +max_points = 40 +metadata/_custom_type_script = "uid://c4oww6rkbqfxc" + +[node name="PathTest" type="Node2D" parent="." unique_id=1542033045] + +[node name="Line2D" type="Line2D" parent="PathTest" unique_id=479563041] +texture_repeat = 2 +width = 3.0 +width_curve = SubResource("Curve_k0a1w") +joint_mode = 2 + +[node name="Path2D" type="Path2D" parent="PathTest" unique_id=452573456] +position = Vector2(-8, -6) +curve = SubResource("Curve2D_k0a1w") + +[node name="PathFollow2D" type="PathFollow2D" parent="PathTest/Path2D" unique_id=254145314] +position = Vector2(307, 469) +rotation = -1.4861017 +rotates = false + +[node name="CurlyTrail" parent="PathTest/Path2D/PathFollow2D" unique_id=760772735 node_paths=PackedStringArray("line") instance=ExtResource("1_fynpo")] +line = NodePath("../../../Line2D") +radius = 50.0 +stretched_velocity = 150.0 +wheel_rotation = 0.6 +debug = true diff --git a/scenes/game_elements/fx/world_reweaven/components/world_reweaven.gdshader b/scenes/game_elements/fx/world_reweaven/components/world_reweaven.gdshader new file mode 100644 index 000000000..8658f39c1 --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/world_reweaven.gdshader @@ -0,0 +1,94 @@ +/** + * This is intended to be applied to a CanvasGroup material. + * SPDX-FileCopyrightText: The Threadbare Authors + * SPDX-License-Identifier: MPL-2.0 + */ +shader_type canvas_item; +render_mode unshaded; + +uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest; + +/** + * Grayscale texture with the pattern of the fade. + */ +uniform sampler2D mask_texture : hint_default_white; + +/** + * Grayscale texture with a fabric pattern to multiply the fade mask. + */ +uniform sampler2D fabric_texture : repeat_enable; + +/** + * Downscale the fabric pattern texture. + */ +uniform float fabric_downscale : hint_range(0.0, 30.0) = 12.0; + +/** + * Fade progress: 0.0 is fully hidden, 1.0 is fully visible + */ +uniform float progress : hint_range(0.0, 1.0) = 0.0; + +/** + * How smooth is the edge of the fade. + */ +uniform float smoothness : hint_range(0.0, 1.0) = 0.1; + +/** + * How long is the edge of the fade. + */ +uniform float burn_size : hint_range(0.0, 1.0) = 0.15; + +/** + * The burn color. + */ +uniform vec4 burn_color : source_color = vec4(1.0, 1.0, 0.58, 1.0); + +/** + * How gray is the existing color (not the burn). + */ +uniform float gray_intensity : hint_range(0.0, 1.0) = 0.0; + +varying vec2 textile_uv; + +void vertex() { + textile_uv.x = UV.x * fabric_downscale; + textile_uv.y = UV.y * fabric_downscale; +} + +void fragment() { + vec2 screen_uv = SCREEN_UV; + screen_uv.x *= SCREEN_PIXEL_SIZE.y / SCREEN_PIXEL_SIZE.x; + + // Sample the main texture color of the node + vec4 main_color = textureLod(screen_texture, SCREEN_UV, 0.0); + if (main_color.a > 0.0001) { + main_color.rgb /= main_color.a; + } + + // A gray version of the main color. + float gray = dot(main_color.rgb, vec3(0.299, 0.587, 0.114)); + + // Sample the mask texture value (taking the red channel) + float mask_value = texture(mask_texture, UV).r; + + // Sample the fabric pattern texture (taking the red channel) + float fabric_value = 1. - texture(fabric_texture, screen_uv * fabric_downscale).r; + + // Calculate a clean alpha cutoff based on progress using smoothness. + float alpha = smoothstep(1.0 - progress, 1.0 - progress + smoothness, mask_value); + + // Calculate the burn, using burn_size. + float burn = smoothstep(1.0 - progress + burn_size, 1.0 - progress, mask_value); + + vec3 final_color = main_color.rgb; + // Apply gray: + final_color = mix(final_color, vec3(gray), gray_intensity); + // Apply burn: + if (burn_size != 0.0) { + final_color = mix(final_color, burn_color.rgb, burn * burn_color.a); + } + // Apply the fabric texture. + alpha *= 2.2 * smoothstep(0., fabric_value, alpha); + + COLOR = vec4(final_color, main_color.a * alpha); +} diff --git a/scenes/game_elements/fx/world_reweaven/components/world_reweaven.gdshader.uid b/scenes/game_elements/fx/world_reweaven/components/world_reweaven.gdshader.uid new file mode 100644 index 000000000..459830e68 --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/world_reweaven.gdshader.uid @@ -0,0 +1 @@ +uid://dui35fhf12sp5 diff --git a/scenes/game_elements/fx/world_reweaven/components/world_reweaven_cutscene_1.tscn b/scenes/game_elements/fx/world_reweaven/components/world_reweaven_cutscene_1.tscn new file mode 100644 index 000000000..bc4454426 --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/world_reweaven_cutscene_1.tscn @@ -0,0 +1,788 @@ +[gd_scene format=4 uid="uid://d02db8ykyyos0"] + +[ext_resource type="TileSet" uid="uid://oynx002hv8tl" path="res://tiles/water.tres" id="2_yewlk"] +[ext_resource type="Texture2D" uid="uid://cexg7otw5enpu" path="res://assets/third_party/tiny-swords/Terrain/Water/Foam/Foam.png" id="3_3d5w8"] +[ext_resource type="Texture2D" uid="uid://8mupkacbuxpr" path="res://assets/third_party/tiny-swords-non-cc0/Terrain/Decorations/Clouds/Clouds_01.png" id="3_3mcre"] +[ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="3_eol75"] +[ext_resource type="Texture2D" uid="uid://8pqqdsgdp1fk" path="res://assets/third_party/tiny-swords-non-cc0/Terrain/Decorations/Clouds/Clouds_02.png" id="4_32wp5"] +[ext_resource type="TileSet" uid="uid://b778cuoftt88r" path="res://tiles/elevation_2.tres" id="4_e86n6"] +[ext_resource type="Texture2D" uid="uid://6spbplxd35oi" path="res://assets/third_party/tiny-swords-non-cc0/Terrain/Decorations/Clouds/Clouds_03.png" id="5_fpdyc"] +[ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="5_htd1n"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_reweaven/components/world_reweaven.gdshader" id="6_e0bq6"] +[ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="6_q7npm"] +[ext_resource type="Texture2D" uid="uid://bvgio1b8la3bg" path="res://assets/first_party/rocks/RockWater_Idle.png" id="7_3d5w8"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_reweaven/components/fabric_texture.png" id="7_d870b"] +[ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="8_f7xt1"] +[ext_resource type="Texture2D" uid="uid://bbclkccipxec2" path="res://assets/first_party/rocks/RockWater_Struck.png" id="8_nvr1k"] +[ext_resource type="PackedScene" uid="uid://b31v66516y4lg" path="res://scenes/game_elements/props/buildings/house/ruined_house.tscn" id="11_ofq33"] +[ext_resource type="Texture2D" uid="uid://cy66l5b3uox84" path="res://scenes/game_elements/props/buildings/house/components/House_Patches_Red_Stage2.png" id="12_jenx3"] +[ext_resource type="PackedScene" uid="uid://djmdhrse34vgq" path="res://scenes/game_elements/props/decoration/bunny/bunny.tscn" id="13_nvr1k"] +[ext_resource type="Texture2D" uid="uid://be3845r07rhkm" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage3.png" id="13_t4pd5"] +[ext_resource type="Script" uid="uid://dunsvrhq42214" path="res://scenes/game_elements/fx/shaker/shaker.gd" id="14_p2pfq"] +[ext_resource type="PackedScene" uid="uid://lfvn4u30s4yf" path="res://scenes/game_elements/props/buildings/house/house_1.tscn" id="16_t4pd5"] +[ext_resource type="Texture2D" uid="uid://lylpujgq8e4v" path="res://scenes/game_elements/props/buildings/house/components/House_Patches_Red_Stage1.png" id="17_fbxeo"] +[ext_resource type="Texture2D" uid="uid://ol20om7xc1o7" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage1.png" id="19_fbxeo"] +[ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="20_fbxeo"] +[ext_resource type="Script" uid="uid://dl6rgfwdn3qp4" path="res://scenes/game_elements/characters/components/character_randomizer.gd" id="20_x1q3a"] +[ext_resource type="Shader" uid="uid://bs1yj5q1vidgx" path="res://scenes/game_elements/components/cel_shading_recolor.gdshader" id="21_w57vo"] +[ext_resource type="SpriteFrames" uid="uid://do4waj3mgr6vw" path="res://scenes/game_elements/characters/components/sprite_frames/townie-legs_003.dy_-12.tres" id="22_aw50v"] +[ext_resource type="SpriteFrames" uid="uid://dll1wbldwfgbt" path="res://scenes/game_elements/characters/components/sprite_frames/townie-body_003.dx_-4.dy_-16.tres" id="22_pg372"] +[ext_resource type="SpriteFrames" uid="uid://cyy8mv2nshtaq" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_002.tres" id="23_cdldm"] +[ext_resource type="Script" uid="uid://boyesrjdix688" path="res://scenes/game_logic/sprite_behaviors/random_texture_sprite_behavior.gd" id="23_ny73w"] +[ext_resource type="SpriteFrames" uid="uid://dnfyg3i87cp17" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_005.tres" id="24_08fa4"] +[ext_resource type="SpriteFrames" uid="uid://bygxgwwtt1j6h" path="res://scenes/game_elements/characters/components/sprite_frames/townie-legs_001.tres" id="24_nbnht"] +[ext_resource type="SpriteFrames" uid="uid://ubitgryup0jx" path="res://scenes/game_elements/characters/components/sprite_frames/townie-legs_002.dy_-6.tres" id="25_5job5"] +[ext_resource type="Script" uid="uid://dy68p7gf07pi3" path="res://scenes/game_logic/sprite_behaviors/character_sprite_behavior.gd" id="26_6sebn"] +[ext_resource type="SpriteFrames" uid="uid://tc0nuhppfl8p" path="res://scenes/game_elements/characters/components/sprite_frames/townie-body_001.tres" id="28_3mcre"] +[ext_resource type="SpriteFrames" uid="uid://u85wwi2wot2r" path="res://scenes/game_elements/characters/components/sprite_frames/townie-body_002.tres" id="29_32wp5"] +[ext_resource type="SpriteFrames" uid="uid://crshpjwcenpa5" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_001.tres" id="31_fpdyc"] +[ext_resource type="SpriteFrames" uid="uid://c03umtasls62d" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_003.tres" id="32_r54mm"] +[ext_resource type="SpriteFrames" uid="uid://dl7xeteu0n2ia" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_004.tres" id="33_vcfmm"] +[ext_resource type="SpriteFrames" uid="uid://myvflc68qwmu" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_005.tres" id="34_kkot8"] +[ext_resource type="SpriteFrames" uid="uid://x3oxp35ukm62" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_001.tres" id="36_5jeab"] +[ext_resource type="SpriteFrames" uid="uid://c43yaqne7a2kh" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_002.tres" id="37_conch"] +[ext_resource type="SpriteFrames" uid="uid://dh1kr2fwfwlxq" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_003.tres" id="38_85niv"] +[ext_resource type="SpriteFrames" uid="uid://285s7e1vheno" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_004.tres" id="39_ere24"] +[ext_resource type="Script" uid="uid://c0a7xf5qx8p4y" path="res://scenes/game_elements/components/cel_shading_recolor.gd" id="40_rwglr"] +[ext_resource type="Texture2D" uid="uid://ci1jhoa204fyw" path="res://scenes/game_elements/fx/shine_particles/components/sparks.png" id="43_ny73w"] +[ext_resource type="PackedScene" uid="uid://bs32ac1yj83ub" path="res://scenes/game_elements/fx/curly_trail/curly_trail.tscn" id="47_k6wni"] +[ext_resource type="Script" uid="uid://c4oww6rkbqfxc" path="res://scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd" id="48_po6pk"] + +[sub_resource type="Animation" id="Animation_d870b"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("WorldNew:material:shader_parameter/progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("WorldOld:material:shader_parameter/progress") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Common/Water:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.6325955, 0.3162257, 0.40138388, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("ShineParticles:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-1030, 1.0000038)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Common/Clouds:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.4661066, 0.4661066, 0.4661066, 0.37300003)] +} +tracks/5/type = "bezier" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("LineEffect/Path2D/PathFollow2D:progress") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("LineEffect/Path2D/PathFollow2D/CurlyTrail:process_mode") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("LineEffect/Path2D/PathFollow2D/StitchTrail:process_mode") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} + +[sub_resource type="Animation" id="Animation_e0bq6"] +resource_name = "cutscene" +length = 10.0 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("WorldNew:material:shader_parameter/progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.6, 5.6), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("WorldOld:material:shader_parameter/progress") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(1.0333333, 6.1999993), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [1.0, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Common/Water:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.9333333, 6.1333327), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(0.6325955, 0.3162257, 0.40138388, 1), Color(1, 1, 1, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("ShineParticles:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.6, 5.6), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-1300, 1.0000038), Vector2(833, 1.0000038)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Common/Clouds:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.9333333, 6.1333337), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(0.4661066, 0.4661066, 0.4661066, 0.37300003), Color(1, 1, 1, 1)] +} +tracks/5/type = "method" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Shaker") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(1.6), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"shake" +}] +} +tracks/6/type = "bezier" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("LineEffect/Path2D/PathFollow2D:progress") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"handle_modes": PackedInt32Array(0, 2, 0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.0183385, 202.10925, 716.9357, -1.0259928, 8.339844, 0.39998627, -3.2513125, 1181.5182, -0.029001951, -133.76721, 0.7512536, 399.08618, 3254.922, -0.8500001, -345.56732, 0, 0), +"times": PackedFloat32Array(0, 1.0463688, 1.6, 5.4) +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("LineEffect/Path2D/PathFollow2D/CurlyTrail:process_mode") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0, 1.6), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [0, 4] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("LineEffect/Path2D/PathFollow2D/StitchTrail:process_mode") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 1.6), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [4, 0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_d870b"] +_data = { +&"RESET": SubResource("Animation_d870b"), +&"cutscene": SubResource("Animation_e0bq6") +} + +[sub_resource type="Gradient" id="Gradient_e0bq6"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_p2pfq"] +gradient = SubResource("Gradient_e0bq6") +fill_from = Vector2(1, 0.08974359) +fill_to = Vector2(0, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_36ifl"] +shader = ExtResource("6_e0bq6") +shader_parameter/mask_texture = SubResource("GradientTexture2D_p2pfq") +shader_parameter/fabric_texture = ExtResource("7_d870b") +shader_parameter/fabric_downscale = 12.0 +shader_parameter/progress = 0.15483856 +shader_parameter/smoothness = 0.10000000475 +shader_parameter/burn_size = 0.0 +shader_parameter/burn_color = Color(1, 1, 0.58, 1) +shader_parameter/gray_intensity = 0.6470000307325 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_nvr1k"] +resource_name = "Foam" +texture = ExtResource("3_3d5w8") +margins = Vector2i(32, 32) +separation = Vector2i(64, 0) +texture_region_size = Vector2i(128, 128) +0:0/animation_mode = 1 +0:0/animation_frame_0/duration = 1.0 +0:0/animation_frame_1/duration = 1.0 +0:0/animation_frame_2/duration = 1.0 +0:0/animation_frame_3/duration = 1.0 +0:0/animation_frame_4/duration = 1.0 +0:0/animation_frame_5/duration = 1.0 +0:0/animation_frame_6/duration = 1.0 +0:0/animation_frame_7/duration = 1.0 +0:0/0 = 0 + +[sub_resource type="TileSet" id="TileSet_p2pfq"] +tile_size = Vector2i(64, 64) +occlusion_layer_0/light_mask = 1 +physics_layer_0/collision_layer = 16 +physics_layer_0/collision_mask = 0 +physics_layer_0/collision_priority = 100.0 +physics_layer_1/collision_layer = 8 +physics_layer_1/collision_mask = 0 +physics_layer_2/collision_layer = 512 +physics_layer_2/collision_mask = 0 +terrain_set_0/mode = 2 +terrain_set_0/terrain_0/name = "Foam" +terrain_set_0/terrain_0/color = Color(0, 0.366311, 0.601596, 1) +sources/2 = SubResource("TileSetAtlasSource_nvr1k") + +[sub_resource type="AtlasTexture" id="AtlasTexture_yh4pc"] +atlas = ExtResource("7_3d5w8") +region = Rect2(512, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kq6hu"] +atlas = ExtResource("7_3d5w8") +region = Rect2(640, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c01r6"] +atlas = ExtResource("7_3d5w8") +region = Rect2(768, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x3akt"] +atlas = ExtResource("7_3d5w8") +region = Rect2(896, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_is5rt"] +atlas = ExtResource("8_nvr1k") +region = Rect2(0, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jq5gw"] +atlas = ExtResource("8_nvr1k") +region = Rect2(128, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r603x"] +atlas = ExtResource("8_nvr1k") +region = Rect2(256, 0, 128, 128) + +[sub_resource type="SpriteFrames" id="SpriteFrames_p2pfq"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_yh4pc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kq6hu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c01r6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x3akt") +}], +"loop": 2, +"name": &"default", +"speed": 1.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_is5rt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jq5gw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r603x") +}], +"loop": 1, +"name": &"struck", +"speed": 10.0 +}] + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_d870b"] +gradient = SubResource("Gradient_e0bq6") +fill_to = Vector2(1, 0.08974359) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_hrqc3"] +shader = ExtResource("6_e0bq6") +shader_parameter/mask_texture = SubResource("GradientTexture2D_d870b") +shader_parameter/fabric_texture = ExtResource("7_d870b") +shader_parameter/fabric_downscale = 12.0 +shader_parameter/progress = 0.96000004 +shader_parameter/smoothness = 0.1 +shader_parameter/burn_size = 0.15 +shader_parameter/burn_color = Color(1, 1, 0.58, 1) +shader_parameter/gray_intensity = 0.0 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_qs15o"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_pg372"] +resource_local_to_scene = true +shader = ExtResource("21_w57vo") +shader_parameter/color_count = 12 +shader_parameter/key_colors = PackedInt32Array(255, 255, 160, 255, 255, 0, 160, 160, 0, 46, 46, 0, 198, 129, 59, 175, 93, 35, 123, 61, 18, 46, 0, 0, 160, 255, 160, 0, 255, 0, 0, 160, 0, 0, 46, 0) +shader_parameter/new_colors = PackedVector3Array(0.824, 0.6296, 0.52, 0.78, 0.537, 0.4, 0.624, 0.4296, 0.32000002, 0.08627451, 0.10980392, 0.18039216, 0.6784, 0.45920002, 0.4232, 0.598, 0.324, 0.279, 0.4784, 0.2592, 0.22320001, 0.08627451, 0.10980392, 0.18039216, 0.844, 0.7408, 0.5688, 0.805, 0.676, 0.461, 0.644, 0.54080003, 0.3688, 0.08627451, 0.10980392, 0.18039216) + +[sub_resource type="ColorPalette" id="ColorPalette_byt3c"] +colors = PackedColorArray(0.824, 0.6296, 0.52, 1, 0.78, 0.537, 0.4, 1, 0.624, 0.4296, 0.32000002, 1, 0.08627451, 0.10980392, 0.18039216, 1, 0.6784, 0.45920002, 0.4232, 1, 0.598, 0.324, 0.279, 1, 0.4784, 0.2592, 0.22320001, 1, 0.08627451, 0.10980392, 0.18039216, 1, 0.844, 0.7408, 0.5688, 1, 0.805, 0.676, 0.461, 1, 0.644, 0.54080003, 0.3688, 1, 0.08627451, 0.10980392, 0.18039216, 1) + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_tnibl"] +blend_mode = 1 +particles_animation = true +particles_anim_h_frames = 1 +particles_anim_v_frames = 11 +particles_anim_loop = false + +[sub_resource type="Curve" id="Curve_8jhju"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1e-05, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.71104, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_tnibl"] +curve = SubResource("Curve_8jhju") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nbnht"] +lifetime_randomness = 0.5 +particle_flag_disable_z = true +emission_shape_scale = Vector3(10, 150, 0) +emission_shape = 3 +emission_box_extents = Vector3(1, 1, 1) +direction = Vector3(0, 0, 0) +spread = 180.0 +initial_velocity_min = 5.0 +initial_velocity_max = 20.0 +gravity = Vector3(0, -50, 0) +scale_max = 2.0 +alpha_curve = SubResource("CurveTexture_tnibl") +anim_speed_min = 1.0 +anim_speed_max = 1.0 +turbulence_enabled = true + +[sub_resource type="Curve" id="Curve_mc1mu"] +_limits = [1.0, 1.5043478, 0.0, 1.0] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.49668872, 1.5043478), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="Curve2D" id="Curve2D_ck1ya"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, -878, 257, -127.36207, -6.778784, 127.36207, 6.778784, -527, -336, 0, 0, 0, 0, -340, 73, 0, 0, 0, 0, -460, -122, 0, 0, 0, 0, -324, -122, 0, 0, 0, 0, -113, 124, 0, 0, 0, 0, -107, 190, 0, 0, 0, 0, 194, 186, 0, 0, 0, 0, 204, 127, 0, 0, 0, 0, 496, -54, 0, 0, 0, 0, 442, -123, 0, 0, 0, 0, 974, -127) +} +point_count = 12 + +[node name="AnimationPlayer" type="AnimationPlayer" unique_id=2084375467] +root_node = NodePath("AspectRatioContainer/Wrapper/WorldReweaven") +libraries/ = SubResource("AnimationLibrary_d870b") +autoplay = &"cutscene" + +[node name="AspectRatioContainer" type="AspectRatioContainer" parent="." unique_id=767205030] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Wrapper" type="Control" parent="AspectRatioContainer" unique_id=1349935592] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 + +[node name="WorldReweaven" type="Node2D" parent="AspectRatioContainer/Wrapper" unique_id=1244138831] +position = Vector2(0, 112) + +[node name="Common" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=288379822] + +[node name="Water" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common" unique_id=1829302660] +modulate = Color(0.9481866, 0.90357035, 0.91557986, 1) +tile_map_data = PackedByteArray("AADw//f/AAAAAAAAAADw//j/AAAAAAAAAADw//n/AAAAAAAAAADw//r/AAAAAAAAAADw//v/AAAAAAAAAADw//z/AAAAAAAAAADw//3/AAAAAAAAAADw//7/AAAAAAAAAADw////AAAAAAAAAADw/wAAAAAAAAAAAADw/wEAAAAAAAAAAADw/wIAAAAAAAAAAADw/wMAAAAAAAAAAADw/wQAAAAAAAAAAADw/wUAAAAAAAAAAADw/wYAAAAAAAAAAADw/wcAAAAAAAAAAADx//f/AAAAAAAAAADx//j/AAAAAAAAAADx//n/AAAAAAAAAADx//r/AAAAAAAAAADx//v/AAAAAAAAAADx//z/AAAAAAAAAADx//3/AAAAAAAAAADx//7/AAAAAAAAAADx////AAAAAAAAAADx/wAAAAAAAAAAAADx/wEAAAAAAAAAAADx/wIAAAAAAAAAAADx/wMAAAAAAAAAAADx/wQAAAAAAAAAAADx/wUAAAAAAAAAAADx/wYAAAAAAAAAAADx/wcAAAAAAAAAAADy//f/AAAAAAAAAADy//j/AAAAAAAAAADy//n/AAAAAAAAAADy//r/AAAAAAAAAADy//v/AAAAAAAAAADy//z/AAAAAAAAAADy//3/AAAAAAAAAADy//7/AAAAAAAAAADy////AAAAAAAAAADy/wAAAAAAAAAAAADy/wEAAAAAAAAAAADy/wIAAAAAAAAAAADy/wMAAAAAAAAAAADy/wQAAAAAAAAAAADy/wUAAAAAAAAAAADy/wYAAAAAAAAAAADy/wcAAAAAAAAAAADz//f/AAAAAAAAAADz//j/AAAAAAAAAADz//n/AAAAAAAAAADz//r/AAAAAAAAAADz//v/AAAAAAAAAADz//z/AAAAAAAAAADz//3/AAAAAAAAAADz//7/AAAAAAAAAADz////AAAAAAAAAADz/wAAAAAAAAAAAADz/wEAAAAAAAAAAADz/wIAAAAAAAAAAADz/wMAAAAAAAAAAADz/wQAAAAAAAAAAADz/wUAAAAAAAAAAADz/wYAAAAAAAAAAADz/wcAAAAAAAAAAAD0//f/AAAAAAAAAAD0//j/AAAAAAAAAAD0//n/AAAAAAAAAAD0//r/AAAAAAAAAAD0//v/AAAAAAAAAAD0//z/AAAAAAAAAAD0//3/AAAAAAAAAAD0//7/AAAAAAAAAAD0////AAAAAAAAAAD0/wAAAAAAAAAAAAD0/wEAAAAAAAAAAAD0/wIAAAAAAAAAAAD0/wMAAAAAAAAAAAD0/wQAAAAAAAAAAAD0/wUAAAAAAAAAAAD0/wYAAAAAAAAAAAD0/wcAAAAAAAAAAAD1//f/AAAAAAAAAAD1//j/AAAAAAAAAAD1//n/AAAAAAAAAAD1//r/AAAAAAAAAAD1//v/AAAAAAAAAAD1//z/AAAAAAAAAAD1//3/AAAAAAAAAAD1//7/AAAAAAAAAAD1////AAAAAAAAAAD1/wAAAAAAAAAAAAD1/wEAAAAAAAAAAAD1/wIAAAAAAAAAAAD1/wMAAAAAAAAAAAD1/wQAAAAAAAAAAAD1/wUAAAAAAAAAAAD1/wYAAAAAAAAAAAD1/wcAAAAAAAAAAAD2//f/AAAAAAAAAAD2//j/AAAAAAAAAAD2//n/AAAAAAAAAAD2//r/AAAAAAAAAAD2//v/AAAAAAAAAAD2//z/AAAAAAAAAAD2//3/AAAAAAAAAAD2//7/AAAAAAAAAAD2////AAAAAAAAAAD2/wAAAAAAAAAAAAD2/wEAAAAAAAAAAAD2/wIAAAAAAAAAAAD2/wMAAAAAAAAAAAD2/wQAAAAAAAAAAAD2/wUAAAAAAAAAAAD2/wYAAAAAAAAAAAD2/wcAAAAAAAAAAAD3//f/AAAAAAAAAAD3//j/AAAAAAAAAAD3//n/AAAAAAAAAAD3//r/AAAAAAAAAAD3//v/AAAAAAAAAAD3//z/AAAAAAAAAAD3//3/AAAAAAAAAAD3//7/AAAAAAAAAAD3////AAAAAAAAAAD3/wAAAAAAAAAAAAD3/wEAAAAAAAAAAAD3/wIAAAAAAAAAAAD3/wMAAAAAAAAAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAAAAAD3/wYAAAAAAAAAAAD3/wcAAAAAAAAAAAD4//f/AAAAAAAAAAD4//j/AAAAAAAAAAD4//n/AAAAAAAAAAD4//r/AAAAAAAAAAD4//v/AAAAAAAAAAD4//z/AAAAAAAAAAD4//3/AAAAAAAAAAD4//7/AAAAAAAAAAD4////AAAAAAAAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAAAAAD4/wcAAAAAAAAAAAD5//f/AAAAAAAAAAD5//j/AAAAAAAAAAD5//n/AAAAAAAAAAD5//r/AAAAAAAAAAD5//v/AAAAAAAAAAD5//z/AAAAAAAAAAD5//3/AAAAAAAAAAD5//7/AAAAAAAAAAD5////AAAAAAAAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAAAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD5/wcAAAAAAAAAAAD6//f/AAAAAAAAAAD6//j/AAAAAAAAAAD6//n/AAAAAAAAAAD6//r/AAAAAAAAAAD6//v/AAAAAAAAAAD6//z/AAAAAAAAAAD6//3/AAAAAAAAAAD6//7/AAAAAAAAAAD6////AAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAAAAAD7//f/AAAAAAAAAAD7//j/AAAAAAAAAAD7//n/AAAAAAAAAAD7//r/AAAAAAAAAAD7//v/AAAAAAAAAAD7//z/AAAAAAAAAAD7//3/AAAAAAAAAAD7//7/AAAAAAAAAAD7////AAAAAAAAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAAAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAAAAAD8//f/AAAAAAAAAAD8//j/AAAAAAAAAAD8//n/AAAAAAAAAAD8//r/AAAAAAAAAAD8//v/AAAAAAAAAAD8//z/AAAAAAAAAAD8//3/AAAAAAAAAAD8//7/AAAAAAAAAAD8////AAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAAAAAD9//f/AAAAAAAAAAD9//j/AAAAAAAAAAD9//n/AAAAAAAAAAD9//r/AAAAAAAAAAD9//v/AAAAAAAAAAD9//z/AAAAAAAAAAD9//3/AAAAAAAAAAD9//7/AAAAAAAAAAD9////AAAAAAAAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAAAAAD9/wIAAAAAAAAAAAD9/wMAAAAAAAAAAAD9/wQAAAAAAAAAAAD9/wUAAAAAAAAAAAD9/wYAAAAAAAAAAAD9/wcAAAAAAAAAAAD+//f/AAAAAAAAAAD+//j/AAAAAAAAAAD+//n/AAAAAAAAAAD+//r/AAAAAAAAAAD+//v/AAAAAAAAAAD+//z/AAAAAAAAAAD+//3/AAAAAAAAAAD+//7/AAAAAAAAAAD+////AAAAAAAAAAD+/wAAAAAAAAAAAAD+/wEAAAAAAAAAAAD+/wIAAAAAAAAAAAD+/wMAAAAAAAAAAAD+/wQAAAAAAAAAAAD+/wUAAAAAAAAAAAD+/wYAAAAAAAAAAAD+/wcAAAAAAAAAAAD///f/AAAAAAAAAAD///j/AAAAAAAAAAD///n/AAAAAAAAAAD///r/AAAAAAAAAAD///v/AAAAAAAAAAD///z/AAAAAAAAAAD///3/AAAAAAAAAAD///7/AAAAAAAAAAD/////AAAAAAAAAAD//wAAAAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAAAAAD//wcAAAAAAAAAAAAAAPf/AAAAAAAAAAAAAPj/AAAAAAAAAAAAAPn/AAAAAAAAAAAAAPr/AAAAAAAAAAAAAPv/AAAAAAAAAAAAAPz/AAAAAAAAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAABAPf/AAAAAAAAAAABAPj/AAAAAAAAAAABAPn/AAAAAAAAAAABAPr/AAAAAAAAAAABAPv/AAAAAAAAAAABAPz/AAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAABAAIAAAAAAAAAAAABAAMAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAACAPf/AAAAAAAAAAACAPj/AAAAAAAAAAACAPn/AAAAAAAAAAACAPr/AAAAAAAAAAACAPv/AAAAAAAAAAACAPz/AAAAAAAAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAAAAAACAAAAAAAAAAAAAAACAAEAAAAAAAAAAAACAAIAAAAAAAAAAAACAAMAAAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAAAAAACAAYAAAAAAAAAAAACAAcAAAAAAAAAAAADAPf/AAAAAAAAAAADAPj/AAAAAAAAAAADAPn/AAAAAAAAAAADAPr/AAAAAAAAAAADAPv/AAAAAAAAAAADAPz/AAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAAAAAADAP//AAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADAAMAAAAAAAAAAAADAAQAAAAAAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAAAAAADAAcAAAAAAAAAAAAEAPf/AAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEAAMAAAAAAAAAAAAEAAQAAAAAAAAAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAAAAAAFAPf/AAAAAAAAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAYAAAAAAAAAAAAFAAcAAAAAAAAAAAAGAPf/AAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAAAAAAHAPf/AAAAAAAAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAAAAAAHAPr/AAAAAAAAAAAHAPv/AAAAAAAAAAAHAPz/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAHAAYAAAAAAAAAAAAHAAcAAAAAAAAAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAAAAAAIAPn/AAAAAAAAAAAIAPr/AAAAAAAAAAAIAPv/AAAAAAAAAAAIAPz/AAAAAAAAAAAIAP3/AAAAAAAAAAAIAP7/AAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAIAAMAAAAAAAAAAAAIAAQAAAAAAAAAAAAIAAUAAAAAAAAAAAAIAAYAAAAAAAAAAAAIAAcAAAAAAAAAAAAJAPf/AAAAAAAAAAAJAPj/AAAAAAAAAAAJAPn/AAAAAAAAAAAJAPr/AAAAAAAAAAAJAPv/AAAAAAAAAAAJAPz/AAAAAAAAAAAJAP3/AAAAAAAAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAAAAAAJAAQAAAAAAAAAAAAJAAUAAAAAAAAAAAAJAAYAAAAAAAAAAAAJAAcAAAAAAAAAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAAAAAAKAPn/AAAAAAAAAAAKAPr/AAAAAAAAAAAKAPv/AAAAAAAAAAAKAPz/AAAAAAAAAAAKAP3/AAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAAKAAYAAAAAAAAAAAAKAAcAAAAAAAAAAAALAPf/AAAAAAAAAAALAPj/AAAAAAAAAAALAPn/AAAAAAAAAAALAPr/AAAAAAAAAAALAPv/AAAAAAAAAAALAPz/AAAAAAAAAAALAP3/AAAAAAAAAAALAP7/AAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAALAAMAAAAAAAAAAAALAAQAAAAAAAAAAAALAAUAAAAAAAAAAAALAAYAAAAAAAAAAAALAAcAAAAAAAAAAAAMAPf/AAAAAAAAAAAMAPj/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPr/AAAAAAAAAAAMAPv/AAAAAAAAAAAMAPz/AAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAP//AAAAAAAAAAAMAAAAAAAAAAAAAAAMAAEAAAAAAAAAAAAMAAIAAAAAAAAAAAAMAAMAAAAAAAAAAAAMAAQAAAAAAAAAAAAMAAUAAAAAAAAAAAAMAAYAAAAAAAAAAAAMAAcAAAAAAAAAAAANAPf/AAAAAAAAAAANAPj/AAAAAAAAAAANAPn/AAAAAAAAAAANAPr/AAAAAAAAAAANAPv/AAAAAAAAAAANAPz/AAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAANAAAAAAAAAAAAAAANAAEAAAAAAAAAAAANAAIAAAAAAAAAAAANAAMAAAAAAAAAAAANAAQAAAAAAAAAAAANAAUAAAAAAAAAAAANAAYAAAAAAAAAAAANAAcAAAAAAAAAAAAOAPf/AAAAAAAAAAAOAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAAAAAAOAPv/AAAAAAAAAAAOAPz/AAAAAAAAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAAAAAAOAAMAAAAAAAAAAAAOAAQAAAAAAAAAAAAOAAUAAAAAAAAAAAAOAAYAAAAAAAAAAAAOAAcAAAAAAAAAAAAPAPf/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAPAPv/AAAAAAAAAAAPAPz/AAAAAAAAAAAPAP3/AAAAAAAAAAAPAP7/AAAAAAAAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAIAAAAAAAAAAAAPAAMAAAAAAAAAAAAPAAQAAAAAAAAAAAAPAAUAAAAAAAAAAAAPAAYAAAAAAAAAAAAPAAcAAAAAAAAAAADw/wgAAAAAAAAAAADx/wgAAAAAAAAAAADy/wgAAAAAAAAAAADz/wgAAAAAAAAAAAD0/wgAAAAAAAAAAAD1/wgAAAAAAAAAAAD2/wgAAAAAAAAAAAD3/wgAAAAAAAAAAAD4/wgAAAAAAAAAAAD5/wgAAAAAAAAAAAD6/wgAAAAAAAAAAAD7/wgAAAAAAAAAAAD8/wgAAAAAAAAAAAD9/wgAAAAAAAAAAAD+/wgAAAAAAAAAAAD//wgAAAAAAAAAAAAAAAgAAAAAAAAAAAABAAgAAAAAAAAAAAACAAgAAAAAAAAAAAADAAgAAAAAAAAAAAAEAAgAAAAAAAAAAAAFAAgAAAAAAAAAAAAGAAgAAAAAAAAAAAAHAAgAAAAAAAAAAAAIAAgAAAAAAAAAAAAJAAgAAAAAAAAAAAAKAAgAAAAAAAAAAAALAAgAAAAAAAAAAAAMAAgAAAAAAAAAAAANAAgAAAAAAAAAAAAOAAgAAAAAAAAAAAAPAAgAAAAAAAAAAAA=") +tile_set = ExtResource("2_yewlk") +collision_enabled = false + +[node name="Clouds" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common" unique_id=245969548] +modulate = Color(0.9247073, 0.9247073, 0.9247073, 0.9115769) +y_sort_enabled = true + +[node name="Clouds01" type="Sprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common/Clouds" unique_id=1413601900] +position = Vector2(474, -316) +scale = Vector2(-1, 1) +texture = ExtResource("3_3mcre") + +[node name="Clouds02" type="Sprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common/Clouds" unique_id=349981533] +position = Vector2(-531, -383) +texture = ExtResource("4_32wp5") + +[node name="Clouds03" type="Sprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common/Clouds" unique_id=1531709667] +position = Vector2(-282, -328) +texture = ExtResource("5_fpdyc") + +[node name="WorldOld" type="CanvasGroup" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1022548625] +modulate = Color(0.6640624, 0.6153957, 0.53584576, 1) +material = SubResource("ShaderMaterial_36ifl") + +[node name="TileMapLayers" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld" unique_id=848008410] + +[node name="Foam" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=1771626778] +tile_map_data = PackedByteArray("AADw/wIAAgAAAAAAAADx/wIAAgAAAAAAAADy/wIAAgAAAAAAAADz/wIAAgAAAAAAAAD0/wIAAgAAAAAAAAD1/wIAAgAAAAAAAAD2/wIAAgAAAAAAAAD5/wIAAgAAAAAAAAD6/wIAAgAAAAAAAAD7/wIAAgAAAAAAAAD8/wIAAgAAAAAAAAD9/wIAAgAAAAAAAAD+/wIAAgAAAAAAAAD//wIAAgAAAAAAAAAEAAIAAgAAAAAAAAAFAAIAAgAAAAAAAAAGAAIAAgAAAAAAAAAHAAIAAgAAAAAAAAAIAAIAAgAAAAAAAAAJAAIAAgAAAAAAAAAKAAIAAgAAAAAAAAALAAIAAgAAAAAAAAAMAAIAAgAAAAAAAAANAAIAAgAAAAAAAAAOAAIAAgAAAAAAAAAPAAIAAgAAAAAAAAD//wEAAgAAAAAAAAAEAAEAAgAAAAAAAAADAAAAAgAAAAAAAAACAAAAAgAAAAAAAAACAP//AgAAAAAAAAD9////AgAAAAAAAAD3/wEAAgAAAAAAAAD4/wEAAgAAAAAAAAA=") +tile_set = SubResource("TileSet_p2pfq") +collision_enabled = false + +[node name="Stone" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=467922907] +tile_map_data = PackedByteArray("AAD2/wEABAACAAIAAAD1/wEABAABAAQAAAD0/wEABAABAAQAAADz/wEABAABAAQAAADy/wEABAABAAQAAADx/wEABAABAAQAAADw/wEABAAAAAQAAAD//wEABAACAAIAAAD+/wEABAABAAQAAAD9/wEABAABAAQAAAD8/wEABAABAAQAAAD7/wEABAABAAQAAAD6/wEABAABAAQAAAD5/wEABAAAAAIAAAAPAAEABAACAAQAAAAOAAEABAABAAQAAAANAAEABAABAAQAAAAMAAEABAABAAQAAAALAAEABAABAAQAAAAKAAEABAABAAQAAAAJAAEABAABAAQAAAAIAAEABAABAAQAAAAHAAEABAABAAQAAAAGAAEABAABAAQAAAAFAAEABAABAAQAAAAEAAEABAAAAAIAAAACAP//BAAAAAQAAAADAP//BAABAAQAAAAEAP//BAACAAAAAAAEAAAABAADAAEAAAD//wAABAADAAAAAAD6//7/BAABAAQAAAD7//7/BAABAAQAAAD8//7/BAACAAQAAAD5//7/BAAAAAQAAAD2/wAABAAAAAAAAAD3/wAABAABAAQAAAD4/wAABAABAAQAAAD5/wAABAACAAAAAAA=") +tile_set = ExtResource("4_e86n6") +collision_enabled = false + +[node name="Grass" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=2027206743] +tile_map_data = PackedByteArray("AADw//7/AQAAAAAAAADw////AQAAAAEAAADw/wAAAQAAAAEAAADw/wEAAQAAAAIAAADx//7/AQABAAAAAADx////AQABAAEAAADx/wAAAQABAAEAAADx/wEAAQABAAIAAADy//7/AQABAAAAAADy////AQABAAEAAADy/wAAAQABAAEAAADy/wEAAQABAAIAAADz//7/AQABAAAAAADz////AQABAAEAAADz/wAAAQABAAEAAADz/wEAAQABAAIAAAD0//7/AQABAAAAAAD0////AQABAAEAAAD0/wAAAQABAAEAAAD0/wEAAQABAAIAAAD1//7/AQABAAAAAAD1////AQABAAEAAAD1/wAAAQABAAEAAAD1/wEAAQABAAIAAAD2//7/AQABAAAAAAD2////AQABAAEAAAD2/wAAAQABAAEAAAD2/wEAAQACAAIAAAD3//7/AQABAAAAAAD3////AQABAAEAAAD3/wAAAQACAAIAAAD4//7/AQABAAAAAAD4////AQABAAIAAAD5//7/AQACAAAAAAD5////AQABAAEAAAD5/wAAAQAAAAIAAAD6////AQABAAAAAAD6/wAAAQABAAEAAAD7////AQABAAAAAAD7/wAAAQABAAEAAAD7/wEAAQABAAIAAAD8//7/AQAAAAAAAAD8/wAAAQABAAEAAAD8/wEAAQABAAIAAAD9//7/AQACAAAAAAD9////AQACAAEAAAD9/wAAAQABAAEAAAD9/wEAAQACAAIAAAD+/wAAAQABAAMAAAD//wAAAQACAAMAAAACAP7/AQAAAAAAAAACAP//AQAAAAIAAAADAP7/AQABAAAAAAADAP//AQABAAIAAAAEAP7/AQABAAAAAAAEAP//AQABAAEAAAAFAP7/AQABAAAAAAAFAP//AQABAAEAAAAGAP7/AQABAAAAAAAGAP//AQABAAEAAAAGAAAAAQABAAEAAAAGAAEAAQAAAAIAAAAHAP7/AQABAAAAAAAHAP//AQABAAEAAAAHAAAAAQABAAEAAAAHAAEAAQACAAIAAAAIAP7/AQABAAAAAAAIAP//AQABAAEAAAAIAAAAAQABAAIAAAAJAP//AQABAAEAAAAJAAAAAQABAAIAAAAKAP//AQABAAEAAAAKAAAAAQABAAIAAAALAP7/AQABAAAAAAALAP//AQABAAEAAAALAAAAAQABAAEAAAALAAEAAQAAAAIAAAAMAP7/AQABAAAAAAAMAP//AQABAAEAAAAMAAAAAQABAAEAAAAMAAEAAQABAAIAAAANAP7/AQABAAAAAAANAP//AQABAAEAAAANAAAAAQABAAEAAAANAAEAAQABAAIAAAAOAP7/AQABAAAAAAAOAP//AQABAAEAAAAOAAAAAQABAAEAAAAOAAEAAQABAAIAAAAPAP7/AQACAAAAAAAPAP//AQACAAEAAAAPAAAAAQACAAEAAAAPAAEAAQACAAIAAAD8////AQABAAEAAAAJAP7/AQABAAAAAAAKAP7/AQABAAAAAAAEAAAAAQAAAAIAAAAFAAAAAQABAAIAAAD6/wEAAQAAAAIAAAA=") +tile_set = ExtResource("5_htd1n") +collision_enabled = false + +[node name="Paths" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=506807141] +tile_map_data = PackedByteArray("AAD3////BQABAAAAAAD4////BQABAAMAAAD5////BQABAAMAAAAHAP7/BQADAAAAAAAHAP//BQAAAAIAAAAIAP//BQABAAMAAAAJAP//BQABAAMAAAAKAP//BQABAAMAAAALAP//BQABAAMAAAAMAP7/BQADAAAAAAAMAP//BQACAAIAAAD1/wAABQABAAIAAAD0////BQAAAAAAAAD2////BQABAAAAAAD1////BQABAAAAAAD0/wEABQADAAIAAAD0/wAABQAAAAEAAAAEAAAABQADAAIAAAAEAP//BQACAAAAAAADAP//BQABAAMAAAACAP//BQAAAAMAAAD//wAABQACAAMAAAD+/wAABQABAAMAAAD9/wAABQAAAAIAAAD9////BQADAAAAAAD7/wAAAQALAAAAAAD8////AQAKAAAAAAAGAAAAAQALAAAAAAAFAP//AQAMAAAAAAAHAAAAAQAMAAAAAAD2/wAABQABAAIAAAD3/wAABQACAAIAAAD6////BQACAAMAAAA=") +tile_set = ExtResource("5_htd1n") + +[node name="OnTheGround" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld" unique_id=851004040] +y_sort_enabled = true + +[node name="WaterRock" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=200189883 instance=ExtResource("6_q7npm")] +position = Vector2(179, 95) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=259739555 instance=ExtResource("6_q7npm")] +position = Vector2(-538, 202) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=1701159594 instance=ExtResource("6_q7npm")] +position = Vector2(-349, 216) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock4" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=1728831921 instance=ExtResource("6_q7npm")] +position = Vector2(535, 252) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock5" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=1033533410 instance=ExtResource("6_q7npm")] +position = Vector2(575, 278) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock6" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=289909374 instance=ExtResource("6_q7npm")] +position = Vector2(61, 127) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock7" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=1802876524 instance=ExtResource("6_q7npm")] +position = Vector2(94, 84) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock8" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=1703056042 instance=ExtResource("6_q7npm")] +position = Vector2(-474, 163) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="RuinedHouse" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=2016829349 instance=ExtResource("11_ofq33")] +position = Vector2(-61, 37) +texture = ExtResource("12_jenx3") + +[node name="RuinedHouse2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=1369110295 instance=ExtResource("11_ofq33")] +position = Vector2(255, -81) +texture = ExtResource("13_t4pd5") + +[node name="WorldNew" type="CanvasGroup" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1449698380] +material = SubResource("ShaderMaterial_hrqc3") +position = Vector2(2, 0) + +[node name="TileMapLayers" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew" unique_id=1973521633] + +[node name="Foam" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=2120033452] +tile_map_data = PackedByteArray("AADw/wIAAgAAAAAAAADx/wIAAgAAAAAAAADy/wIAAgAAAAAAAADz/wIAAgAAAAAAAAD0/wIAAgAAAAAAAAD1/wIAAgAAAAAAAAD2/wIAAgAAAAAAAAD3/wIAAgAAAAAAAAD4/wIAAgAAAAAAAAD5/wIAAgAAAAAAAAD6/wIAAgAAAAAAAAD7/wIAAgAAAAAAAAD8/wIAAgAAAAAAAAD9/wIAAgAAAAAAAAD+/wIAAgAAAAAAAAD//wIAAgAAAAAAAAAAAAIAAgAAAAAAAAABAAIAAgAAAAAAAAACAAIAAgAAAAAAAAADAAIAAgAAAAAAAAAEAAIAAgAAAAAAAAAFAAIAAgAAAAAAAAAGAAIAAgAAAAAAAAAHAAIAAgAAAAAAAAAIAAIAAgAAAAAAAAAJAAIAAgAAAAAAAAAKAAIAAgAAAAAAAAALAAIAAgAAAAAAAAAMAAIAAgAAAAAAAAANAAIAAgAAAAAAAAAOAAIAAgAAAAAAAAAPAAIAAgAAAAAAAAA=") +tile_set = ExtResource("3_eol75") +collision_enabled = false + +[node name="Stone" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=106427919] +tile_map_data = PackedByteArray("AAD2/wEABAABAAQAAAD1/wEABAABAAQAAAD0/wEABAABAAQAAADz/wEABAABAAQAAADy/wEABAABAAQAAADx/wEABAABAAQAAADw/wEABAAAAAQAAAADAAEABAABAAQAAAACAAEABAABAAQAAAABAAEABAABAAQAAAAAAAEABAABAAQAAAD//wEABAABAAQAAAD+/wEABAABAAQAAAD9/wEABAABAAQAAAD8/wEABAABAAQAAAD7/wEABAABAAQAAAD6/wEABAABAAQAAAD5/wEABAABAAQAAAD4/wEABAABAAQAAAD3/wEABAABAAQAAAAPAAEABAACAAQAAAAOAAEABAABAAQAAAANAAEABAABAAQAAAAMAAEABAABAAQAAAALAAEABAABAAQAAAAKAAEABAABAAQAAAAJAAEABAABAAQAAAAIAAEABAABAAQAAAAHAAEABAABAAQAAAAGAAEABAABAAQAAAAFAAEABAABAAQAAAAEAAEABAABAAQAAAA=") +tile_set = ExtResource("4_e86n6") +collision_enabled = false + +[node name="Grass" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=460997004] +tile_map_data = PackedByteArray("AADw//7/AQAAAAAAAADw////AQAAAAEAAADw/wAAAQAAAAEAAADw/wEAAQAAAAIAAADx//7/AQABAAAAAADx////AQABAAEAAADx/wAAAQABAAEAAADx/wEAAQABAAIAAADy//7/AQABAAAAAADy////AQABAAEAAADy/wAAAQABAAEAAADy/wEAAQABAAIAAADz//7/AQABAAAAAADz////AQABAAEAAADz/wAAAQABAAEAAADz/wEAAQABAAIAAAD0//7/AQABAAAAAAD0////AQABAAEAAAD0/wAAAQABAAEAAAD0/wEAAQABAAIAAAD1//7/AQABAAAAAAD1////AQABAAEAAAD1/wAAAQABAAEAAAD1/wEAAQABAAIAAAD2//7/AQABAAAAAAD2////AQABAAEAAAD2/wAAAQABAAEAAAD2/wEAAQABAAIAAAD3//7/AQABAAAAAAD3////AQABAAEAAAD3/wAAAQABAAEAAAD3/wEAAQABAAIAAAD4//7/AQABAAAAAAD4////AQABAAEAAAD4/wAAAQABAAEAAAD4/wEAAQABAAIAAAD5//7/AQABAAAAAAD5////AQABAAEAAAD5/wAAAQABAAEAAAD5/wEAAQABAAIAAAD6//7/AQABAAAAAAD6////AQABAAEAAAD6/wAAAQABAAEAAAD6/wEAAQABAAIAAAD7//7/AQABAAAAAAD7////AQABAAEAAAD7/wAAAQABAAEAAAD7/wEAAQABAAIAAAD8//7/AQABAAAAAAD8////AQABAAEAAAD8/wAAAQABAAEAAAD8/wEAAQABAAIAAAD9//7/AQABAAAAAAD9////AQABAAEAAAD9/wAAAQABAAEAAAD9/wEAAQABAAIAAAD+//7/AQABAAAAAAD+////AQABAAEAAAD+/wAAAQABAAEAAAD+/wEAAQABAAIAAAD///7/AQABAAAAAAD/////AQABAAEAAAD//wAAAQABAAEAAAD//wEAAQABAAIAAAAAAP7/AQABAAAAAAAAAP//AQABAAEAAAAAAAAAAQABAAEAAAAAAAEAAQABAAIAAAABAP7/AQABAAAAAAABAP//AQABAAEAAAABAAAAAQABAAEAAAABAAEAAQABAAIAAAACAP7/AQABAAAAAAACAP//AQABAAEAAAACAAAAAQABAAEAAAACAAEAAQABAAIAAAADAP7/AQABAAAAAAADAP//AQABAAEAAAADAAAAAQABAAEAAAADAAEAAQABAAIAAAAEAP7/AQABAAAAAAAEAP//AQABAAEAAAAEAAAAAQABAAEAAAAEAAEAAQABAAIAAAAFAP7/AQABAAAAAAAFAP//AQABAAEAAAAFAAAAAQABAAEAAAAFAAEAAQABAAIAAAAGAP7/AQABAAAAAAAGAP//AQABAAEAAAAGAAAAAQABAAEAAAAGAAEAAQABAAIAAAAHAP7/AQABAAAAAAAHAP//AQABAAEAAAAHAAAAAQABAAEAAAAHAAEAAQABAAIAAAAIAP7/AQABAAAAAAAIAP//AQABAAEAAAAIAAAAAQABAAEAAAAIAAEAAQABAAIAAAAJAP7/AQABAAAAAAAJAP//AQABAAEAAAAJAAAAAQABAAEAAAAJAAEAAQABAAIAAAAKAP7/AQABAAAAAAAKAP//AQABAAEAAAAKAAAAAQABAAEAAAAKAAEAAQABAAIAAAALAP7/AQABAAAAAAALAP//AQABAAEAAAALAAAAAQABAAEAAAALAAEAAQABAAIAAAAMAP7/AQABAAAAAAAMAP//AQABAAEAAAAMAAAAAQABAAEAAAAMAAEAAQABAAIAAAANAP7/AQABAAAAAAANAP//AQABAAEAAAANAAAAAQABAAEAAAANAAEAAQABAAIAAAAOAP7/AQABAAAAAAAOAP//AQABAAEAAAAOAAAAAQABAAEAAAAOAAEAAQABAAIAAAAPAP7/AQACAAAAAAAPAP//AQACAAEAAAAPAAAAAQACAAEAAAAPAAEAAQACAAIAAAA=") +tile_set = ExtResource("5_htd1n") +collision_enabled = false + +[node name="Paths" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=892084892] +tile_map_data = PackedByteArray("AAD3////BQABAAAAAAD3/wAABQABAAEAAAD3/wEABQABAAIAAAD4////BQABAAAAAAD4/wAABQABAAEAAAD4/wEABQABAAIAAAD5////BQABAAAAAAD5/wAABQABAAEAAAD5/wEABQABAAIAAAD6////BQACAAAAAAD6/wAABQACAAEAAAD6/wEABQACAAIAAAAHAP7/BQAAAAAAAAAHAP//BQAAAAIAAAAIAP7/BQABAAAAAAAIAP//BQABAAIAAAAJAP7/BQABAAAAAAAJAP//BQABAAIAAAAKAP7/BQABAAAAAAAKAP//BQABAAIAAAALAP7/BQABAAAAAAALAP//BQABAAIAAAAMAP7/BQACAAAAAAAMAP//BQACAAIAAAD2/wAABQABAAEAAAD1/wAABQABAAEAAAD0////BQAAAAAAAAD2/wEABQABAAIAAAD2////BQABAAAAAAD1/wEABQABAAIAAAD1////BQABAAAAAAD0/wEABQAAAAIAAAD0/wAABQAAAAEAAAAEAAAABQACAAIAAAAEAP//BQACAAAAAAADAAAABQABAAIAAAADAP//BQABAAAAAAACAAAABQABAAIAAAACAP//BQABAAAAAAABAAAABQABAAIAAAABAP//BQABAAAAAAAAAAAABQABAAIAAAAAAP//BQABAAAAAAD//wAABQABAAIAAAD/////BQABAAAAAAD+/wAABQABAAIAAAD+////BQABAAAAAAD9/wAABQAAAAIAAAD9////BQAAAAAAAAA=") +tile_set = ExtResource("5_htd1n") +collision_enabled = false + +[node name="OnTheGround" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew" unique_id=1173952061] +y_sort_enabled = true + +[node name="Tree" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1182216860 instance=ExtResource("8_f7xt1")] +position = Vector2(-162.00003, -102) +scale = Vector2(0.7886536, 0.80978966) + +[node name="Tree2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=186600742 instance=ExtResource("8_f7xt1")] +position = Vector2(111.000015, 84) +scale = Vector2(0.7886536, 0.80978966) + +[node name="Tree3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=66371706 instance=ExtResource("8_f7xt1")] +position = Vector2(355, -33) +scale = Vector2(0.7886536, 0.80978966) + +[node name="Bunny" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=398073521 instance=ExtResource("13_nvr1k")] +position = Vector2(-207, -105) + +[node name="Bunny2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=2023764825 instance=ExtResource("13_nvr1k")] +position = Vector2(310, -48) +scale = Vector2(-1, 1) + +[node name="WaterRock" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1408545713 instance=ExtResource("6_q7npm")] +position = Vector2(-538, 202) + +[node name="WaterRock2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=2101092969 instance=ExtResource("6_q7npm")] +position = Vector2(-349, 216) + +[node name="WaterRock3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=206386520 instance=ExtResource("6_q7npm")] +position = Vector2(535, 252) + +[node name="WaterRock4" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=218636896 instance=ExtResource("6_q7npm")] +position = Vector2(575, 278) + +[node name="House_1" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=593509202 instance=ExtResource("16_t4pd5")] +position = Vector2(-61, 37) +texture = ExtResource("17_fbxeo") + +[node name="House_2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1006657527 instance=ExtResource("16_t4pd5")] +position = Vector2(255, -81) +texture = ExtResource("19_fbxeo") + +[node name="Townie" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1098678013 instance=ExtResource("20_fbxeo")] +position = Vector2(-96, -89) +character_seed = 2795412966 + +[node name="Townie2" type="CharacterBody2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=657622856 node_paths=PackedStringArray("cel_shading_recolor")] +position = Vector2(10, 74) +scale = Vector2(-1, 1) +collision_layer = 2 +collision_mask = 0 +script = ExtResource("20_x1q3a") +cel_shading_recolor = NodePath("CelShadingRecolor") +look_at_side = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2" unique_id=752289315] +rotation = -1.5707964 +shape = SubResource("CapsuleShape2D_qs15o") + +[node name="AnimatedSprite2DLegs" type="AnimatedSprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2" unique_id=857498918] +material = SubResource("ShaderMaterial_pg372") +position = Vector2(-3, -31) +sprite_frames = ExtResource("24_nbnht") +animation = &"idle" + +[node name="RandomTextureSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs" unique_id=29355732 node_paths=PackedStringArray("sprite")] +script = ExtResource("23_ny73w") +sprite_frames = Array[SpriteFrames]([ExtResource("24_nbnht"), ExtResource("25_5job5"), ExtResource("22_aw50v")]) +sprite = NodePath("..") +metadata/_custom_type_script = "uid://boyesrjdix688" + +[node name="CharacterSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs" unique_id=251614972 node_paths=PackedStringArray("character", "sprite")] +position = Vector2(3, 30) +script = ExtResource("26_6sebn") +character = NodePath("../..") +sprite = NodePath("..") +metadata/_custom_type_script = "uid://dy68p7gf07pi3" + +[node name="AnimatedSprite2DBody" type="AnimatedSprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs" unique_id=146114806] +material = SubResource("ShaderMaterial_pg372") +sprite_frames = ExtResource("22_pg372") +animation = &"idle" +autoplay = "idle" + +[node name="RandomTextureSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody" unique_id=1026721959 node_paths=PackedStringArray("sprite")] +script = ExtResource("23_ny73w") +sprite_frames = Array[SpriteFrames]([ExtResource("28_3mcre"), ExtResource("29_32wp5"), ExtResource("22_pg372")]) +sprite = NodePath("..") + +[node name="CharacterSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody" unique_id=312816672 node_paths=PackedStringArray("character", "sprite")] +script = ExtResource("26_6sebn") +character = NodePath("../../..") +sprite = NodePath("..") +metadata/_custom_type_script = "uid://dy68p7gf07pi3" + +[node name="AnimatedSprite2DHead" type="AnimatedSprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody" unique_id=44872592] +unique_name_in_owner = true +material = SubResource("ShaderMaterial_pg372") +position = Vector2(-4, -16) +sprite_frames = ExtResource("33_vcfmm") +animation = &"idle" +autoplay = "idle" + +[node name="RandomTextureSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead" unique_id=450161531 node_paths=PackedStringArray("sprite")] +script = ExtResource("23_ny73w") +sprite_frames = Array[SpriteFrames]([ExtResource("31_fpdyc"), ExtResource("23_cdldm"), ExtResource("32_r54mm"), ExtResource("33_vcfmm"), ExtResource("34_kkot8")]) +sprite = NodePath("..") +metadata/_custom_type_script = "uid://boyesrjdix688" + +[node name="CharacterSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead" unique_id=771689525 node_paths=PackedStringArray("character", "sprite")] +script = ExtResource("26_6sebn") +character = NodePath("../../../..") +sprite = NodePath("..") +metadata/_custom_type_script = "uid://dy68p7gf07pi3" + +[node name="AnimatedSprite2DHair" type="AnimatedSprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead" unique_id=1709026527] +material = SubResource("ShaderMaterial_pg372") +sprite_frames = ExtResource("39_ere24") +animation = &"idle" +autoplay = "idle" +metadata/_edit_lock_ = true + +[node name="RandomTextureSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead/AnimatedSprite2DHair" unique_id=1348604064 node_paths=PackedStringArray("sprite")] +script = ExtResource("23_ny73w") +sprite_frames = Array[SpriteFrames]([ExtResource("36_5jeab"), ExtResource("37_conch"), ExtResource("38_85niv"), ExtResource("39_ere24"), ExtResource("24_08fa4")]) +sprite = NodePath("..") +metadata/_custom_type_script = "uid://boyesrjdix688" + +[node name="CharacterSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead/AnimatedSprite2DHair" unique_id=761435199 node_paths=PackedStringArray("character", "sprite")] +script = ExtResource("26_6sebn") +character = NodePath("../../../../..") +sprite = NodePath("..") +metadata/_custom_type_script = "uid://dy68p7gf07pi3" + +[node name="CelShadingRecolor" type="Node" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2" unique_id=1660334104] +script = ExtResource("40_rwglr") +shader_material = SubResource("ShaderMaterial_pg372") +new_colors_palette = SubResource("ColorPalette_byt3c") +metadata/_custom_type_script = "uid://c0a7xf5qx8p4y" + +[node name="Townie3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1124645302 instance=ExtResource("20_fbxeo")] +position = Vector2(187, -42) +scale = Vector2(-1, 1) +character_seed = 2999255987 +look_at_side = 1 + +[node name="Shaker" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1389467069 node_paths=PackedStringArray("target")] +unique_name_in_owner = true +script = ExtResource("14_p2pfq") +target = NodePath("..") +rotate_target = false +shake_intensity = 20.0 +duration = 4.0 +frequency = 15.0 +metadata/_custom_type_script = "uid://dunsvrhq42214" + +[node name="ShineParticles" type="GPUParticles2D" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1370188511] +modulate = Color(1, 1, 0, 1) +material = SubResource("CanvasItemMaterial_tnibl") +position = Vector2(747.68005, 1.0000038) +rotation = 0.16250198 +amount = 50 +texture = ExtResource("43_ny73w") +lifetime = 5.0 +speed_scale = 2.0 +fixed_fps = 50 +visibility_rect = Rect2(-100, -100, 1000, 1000) +process_material = SubResource("ParticleProcessMaterial_nbnht") + +[node name="LineEffect" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1987410513] + +[node name="Line2D" type="Line2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect" unique_id=1232247250] +texture_repeat = 2 +width = 3.0 +width_curve = SubResource("Curve_mc1mu") +default_color = Color(1, 1, 0.7953644, 1) +texture_mode = 1 +joint_mode = 2 + +[node name="Path2D" type="Path2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect" unique_id=201081890] +curve = SubResource("Curve2D_ck1ya") + +[node name="PathFollow2D" type="PathFollow2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect/Path2D" unique_id=951240730] +position = Vector2(974.0001, -127) +rotation = -1.4861017 +progress = 3254.922 +rotates = false + +[node name="CurlyTrail" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect/Path2D/PathFollow2D" unique_id=760772735 node_paths=PackedStringArray("line") instance=ExtResource("47_k6wni")] +process_mode = 4 +line = NodePath("../../../Line2D") +radius = 49.99999739229679 + +[node name="StitchTrail" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect/Path2D/PathFollow2D" unique_id=465589405 node_paths=PackedStringArray("line")] +script = ExtResource("48_po6pk") +line = NodePath("../../../Line2D") +width = 30.0 +stitches_per_second = 0.0 +metadata/_custom_type_script = "uid://c4oww6rkbqfxc" diff --git a/scenes/game_elements/fx/world_reweaven/components/world_reweaven_cutscene_2.tscn b/scenes/game_elements/fx/world_reweaven/components/world_reweaven_cutscene_2.tscn new file mode 100644 index 000000000..dac323cef --- /dev/null +++ b/scenes/game_elements/fx/world_reweaven/components/world_reweaven_cutscene_2.tscn @@ -0,0 +1,889 @@ +[gd_scene format=4 uid="uid://ci5b3s8apl4ks"] + +[ext_resource type="TileSet" uid="uid://oynx002hv8tl" path="res://tiles/water.tres" id="2_dec8y"] +[ext_resource type="Texture2D" uid="uid://6spbplxd35oi" path="res://assets/third_party/tiny-swords-non-cc0/Terrain/Decorations/Clouds/Clouds_03.png" id="3_h0gxs"] +[ext_resource type="Texture2D" uid="uid://c3b4n67rvd358" path="res://assets/third_party/tiny-swords-non-cc0/Terrain/Decorations/Clouds/Clouds_04.png" id="4_iqiqp"] +[ext_resource type="Texture2D" uid="uid://blr1lm4twpwvp" path="res://assets/third_party/tiny-swords-non-cc0/Terrain/Decorations/Clouds/Clouds_07.png" id="5_modc1"] +[ext_resource type="Shader" uid="uid://dui35fhf12sp5" path="res://scenes/game_elements/fx/world_reweaven/components/world_reweaven.gdshader" id="6_y8egr"] +[ext_resource type="Texture2D" uid="uid://drlsbgxh5e6vv" path="res://scenes/game_elements/fx/world_reweaven/components/fabric_texture.png" id="7_cgmo4"] +[ext_resource type="Texture2D" uid="uid://cexg7otw5enpu" path="res://assets/third_party/tiny-swords/Terrain/Water/Foam/Foam.png" id="8_bxgig"] +[ext_resource type="TileSet" uid="uid://b778cuoftt88r" path="res://tiles/elevation_2.tres" id="9_jwmae"] +[ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="10_a6mg3"] +[ext_resource type="TileSet" uid="uid://do0ffypatd77h" path="res://tiles/bridges.tres" id="11_mpfbp"] +[ext_resource type="TileSet" uid="uid://cxw7t41wfur2m" path="res://tiles/decoration.tres" id="12_xwr68"] +[ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="13_mfqmc"] +[ext_resource type="Texture2D" uid="uid://bvgio1b8la3bg" path="res://assets/first_party/rocks/RockWater_Idle.png" id="14_7vvnq"] +[ext_resource type="Texture2D" uid="uid://bbclkccipxec2" path="res://assets/first_party/rocks/RockWater_Struck.png" id="15_mv4t5"] +[ext_resource type="PackedScene" uid="uid://b31v66516y4lg" path="res://scenes/game_elements/props/buildings/house/ruined_house.tscn" id="16_vlbvg"] +[ext_resource type="Texture2D" uid="uid://cy66l5b3uox84" path="res://scenes/game_elements/props/buildings/house/components/House_Patches_Red_Stage2.png" id="17_noo7i"] +[ext_resource type="Texture2D" uid="uid://be3845r07rhkm" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage3.png" id="18_xl184"] +[ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="19_40nfu"] +[ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="20_sspdu"] +[ext_resource type="PackedScene" uid="uid://lfvn4u30s4yf" path="res://scenes/game_elements/props/buildings/house/house_1.tscn" id="21_ssi2h"] +[ext_resource type="Texture2D" uid="uid://lylpujgq8e4v" path="res://scenes/game_elements/props/buildings/house/components/House_Patches_Red_Stage1.png" id="22_bibhe"] +[ext_resource type="Texture2D" uid="uid://ol20om7xc1o7" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage1.png" id="23_06py2"] +[ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="24_vm3vv"] +[ext_resource type="Script" uid="uid://dl6rgfwdn3qp4" path="res://scenes/game_elements/characters/components/character_randomizer.gd" id="25_h118v"] +[ext_resource type="Shader" uid="uid://bs1yj5q1vidgx" path="res://scenes/game_elements/components/cel_shading_recolor.gdshader" id="26_ij2yi"] +[ext_resource type="SpriteFrames" uid="uid://bygxgwwtt1j6h" path="res://scenes/game_elements/characters/components/sprite_frames/townie-legs_001.tres" id="27_6n8tg"] +[ext_resource type="Script" uid="uid://boyesrjdix688" path="res://scenes/game_logic/sprite_behaviors/random_texture_sprite_behavior.gd" id="28_t33bk"] +[ext_resource type="SpriteFrames" uid="uid://ubitgryup0jx" path="res://scenes/game_elements/characters/components/sprite_frames/townie-legs_002.dy_-6.tres" id="29_tfhfm"] +[ext_resource type="SpriteFrames" uid="uid://do4waj3mgr6vw" path="res://scenes/game_elements/characters/components/sprite_frames/townie-legs_003.dy_-12.tres" id="30_x8n7n"] +[ext_resource type="Script" uid="uid://dy68p7gf07pi3" path="res://scenes/game_logic/sprite_behaviors/character_sprite_behavior.gd" id="31_n24vj"] +[ext_resource type="SpriteFrames" uid="uid://dll1wbldwfgbt" path="res://scenes/game_elements/characters/components/sprite_frames/townie-body_003.dx_-4.dy_-16.tres" id="32_12lvb"] +[ext_resource type="SpriteFrames" uid="uid://tc0nuhppfl8p" path="res://scenes/game_elements/characters/components/sprite_frames/townie-body_001.tres" id="33_3j7dk"] +[ext_resource type="SpriteFrames" uid="uid://u85wwi2wot2r" path="res://scenes/game_elements/characters/components/sprite_frames/townie-body_002.tres" id="34_tvln7"] +[ext_resource type="SpriteFrames" uid="uid://dl7xeteu0n2ia" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_004.tres" id="35_t5kgm"] +[ext_resource type="SpriteFrames" uid="uid://crshpjwcenpa5" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_001.tres" id="36_qy0ur"] +[ext_resource type="SpriteFrames" uid="uid://cyy8mv2nshtaq" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_002.tres" id="37_ggirs"] +[ext_resource type="SpriteFrames" uid="uid://c03umtasls62d" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_003.tres" id="38_rdqsy"] +[ext_resource type="SpriteFrames" uid="uid://myvflc68qwmu" path="res://scenes/game_elements/characters/components/sprite_frames/townie-head_005.tres" id="39_tqjpk"] +[ext_resource type="SpriteFrames" uid="uid://285s7e1vheno" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_004.tres" id="40_4vig3"] +[ext_resource type="SpriteFrames" uid="uid://x3oxp35ukm62" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_001.tres" id="41_honk7"] +[ext_resource type="SpriteFrames" uid="uid://c43yaqne7a2kh" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_002.tres" id="42_aqgdt"] +[ext_resource type="SpriteFrames" uid="uid://dh1kr2fwfwlxq" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_003.tres" id="43_c010m"] +[ext_resource type="SpriteFrames" uid="uid://dnfyg3i87cp17" path="res://scenes/game_elements/characters/components/sprite_frames/townie-hair_005.tres" id="44_e0s53"] +[ext_resource type="Script" uid="uid://c0a7xf5qx8p4y" path="res://scenes/game_elements/components/cel_shading_recolor.gd" id="45_pgcsg"] +[ext_resource type="PackedScene" uid="uid://c4vbokn408f2c" path="res://scenes/game_elements/props/decoration/sheep/sheep.tscn" id="46_ee1fc"] +[ext_resource type="Script" uid="uid://dunsvrhq42214" path="res://scenes/game_elements/fx/shaker/shaker.gd" id="47_015wn"] +[ext_resource type="Texture2D" uid="uid://ci1jhoa204fyw" path="res://scenes/game_elements/fx/shine_particles/components/sparks.png" id="48_qofm8"] +[ext_resource type="PackedScene" uid="uid://bs32ac1yj83ub" path="res://scenes/game_elements/fx/curly_trail/curly_trail.tscn" id="50_2bs3d"] +[ext_resource type="Script" uid="uid://c4oww6rkbqfxc" path="res://scenes/game_elements/fx/stitch_trail/components/stitch_trail.gd" id="50_wh1pc"] + +[sub_resource type="Animation" id="Animation_d870b"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("WorldNew:material:shader_parameter/progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("WorldOld:material:shader_parameter/progress") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Common/Water:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.6325955, 0.3162257, 0.40138388, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("ShineParticles:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-1030, 1.0000038)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("ShineParticles:process_material:emission_shape_scale") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(1, 1, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("ShineParticles:emitting") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Common/Clouds:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.4661066, 0.4661066, 0.4661066, 0.37300003)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("LineEffect/Path2D/PathFollow2D/StitchTrail:process_mode") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [4] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("LineEffect/Path2D/PathFollow2D/CurlyTrail:process_mode") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} +tracks/9/type = "bezier" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("LineEffect/Path2D/PathFollow2D:progress") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} + +[sub_resource type="Animation" id="Animation_e0bq6"] +resource_name = "cutscene" +length = 12.0 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("WorldNew:material:shader_parameter/progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(3, 8), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("WorldOld:material:shader_parameter/progress") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(3.4333334, 8.566667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [1.0, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Common/Water:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(3.3333335, 8.533333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(0.6325955, 0.3162257, 0.40138388, 1), Color(1, 1, 1, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("ShineParticles:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(3, 8), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-90, 207), Vector2(-90, 90)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("ShineParticles:process_material:emission_shape_scale") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(3, 8), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(1, 0.5, 0), Vector3(12, 6, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("ShineParticles:emitting") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 3, 3.2, 8, 9), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [false, false, true, true, false] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Common/Clouds:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(3.3333335, 8.533334), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(0.4661066, 0.4661066, 0.4661066, 0.37300003), Color(1, 1, 1, 1)] +} +tracks/7/type = "method" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Shaker") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(3), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"shake" +}] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("LineEffect/Path2D/PathFollow2D/StitchTrail:process_mode") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0.4547998, 3), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [4, 0] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("LineEffect/Path2D/PathFollow2D/CurlyTrail:process_mode") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0.4547998, 3), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [0, 4] +} +tracks/10/type = "bezier" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("LineEffect/Path2D/PathFollow2D:progress") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"handle_modes": PackedInt32Array(0, 0, 0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25588182, 617.6938, 930.521, -1.443213, -5.229248, 0.35203874, -1.4312744, 1417.2135, -0.029973865, -115.96826, 0.27495837, 114.663086, 3458.3772, 0, 0, 0, 0), +"times": PackedFloat32Array(0.4547998, 2.4313989, 3, 6.1) +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_d870b"] +_data = { +&"RESET": SubResource("Animation_d870b"), +&"cutscene": SubResource("Animation_e0bq6") +} + +[sub_resource type="Gradient" id="Gradient_6muf5"] + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_1ydj4"] +gradient = SubResource("Gradient_6muf5") +fill = 1 +fill_from = Vector2(0.41880342, 0.6367521) +fill_to = Vector2(0.13247864, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_36ifl"] +shader = ExtResource("6_y8egr") +shader_parameter/mask_texture = SubResource("GradientTexture2D_1ydj4") +shader_parameter/fabric_texture = ExtResource("7_cgmo4") +shader_parameter/fabric_downscale = 12.0 +shader_parameter/progress = 1.0 +shader_parameter/smoothness = 0.0 +shader_parameter/burn_size = 0.0 +shader_parameter/burn_color = Color(1, 1, 0.58, 1) +shader_parameter/gray_intensity = 0.6470000307325 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_nvr1k"] +resource_name = "Foam" +texture = ExtResource("8_bxgig") +margins = Vector2i(32, 32) +separation = Vector2i(64, 0) +texture_region_size = Vector2i(128, 128) +0:0/animation_mode = 1 +0:0/animation_frame_0/duration = 1.0 +0:0/animation_frame_1/duration = 1.0 +0:0/animation_frame_2/duration = 1.0 +0:0/animation_frame_3/duration = 1.0 +0:0/animation_frame_4/duration = 1.0 +0:0/animation_frame_5/duration = 1.0 +0:0/animation_frame_6/duration = 1.0 +0:0/animation_frame_7/duration = 1.0 +0:0/0 = 0 + +[sub_resource type="TileSet" id="TileSet_p2pfq"] +tile_size = Vector2i(64, 64) +occlusion_layer_0/light_mask = 1 +physics_layer_0/collision_layer = 16 +physics_layer_0/collision_mask = 0 +physics_layer_0/collision_priority = 100.0 +physics_layer_1/collision_layer = 8 +physics_layer_1/collision_mask = 0 +physics_layer_2/collision_layer = 512 +physics_layer_2/collision_mask = 0 +terrain_set_0/mode = 2 +terrain_set_0/terrain_0/name = "Foam" +terrain_set_0/terrain_0/color = Color(0, 0.366311, 0.601596, 1) +sources/2 = SubResource("TileSetAtlasSource_nvr1k") + +[sub_resource type="AtlasTexture" id="AtlasTexture_yh4pc"] +atlas = ExtResource("14_7vvnq") +region = Rect2(512, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kq6hu"] +atlas = ExtResource("14_7vvnq") +region = Rect2(640, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c01r6"] +atlas = ExtResource("14_7vvnq") +region = Rect2(768, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x3akt"] +atlas = ExtResource("14_7vvnq") +region = Rect2(896, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_is5rt"] +atlas = ExtResource("15_mv4t5") +region = Rect2(0, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jq5gw"] +atlas = ExtResource("15_mv4t5") +region = Rect2(128, 0, 128, 128) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r603x"] +atlas = ExtResource("15_mv4t5") +region = Rect2(256, 0, 128, 128) + +[sub_resource type="SpriteFrames" id="SpriteFrames_p2pfq"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_yh4pc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kq6hu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c01r6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x3akt") +}], +"loop": 2, +"name": &"default", +"speed": 1.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_is5rt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jq5gw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r603x") +}], +"loop": 1, +"name": &"struck", +"speed": 10.0 +}] + +[sub_resource type="Gradient" id="Gradient_lq5qh"] +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_d870b"] +gradient = SubResource("Gradient_lq5qh") +fill = 1 +fill_from = Vector2(0.41880342, 0.6367521) +fill_to = Vector2(0.13247864, 0) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_hrqc3"] +shader = ExtResource("6_y8egr") +shader_parameter/mask_texture = SubResource("GradientTexture2D_d870b") +shader_parameter/fabric_texture = ExtResource("7_cgmo4") +shader_parameter/fabric_downscale = 12.0 +shader_parameter/progress = 0.0 +shader_parameter/smoothness = 0.1 +shader_parameter/burn_size = 0.15 +shader_parameter/burn_color = Color(1, 1, 0.58, 1) +shader_parameter/gray_intensity = 0.0 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_qs15o"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_pg372"] +resource_local_to_scene = true +shader = ExtResource("26_ij2yi") +shader_parameter/color_count = 12 +shader_parameter/key_colors = PackedInt32Array(255, 255, 160, 255, 255, 0, 160, 160, 0, 46, 46, 0, 198, 129, 59, 175, 93, 35, 123, 61, 18, 46, 0, 0, 160, 255, 160, 0, 255, 0, 0, 160, 0, 0, 46, 0) +shader_parameter/new_colors = PackedVector3Array(0.824, 0.6296, 0.52, 0.78, 0.537, 0.4, 0.624, 0.4296, 0.32000002, 0.08627451, 0.10980392, 0.18039216, 0.6784, 0.45920002, 0.4232, 0.598, 0.324, 0.279, 0.4784, 0.2592, 0.22320001, 0.08627451, 0.10980392, 0.18039216, 0.844, 0.7408, 0.5688, 0.805, 0.676, 0.461, 0.644, 0.54080003, 0.3688, 0.08627451, 0.10980392, 0.18039216) + +[sub_resource type="ColorPalette" id="ColorPalette_byt3c"] +colors = PackedColorArray(0.824, 0.6296, 0.52, 1, 0.78, 0.537, 0.4, 1, 0.624, 0.4296, 0.32000002, 1, 0.08627451, 0.10980392, 0.18039216, 1, 0.6784, 0.45920002, 0.4232, 1, 0.598, 0.324, 0.279, 1, 0.4784, 0.2592, 0.22320001, 1, 0.08627451, 0.10980392, 0.18039216, 1, 0.844, 0.7408, 0.5688, 1, 0.805, 0.676, 0.461, 1, 0.644, 0.54080003, 0.3688, 1, 0.08627451, 0.10980392, 0.18039216, 1) + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_tnibl"] +blend_mode = 1 +particles_animation = true +particles_anim_h_frames = 1 +particles_anim_v_frames = 11 +particles_anim_loop = false + +[sub_resource type="Curve" id="Curve_8jhju"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1e-05, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.71104, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_tnibl"] +curve = SubResource("Curve_8jhju") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nbnht"] +lifetime_randomness = 0.5 +particle_flag_disable_z = true +emission_shape_scale = Vector3(1, 0.5, 0) +emission_shape = 2 +emission_sphere_radius = 64.0 +direction = Vector3(0, 0, 0) +spread = 180.0 +initial_velocity_min = 5.0 +initial_velocity_max = 20.0 +gravity = Vector3(0, -50, 0) +scale_max = 2.0 +alpha_curve = SubResource("CurveTexture_tnibl") +anim_speed_min = 1.0 +anim_speed_max = 1.0 +turbulence_enabled = true + +[sub_resource type="Curve" id="Curve_kgwwc"] +_limits = [1.0, 1.5043478, 0.0, 1.0] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.49668872, 1.5043478), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="Curve2D" id="Curve2D_ah750"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, -671, 640, -149.3819, 0, 149.3819, 0, -294, -190, 0, 0, 0, 0, -90, 223, 0, 0, 0, 0, -243, 298, 0, 0, 0, 0, -302, 252, 0, 0, 0, 0, -301, 190, 0, 0, 0, 0, -368, 123, 0, 0, 0, 0, -285, 59, 0, 0, 0, 0, -284, 2, 0, 0, 0, 0, -194, -46, 0, 0, 0, 0, -193, 37, 0, 0, 0, 0, 1, 39, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 94, 63, 0, 0, 0, 0, 100, 125, 0, 0, 0, 0, 192, 125, 0, 0, 0, 0, 195, 171, 0, 0, 0, 0, 321, 224, 0, 0, 0, 0, 321, 292, 0, 0, 0, 0, 383, 323, 0, 0, 0, 0, 381, 426, 0, 0, 0, 0, 628, 492) +} +point_count = 22 + +[node name="AnimationPlayer" type="AnimationPlayer" unique_id=2084375467] +root_node = NodePath("AspectRatioContainer/Wrapper/WorldReweaven") +libraries/ = SubResource("AnimationLibrary_d870b") +autoplay = &"cutscene" + +[node name="AspectRatioContainer" type="AspectRatioContainer" parent="." unique_id=854605277] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Wrapper" type="Control" parent="AspectRatioContainer" unique_id=1373439421] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 + +[node name="WorldReweaven" type="Node2D" parent="AspectRatioContainer/Wrapper" unique_id=1244138831] + +[node name="Common" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=288379822] + +[node name="Water" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common" unique_id=1829302660] +modulate = Color(0.6325955, 0.3162257, 0.40138388, 1) +tile_map_data = PackedByteArray("AADw//f/AAAAAAAAAADw//j/AAAAAAAAAADw//n/AAAAAAAAAADw//r/AAAAAAAAAADw//v/AAAAAAAAAADw//z/AAAAAAAAAADw//3/AAAAAAAAAADw//7/AAAAAAAAAADw////AAAAAAAAAADw/wAAAAAAAAAAAADw/wEAAAAAAAAAAADw/wIAAAAAAAAAAADw/wMAAAAAAAAAAADw/wQAAAAAAAAAAADw/wUAAAAAAAAAAADw/wYAAAAAAAAAAADw/wcAAAAAAAAAAADx//f/AAAAAAAAAADx//j/AAAAAAAAAADx//n/AAAAAAAAAADx//r/AAAAAAAAAADx//v/AAAAAAAAAADx//z/AAAAAAAAAADx//3/AAAAAAAAAADx//7/AAAAAAAAAADx////AAAAAAAAAADx/wAAAAAAAAAAAADx/wEAAAAAAAAAAADx/wIAAAAAAAAAAADx/wMAAAAAAAAAAADx/wQAAAAAAAAAAADx/wUAAAAAAAAAAADx/wYAAAAAAAAAAADx/wcAAAAAAAAAAADy//f/AAAAAAAAAADy//j/AAAAAAAAAADy//n/AAAAAAAAAADy//r/AAAAAAAAAADy//v/AAAAAAAAAADy//z/AAAAAAAAAADy//3/AAAAAAAAAADy//7/AAAAAAAAAADy////AAAAAAAAAADy/wAAAAAAAAAAAADy/wEAAAAAAAAAAADy/wIAAAAAAAAAAADy/wMAAAAAAAAAAADy/wQAAAAAAAAAAADy/wUAAAAAAAAAAADy/wYAAAAAAAAAAADy/wcAAAAAAAAAAADz//f/AAAAAAAAAADz//j/AAAAAAAAAADz//n/AAAAAAAAAADz//r/AAAAAAAAAADz//v/AAAAAAAAAADz//z/AAAAAAAAAADz//3/AAAAAAAAAADz//7/AAAAAAAAAADz////AAAAAAAAAADz/wAAAAAAAAAAAADz/wEAAAAAAAAAAADz/wIAAAAAAAAAAADz/wMAAAAAAAAAAADz/wQAAAAAAAAAAADz/wUAAAAAAAAAAADz/wYAAAAAAAAAAADz/wcAAAAAAAAAAAD0//f/AAAAAAAAAAD0//j/AAAAAAAAAAD0//n/AAAAAAAAAAD0//r/AAAAAAAAAAD0//v/AAAAAAAAAAD0//z/AAAAAAAAAAD0//3/AAAAAAAAAAD0//7/AAAAAAAAAAD0////AAAAAAAAAAD0/wAAAAAAAAAAAAD0/wEAAAAAAAAAAAD0/wIAAAAAAAAAAAD0/wMAAAAAAAAAAAD0/wQAAAAAAAAAAAD0/wUAAAAAAAAAAAD0/wYAAAAAAAAAAAD0/wcAAAAAAAAAAAD1//f/AAAAAAAAAAD1//j/AAAAAAAAAAD1//n/AAAAAAAAAAD1//r/AAAAAAAAAAD1//v/AAAAAAAAAAD1//z/AAAAAAAAAAD1//3/AAAAAAAAAAD1//7/AAAAAAAAAAD1////AAAAAAAAAAD1/wAAAAAAAAAAAAD1/wEAAAAAAAAAAAD1/wIAAAAAAAAAAAD1/wMAAAAAAAAAAAD1/wQAAAAAAAAAAAD1/wUAAAAAAAAAAAD1/wYAAAAAAAAAAAD1/wcAAAAAAAAAAAD2//f/AAAAAAAAAAD2//j/AAAAAAAAAAD2//n/AAAAAAAAAAD2//r/AAAAAAAAAAD2//v/AAAAAAAAAAD2//z/AAAAAAAAAAD2//3/AAAAAAAAAAD2//7/AAAAAAAAAAD2////AAAAAAAAAAD2/wAAAAAAAAAAAAD2/wEAAAAAAAAAAAD2/wIAAAAAAAAAAAD2/wMAAAAAAAAAAAD2/wQAAAAAAAAAAAD2/wUAAAAAAAAAAAD2/wYAAAAAAAAAAAD2/wcAAAAAAAAAAAD3//f/AAAAAAAAAAD3//j/AAAAAAAAAAD3//n/AAAAAAAAAAD3//r/AAAAAAAAAAD3//v/AAAAAAAAAAD3//z/AAAAAAAAAAD3//3/AAAAAAAAAAD3//7/AAAAAAAAAAD3////AAAAAAAAAAD3/wAAAAAAAAAAAAD3/wEAAAAAAAAAAAD3/wIAAAAAAAAAAAD3/wMAAAAAAAAAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAAAAAD3/wYAAAAAAAAAAAD3/wcAAAAAAAAAAAD4//f/AAAAAAAAAAD4//j/AAAAAAAAAAD4//n/AAAAAAAAAAD4//r/AAAAAAAAAAD4//v/AAAAAAAAAAD4//z/AAAAAAAAAAD4//3/AAAAAAAAAAD4//7/AAAAAAAAAAD4////AAAAAAAAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAAAAAD4/wcAAAAAAAAAAAD5//f/AAAAAAAAAAD5//j/AAAAAAAAAAD5//n/AAAAAAAAAAD5//r/AAAAAAAAAAD5//v/AAAAAAAAAAD5//z/AAAAAAAAAAD5//3/AAAAAAAAAAD5//7/AAAAAAAAAAD5////AAAAAAAAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAAAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD5/wcAAAAAAAAAAAD6//f/AAAAAAAAAAD6//j/AAAAAAAAAAD6//n/AAAAAAAAAAD6//r/AAAAAAAAAAD6//v/AAAAAAAAAAD6//z/AAAAAAAAAAD6//3/AAAAAAAAAAD6//7/AAAAAAAAAAD6////AAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAAAAAD7//f/AAAAAAAAAAD7//j/AAAAAAAAAAD7//n/AAAAAAAAAAD7//r/AAAAAAAAAAD7//v/AAAAAAAAAAD7//z/AAAAAAAAAAD7//3/AAAAAAAAAAD7//7/AAAAAAAAAAD7////AAAAAAAAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAAAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAAAAAD8//f/AAAAAAAAAAD8//j/AAAAAAAAAAD8//n/AAAAAAAAAAD8//r/AAAAAAAAAAD8//v/AAAAAAAAAAD8//z/AAAAAAAAAAD8//3/AAAAAAAAAAD8//7/AAAAAAAAAAD8////AAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAAAAAD9//f/AAAAAAAAAAD9//j/AAAAAAAAAAD9//n/AAAAAAAAAAD9//r/AAAAAAAAAAD9//v/AAAAAAAAAAD9//z/AAAAAAAAAAD9//3/AAAAAAAAAAD9//7/AAAAAAAAAAD9////AAAAAAAAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAAAAAD9/wIAAAAAAAAAAAD9/wMAAAAAAAAAAAD9/wQAAAAAAAAAAAD9/wUAAAAAAAAAAAD9/wYAAAAAAAAAAAD9/wcAAAAAAAAAAAD+//f/AAAAAAAAAAD+//j/AAAAAAAAAAD+//n/AAAAAAAAAAD+//r/AAAAAAAAAAD+//v/AAAAAAAAAAD+//z/AAAAAAAAAAD+//3/AAAAAAAAAAD+//7/AAAAAAAAAAD+////AAAAAAAAAAD+/wAAAAAAAAAAAAD+/wEAAAAAAAAAAAD+/wIAAAAAAAAAAAD+/wMAAAAAAAAAAAD+/wQAAAAAAAAAAAD+/wUAAAAAAAAAAAD+/wYAAAAAAAAAAAD+/wcAAAAAAAAAAAD///f/AAAAAAAAAAD///j/AAAAAAAAAAD///n/AAAAAAAAAAD///r/AAAAAAAAAAD///v/AAAAAAAAAAD///z/AAAAAAAAAAD///3/AAAAAAAAAAD///7/AAAAAAAAAAD/////AAAAAAAAAAD//wAAAAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAAAAAD//wcAAAAAAAAAAAAAAPf/AAAAAAAAAAAAAPj/AAAAAAAAAAAAAPn/AAAAAAAAAAAAAPr/AAAAAAAAAAAAAPv/AAAAAAAAAAAAAPz/AAAAAAAAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAABAPf/AAAAAAAAAAABAPj/AAAAAAAAAAABAPn/AAAAAAAAAAABAPr/AAAAAAAAAAABAPv/AAAAAAAAAAABAPz/AAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAABAAIAAAAAAAAAAAABAAMAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAACAPf/AAAAAAAAAAACAPj/AAAAAAAAAAACAPn/AAAAAAAAAAACAPr/AAAAAAAAAAACAPv/AAAAAAAAAAACAPz/AAAAAAAAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAAAAAACAAAAAAAAAAAAAAACAAEAAAAAAAAAAAACAAIAAAAAAAAAAAACAAMAAAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAAAAAACAAYAAAAAAAAAAAACAAcAAAAAAAAAAAADAPf/AAAAAAAAAAADAPj/AAAAAAAAAAADAPn/AAAAAAAAAAADAPr/AAAAAAAAAAADAPv/AAAAAAAAAAADAPz/AAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAAAAAADAP//AAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADAAMAAAAAAAAAAAADAAQAAAAAAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAAAAAADAAcAAAAAAAAAAAAEAPf/AAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEAAMAAAAAAAAAAAAEAAQAAAAAAAAAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAAAAAAFAPf/AAAAAAAAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAYAAAAAAAAAAAAFAAcAAAAAAAAAAAAGAPf/AAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAAAAAAHAPf/AAAAAAAAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAAAAAAHAPr/AAAAAAAAAAAHAPv/AAAAAAAAAAAHAPz/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAHAAYAAAAAAAAAAAAHAAcAAAAAAAAAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAAAAAAIAPn/AAAAAAAAAAAIAPr/AAAAAAAAAAAIAPv/AAAAAAAAAAAIAPz/AAAAAAAAAAAIAP3/AAAAAAAAAAAIAP7/AAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAIAAMAAAAAAAAAAAAIAAQAAAAAAAAAAAAIAAUAAAAAAAAAAAAIAAYAAAAAAAAAAAAIAAcAAAAAAAAAAAAJAPf/AAAAAAAAAAAJAPj/AAAAAAAAAAAJAPn/AAAAAAAAAAAJAPr/AAAAAAAAAAAJAPv/AAAAAAAAAAAJAPz/AAAAAAAAAAAJAP3/AAAAAAAAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAAAAAAJAAQAAAAAAAAAAAAJAAUAAAAAAAAAAAAJAAYAAAAAAAAAAAAJAAcAAAAAAAAAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAAAAAAKAPn/AAAAAAAAAAAKAPr/AAAAAAAAAAAKAPv/AAAAAAAAAAAKAPz/AAAAAAAAAAAKAP3/AAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAAKAAYAAAAAAAAAAAAKAAcAAAAAAAAAAAALAPf/AAAAAAAAAAALAPj/AAAAAAAAAAALAPn/AAAAAAAAAAALAPr/AAAAAAAAAAALAPv/AAAAAAAAAAALAPz/AAAAAAAAAAALAP3/AAAAAAAAAAALAP7/AAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAALAAMAAAAAAAAAAAALAAQAAAAAAAAAAAALAAUAAAAAAAAAAAALAAYAAAAAAAAAAAALAAcAAAAAAAAAAAAMAPf/AAAAAAAAAAAMAPj/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPr/AAAAAAAAAAAMAPv/AAAAAAAAAAAMAPz/AAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAP//AAAAAAAAAAAMAAAAAAAAAAAAAAAMAAEAAAAAAAAAAAAMAAIAAAAAAAAAAAAMAAMAAAAAAAAAAAAMAAQAAAAAAAAAAAAMAAUAAAAAAAAAAAAMAAYAAAAAAAAAAAAMAAcAAAAAAAAAAAANAPf/AAAAAAAAAAANAPj/AAAAAAAAAAANAPn/AAAAAAAAAAANAPr/AAAAAAAAAAANAPv/AAAAAAAAAAANAPz/AAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAANAAAAAAAAAAAAAAANAAEAAAAAAAAAAAANAAIAAAAAAAAAAAANAAMAAAAAAAAAAAANAAQAAAAAAAAAAAANAAUAAAAAAAAAAAANAAYAAAAAAAAAAAANAAcAAAAAAAAAAAAOAPf/AAAAAAAAAAAOAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAAAAAAOAPv/AAAAAAAAAAAOAPz/AAAAAAAAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAAAAAAOAAMAAAAAAAAAAAAOAAQAAAAAAAAAAAAOAAUAAAAAAAAAAAAOAAYAAAAAAAAAAAAOAAcAAAAAAAAAAAAPAPf/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAPAPv/AAAAAAAAAAAPAPz/AAAAAAAAAAAPAP3/AAAAAAAAAAAPAP7/AAAAAAAAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAIAAAAAAAAAAAAPAAMAAAAAAAAAAAAPAAQAAAAAAAAAAAAPAAUAAAAAAAAAAAAPAAYAAAAAAAAAAAAPAAcAAAAAAAAAAADw/wgAAAAAAAAAAADx/wgAAAAAAAAAAADy/wgAAAAAAAAAAADz/wgAAAAAAAAAAAD0/wgAAAAAAAAAAAD1/wgAAAAAAAAAAAD2/wgAAAAAAAAAAAD3/wgAAAAAAAAAAAD4/wgAAAAAAAAAAAD5/wgAAAAAAAAAAAD6/wgAAAAAAAAAAAD7/wgAAAAAAAAAAAD8/wgAAAAAAAAAAAD9/wgAAAAAAAAAAAD+/wgAAAAAAAAAAAD//wgAAAAAAAAAAAAAAAgAAAAAAAAAAAABAAgAAAAAAAAAAAACAAgAAAAAAAAAAAADAAgAAAAAAAAAAAAEAAgAAAAAAAAAAAAFAAgAAAAAAAAAAAAGAAgAAAAAAAAAAAAHAAgAAAAAAAAAAAAIAAgAAAAAAAAAAAAJAAgAAAAAAAAAAAAKAAgAAAAAAAAAAAALAAgAAAAAAAAAAAAMAAgAAAAAAAAAAAANAAgAAAAAAAAAAAAOAAgAAAAAAAAAAAAPAAgAAAAAAAAAAAA=") +tile_set = ExtResource("2_dec8y") +collision_enabled = false + +[node name="Clouds" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common" unique_id=604162110] +modulate = Color(0.4661066, 0.4661066, 0.4661066, 0.37300003) +y_sort_enabled = true + +[node name="Clouds03" type="Sprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common/Clouds" unique_id=229245325] +position = Vector2(440, -148) +texture = ExtResource("3_h0gxs") + +[node name="Clouds04" type="Sprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common/Clouds" unique_id=1118584198] +position = Vector2(294, -265) +texture = ExtResource("4_iqiqp") + +[node name="Clouds07" type="Sprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/Common/Clouds" unique_id=548288710] +position = Vector2(-586, -142) +texture = ExtResource("5_modc1") + +[node name="WorldOld" type="CanvasGroup" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1022548625] +modulate = Color(0.6640624, 0.6153957, 0.53584576, 1) +material = SubResource("ShaderMaterial_36ifl") + +[node name="TileMapLayers" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld" unique_id=848008410] + +[node name="Foam" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=1771626778] +tile_map_data = PackedByteArray("AAD4/wQAAgAAAAAAAAD4/wUAAgAAAAAAAAD4/wYAAgAAAAAAAAD5/wQAAgAAAAAAAAD5/wUAAgAAAAAAAAD5/wYAAgAAAAAAAAD6/wQAAgAAAAAAAAD6/wUAAgAAAAAAAAD6/wYAAgAAAAAAAAD7/wQAAgAAAAAAAAD7/wUAAgAAAAAAAAD7/wYAAgAAAAAAAAD8/wQAAgAAAAAAAAD8/wUAAgAAAAAAAAD8/wYAAgAAAAAAAAD9/wQAAgAAAAAAAAD9/wUAAgAAAAAAAAD9/wYAAgAAAAAAAAD+/wQAAgAAAAAAAAD+/wUAAgAAAAAAAAD+/wYAAgAAAAAAAAD//wQAAgAAAAAAAAD//wUAAgAAAAAAAAD//wYAAgAAAAAAAAAAAAQAAgAAAAAAAAAAAAUAAgAAAAAAAAAAAAYAAgAAAAAAAAABAAQAAgAAAAAAAAABAAUAAgAAAAAAAAABAAYAAgAAAAAAAAACAAQAAgAAAAAAAAACAAUAAgAAAAAAAAACAAYAAgAAAAAAAAADAAQAAgAAAAAAAAADAAUAAgAAAAAAAAADAAYAAgAAAAAAAAAEAAQAAgAAAAAAAAAEAAUAAgAAAAAAAAAEAAYAAgAAAAAAAAAFAAQAAgAAAAAAAAAFAAUAAgAAAAAAAAAFAAYAAgAAAAAAAAA=") +tile_set = SubResource("TileSet_p2pfq") +collision_enabled = false + +[node name="Stone0" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=240891954] +tile_map_data = PackedByteArray("AAD6/wUABAABAAIAAAD7/wUABAABAAQAAAD8/wUABAABAAQAAAD9/wUABAABAAQAAAD+/wUABAABAAQAAAD//wUABAABAAQAAAAAAAUABAABAAQAAAABAAUABAABAAQAAAACAAUABAABAAQAAAADAAUABAABAAIAAAD5/wUABAABAAIAAAAEAAUABAABAAIAAAD4/wUABAAAAAIAAAAFAAUABAACAAIAAAD4/wMABAAAAAAAAAD4/wQABAAAAAEAAAAFAAMABAACAAAAAAAFAAQABAACAAEAAAD5/wMABAABAAAAAAD5/wQABAABAAEAAAD6/wMABAACAAAAAAD6/wQABAACAAEAAAADAAMABAAAAAAAAAADAAQABAAAAAEAAAAEAAQABAABAAEAAAAEAAMABAABAAAAAAA=") +tile_set = ExtResource("9_jwmae") +collision_enabled = false + +[node name="Grass0" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=1653037848] +tile_map_data = PackedByteArray("AAD6/wQABgACAAEAAAD6/wMABgACAAAAAAD5/wUABgAAAAIAAAD5/wQABgABAAEAAAD5/wMABgABAAAAAAD4/wQABgAAAAIAAAD4/wMABgAAAAAAAAAFAAUABgACAAMAAAAEAAUABgABAAMAAAAEAAMABgACAAMAAAADAAUABgAAAAIAAAADAAQABgADAAEAAAADAAMABgAAAAAAAAD6/wUABgACAAIAAAA=") +tile_set = ExtResource("10_a6mg3") +collision_enabled = false + +[node name="Stone2" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=1769499909] +tile_map_data = PackedByteArray("AAACAAQABAABAAIAAAADAAQABAACAAIAAAACAAMABAABAAEAAAACAAIABAABAAEAAAADAAIABAABAAEAAAADAAMABAABAAEAAAD9/wIABAABAAEAAAD9/wMABAABAAEAAAD9/wQABAABAAIAAAD7/wQABAABAAIAAAD7/wMABAABAAEAAAD7/wIABAABAAEAAAD8/wIABAABAAEAAAD8/wMABAABAAEAAAD8/wQABAABAAIAAAD+/wIABAABAAEAAAD//wIABAABAAEAAAAAAAIABAABAAEAAAABAAIABAABAAEAAAABAAMABAABAAEAAAAAAAMABAABAAEAAAD//wMABAABAAEAAAD+/wMABAABAAEAAAD+/wQABAABAAIAAAD//wQABAABAAIAAAAAAAQABAABAAIAAAABAAQABAABAAIAAAD6/wQABAAAAAIAAAD6/wMABAABAAEAAAD6/wIABAABAAEAAAD6/wEABAAAAAAAAAD7/wEABAABAAAAAAD8/wEABAABAAAAAAD9/wEABAABAAAAAAD+/wEABAABAAAAAAD//wEABAABAAAAAAAAAAEABAABAAAAAAABAAEABAABAAAAAAACAAEABAABAAAAAAADAAEABAACAAAAAAD5/wIABAAAAAAAAAAEAAIABAACAAAAAAAEAAMABAACAAIAAAD5/wMABAAAAAIAAAA=") +tile_set = ExtResource("9_jwmae") +collision_enabled = false + +[node name="Grass2" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=1851860443] +tile_map_data = PackedByteArray("AAADAAQAAQACAAIAAAADAAMAAQALAAAAAAADAAIAAQAKAAAAAAADAAEAAQACAAAAAAACAAMAAQABAAEAAAACAAIAAQABAAEAAAACAAEAAQABAAAAAAABAAMAAQABAAIAAAABAAIAAQABAAEAAAABAAEAAQABAAAAAAAAAAMAAQABAAIAAAAAAAIAAQABAAEAAAAAAAEAAQABAAAAAAD//wQAAQACAAIAAAD//wMAAQABAAEAAAD//wIAAQABAAEAAAD//wEAAQABAAAAAAD+/wQAAQABAAIAAAD+/wMAAQAMAAAAAAD+/wIAAQABAAEAAAD+/wEAAQABAAAAAAD9/wMAAQABAAEAAAD9/wIAAQABAAEAAAD9/wEAAQABAAAAAAD8/wQAAQABAAIAAAD8/wMAAQALAAAAAAD8/wIAAQABAAEAAAD8/wEAAQABAAAAAAD7/wQAAQAAAAIAAAD7/wIAAQABAAEAAAD7/wEAAQABAAAAAAD6/wIAAQABAAIAAAD6/wEAAQAAAAAAAAD5/wIAAQAAAAMAAAAEAAIAAQACAAAAAAAEAAMAAQACAAIAAAD7/wMAAQAAAAEAAAD9/wQAAQABAAIAAAACAAQAAQAAAAIAAAA=") +tile_set = ExtResource("10_a6mg3") +collision_enabled = false + +[node name="Stone3" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=1558631934] +tile_map_data = PackedByteArray("AAD//wAABAAAAAAAAAAAAAAABAABAAAAAAABAAAABAABAAAAAAACAAAABAACAAAAAAACAAEABAACAAEAAAABAAEABAABAAEAAAAAAAEABAABAAEAAAD//wEABAAAAAEAAAD//wIABAAAAAIAAAAAAAIABAABAAIAAAABAAIABAABAAIAAAACAAIABAACAAIAAAD7/wAABAABAAEAAAD8/wAABAABAAEAAAD9/wAABAACAAEAAAD9/wEABAACAAIAAAD8/wEABAABAAIAAAD7/wEABAABAAEAAAD6/wEABAAAAAEAAAD6/wAABAAAAAEAAAD6/wIABAAAAAIAAAD7/wIABAACAAIAAAD9////BAACAAAAAAD8////BAABAAAAAAD7////BAABAAAAAAD6////BAAAAAAAAAA=") +tile_set = ExtResource("9_jwmae") +collision_enabled = false + +[node name="Grass3" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=1058555462] +tile_map_data = PackedByteArray("AAACAAIABgACAAIAAAACAAEABgACAAEAAAACAAAABgACAAAAAAABAAIABgAAAAIAAAABAAEABgAAAAEAAAABAAAABgABAAAAAAAAAAAABgABAAMAAAD//wAABgAAAAMAAAD9////BgACAAAAAAD9/wAABgACAAIAAAD8/wEABgACAAIAAAD7/wEABgAEAAAAAAD6/wEABgAAAAEAAAD6/wAABgAAAAEAAAD7/wAABgABAAEAAAD8/wAABgABAAEAAAD8////BgABAAAAAAD7////BgABAAAAAAD6////BgAAAAAAAAD7/wIABgACAAIAAAD6/wIABgAAAAIAAAA=") +tile_set = ExtResource("10_a6mg3") +collision_enabled = false + +[node name="Stone4" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=683158608] +tile_map_data = PackedByteArray("AAACAAAABAACAAIAAAACAP//BAACAAAAAAABAAAABAABAAIAAAABAP//BAABAAAAAAAAAAAABAAAAAIAAAAAAP//BAAAAAAAAAD6////BAAAAAIAAAD7////BAABAAIAAAD8////BAACAAIAAAD8//7/BAACAAAAAAD7//7/BAABAAAAAAD6//7/BAAAAAAAAAA=") +tile_set = ExtResource("9_jwmae") +collision_enabled = false + +[node name="Grass4" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=1052632837] +tile_map_data = PackedByteArray("AAACAAAAAQACAAMAAAABAAAAAQAAAAIAAAABAP//AQACAAAAAAAAAP//AQAAAAMAAAD6//7/AQAAAAMAAAD7//7/AQABAAAAAAD8////AQACAAIAAAD7////AQAAAAIAAAD8//7/AQACAAAAAAA=") +tile_set = ExtResource("10_a6mg3") +collision_enabled = false + +[node name="Bridge" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=267199109] +tile_map_data = PackedByteArray("AAD9/wAAAwACAAEAAAD+/wEAAwABAAIAAAA=") +tile_set = ExtResource("11_mpfbp") +collision_enabled = false + +[node name="TileMapLayer" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/TileMapLayers" unique_id=858904449] +tile_map_data = PackedByteArray("AAABAAMAAAADAAMAAAD8/wIAAAADAAUAAAD8////AAABAAAAAAAAAAAAAAAAAAEAAAA=") +tile_set = ExtResource("12_xwr68") +collision_enabled = false + +[node name="OnTheGround" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld" unique_id=851004040] +y_sort_enabled = true + +[node name="WaterRock" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=200189883 instance=ExtResource("13_mfqmc")] +position = Vector2(-562, 316) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=259739555 instance=ExtResource("13_mfqmc")] +position = Vector2(535, 252) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="WaterRock3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=1701159594 instance=ExtResource("13_mfqmc")] +position = Vector2(575, 278) +sprite_frames = SubResource("SpriteFrames_p2pfq") + +[node name="RuinedHouse" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=2016829349 instance=ExtResource("16_vlbvg")] +position = Vector2(71, -32) +texture = ExtResource("17_noo7i") + +[node name="RuinedHouse2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldOld/OnTheGround" unique_id=1369110295 instance=ExtResource("16_vlbvg")] +position = Vector2(-335, -59) +texture = ExtResource("18_xl184") + +[node name="WorldNew" type="CanvasGroup" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1449698380] +material = SubResource("ShaderMaterial_hrqc3") +position = Vector2(2, 0) + +[node name="TileMapLayers" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew" unique_id=1973521633] + +[node name="Foam" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=2120033452] +tile_map_data = PackedByteArray("AAD4/wQAAgAAAAAAAAD4/wUAAgAAAAAAAAD4/wYAAgAAAAAAAAD5/wQAAgAAAAAAAAD5/wUAAgAAAAAAAAD5/wYAAgAAAAAAAAD6/wQAAgAAAAAAAAD6/wUAAgAAAAAAAAD6/wYAAgAAAAAAAAD7/wQAAgAAAAAAAAD7/wUAAgAAAAAAAAD7/wYAAgAAAAAAAAD8/wQAAgAAAAAAAAD8/wUAAgAAAAAAAAD8/wYAAgAAAAAAAAD9/wQAAgAAAAAAAAD9/wUAAgAAAAAAAAD9/wYAAgAAAAAAAAD+/wQAAgAAAAAAAAD+/wUAAgAAAAAAAAD+/wYAAgAAAAAAAAD//wQAAgAAAAAAAAD//wUAAgAAAAAAAAD//wYAAgAAAAAAAAAAAAQAAgAAAAAAAAAAAAUAAgAAAAAAAAAAAAYAAgAAAAAAAAABAAQAAgAAAAAAAAABAAUAAgAAAAAAAAABAAYAAgAAAAAAAAACAAQAAgAAAAAAAAACAAUAAgAAAAAAAAACAAYAAgAAAAAAAAADAAQAAgAAAAAAAAADAAUAAgAAAAAAAAADAAYAAgAAAAAAAAAEAAQAAgAAAAAAAAAEAAUAAgAAAAAAAAAEAAYAAgAAAAAAAAAFAAQAAgAAAAAAAAAFAAUAAgAAAAAAAAAFAAYAAgAAAAAAAAA=") +tile_set = ExtResource("19_40nfu") +collision_enabled = false + +[node name="Stone0" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=1680355502] +tile_map_data = PackedByteArray("AAD6/wUABAABAAIAAAD7/wUABAABAAQAAAD8/wUABAABAAQAAAD9/wUABAABAAQAAAD+/wUABAABAAQAAAD//wUABAABAAQAAAAAAAUABAABAAQAAAABAAUABAABAAQAAAACAAUABAABAAQAAAADAAUABAABAAIAAAD5/wUABAABAAIAAAAEAAUABAABAAIAAAD4/wUABAAAAAIAAAAFAAUABAACAAIAAAD4/wMABAAAAAAAAAD4/wQABAAAAAEAAAAFAAMABAACAAAAAAAFAAQABAACAAEAAAD5/wMABAABAAAAAAD5/wQABAABAAEAAAD6/wMABAACAAAAAAD6/wQABAACAAEAAAADAAMABAAAAAAAAAADAAQABAAAAAEAAAAEAAQABAABAAEAAAAEAAMABAABAAAAAAA=") +tile_set = ExtResource("9_jwmae") +collision_enabled = false + +[node name="Grass0" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=1912439059] +tile_map_data = PackedByteArray("AAD6/wQABQACAAEAAAD6/wMABQACAAAAAAD5/wUABQABAAIAAAD5/wQABQABAAEAAAD5/wMABQABAAAAAAD4/wUABQAAAAIAAAD4/wQABQAAAAEAAAD4/wMABQAAAAAAAAAFAAUABQACAAIAAAAFAAQABQACAAEAAAAFAAMABQACAAAAAAAEAAUABQABAAIAAAAEAAQABQABAAEAAAAEAAMABQABAAAAAAADAAUABQAAAAIAAAADAAQABQAAAAEAAAADAAMABQAAAAAAAAD6/wUABQACAAIAAAA=") +tile_set = ExtResource("10_a6mg3") +collision_enabled = false + +[node name="Stone" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=106427919] +tile_map_data = PackedByteArray("AAACAAQABAABAAIAAAADAAQABAACAAIAAAACAAMABAABAAEAAAACAAIABAABAAEAAAADAAIABAABAAEAAAADAAMABAABAAEAAAD9/wIABAABAAEAAAD9/wMABAABAAEAAAD9/wQABAABAAIAAAD7/wQABAABAAIAAAD7/wMABAABAAEAAAD7/wIABAABAAEAAAD8/wIABAABAAEAAAD8/wMABAABAAEAAAD8/wQABAABAAIAAAD+/wIABAABAAEAAAD//wIABAABAAEAAAAAAAIABAABAAEAAAABAAIABAABAAEAAAABAAMABAABAAEAAAAAAAMABAABAAEAAAD//wMABAABAAEAAAD+/wMABAABAAEAAAD+/wQABAABAAIAAAD//wQABAABAAIAAAAAAAQABAABAAIAAAABAAQABAABAAIAAAD6/wQABAAAAAIAAAD6/wMABAABAAEAAAD6/wIABAABAAEAAAD6/wEABAAAAAAAAAD7/wEABAABAAAAAAD8/wEABAABAAAAAAD9/wEABAABAAAAAAD+/wEABAABAAAAAAD//wEABAABAAAAAAAAAAEABAABAAAAAAABAAEABAABAAAAAAACAAEABAABAAAAAAADAAEABAACAAAAAAD5/wIABAAAAAAAAAAEAAIABAACAAAAAAAEAAMABAACAAIAAAD5/wMABAAAAAIAAAA=") +tile_set = ExtResource("9_jwmae") +collision_enabled = false + +[node name="Grass" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=460997004] +tile_map_data = PackedByteArray("AAADAAQAAQACAAIAAAADAAMAAQABAAEAAAADAAIAAQABAAEAAAADAAEAAQACAAAAAAACAAQAAQABAAIAAAACAAMAAQABAAEAAAACAAIAAQABAAEAAAACAAEAAQABAAAAAAABAAQAAQABAAIAAAABAAMAAQABAAEAAAABAAIAAQABAAEAAAABAAEAAQABAAAAAAAAAAQAAQABAAIAAAAAAAMAAQABAAEAAAAAAAIAAQABAAEAAAAAAAEAAQABAAAAAAD//wQAAQABAAIAAAD//wMAAQABAAEAAAD//wIAAQABAAEAAAD//wEAAQABAAAAAAD+/wQAAQABAAIAAAD+/wMAAQABAAEAAAD+/wIAAQABAAEAAAD+/wEAAQABAAAAAAD9/wQAAQABAAIAAAD9/wMAAQABAAEAAAD9/wIAAQABAAEAAAD9/wEAAQABAAAAAAD8/wQAAQABAAIAAAD8/wMAAQABAAEAAAD8/wIAAQABAAEAAAD8/wEAAQABAAAAAAD7/wQAAQABAAIAAAD7/wMAAQABAAEAAAD7/wIAAQABAAEAAAD7/wEAAQABAAAAAAD6/wQAAQAAAAIAAAD6/wMAAQABAAEAAAD6/wIAAQABAAEAAAD6/wEAAQAAAAAAAAD5/wIAAQAAAAAAAAD5/wMAAQAAAAIAAAAEAAIAAQACAAAAAAAEAAMAAQACAAIAAAA=") +tile_set = ExtResource("10_a6mg3") +collision_enabled = false + +[node name="Stone2" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=1435874831] +tile_map_data = PackedByteArray("AAD//wAABAAAAAAAAAAAAAAABAABAAAAAAABAAAABAABAAAAAAACAAAABAACAAAAAAACAAEABAACAAEAAAABAAEABAABAAEAAAAAAAEABAABAAEAAAD//wEABAAAAAEAAAD//wIABAAAAAIAAAAAAAIABAABAAIAAAABAAIABAABAAIAAAACAAIABAACAAIAAAD7/wAABAABAAEAAAD8/wAABAABAAEAAAD9/wAABAACAAEAAAD9/wEABAACAAIAAAD8/wEABAABAAIAAAD7/wEABAABAAEAAAD6/wEABAAAAAEAAAD6/wAABAAAAAEAAAD6/wIABAAAAAIAAAD7/wIABAACAAIAAAD9////BAACAAAAAAD8////BAABAAAAAAD7////BAABAAAAAAD6////BAAAAAAAAAA=") +tile_set = ExtResource("9_jwmae") +collision_enabled = false + +[node name="Grass2" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=184461333] +tile_map_data = PackedByteArray("AAACAAIABQACAAIAAAACAAEABQACAAEAAAACAAAABQACAAAAAAABAAIABQABAAIAAAABAAEABQABAAEAAAABAAAABQABAAAAAAAAAAIABQABAAIAAAAAAAEABQABAAEAAAAAAAAABQABAAAAAAD//wIABQAAAAIAAAD//wEABQAAAAEAAAD//wAABQAAAAAAAAD9////BQACAAAAAAD9/wAABQACAAEAAAD9/wEABQACAAIAAAD8/wEABQABAAIAAAD7/wEABQABAAEAAAD6/wEABQAAAAEAAAD6/wAABQAAAAEAAAD7/wAABQABAAEAAAD8/wAABQABAAEAAAD8////BQABAAAAAAD7////BQABAAAAAAD6////BQAAAAAAAAD7/wIABQACAAIAAAD6/wIABQAAAAIAAAA=") +tile_set = ExtResource("10_a6mg3") +collision_enabled = false + +[node name="Stone3" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=871106572] +tile_map_data = PackedByteArray("AAACAAAABAACAAIAAAACAP//BAACAAAAAAABAAAABAABAAIAAAABAP//BAABAAAAAAAAAAAABAAAAAIAAAAAAP//BAAAAAAAAAD6////BAAAAAIAAAD7////BAABAAIAAAD8////BAACAAIAAAD8//7/BAACAAAAAAD7//7/BAABAAAAAAD6//7/BAAAAAAAAAA=") +tile_set = ExtResource("9_jwmae") +collision_enabled = false + +[node name="Grass3" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=2113029408] +tile_map_data = PackedByteArray("AAACAAAAAQACAAIAAAACAP//AQACAAAAAAABAAAAAQABAAIAAAABAP//AQABAAAAAAAAAAAAAQAAAAIAAAAAAP//AQAAAAAAAAD6//7/AQAAAAAAAAD7//7/AQABAAAAAAD8//7/AQACAAAAAAD8////AQACAAIAAAD7////AQABAAIAAAD6////AQAAAAIAAAA=") +tile_set = ExtResource("10_a6mg3") +collision_enabled = false + +[node name="Bridge" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=3855097] +tile_map_data = PackedByteArray("AAD9/wAAAwAAAAAAAAD+/wAAAwABAAAAAAD//wAAAwACAAAAAAA=") +tile_set = ExtResource("11_mpfbp") +collision_enabled = false + +[node name="TileMapLayer" type="TileMapLayer" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/TileMapLayers" unique_id=983292641] +tile_map_data = PackedByteArray("AAABAAMAAAABAAMAAAD8/wIAAAACAAUAAAA=") +tile_set = ExtResource("12_xwr68") +collision_enabled = false + +[node name="OnTheGround" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew" unique_id=1173952061] +y_sort_enabled = true + +[node name="Tree" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1182216860 instance=ExtResource("20_sspdu")] +position = Vector2(-230.00003, -106.99999) +scale = Vector2(0.7886536, 0.80978966) + +[node name="Tree2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=186600742 instance=ExtResource("20_sspdu")] +position = Vector2(163, 32) +scale = Vector2(0.7886536, 0.80978966) + +[node name="Tree3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=66371706 instance=ExtResource("20_sspdu")] +position = Vector2(-331, 162) +scale = Vector2(0.7886536, 0.80978966) + +[node name="WaterRock" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1408545713 instance=ExtResource("13_mfqmc")] +position = Vector2(-562, 316) + +[node name="WaterRock2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=206386520 instance=ExtResource("13_mfqmc")] +position = Vector2(535, 252) + +[node name="WaterRock3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=218636896 instance=ExtResource("13_mfqmc")] +position = Vector2(575, 278) + +[node name="House_1" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=593509202 instance=ExtResource("21_ssi2h")] +position = Vector2(71, -32) +texture = ExtResource("22_bibhe") + +[node name="House_2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1006657527 instance=ExtResource("21_ssi2h")] +position = Vector2(-335, -59) +texture = ExtResource("23_06py2") + +[node name="Townie" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1098678013 instance=ExtResource("24_vm3vv")] +position = Vector2(-260, -29) +character_seed = 2795412966 + +[node name="Townie2" type="CharacterBody2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=657622856 node_paths=PackedStringArray("cel_shading_recolor")] +position = Vector2(112, 41) +scale = Vector2(-1, 1) +collision_layer = 2 +collision_mask = 0 +script = ExtResource("25_h118v") +cel_shading_recolor = NodePath("CelShadingRecolor") +look_at_side = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2" unique_id=752289315] +rotation = -1.5707964 +shape = SubResource("CapsuleShape2D_qs15o") + +[node name="AnimatedSprite2DLegs" type="AnimatedSprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2" unique_id=857498918] +material = SubResource("ShaderMaterial_pg372") +position = Vector2(-3, -31) +sprite_frames = ExtResource("27_6n8tg") +animation = &"idle" + +[node name="RandomTextureSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs" unique_id=29355732 node_paths=PackedStringArray("sprite")] +script = ExtResource("28_t33bk") +sprite_frames = Array[SpriteFrames]([ExtResource("27_6n8tg"), ExtResource("29_tfhfm"), ExtResource("30_x8n7n")]) +sprite = NodePath("..") +metadata/_custom_type_script = "uid://boyesrjdix688" + +[node name="CharacterSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs" unique_id=251614972 node_paths=PackedStringArray("character", "sprite")] +position = Vector2(3, 30) +script = ExtResource("31_n24vj") +character = NodePath("../..") +sprite = NodePath("..") +metadata/_custom_type_script = "uid://dy68p7gf07pi3" + +[node name="AnimatedSprite2DBody" type="AnimatedSprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs" unique_id=146114806] +material = SubResource("ShaderMaterial_pg372") +sprite_frames = ExtResource("32_12lvb") +animation = &"idle" +autoplay = "idle" + +[node name="RandomTextureSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody" unique_id=1026721959 node_paths=PackedStringArray("sprite")] +script = ExtResource("28_t33bk") +sprite_frames = Array[SpriteFrames]([ExtResource("33_3j7dk"), ExtResource("34_tvln7"), ExtResource("32_12lvb")]) +sprite = NodePath("..") + +[node name="CharacterSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody" unique_id=312816672 node_paths=PackedStringArray("character", "sprite")] +script = ExtResource("31_n24vj") +character = NodePath("../../..") +sprite = NodePath("..") +metadata/_custom_type_script = "uid://dy68p7gf07pi3" + +[node name="AnimatedSprite2DHead" type="AnimatedSprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody" unique_id=44872592] +unique_name_in_owner = true +material = SubResource("ShaderMaterial_pg372") +position = Vector2(-4, -16) +sprite_frames = ExtResource("35_t5kgm") +animation = &"idle" +autoplay = "idle" + +[node name="RandomTextureSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead" unique_id=450161531 node_paths=PackedStringArray("sprite")] +script = ExtResource("28_t33bk") +sprite_frames = Array[SpriteFrames]([ExtResource("36_qy0ur"), ExtResource("37_ggirs"), ExtResource("38_rdqsy"), ExtResource("35_t5kgm"), ExtResource("39_tqjpk")]) +sprite = NodePath("..") +metadata/_custom_type_script = "uid://boyesrjdix688" + +[node name="CharacterSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead" unique_id=771689525 node_paths=PackedStringArray("character", "sprite")] +script = ExtResource("31_n24vj") +character = NodePath("../../../..") +sprite = NodePath("..") +metadata/_custom_type_script = "uid://dy68p7gf07pi3" + +[node name="AnimatedSprite2DHair" type="AnimatedSprite2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead" unique_id=1709026527] +material = SubResource("ShaderMaterial_pg372") +sprite_frames = ExtResource("40_4vig3") +animation = &"idle" +autoplay = "idle" +metadata/_edit_lock_ = true + +[node name="RandomTextureSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead/AnimatedSprite2DHair" unique_id=1348604064 node_paths=PackedStringArray("sprite")] +script = ExtResource("28_t33bk") +sprite_frames = Array[SpriteFrames]([ExtResource("41_honk7"), ExtResource("42_aqgdt"), ExtResource("43_c010m"), ExtResource("40_4vig3"), ExtResource("44_e0s53")]) +sprite = NodePath("..") +metadata/_custom_type_script = "uid://boyesrjdix688" + +[node name="CharacterSpriteBehavior" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2/AnimatedSprite2DLegs/AnimatedSprite2DBody/AnimatedSprite2DHead/AnimatedSprite2DHair" unique_id=761435199 node_paths=PackedStringArray("character", "sprite")] +script = ExtResource("31_n24vj") +character = NodePath("../../../../..") +sprite = NodePath("..") +metadata/_custom_type_script = "uid://dy68p7gf07pi3" + +[node name="CelShadingRecolor" type="Node" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround/Townie2" unique_id=1660334104] +script = ExtResource("45_pgcsg") +shader_material = SubResource("ShaderMaterial_pg372") +new_colors_palette = SubResource("ColorPalette_byt3c") +metadata/_custom_type_script = "uid://c0a7xf5qx8p4y" + +[node name="Townie3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1124645302 instance=ExtResource("24_vm3vv")] +position = Vector2(-72, 15) +character_seed = 2999255987 + +[node name="Sheep" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=2063148848 instance=ExtResource("46_ee1fc")] +position = Vector2(-418, 191) + +[node name="Sheep2" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=260542345 instance=ExtResource("46_ee1fc")] +position = Vector2(-479, 219) + +[node name="Sheep3" parent="AspectRatioContainer/Wrapper/WorldReweaven/WorldNew/OnTheGround" unique_id=1802073178 instance=ExtResource("46_ee1fc")] +position = Vector2(269, 161) +scale = Vector2(-1, 1) + +[node name="Shaker" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1389467069 node_paths=PackedStringArray("target")] +unique_name_in_owner = true +script = ExtResource("47_015wn") +target = NodePath("..") +rotate_target = false +shake_intensity = 20.0 +duration = 4.0 +frequency = 15.0 +metadata/_custom_type_script = "uid://dunsvrhq42214" + +[node name="ShineParticles" type="GPUParticles2D" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=1370188511] +modulate = Color(1, 1, 0, 1) +material = SubResource("CanvasItemMaterial_tnibl") +position = Vector2(-90, 207) +emitting = false +amount = 100 +texture = ExtResource("48_qofm8") +lifetime = 5.0 +speed_scale = 2.0 +fixed_fps = 50 +visibility_rect = Rect2(-1000, -1000, 2000, 2000) +process_material = SubResource("ParticleProcessMaterial_nbnht") + +[node name="LineEffect" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven" unique_id=2112115349] + +[node name="Line2D" type="Line2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect" unique_id=1582467123] +texture_repeat = 2 +width = 3.0 +width_curve = SubResource("Curve_kgwwc") +default_color = Color(1, 1, 0.7953644, 1) +texture_mode = 1 +joint_mode = 2 + +[node name="Path2D" type="Path2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect" unique_id=1487884503] +curve = SubResource("Curve2D_ah750") + +[node name="PathFollow2D" type="PathFollow2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect/Path2D" unique_id=2140966178] +position = Vector2(-671, 640) +rotation = -1.4861017 +rotates = false + +[node name="CurlyTrail" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect/Path2D/PathFollow2D" unique_id=760772735 node_paths=PackedStringArray("line") instance=ExtResource("50_2bs3d")] +line = NodePath("../../../Line2D") +radius = 49.99999739229679 + +[node name="StitchTrail" type="Node2D" parent="AspectRatioContainer/Wrapper/WorldReweaven/LineEffect/Path2D/PathFollow2D" unique_id=374919940 node_paths=PackedStringArray("line")] +process_mode = 4 +script = ExtResource("50_wh1pc") +line = NodePath("../../../Line2D") +width = 30.0 +stitches_per_second = 0.0 +metadata/_custom_type_script = "uid://c4oww6rkbqfxc" diff --git a/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd b/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd index e6dccfb3a..b59e49ce8 100644 --- a/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd +++ b/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd @@ -5,6 +5,8 @@ extends Node2D signal retelling_started signal retelling_finished +signal load_cinematic +signal play_cinematic signal give_retelling_upgrade(type: InventoryItem.ItemType) var elders: Array[Elder] @@ -74,10 +76,16 @@ func give_spirit_upgrade() -> void: func on_offering_succeeded() -> void: + load_cinematic.emit() + loom_offering_animation_player.play(&"loom_offering") await loom_offering_animation_player.animation_finished GameState.quest.inventory.clear_inventory() + play_cinematic.emit() + + +func on_cinematic_finished() -> void: var elder: Elder = _find_elder(GameState.quest.quest) if elder: await elder.congratulate_player() diff --git a/scenes/world_map/components/cutscene_layer.gd b/scenes/world_map/components/cutscene_layer.gd new file mode 100644 index 000000000..78ef24dea --- /dev/null +++ b/scenes/world_map/components/cutscene_layer.gd @@ -0,0 +1,65 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +class_name CutsceneLayer +extends CanvasLayer +## @experimental +## +## Play a cutscene animation in this overlay, and report back to [EternalLoom]. +## +## Note: for this to work, the cutscenes root node must be [AnimationPlayer] and they must have +## an animation set to [member AnimationPlayer.autoplay]. +## +## Warning: If the cutscenes have collision shapes, they may interfere with the physic objects +## below! + +## Paths to scenes that will be shown as overlay. Their root node must be an AnimationPlayer. +@export var cutscene_paths: Array[String] = [ + "res://scenes/game_elements/fx/world_reweaven/components/world_reweaven_cutscene_1.tscn", + "res://scenes/game_elements/fx/world_reweaven/components/world_reweaven_cutscene_2.tscn", +] + +## The picked cutscene. Used to preload it. +var _cutscene_path: String +var _load_error: Error + +## The Eternal Loom, for listening to signals and calling +## [member EternalLoom.on_cinematic_finished()]. +@onready var eternal_loom: EternalLoom = %EternalLoom + + +func _ready() -> void: + eternal_loom.load_cinematic.connect(_on_eternal_loom_load_cinematic) + eternal_loom.play_cinematic.connect(_on_eternal_loom_play_cinematic) + + +func _on_eternal_loom_load_cinematic() -> void: + _cutscene_path = cutscene_paths.pick_random() + _load_error = ResourceLoader.load_threaded_request(_cutscene_path) + if _load_error != OK: + push_error("Failed to start loading %s: %s" % [_cutscene_path, error_string(_load_error)]) + + +func _on_eternal_loom_play_cinematic() -> void: + if _load_error != OK: + eternal_loom.on_cinematic_finished() + return + + # Note: this is a hacky way of hidding the input HUD during the cutscene: + var player: Node = get_tree().get_first_node_in_group(&"player") + player.remove_from_group(&"player") + InputHud.refresh_scene_status() + + var cutscene_packed: PackedScene = ResourceLoader.load_threaded_get(_cutscene_path) + var cutscene: AnimationPlayer = cutscene_packed.instantiate() + + var do_add: Callable = func() -> void: add_child(cutscene) + Transitions.do_transition(do_add, Transition.Effect.FADE, Transition.Effect.FADE) + + await cutscene.animation_finished + + var do_remove: Callable = func() -> void: remove_child(cutscene) + Transitions.do_transition(do_remove, Transition.Effect.FADE, Transition.Effect.FADE) + + player.add_to_group(&"player") + + eternal_loom.on_cinematic_finished() diff --git a/scenes/world_map/components/cutscene_layer.gd.uid b/scenes/world_map/components/cutscene_layer.gd.uid new file mode 100644 index 000000000..3a6c2b235 --- /dev/null +++ b/scenes/world_map/components/cutscene_layer.gd.uid @@ -0,0 +1 @@ +uid://b8pt5e5ec6hgx diff --git a/scenes/world_map/frays_end.tscn b/scenes/world_map/frays_end.tscn index cabc93089..c01e770d0 100644 --- a/scenes/world_map/frays_end.tscn +++ b/scenes/world_map/frays_end.tscn @@ -60,6 +60,7 @@ [ext_resource type="Resource" uid="uid://cgr54yigkbxp3" path="res://scenes/quests/lore_quests/quest_004/quest.tres" id="59_t7c6s"] [ext_resource type="Resource" uid="uid://t50glay2iqhg" path="res://scenes/quests/lore_quests/quest_002/quest.tres" id="60_6b07c"] [ext_resource type="Script" uid="uid://0enyu5v4ra34" path="res://scenes/game_elements/props/spawn_point/components/spawn_point.gd" id="61_6b07c"] +[ext_resource type="Script" uid="uid://b8pt5e5ec6hgx" path="res://scenes/world_map/components/cutscene_layer.gd" id="61_ulm71"] [ext_resource type="Script" uid="uid://cmika1t1573xe" path="res://scenes/world_map/components/frays_end_exit_blocker.gd" id="62_t7c6s"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="64_uxfrp"] @@ -1473,6 +1474,10 @@ text = "West End" [node name="HUD" parent="." unique_id=1876437396 instance=ExtResource("27_aj6tp")] unique_name_in_owner = true +[node name="CutsceneLayer" type="CanvasLayer" parent="." unique_id=2031218370] +unique_name_in_owner = true +script = ExtResource("61_ulm71") + [node name="SpawnPointAfterIntro" parent="." unique_id=69976262 instance=ExtResource("37_thm8h")] position = Vector2(62, 1747)