Added eart

This commit is contained in:
Ultrablob 2025-02-06 10:40:18 -05:00
parent 4ea08b1c5f
commit 84ca23f486
15 changed files with 180 additions and 33 deletions

View file

@ -16,7 +16,7 @@ func shoot():
$Turret.target = find_target() $Turret.target = find_target()
$ShootTimer.start(1) #$ShootTimer.start(1)
func find_target(): func find_target():

View file

@ -140,7 +140,6 @@ radius = 44.1475
script = ExtResource("1_xkxbf") script = ExtResource("1_xkxbf")
[node name="ShootTimer" type="Timer" parent="."] [node name="ShootTimer" type="Timer" parent="."]
one_shot = true
autostart = true autostart = true
[node name="Turret" type="Node2D" parent="."] [node name="Turret" type="Node2D" parent="."]

View file

@ -5,7 +5,7 @@ var config = ConfigFile.new()
func _init(): func _init():
if OS.is_debug_build(): if OS.is_debug_build():
Engine.set_time_scale(0.25) Engine.set_time_scale(1)
if config.load("user://settings.cfg") == OK: if config.load("user://settings.cfg") == OK:
var player = load(config.get_value("gameplay", "class", "res://player-row.tscn")).instantiate() var player = load(config.get_value("gameplay", "class", "res://player-row.tscn")).instantiate()

View file

@ -12,12 +12,12 @@
[ext_resource type="Texture2D" uid="uid://yvrhlh04k8w1" path="res://background space.png" id="6_yg4g1"] [ext_resource type="Texture2D" uid="uid://yvrhlh04k8w1" path="res://background space.png" id="6_yg4g1"]
[ext_resource type="Script" path="res://wave_enemy.gd" id="7_54h7d"] [ext_resource type="Script" path="res://wave_enemy.gd" id="7_54h7d"]
[ext_resource type="Texture2D" uid="uid://cwquv3mq5kk1d" path="res://countdown-spritesheet.png" id="8_e1eub"] [ext_resource type="Texture2D" uid="uid://cwquv3mq5kk1d" path="res://countdown-spritesheet.png" id="8_e1eub"]
[ext_resource type="Resource" uid="uid://dd8me0deake37" path="res://eptagon_enemy.tres" id="9_q67ak"] [ext_resource type="Resource" uid="uid://ba01r62bwm6av" path="res://eptagon_enemy.tres" id="9_q67ak"]
[ext_resource type="Resource" uid="uid://c805aej5v7cvr" path="res://eart.tres" id="10_jib8h"] [ext_resource type="Resource" uid="uid://c805aej5v7cvr" path="res://eart.tres" id="10_jib8h"]
[ext_resource type="AudioStream" uid="uid://dn65uapn0wsok" path="res://impactMetal_002.ogg" id="11_acuni"] [ext_resource type="AudioStream" uid="uid://dn65uapn0wsok" path="res://impactMetal_002.ogg" id="11_acuni"]
[ext_resource type="Script" path="res://CollisionCheck.gd" id="11_ryeyk"] [ext_resource type="Script" path="res://CollisionCheck.gd" id="11_ryeyk"]
[ext_resource type="FontFile" uid="uid://bnguin7bsyx6e" path="res://Kenney Future.ttf" id="11_s4q6p"] [ext_resource type="FontFile" uid="uid://bnguin7bsyx6e" path="res://Kenney Future.ttf" id="11_s4q6p"]
[ext_resource type="Texture2D" uid="uid://bvpoajwx0yw3y" path="res://Circle.png" id="13_318fy"] [ext_resource type="Texture2D" uid="uid://cso5ufbf7u7oj" path="res://Circle.png" id="13_318fy"]
[ext_resource type="Script" path="res://Notification.gd" id="13_lkv81"] [ext_resource type="Script" path="res://Notification.gd" id="13_lkv81"]
[ext_resource type="Script" path="res://Stopwatch.gd" id="13_xhnp2"] [ext_resource type="Script" path="res://Stopwatch.gd" id="13_xhnp2"]
[ext_resource type="Script" path="res://Leaderboard.gd" id="14_v1elq"] [ext_resource type="Script" path="res://Leaderboard.gd" id="14_v1elq"]
@ -670,7 +670,7 @@ script = ExtResource("1_3dydx")
script = ExtResource("1_ifu8g") script = ExtResource("1_ifu8g")
waves = Array[ExtResource("4_um0x7")]([SubResource("Resource_ur7l5"), SubResource("Resource_kupyp"), SubResource("Resource_o8cet"), SubResource("Resource_0cevq"), SubResource("Resource_eppj0"), SubResource("Resource_rpu1y"), SubResource("Resource_4b1vo"), SubResource("Resource_gg7kj"), SubResource("Resource_fjkob"), SubResource("Resource_5sdy5"), SubResource("Resource_61v84"), SubResource("Resource_82qld"), SubResource("Resource_2j32b")]) waves = Array[ExtResource("4_um0x7")]([SubResource("Resource_ur7l5"), SubResource("Resource_kupyp"), SubResource("Resource_o8cet"), SubResource("Resource_0cevq"), SubResource("Resource_eppj0"), SubResource("Resource_rpu1y"), SubResource("Resource_4b1vo"), SubResource("Resource_gg7kj"), SubResource("Resource_fjkob"), SubResource("Resource_5sdy5"), SubResource("Resource_61v84"), SubResource("Resource_82qld"), SubResource("Resource_2j32b")])
wave_label = NodePath("../UI/Wave Count") wave_label = NodePath("../UI/Wave Count")
start_wave = 8 start_wave = 10
[node name="Timer" type="Timer" parent="Spawner"] [node name="Timer" type="Timer" parent="Spawner"]
wait_time = 0.1 wait_time = 0.1

