frame-of-mind/src/trailer-studio.tscn

695 lines
21 KiB
Plaintext

[gd_scene load_steps=34 format=3 uid="uid://cdveujchgxvto"]
[ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="1_smr4a"]
[ext_resource type="Texture2D" uid="uid://bdyg065h8vcdi" path="res://base-environments/youth_room/shaders/starlight-textures.png" id="2_xs227"]
[ext_resource type="Script" uid="uid://2loic2eeec5b" path="res://logic-scenes/board/card.gd" id="3_xs227"]
[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="4_6gvdf"]
[ext_resource type="Material" uid="uid://dt3f0biflfv3f" path="res://logic-scenes/card_burner/card_crumble.material" id="4_tbqa0"]
[ext_resource type="Texture2D" uid="uid://kpmk21d8rlso" path="res://logic-scenes/board/particle_textures/star.png" id="5_36ca7"]
[ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="6_tbqa0"]
[ext_resource type="PackedScene" uid="uid://dgj8krsb45s0l" path="res://logic-scenes/card_burner/card_fire.tscn" id="8_2m5s6"]
[ext_resource type="PackedScene" uid="uid://uc6urpgv7n1y" path="res://logic-scenes/card_burner/cursor_candle.tscn" id="9_2m5s6"]
[sub_resource type="GDScript" id="GDScript_s2d5l"]
script/source = "extends Node2D
func _ready() -> void:
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN
TranslationServer.set_locale(\"en\")
"
[sub_resource type="Gradient" id="Gradient_6gvdf"]
colors = PackedColorArray(0, 0, 0, 1, 0.0431373, 0, 0.184314, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_36ca7"]
gradient = SubResource("Gradient_6gvdf")
width = 512
height = 512
fill = 1
fill_from = Vector2(0.491453, 0.534188)
[sub_resource type="Shader" id="Shader_duh8f"]
code = "shader_type canvas_item;
render_mode blend_premul_alpha;
uniform float nebula_brightness = 4;
uniform vec2 nebula_scale = vec2(1.5);
uniform sampler2D starlight_noise: repeat_enable;
uniform sampler2D starlight_textures;
uniform float rotation_speed = 0.02;
uniform vec2 rotation_pivot = vec2(.8);
uniform vec2 drift_compensation = vec2(0.1, -0.2);
uniform float noise_strength = 0.2;
// https://gist.github.com/ayamflow/c06bc0c8a64f985dd431bd0ac5b557cd
vec2 rotateUV(vec2 uv, vec2 pivot, float rotation)
{
return vec2(
cos(rotation) * (uv.x - pivot.x) + sin(rotation) * (uv.y - pivot.y) + pivot.x,
cos(rotation) * (uv.y - pivot.y) - sin(rotation) * (uv.x - pivot.x) + pivot.y
);
}
//clamp(, .0, 1.0
void fragment() {
COLOR *= vec4(.0,
texture(starlight_textures,fract(UV*2.0)).x * 2.0*pow(max(sin(TIME + 10.0 * texture(starlight_textures,UV).y), .0), 5.0),
texture(starlight_textures,
clamp(
UV / nebula_scale + drift_compensation + 1.0 *
texture(starlight_noise, rotateUV(
UV / nebula_scale + noise_strength * texture(starlight_noise, rotateUV(UV, -rotation_pivot, TIME*rotation_speed)).yz,
rotation_pivot, TIME*rotation_speed)
).xz,
.0, 1.0))
.z * nebula_brightness,
clamp(pow(COLOR.x * 2.5 - (texture(starlight_noise, UV*2.0+TIME*.02).x + 0.8), 1.5), .0, 1.0)
) * COLOR.w;
}
"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tbqa0"]
shader = SubResource("Shader_duh8f")
shader_parameter/nebula_brightness = 2.4
shader_parameter/nebula_scale = Vector2(1.3, 1.6)
shader_parameter/starlight_noise = ExtResource("1_smr4a")
shader_parameter/starlight_textures = ExtResource("2_xs227")
shader_parameter/rotation_speed = 0.02
shader_parameter/rotation_pivot = Vector2(0.8, 0.8)
shader_parameter/drift_compensation = Vector2(0.1, -0.2)
shader_parameter/noise_strength = 0.2
[sub_resource type="Gradient" id="Gradient_7nxov"]
interpolation_color_space = 2
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_2m5s6"]
gradient = SubResource("Gradient_7nxov")
width = 2048
height = 1536
fill = 1
fill_from = Vector2(0.538462, 0.491453)
fill_to = Vector2(1.3, -0.3)
[sub_resource type="Animation" id="Animation_6gvdf"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(454, 562)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [-0.0763936]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../card2:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1448, 570)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../card2:rotation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.115801]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../card2:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1.42531, 1.42531)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath(".:scale")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1.54848, 1.54848)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../card3/BackgroundSprite:noise_power")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../card3/BackgroundSprite:noise_speed")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [10.0]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../card3/BackgroundSprite:material:shader_parameter/fire_progression")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../CardFire:material:shader_parameter/fire_progression")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("../card3/BackgroundSprite/GPUParticles2D:lifetime")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [2.0]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("../card3/BackgroundSprite/GPUParticles2D:speed_scale")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [3.0]
}
tracks/12/type = "value"
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/path = NodePath("../card3/BackgroundSprite/GPUParticles2D:explosiveness")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.5]
}
tracks/13/type = "value"
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/path = NodePath("../card3/BackgroundSprite/GPUParticles2D:emitting")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/14/type = "value"
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/path = NodePath(".:burn_progress")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_mqpgs"]
resource_name = "trailerstuff"
length = 10.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 4.40667, 6.44, 9),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(454, 562), Vector2(483, 534), Vector2(472, 605), Vector2(298, 586)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [-0.0763936]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../card2:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 6.64, 9.66),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(1448, 570), Vector2(1460, 524), Vector2(1645, 530)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../card2:rotation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.115801]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../card2:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1.42531, 1.42531)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath(".:scale")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1.54848, 1.54848)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("../card3/BackgroundSprite:noise_power")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 5.46667, 8.6),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 2.0, 0.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("../card3/BackgroundSprite:noise_speed")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 9.56667),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 10.0]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("../card3/BackgroundSprite:material:shader_parameter/fire_progression")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(5.46, 9.64),
"transitions": PackedFloat32Array(2.63902, 1),
"update": 0,
"values": [0.0, 2.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("../CardFire:material:shader_parameter/fire_progression")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(5.50667, 9.61),
"transitions": PackedFloat32Array(1.93187, 1),
"update": 0,
"values": [0.0, 2.0]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("../card3/BackgroundSprite/GPUParticles2D:lifetime")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(3.68),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [2.0]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("../card3/BackgroundSprite/GPUParticles2D:speed_scale")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(3.88, 8.79),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 2.0]
}
tracks/12/type = "value"
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/path = NodePath("../card3/BackgroundSprite/GPUParticles2D:explosiveness")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = {
"times": PackedFloat32Array(8.79),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.5]
}
tracks/13/type = "value"
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/path = NodePath("../card3/BackgroundSprite/GPUParticles2D:emitting")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = {
"times": PackedFloat32Array(7.24, 7.33),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/14/type = "value"
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/path = NodePath(".:burn_progress")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = {
"times": PackedFloat32Array(1.07, 2.83, 6.39),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 0.5, 0.01]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_36ca7"]
_data = {
&"RESET": SubResource("Animation_6gvdf"),
&"trailerstuff": SubResource("Animation_mqpgs")
}
[sub_resource type="Environment" id="Environment_2m5s6"]
background_mode = 3
ambient_light_source = 2
glow_enabled = true
glow_levels/2 = 0.2
glow_levels/5 = 2.0
glow_levels/6 = 0.5
glow_intensity = 0.5
glow_blend_mode = 1
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_2m5s6"]
radius = 110.0
height = 336.0
[sub_resource type="AtlasTexture" id="AtlasTexture_ykk13"]
atlas = ExtResource("4_6gvdf")
region = Rect2(0, 0, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_l43eo"]
atlas = ExtResource("4_6gvdf")
region = Rect2(600, 0, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_x2vcn"]
atlas = ExtResource("4_6gvdf")
region = Rect2(0, 440, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_e7401"]
atlas = ExtResource("4_6gvdf")
region = Rect2(600, 440, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_j7wh6"]
atlas = ExtResource("4_6gvdf")
region = Rect2(0, 880, 600, 440)
[sub_resource type="SpriteFrames" id="SpriteFrames_s2d5l"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ykk13")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l43eo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x2vcn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e7401")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7wh6")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="GDScript" id="GDScript_m66ol"]
script/source = "extends AnimatedSprite2D
@onready var particles = $GPUParticles2D
@onready var initial_position = position
@export var noise_speed: float = 10
@export var noise_power: float = 1
@export var noisee_miltiplier: float = 0
var noise_position = randf()
var noise: Noise = FastNoiseLite.new()
@export var void_active: bool = true
func _ready():
reduce_motion_changed(State.reduce_motion)
func _process(delta):
if void_active and not State.reduce_motion:
noise_position += delta * noise_speed
var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position))
random_position = random_position.normalized() * pow(random_position.length()*2, noise_power) * 10
position = initial_position - random_position * noisee_miltiplier
rotation = noise.get_noise_1d(noise_position*7) * random_position.length() * 0.01
particles.position = random_position
else: position = initial_position
func reduce_motion_changed(value:bool):
$GPUParticles2D.visible = !value
$Sprite2D.visible = value
"
[sub_resource type="Gradient" id="Gradient_7gsj1"]
interpolation_mode = 2
offsets = PackedFloat32Array(0, 0.0529197, 0.191606, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0.491329, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_xxq8p"]
gradient = SubResource("Gradient_7gsj1")
[sub_resource type="Curve" id="Curve_elafx"]
_data = [Vector2(0, 0), 0.0, 3.16529, 0, 0, Vector2(0.241056, 0.191336), 0.132446, 0.132446, 0, 0, Vector2(1, 1), 3.94797, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_cg0w1"]
curve = SubResource("Curve_elafx")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_43shd"]
particle_flag_disable_z = true
emission_shape = 6
emission_ring_axis = Vector3(0, 0, 1)
emission_ring_height = 0.0
emission_ring_radius = 180.0
emission_ring_inner_radius = 185.0
emission_ring_cone_angle = 90.0
spread = 180.0
initial_velocity_min = -10.0
initial_velocity_max = 10.0
angular_velocity_min = -150.0
angular_velocity_max = -150.0
gravity = Vector3(0, 0, 0)
radial_accel_min = -20.0
radial_accel_max = -5.0
tangential_accel_min = 20.0
tangential_accel_max = 30.0
attractor_interaction_enabled = false
scale_min = 3.0
scale_max = 5.0
scale_curve = SubResource("CurveTexture_cg0w1")
color_ramp = SubResource("GradientTexture1D_xxq8p")
turbulence_noise_strength = 0.1
[node name="Node2D" type="Node2D"]
script = SubResource("GDScript_s2d5l")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(1010, 498.75)
scale = Vector2(4.23828, 3.06152)
texture = SubResource("GradientTexture2D_36ca7")
[node name="TextureRect3" type="TextureRect" parent="Sprite2D"]
material = SubResource("ShaderMaterial_tbqa0")
offset_left = 284.0
offset_top = 343.0
offset_right = 887.0
offset_bottom = 1081.0
rotation = -3.14159
texture = SubResource("GradientTexture2D_2m5s6")
expand_mode = 1
[node name="Card" type="Area2D" parent="."]
position = Vector2(454, 562)
rotation = -0.0763936
scale = Vector2(1.54848, 1.54848)
collision_layer = 0
collision_mask = 0
script = ExtResource("3_xs227")
text = "c_hit"
metadata/_custom_type_script = "uid://2loic2eeec5b"
[node name="card2" type="Area2D" parent="."]
position = Vector2(1448, 570)
rotation = 0.115801
scale = Vector2(1.42531, 1.42531)
collision_layer = 0
collision_mask = 0
script = ExtResource("3_xs227")
text = "c_boy_stuff"
metadata/_custom_type_script = "uid://2loic2eeec5b"
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
root_node = NodePath("../Card")
libraries = {
&"": SubResource("AnimationLibrary_36ca7")
}
autoplay = "trailerstuff"
[node name="WorldEnvironment" type="WorldEnvironment" parent="AnimationPlayer"]
environment = SubResource("Environment_2m5s6")
[node name="card3" type="Area2D" parent="."]
position = Vector2(969, 545)
scale = Vector2(1.69523, 1.69523)
collision_layer = 0
collision_mask = 0
metadata/type = "card"
[node name="CollisionShape2D" type="CollisionShape2D" parent="card3"]
position = Vector2(-0.0713516, 0.997451)
rotation = 1.5708
shape = SubResource("CapsuleShape2D_2m5s6")
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="card3" groups=["reduce_motion"]]
clip_children = 2
material = ExtResource("4_tbqa0")
scale = Vector2(0.6, 0.6)
sprite_frames = SubResource("SpriteFrames_s2d5l")
frame = 2
script = SubResource("GDScript_m66ol")
noisee_miltiplier = 4.0
[node name="GPUParticles2D" type="GPUParticles2D" parent="card3/BackgroundSprite"]
amount = 500
texture = ExtResource("5_36ca7")
lifetime = 2.0
speed_scale = 3.0
explosiveness = 0.5
randomness = 0.14
local_coords = true
process_material = SubResource("ParticleProcessMaterial_43shd")
[node name="Sprite2D" type="Sprite2D" parent="card3/BackgroundSprite"]
visible = false
scale = Vector2(0.4, 0.4)
texture = ExtResource("6_tbqa0")
[node name="CardFire" parent="." instance=ExtResource("8_2m5s6")]
position = Vector2(954, 582)
scale = Vector2(1.28, 1.295)
[node name="CursorCandle" parent="." instance=ExtResource("9_2m5s6")]
position = Vector2(-3.97583, 7.22614)
[connection signal="input_event" from="card3" to="card3" method="_on_input_event"]
[connection signal="mouse_entered" from="card3" to="card3" method="_on_mouse_entered"]
[connection signal="mouse_exited" from="card3" to="card3" method="_on_mouse_exited"]