the-third-place/scenes/enemy_crt.tscn
2026-03-11 11:28:16 +00:00

273 lines
7.7 KiB
Text

[gd_scene format=3 uid="uid://dm0pkef7wmwuq"]
[ext_resource type="Script" uid="uid://7ls7phfcupal" path="res://scenes/enemy_crt.gd" id="1_ugdur"]
[ext_resource type="Texture2D" uid="uid://b5pswf7r8b7j4" path="res://sprites/crt.png" id="2_emiuq"]
[ext_resource type="Texture2D" uid="uid://cy4jggxmnohbb" path="res://sprites/chicken.png" id="2_ugdur"]
[ext_resource type="Texture2D" uid="uid://bm7fgqwqfqmf4" path="res://sprites/explosion_pallete-swap.png" id="3_emiuq"]
[ext_resource type="AudioStream" uid="uid://cq7lebefb2e05" path="res://sounds/web_ready/CRT_IMPACT.mp3" id="5_r7ajx"]
[ext_resource type="AudioStream" uid="uid://4sx6ofrtqqc4" path="res://sounds/web_ready/crt_block.mp3" id="6_cb474"]
[ext_resource type="AudioStream" uid="uid://bo88av3ourdju" path="res://sounds/web_ready/pew.mp3" id="7_cuvsu"]
[sub_resource type="Shader" id="Shader_emiuq"]
code = "shader_type canvas_item;
uniform float toggle;
void vertex() {
// Called for every vertex the material is visible on.
}
void fragment() {
COLOR = texture(TEXTURE, UV);
COLOR.r = mix(COLOR.r, abs(sin(TIME * 20.25)), toggle);
}
//void light() {
// // Called for every pixel for every light affecting the CanvasItem.
// // Uncomment to replace the default light processing function with this one.
//}
"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gas3w"]
resource_local_to_scene = true
shader = SubResource("Shader_emiuq")
shader_parameter/toggle = 0.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4gyqm"]
size = Vector2(32.727318, 23.636396)
[sub_resource type="Animation" id="Animation_h1rgn"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CRT:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CRT:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("2_emiuq")]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("CRT:hframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [3]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("CRT:region_rect")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Rect2(0, 0, 96, 28)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("AnimationPlayer:speed_scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_7ellt"]
resource_name = "explode"
step = 0.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CRT:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("3_emiuq")]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CRT:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.2, 0.4, 0.6, 0.8),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3, 4]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("CRT:hframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [5]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("CRT:region_rect")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Rect2(0, 0, 80, 16)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("AnimationPlayer:speed_scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.5]
}
[sub_resource type="Animation" id="Animation_s7c3p"]
resource_name = "flap"
length = 0.4
loop_mode = 2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CRT:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.0009999999, 0.2, 0.4),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [0, 1, 2]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CRT:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("2_ugdur")]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("CRT:hframes")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [3]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("CRT:region_rect")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Rect2(0, 0, 84, 32)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_7ellt"]
_data = {
&"RESET": SubResource("Animation_h1rgn"),
&"explode": SubResource("Animation_7ellt"),
&"flap": SubResource("Animation_s7c3p")
}
[node name="EnemyCRT" type="Area2D" unique_id=1433837580 groups=["enemies"]]
script = ExtResource("1_ugdur")
[node name="CRT" type="Sprite2D" parent="." unique_id=2115910138]
material = SubResource("ShaderMaterial_gas3w")
position = Vector2(0, -8)
texture = ExtResource("2_emiuq")
hframes = 3
region_enabled = true
region_rect = Rect2(0, 0, 96, 28)
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1841693239]
position = Vector2(0, -5.818181)
scale = Vector2(0.99999857, 0.99999857)
shape = SubResource("RectangleShape2D_4gyqm")
[node name="MoveTimer" type="Timer" parent="." unique_id=1928257014]
wait_time = 0.75
one_shot = true
[node name="ShootTimer" type="Timer" parent="." unique_id=1985644907]
wait_time = 0.25
one_shot = true
[node name="DirectionTimer" type="Timer" parent="." unique_id=2080229505]
wait_time = 0.75
one_shot = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=702523492]
libraries/ = SubResource("AnimationLibrary_7ellt")
[node name="ImpactCRT" type="AudioStreamPlayer2D" parent="." unique_id=518408763]
stream = ExtResource("5_r7ajx")
volume_db = -16.028
[node name="BlockCRT" type="AudioStreamPlayer2D" parent="." unique_id=2105873606]
stream = ExtResource("6_cb474")
volume_db = -1.424
[node name="Pew" type="AudioStreamPlayer2D" parent="." unique_id=1064680598]
stream = ExtResource("7_cuvsu")
volume_db = -20.82
pitch_scale = 0.95
max_polyphony = 2
[connection signal="timeout" from="MoveTimer" to="." method="_on_timer_timeout"]
[connection signal="timeout" from="ShootTimer" to="." method="_on_shoot_timer_timeout"]
[connection signal="timeout" from="DirectionTimer" to="." method="_on_direction_timer_timeout"]