View file

@ -161,9 +161,9 @@ text = "Movement "
layout_mode = 2 layout_mode = 2
theme_override_fonts/font = ExtResource("4_ybv7t") theme_override_fonts/font = ExtResource("4_ybv7t")
theme_override_font_sizes/font_size = 54 theme_override_font_sizes/font_size = 54
selected = 0
item_count = 2 item_count = 2
popup/item_0/text = "Relative" popup/item_0/text = "Relative"
popup/item_0/id = 0
popup/item_1/text = "Absolute" popup/item_1/text = "Absolute"
popup/item_1/id = 1 popup/item_1/id = 1
@ -179,9 +179,9 @@ text = "CLASS"
layout_mode = 2 layout_mode = 2
theme_override_fonts/font = ExtResource("4_ybv7t") theme_override_fonts/font = ExtResource("4_ybv7t")
theme_override_font_sizes/font_size = 54 theme_override_font_sizes/font_size = 54
selected = 0
item_count = 3 item_count = 3
popup/item_0/text = "Row" popup/item_0/text = "Row"
popup/item_0/id = 0
popup/item_1/text = "Ite" popup/item_1/text = "Ite"
popup/item_1/id = 1 popup/item_1/id = 1
popup/item_2/text = "Iamond" popup/item_2/text = "Iamond"

View file

@ -207,5 +207,4 @@ stream = ExtResource("4_lwgj5")
bus = &"SFX" bus = &"SFX"
[node name="ShieldMarker" type="Marker2D" parent="." index="5"] [node name="ShieldMarker" type="Marker2D" parent="." index="5"]
position = Vector2(4, 0)
scale = Vector2(1.5, 1.5) scale = Vector2(1.5, 1.5)

4
player-shield.gd Normal file
View file

@ -0,0 +1,4 @@
extends CollisionShape2D
func destroy():
$AnimatedSprite2D.play("die")

125
player-shield.tscn Normal file
View file

