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()
$ShootTimer.start(1)
#$ShootTimer.start(1)
func find_target():

View file

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

View file

@ -5,7 +5,7 @@ var config = ConfigFile.new()
func _init():
if OS.is_debug_build():
Engine.set_time_scale(0.25)
Engine.set_time_scale(1)
if config.load("user://settings.cfg") == OK:
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="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="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="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="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://Stopwatch.gd" id="13_xhnp2"]
[ext_resource type="Script" path="res://Leaderboard.gd" id="14_v1elq"]
@ -670,7 +670,7 @@ script = ExtResource("1_3dydx")
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")])
wave_label = NodePath("../UI/Wave Count")
start_wave = 8
start_wave = 10
[node name="Timer" type="Timer" parent="Spawner"]
wait_time = 0.1

View file

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

View file

@ -207,5 +207,4 @@ stream = ExtResource("4_lwgj5")
bus = &"SFX"
[node name="ShieldMarker" type="Marker2D" parent="." index="5"]
position = Vector2(4, 0)
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
var move_input = Input.get_axis("down", "up")
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
update_animation()
elif move_input <= 0 and moving:
else:
moving = false
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)
func destroy():
if has_node("Shield"):
$Shield.destroy()
return
$DeathFX.play()
get_tree().paused = true
$"../GameOver".visible = true

View file

@ -12,7 +12,7 @@ config_version=5
config/name="Countdown"
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
config/icon="res://icon.svg"
@ -37,58 +37,58 @@ enemy="Enemies"
up={
"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)
, 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)
"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,"echo":false,"script":null)
]
}
down={
"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)
, 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)
"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,"echo":false,"script":null)
]
}
left={
"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)
, 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)
"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,"echo":false,"script":null)
]
}
right={
"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)
, 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)
"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,"echo":false,"script":null)
]
}
restart={
"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={
"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)
, 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={
"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={
"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={
"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={
"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)
, 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
physics_material_override = SubResource("PhysicsMaterial_xnhwp")
gravity_scale = 1.66533e-16
contact_monitor = true
max_contacts_reported = 1
contact_monitor = true
linear_velocity = Vector2(2.08165e-12, 2.08165e-12)
script = ExtResource("1_dsvm1")

View file

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

View file

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

View file

@ -3,6 +3,7 @@ extends RigidBody2D
@onready var player = $"../Player"
var shield_scene = preload("res://shield.tscn")
var player_shield = preload("res://player-shield.tscn")
func _physics_process(delta):
rotation = linear_velocity.angle()
@ -14,8 +15,23 @@ func hit(body):
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
body.get_node("ShieldMarker").add_child(shield)
else:

View file

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