Enemy death effects, dialogue fixes

This commit is contained in:
ToasterPanic 2025-12-05 16:50:38 -05:00
parent 14d397ab60
commit c3520dd80f
19 changed files with 532 additions and 29 deletions

View file

@ -39,6 +39,15 @@ theme/custom_font="uid://n1nd5m2kwexu"
[input]
ui_accept={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":true,"script":null)
]
}
ui_select={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
@ -57,28 +66,24 @@ turn_left={
"deadzone": 0.2,
"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":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":-1.0,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
]
}
turn_right={
"deadzone": 0.2,
"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":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
]
}
forward={
"deadzone": 0.2,
"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":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":-1.0,"script":null)
]
}
backward={
"deadzone": 0.2,
"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":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":1.0,"script":null)
]
}
fire={

View file

@ -1,11 +1,14 @@
[gd_scene load_steps=9 format=3 uid="uid://dy6dv2tio433m"]
[gd_scene load_steps=15 format=3 uid="uid://dy6dv2tio433m"]
[ext_resource type="Script" uid="uid://8d4jhy3fo32b" path="res://scripts/enemy.gd" id="1_xwavj"]
[ext_resource type="AudioStream" uid="uid://brqjxveo53kco" path="res://sounds/boost.mp3" id="2_nenq2"]
[ext_resource type="AudioStream" uid="uid://b1ung55xg31l3" path="res://sounds/boost_finish.mp3" id="3_md484"]
[ext_resource type="AudioStream" uid="uid://5tr30e1tmdp6" path="res://sounds/collision.mp3" id="4_ipns3"]
[ext_resource type="AudioStream" uid="uid://y7lhonymtk3t" path="res://sounds/fire.mp3" id="5_8qclf"]
[ext_resource type="AudioStream" uid="uid://bney1c4julhfk" path="res://sounds/explode.mp3" id="5_ipns3"]
[ext_resource type="Texture2D" uid="uid://dtwo7g0ipc4k" path="res://textures/ship_1.png" id="6_w8i8w"]
[ext_resource type="Script" uid="uid://ck38qwl4qytnt" path="res://scripts/particle_group.gd" id="7_md484"]
[ext_resource type="Texture2D" uid="uid://5iimabvyld40" path="res://textures/particles/basic.png" id="7_nenq2"]
[ext_resource type="Texture2D" uid="uid://bpe67g6185n5v" path="res://textures/particles/fire.png" id="9_ipns3"]
[sub_resource type="CircleShape2D" id="CircleShape2D_uwrxv"]
radius = 16.0
@ -13,6 +16,28 @@ radius = 16.0
[sub_resource type="CircleShape2D" id="CircleShape2D_lnu2h"]
radius = 20.0
[sub_resource type="Curve" id="Curve_ipns3"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.7512195, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_8qclf"]
curve = SubResource("Curve_ipns3")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_w8i8w"]
particle_flag_disable_z = true
angle_min = -720.0
angle_max = 720.0
spread = 180.0
initial_velocity_min = 30.3
initial_velocity_max = 260.81
gravity = Vector3(0, 0, 0)
damping_min = 2.0
damping_max = 14.000001
scale_min = 0.099999994
scale_max = 0.25
alpha_curve = SubResource("CurveTexture_8qclf")
collision_use_scale = true
[node name="Enemy" type="RigidBody2D"]
linear_damp = 6.247
script = ExtResource("1_xwavj")
@ -33,7 +58,10 @@ pitch_scale = 0.75
bus = &"Sound Effects"
[node name="Fire" type="AudioStreamPlayer" parent="."]
stream = ExtResource("5_8qclf")
stream = ExtResource("5_ipns3")
[node name="Explode" type="AudioStreamPlayer" parent="."]
stream = ExtResource("5_ipns3")
[node name="Sprite" type="Sprite2D" parent="."]
texture = ExtResource("6_w8i8w")
@ -53,4 +81,25 @@ target_position = Vector2(0, -256)
[node name="FireCast" type="RayCast2D" parent="."]
target_position = Vector2(0, -1024)
[node name="Explosion" type="Node2D" parent="."]
script = ExtResource("7_md484")
[node name="GPUParticles2D" type="GPUParticles2D" parent="Explosion"]
emitting = false
amount = 24
texture = ExtResource("7_nenq2")
lifetime = 10.0
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_w8i8w")
[node name="GPUParticles2D2" type="GPUParticles2D" parent="Explosion"]
emitting = false
amount = 24
texture = ExtResource("9_ipns3")
lifetime = 10.0
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_w8i8w")
[connection signal="body_shape_entered" from="Hitbox" to="." method="_on_hitbox_body_shape_entered"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=28 format=4 uid="uid://bauklhpieuivd"]
[gd_scene load_steps=33 format=4 uid="uid://bauklhpieuivd"]
[ext_resource type="Script" uid="uid://d0qswyhwbhdua" path="res://scripts/game.gd" id="1_u5sy4"]
[ext_resource type="Texture2D" uid="uid://dtwo7g0ipc4k" path="res://textures/ship_1.png" id="1_uwrxv"]
@ -14,7 +14,9 @@
[ext_resource type="Shader" uid="uid://bk7q00br1ms30" path="res://scripts/retro.gdshader" id="12_kvuet"]
[ext_resource type="Texture2D" uid="uid://hgfmjw6gbdnn" path="res://textures/blank.png" id="12_trtic"]
[ext_resource type="Script" uid="uid://d0txwo63hlrsy" path="res://scripts/enterable.gd" id="13_trtic"]
[ext_resource type="Script" uid="uid://b2maxk5g6yb0i" path="res://addons/super_awesome_input_icons/classes/input_icon_texture_rect.gd" id="15_ca42v"]
[ext_resource type="Theme" uid="uid://dtc7h6gpwpend" path="res://scenes/ui.tres" id="15_ir15t"]
[ext_resource type="Script" uid="uid://dqiaioigmj5wb" path="res://scripts/pause_menu.gd" id="15_rysoc"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ir15t"]
texture = ExtResource("12_trtic")
@ -59,6 +61,19 @@ outline_size = 2
bg_color = Color(1, 0, 0, 1)
corner_detail = 1
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_264po"]
bg_color = Color(0, 0, 0, 1)
border_color = Color(0.53333336, 0.53333336, 0.53333336, 1)
corner_detail = 1
[sub_resource type="LabelSettings" id="LabelSettings_1kice"]
font_size = 48
outline_size = 2
[sub_resource type="LabelSettings" id="LabelSettings_ssvqc"]
font_size = 32
outline_size = 2
[sub_resource type="ShaderMaterial" id="ShaderMaterial_trtic"]
shader = ExtResource("12_kvuet")
shader_parameter/shake = 0.002000000095
@ -310,6 +325,281 @@ label_settings = SubResource("LabelSettings_ca42v")
horizontal_alignment = 1
vertical_alignment = 1
[node name="PauseMenu" type="Panel" parent="UI/Control"]
process_mode = 3
self_modulate = Color(1, 1, 1, 0.53333336)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_264po")
script = ExtResource("15_rysoc")
[node name="Panel" type="PanelContainer" parent="UI/Control/PauseMenu"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -130.0
offset_top = -26.0
offset_right = 130.0
offset_bottom = 26.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("15_ir15t")
[node name="Flow" type="HFlowContainer" parent="UI/Control/PauseMenu/Panel"]
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Panel/Flow"]
custom_minimum_size = Vector2(512, 0)
layout_mode = 2
text = "PAUSED"
label_settings = SubResource("LabelSettings_1kice")
horizontal_alignment = 1
vertical_alignment = 1
[node name="HFlowContainer" type="HFlowContainer" parent="UI/Control/PauseMenu/Panel/Flow"]
custom_minimum_size = Vector2(257, 0)
layout_mode = 2
alignment = 1
[node name="InputIconTextureRect2" type="TextureRect" parent="UI/Control/PauseMenu/Panel/Flow/HFlowContainer"]
custom_minimum_size = Vector2(48, 48)
layout_mode = 2
expand_mode = 1
script = ExtResource("15_ca42v")
action_name = "ui_up"
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
[node name="InputIconTextureRect3" type="TextureRect" parent="UI/Control/PauseMenu/Panel/Flow/HFlowContainer"]
custom_minimum_size = Vector2(48, 48)
layout_mode = 2
expand_mode = 1
script = ExtResource("15_ca42v")
action_name = "ui_down"
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
[node name="InputIconTextureRect" type="TextureRect" parent="UI/Control/PauseMenu/Panel/Flow/HFlowContainer"]
custom_minimum_size = Vector2(48, 48)
layout_mode = 2
expand_mode = 1
script = ExtResource("15_ca42v")
action_name = "dialogue_continue"
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
[node name="Resume" type="Button" parent="UI/Control/PauseMenu/Panel/Flow"]
custom_minimum_size = Vector2(257, 0)
layout_mode = 2
focus_neighbor_top = NodePath("../QuitToTitle")
text = "Resume"
[node name="Settings" type="Button" parent="UI/Control/PauseMenu/Panel/Flow"]
custom_minimum_size = Vector2(257, 0)
layout_mode = 2
text = "Settings"
[node name="QuitToTitle" type="Button" parent="UI/Control/PauseMenu/Panel/Flow"]
custom_minimum_size = Vector2(257, 0)
layout_mode = 2
focus_neighbor_bottom = NodePath("../Resume")
text = "Quit to Title"
[node name="Label2" type="Label" parent="UI/Control/PauseMenu/Panel/Flow"]
custom_minimum_size = Vector2(512, 0)
layout_mode = 2
text = "PAUSED"
label_settings = SubResource("LabelSettings_1kice")
horizontal_alignment = 1
vertical_alignment = 1
[node name="Settings" type="PanelContainer" parent="UI/Control/PauseMenu"]
visible = false
custom_minimum_size = Vector2(640, 0)
layout_mode = 1
anchors_preset = 13
anchor_left = 0.5
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -258.0
offset_right = 258.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("15_ir15t")
[node name="Scroll" type="ScrollContainer" parent="UI/Control/PauseMenu/Settings"]
custom_minimum_size = Vector2(640, 0)
layout_mode = 2
[node name="Flow" type="HFlowContainer" parent="UI/Control/PauseMenu/Settings/Scroll"]
custom_minimum_size = Vector2(640, 0)
layout_mode = 2
size_flags_horizontal = 3
alignment = 1
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(512, 0)
layout_mode = 2
text = "SETTINGS"
label_settings = SubResource("LabelSettings_1kice")
horizontal_alignment = 1
vertical_alignment = 1
[node name="Flow" type="HFlowContainer" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(500, 0)
layout_mode = 2
alignment = 1
[node name="InputIconTextureRect2" type="TextureRect" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow"]
custom_minimum_size = Vector2(48, 48)
layout_mode = 2
expand_mode = 1
script = ExtResource("15_ca42v")
action_name = "ui_up"
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
[node name="InputIconTextureRect3" type="TextureRect" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow"]
custom_minimum_size = Vector2(48, 48)
layout_mode = 2
expand_mode = 1
script = ExtResource("15_ca42v")
action_name = "ui_down"
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
[node name="InputIconTextureRect" type="TextureRect" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow"]
custom_minimum_size = Vector2(48, 48)
layout_mode = 2
expand_mode = 1
script = ExtResource("15_ca42v")
action_name = "dialogue_continue"
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
[node name="Resume" type="Button" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
text = "Back"
[node name="Label2" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(512, 0)
layout_mode = 2
text = "SOUND"
label_settings = SubResource("LabelSettings_ssvqc")
horizontal_alignment = 1
vertical_alignment = 1
[node name="Flow2" type="HFlowContainer" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(608, 0)
layout_mode = 2
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow2"]
layout_mode = 2
text = "Master Volume"
[node name="MasterVolume" type="HSlider" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow2"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow2/MasterVolume"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -115.5
offset_top = -12.0
offset_right = 115.5
offset_bottom = 12.0
grow_horizontal = 2
grow_vertical = 2
text = "100%"
horizontal_alignment = 1
[node name="Flow3" type="HFlowContainer" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(608, 0)
layout_mode = 2
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow3"]
layout_mode = 2
text = "Music Volume"
[node name="MasterVolume" type="HSlider" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow3"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow3/MasterVolume"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -115.5
offset_top = -12.0
offset_right = 115.5
offset_bottom = 12.0
grow_horizontal = 2
grow_vertical = 2
text = "100%"
horizontal_alignment = 1
[node name="Flow4" type="HFlowContainer" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(608, 0)
layout_mode = 2
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow4"]
layout_mode = 2
text = "Sound Effects Volume"
[node name="MasterVolume" type="HSlider" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow4"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow4/MasterVolume"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -115.5
offset_top = -12.0
offset_right = 115.5
offset_bottom = 12.0
grow_horizontal = 2
grow_vertical = 2
text = "100%"
horizontal_alignment = 1
[node name="Label3" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(512, 0)
layout_mode = 2
text = "CONTROLS"
label_settings = SubResource("LabelSettings_ssvqc")
horizontal_alignment = 1
vertical_alignment = 1
[node name="Flow5" type="HFlowContainer" parent="UI/Control/PauseMenu/Settings/Scroll/Flow"]
custom_minimum_size = Vector2(608, 0)
layout_mode = 2
[node name="Label" type="Label" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow5"]
layout_mode = 2
size_flags_horizontal = 3
text = "Southpaw"
[node name="Button" type="Button" parent="UI/Control/PauseMenu/Settings/Scroll/Flow/Flow5"]
layout_mode = 2
text = "NO"
[node name="FadeToBlack" type="ColorRect" parent="UI"]
process_mode = 3
modulate = Color(1, 1, 1, 0)
@ -333,3 +623,5 @@ color = Color(1, 1, 1, 0)
[connection signal="area_entered" from="SpaceStation1/EnterHitbox" to="SpaceStation1" method="_on_enter_hitbox_area_entered"]
[connection signal="body_entered" from="SpaceStation1/EnterHitbox" to="SpaceStation1" method="_on_enter_hitbox_body_entered"]
[connection signal="body_shape_entered" from="Player/Hitbox" to="Player" method="_on_hitbox_body_shape_entered"]
[connection signal="pressed" from="UI/Control/PauseMenu/Panel/Flow/Resume" to="UI/Control/PauseMenu" method="_on_resume_pressed"]
[connection signal="pressed" from="UI/Control/PauseMenu/Settings/Scroll/Flow/Resume" to="UI/Control/PauseMenu" method="_on_resume_pressed"]

View file

@ -8,26 +8,14 @@ border_width_right = 4
border_width_bottom = 4
border_color = Color(1, 1, 1, 1)
corner_detail = 1
expand_margin_left = 2.0
expand_margin_top = 2.0
expand_margin_right = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ue5e3"]
bg_color = Color(0, 0, 0, 1)
corner_detail = 1
expand_margin_left = 2.0
expand_margin_top = 2.0
expand_margin_right = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_oei2i"]
bg_color = Color(1, 1, 1, 1)
corner_detail = 1
expand_margin_left = 2.0
expand_margin_top = 2.0
expand_margin_right = 2.0
expand_margin_bottom = 2.0
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_s6eqm"]
bg_color = Color(0, 0, 0, 1)

View file

@ -4,7 +4,3 @@ var game = null
func _on_pressed() -> void:
game.choice_made.emit(get_name())
func _input(event: InputEvent) -> void:
if has_focus() and (event.is_action_pressed("interact") or event.is_action_pressed("dialogue_continue")):
_on_pressed()

View file

@ -1,12 +1,13 @@
extends RigidBody2D
var health = 1000
var health = 500
var boost = 100
var speed = 480
var speed = 372
var time_since_last_collision = 1
var time_since_last_fire = 0
var boosting = false
var firing = true
var dead = false
var axis = 0
var movement_axis = -1
@ -72,11 +73,25 @@ func check_front():
return 1
func _process(delta: float) -> void:
if dead: return
modulate.g = health / 1000.0
modulate.b = health / 1000.0
if health <= 0:
queue_free()
dead = true
modulate = Color(1,1,1)
$Explode.play()
$Explosion.play()
$Sprite.queue_free()
$CollisionShape.queue_free()
linear_velocity = Vector2()
await get_tree().create_timer(10.5).timeout
ai_tick -= delta
@ -166,7 +181,7 @@ func _process(delta: float) -> void:
var angular_target = wrapf(angle - rotation, -PI, PI)
if abs(rad_to_deg(rotation - angular_target)) < 15:
if abs(rad_to_deg(angle - angular_target)) < 25:
if player_distance > 480: boost_pressed = true
firing = true
@ -194,6 +209,8 @@ func _process(delta: float) -> void:
func _physics_process(delta: float) -> void:
axis = 0
if dead: return
var difference = fmod(target_rotation, deg_to_rad(360)) - fmod(rotation, deg_to_rad(360))
var normalized_difference = fmod(difference + deg_to_rad(180), deg_to_rad(360)) - deg_to_rad(180)
var target_distance = normalized_difference

View file

@ -54,6 +54,9 @@ func _ready() -> void:
LimboConsole.register_command(ship_health, "ship_health", "Sets the ship's health.")
LimboConsole.register_command(summon_enemy, "summon_enemy", "Summons an enemy.")
var events = InputMap.action_get_events("forward")
print(events)
if global.ground_location:
$Player.global_position = get_node(global.ground_location + "/ExitPoint").global_position
$Player.rotation = get_node(global.ground_location + "/ExitPoint").rotation
@ -139,3 +142,11 @@ func _process(delta: float) -> void:
n.queue_free()
elif abs(n_pos.y - player_chunk.y) > chunk_process_distance:
n.queue_free()
func _input(event: InputEvent) -> void:
if event.is_action_pressed("pause"):
$UI/Control/PauseMenu.visible = true
$UI/Control/PauseMenu/Panel/Flow/Resume.grab_focus()
get_tree().paused = true

View file

@ -79,6 +79,6 @@ func make_choice(options: Dictionary = {}) -> String:
func _input(event: InputEvent) -> void:
if event.is_action_pressed("dialogue_continue"):
if event.is_action_released("dialogue_continue"):
dialogue_continue.emit()

View file

@ -0,0 +1,5 @@
extends Node2D
func play():
for n in get_children():
n.restart()

View file

@ -0,0 +1 @@
uid://ck38qwl4qytnt

18
scripts/pause_menu.gd Normal file
View file

@ -0,0 +1,18 @@
extends Panel
@onready var game = get_parent().get_parent().get_parent()
func _resume() -> void:
while Input.is_action_pressed("pause"):
await get_tree().create_timer(0).timeout
visible = false
get_tree().paused = false
func _on_resume_pressed() -> void:
_resume()
func _input(event: InputEvent) -> void:
if visible:
if event.is_action_pressed("pause"): _resume()

View file

@ -0,0 +1 @@
uid://dqiaioigmj5wb

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5iimabvyld40"
path="res://.godot/imported/basic.png-f749616d20d10b57013ca34e4fbe18d6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/particles/basic.png"
dest_files=["res://.godot/imported/basic.png-f749616d20d10b57013ca34e4fbe18d6.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

BIN
textures/particles/fire.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpe67g6185n5v"
path="res://.godot/imported/fire.png-4943b9c019d398746e81c45fb94e60cc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/particles/fire.png"
dest_files=["res://.godot/imported/fire.png-4943b9c019d398746e81c45fb94e60cc.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

View file

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ccfofitk3x5jj"
path="res://.godot/imported/laser.png-6a2a4b804cd3e33f82aba28a4e561dc2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/particles/laser.png"
dest_files=["res://.godot/imported/laser.png-6a2a4b804cd3e33f82aba28a4e561dc2.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