@ -0,0 +1,125 @@
[gd_scene load_steps=19 format=3 uid="uid://b11jmnjkk6ibm"]
[ext_resource type="Script" path="res://player-shield.gd" id="1_wq4q6"]
[ext_resource type="Texture2D" uid="uid://cc3nl13t7c4mj" path="res://eart-shield.png" id="2_iu5tn"]
[ext_resource type="Texture2D" uid="uid://dysewmpj8nvgx" path="res://eart-shield-break.png" id="3_yw3j3"]
[sub_resource type="CircleShape2D" id="CircleShape2D_0lade"]
radius = 24.3425
[sub_resource type="AtlasTexture" id="AtlasTexture_mcb3o"]
atlas = ExtResource("2_iu5tn")
region = Rect2(0, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_l8lnp"]
atlas = ExtResource("2_iu5tn")
region = Rect2(64, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_so4um"]
atlas = ExtResource("2_iu5tn")
region = Rect2(128, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_sel7y"]
atlas = ExtResource("2_iu5tn")
region = Rect2(192, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_iumxh"]
atlas = ExtResource("2_iu5tn")
region = Rect2(256, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_jb6hd"]
atlas = ExtResource("2_iu5tn")
region = Rect2(320, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_5xoy6"]
atlas = ExtResource("2_iu5tn")
region = Rect2(384, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_a5ids"]
atlas = ExtResource("3_yw3j3")
region = Rect2(0, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_x2842"]
atlas = ExtResource("3_yw3j3")
region = Rect2(64, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_ckp3b"]
atlas = ExtResource("3_yw3j3")
region = Rect2(128, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_b6w7a"]
atlas = ExtResource("3_yw3j3")
region = Rect2(192, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_m7ilu"]
atlas = ExtResource("3_yw3j3")
region = Rect2(256, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_w1mec"]
atlas = ExtResource("3_yw3j3")
region = Rect2(320, 0, 64, 64)
[sub_resource type="SpriteFrames" id="SpriteFrames_gcmwu"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_mcb3o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l8lnp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_so4um")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sel7y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_iumxh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jb6hd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5xoy6")
}],
"loop": true,
"name": &"default",
"speed": 7.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_a5ids")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x2842")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ckp3b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b6w7a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m7ilu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w1mec")
}],
"loop": false,
"name": &"die",
"speed": 7.0
}]
[node name="Shield" type="CollisionShape2D" groups=["destructible"]]
scale = Vector2(3, 3)
shape = SubResource("CircleShape2D_0lade")
script = ExtResource("1_wq4q6")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_gcmwu")
autoplay = "default"
frame = 4
frame_progress = 0.495833
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="queue_free"]

View file

@ -27,10 +27,10 @@ func _physics_process(delta):
return return
var move_input = Input.get_axis("down", "up") var move_input = Input.get_axis("down", "up")
var side_input = Input.get_axis("right", "left") var side_input = Input.get_axis("right", "left")
if move_input > 0 and not moving: if move_input != 0 or side_input != 0:
moving = true moving = true
update_animation() update_animation()
elif move_input <= 0 and moving: else:
moving = false moving = false
update_animation() update_animation()
@ -40,6 +40,9 @@ func _physics_process(delta):
apply_central_force(transform.y * side_input * speed / -2 + transform.x * move_input * speed * linear_damp) apply_central_force(transform.y * side_input * speed / -2 + transform.x * move_input * speed * linear_damp)
func destroy(): func destroy():
if has_node("Shield"):
$Shield.destroy()
return
$DeathFX.play() $DeathFX.play()
get_tree().paused = true get_tree().paused = true
$"../GameOver".visible = true $"../GameOver".visible = true

View file

@ -12,7 +12,7 @@ config_version=5
config/name="Countdown" config/name="Countdown"
run/main_scene="res://main_menu.tscn" run/main_scene="res://main_menu.tscn"
config/features=PackedStringArray("4.3", "GL Compatibility") config/features=PackedStringArray("4.2", "GL Compatibility")
run/max_fps=60 run/max_fps=60
config/icon="res://icon.svg" config/icon="res://icon.svg"
@ -37,58 +37,58 @@ enemy="Enemies"
up={ up={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null)
] ]
} }
down={ down={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null)
] ]
} }
left={ left={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null)
] ]
} }
right={ right={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null)
] ]
} }
restart={ restart={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"echo":false,"script":null)
] ]
} }
jump={ jump={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(130, 40),"global_position":Vector2(138, 120),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(130, 40),"global_position":Vector2(138, 120),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null)
] ]
} }
quare={ quare={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"echo":false,"script":null)
] ]
} }
exagon={ exagon={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"echo":false,"script":null)
] ]
} }
quit={ quit={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"echo":false,"script":null)
] ]
} }
shoot={ shoot={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(91, 32),"global_position":Vector2(99, 112),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(91, 32),"global_position":Vector2(99, 112),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null)
] ]
} }

View file

@ -55,8 +55,8 @@ radius = 30.0
collision_layer = 2 collision_layer = 2
physics_material_override = SubResource("PhysicsMaterial_xnhwp") physics_material_override = SubResource("PhysicsMaterial_xnhwp")
gravity_scale = 1.66533e-16 gravity_scale = 1.66533e-16
contact_monitor = true
max_contacts_reported = 1 max_contacts_reported = 1
contact_monitor = true
linear_velocity = Vector2(2.08165e-12, 2.08165e-12) linear_velocity = Vector2(2.08165e-12, 2.08165e-12)
script = ExtResource("1_dsvm1") script = ExtResource("1_dsvm1")

View file

@ -1,4 +1,4 @@
extends PhysicsBody2D extends Node2D
#! egregious code #! egregious code
@ -13,7 +13,7 @@ func _ready() -> void:
if find_collisionshape(): if find_collisionshape():
print(find_collisionshape().get_parent().name) print(find_collisionshape().get_parent().name)
find_collisionshape().set_deferred("disabled", true) find_collisionshape().set_deferred("disabled", true)
#$Collider.set_deferred("disabled", false) $Collider.set_deferred("disabled", false)
func destroy(): func destroy():
if find_collisionshape(): if find_collisionshape():

View file

@ -111,8 +111,8 @@ animations = [{
[sub_resource type="CircleShape2D" id="CircleShape2D_00lvq"] [sub_resource type="CircleShape2D" id="CircleShape2D_00lvq"]
radius = 25.1794 radius = 25.1794
[node name="Shield" type="AnimatableBody2D" groups=["destructible"]] [node name="Shield" type="StaticBody2D" groups=["destructible"]]
scale = Vector2(3, 3) scale = Vector2(3.5, 3.5)
script = ExtResource("1_ni0ln") script = ExtResource("1_ni0ln")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
@ -123,5 +123,6 @@ autoplay = "default"
[node name="Collider" type="CollisionShape2D" parent="."] [node name="Collider" type="CollisionShape2D" parent="."]
position = Vector2(-1, 0) position = Vector2(-1, 0)
shape = SubResource("CircleShape2D_00lvq") shape = SubResource("CircleShape2D_00lvq")
disabled = true
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="queue_free"] [connection signal="animation_finished" from="AnimatedSprite2D" to="." method="queue_free"]

View file

@ -3,6 +3,7 @@ extends RigidBody2D
@onready var player = $"../Player" @onready var player = $"../Player"
var shield_scene = preload("res://shield.tscn") var shield_scene = preload("res://shield.tscn")
var player_shield = preload("res://player-shield.tscn")
func _physics_process(delta): func _physics_process(delta):
rotation = linear_velocity.angle() rotation = linear_velocity.angle()
@ -14,8 +15,23 @@ func hit(body):
var shield = shield_scene.instantiate() var shield = shield_scene.instantiate()
if body.has_node("Shield"):
queue_free()
return
if body.has_node("ShieldMarker"): if body.name == "Player":
shield = player_shield.instantiate()
var marker = body.get_node("ShieldMarker")
shield.position = marker.position
shield.scale = marker.scale
body.add_child(shield)
elif body.has_node("ShieldMarker"):
if body.get_node("ShieldMarker").has_node("Shield"):
queue_free()
return
shield.scale = Vector2.ONE shield.scale = Vector2.ONE
body.get_node("ShieldMarker").add_child(shield) body.get_node("ShieldMarker").add_child(shield)
else: else:

View file

@ -467,8 +467,8 @@ animations = [{
position = Vector2(386, 292) position = Vector2(386, 292)
gravity_scale = 1.66533e-16 gravity_scale = 1.66533e-16
freeze = true freeze = true
contact_monitor = true
max_contacts_reported = 5 max_contacts_reported = 5
contact_monitor = true
linear_damp = 2.0 linear_damp = 2.0
script = ExtResource("1_7s3by") script = ExtResource("1_7s3by")