Extensive work done on basically everything. Attacks prototyped, animations prototyped, pawnbody split out, all traps but pitfall implemented, UI hooked up more.

This commit is contained in:
2026-01-01 07:36:54 -05:00
parent 84bf495d11
commit b4910013c0
89 changed files with 1994 additions and 64 deletions

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=31 format=3 uid="uid://bgocskbofewsr"]
[gd_scene load_steps=36 format=3 uid="uid://bgocskbofewsr"]
[ext_resource type="Script" uid="uid://bm50jiya4s3ei" path="res://scripts/hud.gd" id="1_jiiqi"]
[ext_resource type="Texture2D" uid="uid://dri0a20l6kpbj" path="res://visuals/images/icon.svg" id="1_k5de2"]
@@ -27,7 +27,17 @@
[ext_resource type="Texture2D" uid="uid://diyks5oxgidoo" path="res://visuals/images/icons/ranged attack button.png" id="19_k0acs"]
[ext_resource type="Texture2D" uid="uid://0ujjkgwiyveu" path="res://visuals/images/icons/lit ranged attack button.png" id="20_vhta5"]
[ext_resource type="Texture2D" uid="uid://barbcaa2xvgkk" path="res://visuals/images/icons/switch button.png" id="21_iv5le"]
[ext_resource type="Script" uid="uid://ci7vc41m5alq5" path="res://scripts/control_display.gd" id="21_jiiqv"]
[ext_resource type="Texture2D" uid="uid://bd0xwm4wuuiuo" path="res://visuals/images/icons/lit switch button.png" id="22_1ghxf"]
[ext_resource type="Texture2D" uid="uid://bg0h4l3162pn5" path="res://visuals/images/icons/melee attack button.png" id="28_jf5vi"]
[ext_resource type="Texture2D" uid="uid://c64lykkbavdmi" path="res://visuals/images/icons/lit melee attack button.png" id="29_deun7"]
[sub_resource type="Gradient" id="Gradient_iv5le"]
offsets = PackedFloat32Array(0, 0.59079283, 1)
colors = PackedColorArray(0.33862844, 7.9006626e-05, 0.33938414, 1, 0, 0.36556464, 0, 1, 0.6879359, 1, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_1ghxf"]
gradient = SubResource("Gradient_iv5le")
[sub_resource type="Gradient" id="Gradient_1ghxf"]
@@ -88,6 +98,8 @@ value = 100.0
nine_patch_stretch = true
texture_progress = ExtResource("3_vhta5")
script = ExtResource("4_iv5le")
healthy_gradient = ExtResource("3_vhta5")
poisoned_gradient = SubResource("GradientTexture1D_1ghxf")
[node name="PanelContainer2" type="PanelContainer" parent="Control/PanelContainer/HBoxContainer/VBoxContainer2"]
custom_minimum_size = Vector2(250, 100)
@@ -227,7 +239,8 @@ offset_bottom = 104.0
texture = ExtResource("18_iv5le")
expand_mode = 1
[node name="Label" type="Label" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3/Control"]
[node name="AmmoLabel" type="Label" parent="Control/PanelContainer/HBoxContainer/VBoxContainer/PanelContainer3/Control"]
unique_name_in_owner = true
layout_mode = 0
offset_left = 141.0
offset_top = 29.0
@@ -281,7 +294,8 @@ expand_mode = 1
custom_minimum_size = Vector2(165, 0)
layout_mode = 2
[node name="Control2" type="Control" parent="."]
[node name="ControlDisplay" type="Control" parent="."]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 2
anchor_top = 1.0
@@ -289,8 +303,9 @@ anchor_bottom = 1.0
offset_top = -200.0
offset_right = 200.0
grow_vertical = 0
script = ExtResource("21_jiiqv")
[node name="Trap" type="TextureButton" parent="Control2"]
[node name="Trap" type="TextureButton" parent="ControlDisplay"]
layout_mode = 0
offset_left = 13.0
offset_top = 71.0
@@ -304,7 +319,7 @@ texture_pressed = ExtResource("16_aid7k")
ignore_texture_size = true
stretch_mode = 0
[node name="Detect" type="TextureButton" parent="Control2"]
[node name="Detect" type="TextureButton" parent="ControlDisplay"]
layout_mode = 0
offset_left = 68.0
offset_top = 35.0
@@ -318,7 +333,7 @@ texture_pressed = ExtResource("18_yda1o")
ignore_texture_size = true
stretch_mode = 0
[node name="RangedAttack" type="TextureButton" parent="Control2"]
[node name="RangedAttack" type="TextureButton" parent="ControlDisplay"]
layout_mode = 0
offset_left = 123.0
offset_top = 71.0
@@ -332,7 +347,22 @@ texture_pressed = ExtResource("20_vhta5")
ignore_texture_size = true
stretch_mode = 0
[node name="Switch" type="TextureButton" parent="Control2"]
[node name="MeleeAttack" type="TextureButton" parent="ControlDisplay"]
visible = false
layout_mode = 0
offset_left = 123.0
offset_top = 71.0
offset_right = 187.0
offset_bottom = 135.0
mouse_filter = 2
toggle_mode = true
button_mask = 0
texture_normal = ExtResource("28_jf5vi")
texture_pressed = ExtResource("29_deun7")
ignore_texture_size = true
stretch_mode = 0
[node name="Switch" type="TextureButton" parent="ControlDisplay"]
layout_mode = 0
offset_left = 68.0
offset_top = 110.0

46
templates/bullet.tscn Normal file
View File

@@ -0,0 +1,46 @@
[gd_scene load_steps=4 format=3 uid="uid://cfunlbp8arnlh"]
[ext_resource type="Script" uid="uid://dqmdowebyfwbq" path="res://scripts/projectile.gd" id="1_tc5n7"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fnprb"]
albedo_color = Color(1, 0.54124093, 0.4767593, 1)
emission_enabled = true
emission = Color(1, 0, 0, 1)
emission_energy_multiplier = 2.69
[sub_resource type="BoxShape3D" id="BoxShape3D_7i3j4"]
size = Vector3(0.15, 0.15, 0.15)
[node name="Bullet" type="RigidBody3D"]
gravity_scale = 0.0
contact_monitor = true
max_contacts_reported = 3
script = ExtResource("1_tc5n7")
[node name="CSGSphere3D" type="CSGSphere3D" parent="."]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
radius = 0.05
radial_segments = 4
rings = 3
material = SubResource("StandardMaterial3D_fnprb")
[node name="HitArea" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 2
[node name="CollisionShape3D" type="CollisionShape3D" parent="HitArea"]
shape = SubResource("BoxShape3D_7i3j4")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_7i3j4")
[node name="OmniLight3D" type="OmniLight3D" parent="."]
light_color = Color(1, 0, 0, 1)
light_energy = 1.5
light_indirect_energy = 0.0
light_volumetric_fog_energy = 0.0
light_size = 0.2
omni_range = 0.4
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="body_entered" from="HitArea" to="." method="_on_hit_area_entered"]

View File

@@ -269,7 +269,7 @@ process_material = SubResource("ParticleProcessMaterial_6ym0g")
draw_pass_1 = SubResource("SphereMesh_4y8np")
[node name="ParticleFX" type="GPUParticles3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4375714, 0, 0.5602956)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, 0.5)
material_override = ExtResource("2_l2v4y")
amount = 10
lifetime = 0.6

View File

@@ -0,0 +1,12 @@
[gd_scene load_steps=2 format=3 uid="uid://cwway5752qsea"]
[ext_resource type="Script" uid="uid://b06ywr7w0wigy" path="res://scripts/gas_emitter.gd" id="1_4dy13"]
[node name="Gas Emitter" type="Node3D"]
script = ExtResource("1_4dy13")
[node name="SpreadTimer" type="Timer" parent="."]
wait_time = 1.25
autostart = true
[connection signal="timeout" from="SpreadTimer" to="." method="_on_timeout"]

90
templates/gas_square.tscn Normal file
View File

@@ -0,0 +1,90 @@
[gd_scene load_steps=14 format=3 uid="uid://p6gfy3gdm4fu"]
[ext_resource type="Texture2D" uid="uid://qs7mgm4vors6" path="res://visuals/textures/T_smoke_b7.png" id="1_i2t7o"]
[ext_resource type="Script" uid="uid://6xmp5cbmjrbw" path="res://scripts/gas_square.gd" id="1_nit1s"]
[ext_resource type="AudioStream" uid="uid://bk4s3yn7473pc" path="res://audio/sounds/gas_leak_med_burst_01.wav" id="3_6ouu1"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_oxb7l"]
transparency = 1
vertex_color_use_as_albedo = true
vertex_color_is_srgb = true
albedo_texture = ExtResource("1_i2t7o")
billboard_mode = 3
billboard_keep_scale = true
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
proximity_fade_enabled = true
[sub_resource type="Curve" id="Curve_nit1s"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.25201073, 0.5114823), 1.9835948, 1.9835948, 0, 0, Vector2(0.81233245, 0.4979124), -1.8980947, -1.8980947, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="CurveTexture" id="CurveTexture_6ouu1"]
curve = SubResource("Curve_nit1s")
[sub_resource type="Gradient" id="Gradient_mcwmv"]
offsets = PackedFloat32Array(0, 0.5129683, 1)
colors = PackedColorArray(0, 1, 0, 1, 0.5660992, 0.4395883, 0.22195616, 1, 0.46846813, 0.00015392214, 0.46846473, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_3hj10"]
gradient = SubResource("Gradient_mcwmv")
use_hdr = true
[sub_resource type="Curve" id="Curve_vcxlp"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.36461127, 0.4979124), 0.0, 0.0, 0, 0, Vector2(0.71581775, 0.5318372), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="CurveTexture" id="CurveTexture_qumvk"]
curve = SubResource("Curve_vcxlp")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_6ur4r"]
particle_flag_rotate_y = true
emission_shape = 3
emission_box_extents = Vector3(0.35, 0.1, 0.35)
angle_min = -179.99998
angle_max = 180.00002
direction = Vector3(0, 1, 0)
spread = 0.0
initial_velocity_min = 1.0
initial_velocity_max = 1.5
angular_velocity_min = -50.000015
angular_velocity_max = 49.99998
gravity = Vector3(0, 0, 0)
scale_max = 1.35
scale_curve = SubResource("CurveTexture_qumvk")
color = Color(1.5257139, 1.5257139, 1.5257139, 1)
color_ramp = SubResource("GradientTexture1D_3hj10")
alpha_curve = SubResource("CurveTexture_6ouu1")
[sub_resource type="QuadMesh" id="QuadMesh_dws4p"]
[sub_resource type="BoxShape3D" id="BoxShape3D_mcwmv"]
size = Vector3(1, 2, 1)
[node name="Gas Square" type="Area3D"]
collision_layer = 0
collision_mask = 2
script = ExtResource("1_nit1s")
[node name="ParticleFX" type="GPUParticles3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0, 0.5)
material_override = SubResource("StandardMaterial3D_oxb7l")
emitting = false
amount = 25
one_shot = true
explosiveness = 0.18
fixed_fps = 60
process_material = SubResource("ParticleProcessMaterial_6ur4r")
draw_pass_1 = SubResource("QuadMesh_dws4p")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
shape = SubResource("BoxShape3D_mcwmv")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("3_6ouu1")
autoplay = true
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@@ -1,20 +1,216 @@
[gd_scene load_steps=7 format=3 uid="uid://c8xf3qawk5c6u"]
[gd_scene load_steps=30 format=3 uid="uid://c8xf3qawk5c6u"]
[ext_resource type="Script" uid="uid://bcs7ygh6s3l35" path="res://scripts/player.gd" id="1_a5wj7"]
[ext_resource type="Script" uid="uid://wye3mat5y5yg" path="res://scripts/pawn_body.gd" id="2_ac3v1"]
[ext_resource type="Material" uid="uid://b8e84edfrnn1a" path="res://visuals/materials/pawn.tres" id="2_j3lta"]
[ext_resource type="Script" uid="uid://6w608y2grdqb" path="res://scripts/player_data.gd" id="2_sfa2f"]
[ext_resource type="AudioStream" uid="uid://b8ko5lwikj8ts" path="res://audio/sounds/Whoosh Blade 001.wav" id="3_6r6k1"]
[ext_resource type="PackedScene" uid="uid://cfunlbp8arnlh" path="res://templates/bullet.tscn" id="3_ghbft"]
[ext_resource type="AudioStream" uid="uid://cjrlb4qiy23sj" path="res://audio/sounds/impact_deep_thud_bounce_09.wav" id="3_sfa2f"]
[ext_resource type="AudioStream" uid="uid://dufoyvysi4pa1" path="res://audio/sounds/Whoosh Blade 002.wav" id="4_ac3v1"]
[ext_resource type="AudioStream" uid="uid://cfq0pu0qxgb6u" path="res://audio/sounds/134688__otbtechno__bike-bell.wav" id="4_xb5g3"]
[ext_resource type="Texture2D" uid="uid://dmnwtwu5v4voh" path="res://visuals/images/icons/detect mark.png" id="5_fwehh"]
[ext_resource type="AudioStream" uid="uid://boe6fidhl6ut5" path="res://audio/sounds/Whoosh Blade 003.wav" id="5_rclin"]
[ext_resource type="AudioStream" uid="uid://b3x0xqu8yrib4" path="res://audio/sounds/Whoosh Blade 004.wav" id="6_0pfk2"]
[ext_resource type="AudioStream" uid="uid://cmnibhyxpag0a" path="res://audio/sounds/BeepBeep_high.wav" id="6_wva0c"]
[ext_resource type="AudioStream" uid="uid://1m2yfje18spo" path="res://audio/sounds/Whoosh Blade 005.wav" id="7_fifli"]
[ext_resource type="AudioStream" uid="uid://c1j8hjmw45x86" path="res://audio/sounds/Hitech Shot A.wav" id="9_fifli"]
[ext_resource type="AudioStream" uid="uid://dgftxjb34d2ph" path="res://audio/sounds/Hitech Shot B.wav" id="10_ghbft"]
[ext_resource type="AudioStream" uid="uid://bguwdvatsf87l" path="res://audio/sounds/Hitech Shot C.wav" id="11_fuq8x"]
[ext_resource type="AudioStream" uid="uid://cw31ymbqgqcq2" path="res://audio/sounds/sci-fi_weapon_reload_03.wav" id="13_fuq8x"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y646j"]
next_pass = ExtResource("2_j3lta")
albedo_color = Color(0.08468992, 0.08468992, 0.08468992, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lnbra"]
next_pass = ExtResource("2_j3lta")
albedo_color = Color(0, 1, 1, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_j3lta"]
size = Vector3(0.25, 0.6, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fifli"]
albedo_color = Color(1, 0.60701716, 0.54817975, 1)
emission_enabled = true
emission = Color(1, 0, 0, 1)
emission_energy_multiplier = 16.0
[sub_resource type="Animation" id="Animation_ofpku"]
resource_name = "melee"
length = 0.25
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MeleeArea/HitShape:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MeleeArea/HitShape:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.03333333, 0.1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0.6446533, 0.4691162, 0.6541977), Vector3(0.04156494, 0.4691162, 0.937973), Vector3(-0.645, 0.469, 0.654)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("MeleeArea/HitShape:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.03333333, 0.1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 0.76134753, 0), Vector3(0, 0, 0), Vector3(0, -0.76096356, 0)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MeleeArea/HitShape:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/4/type = "method"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("../MeleeSound")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [0.0],
"method": &"play"
}]
}
[sub_resource type="Animation" id="Animation_56qyi"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MeleeArea/HitShape:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MeleeArea/HitShape:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.6446533, 0.4691162, 0.6541977)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("MeleeArea/HitShape:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0.76134753, 0)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MeleeArea/HitShape:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_ac3v1"]
resource_name = "shoot"
length = 0.2
tracks/0/type = "method"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("../RangedSound")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [0.0],
"method": &"play"
}]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../..")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.033333335),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"fire_ranged"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ucins"]
_data = {
&"RESET": SubResource("Animation_56qyi"),
&"melee": SubResource("Animation_ofpku"),
&"shoot": SubResource("Animation_ac3v1")
}
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ghbft"]
streams_count = 5
stream_0/stream = ExtResource("3_6r6k1")
stream_1/stream = ExtResource("4_ac3v1")
stream_2/stream = ExtResource("5_rclin")
stream_3/stream = ExtResource("6_0pfk2")
stream_4/stream = ExtResource("7_fifli")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_rclin"]
streams_count = 3
stream_0/stream = ExtResource("9_fifli")
stream_1/stream = ExtResource("10_ghbft")
stream_2/stream = ExtResource("11_fuq8x")
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_a5wj7"]
radius = 0.3
height = 1.0
[node name="Player" type="CharacterBody3D"]
[node name="Player" type="CharacterBody3D" groups=["combat"]]
physics_interpolation_mode = 1
collision_layer = 2
collision_mask = 5
@@ -24,17 +220,62 @@ floor_snap_length = 1.0
script = ExtResource("1_a5wj7")
speed = 3.0
[node name="Body" type="CSGBox3D" parent="."]
[node name="PawnBody" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.425, 0)
script = ExtResource("2_ac3v1")
projectile_template = ExtResource("3_ghbft")
[node name="Mesh" type="CSGBox3D" parent="PawnBody"]
size = Vector3(0.5, 0.85, 0.5)
material = SubResource("StandardMaterial3D_y646j")
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Body"]
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="PawnBody/Mesh"]
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0.21490532, 0.29997927)
radius = 0.15
height = 0.05
material = SubResource("StandardMaterial3D_lnbra")
[node name="MeleeArea" type="Area3D" parent="PawnBody/Mesh"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.425, 0)
collision_layer = 0
collision_mask = 2
[node name="HitShape" type="CollisionShape3D" parent="PawnBody/Mesh/MeleeArea"]
transform = Transform3D(0.723907, 0, 0.68989754, 0, 1, 0, -0.68989754, 0, 0.723907, 0.6446533, 0.4691162, 0.6541977)
visible = false
shape = SubResource("BoxShape3D_j3lta")
disabled = true
[node name="CSGBox3D" type="CSGBox3D" parent="PawnBody/Mesh/MeleeArea/HitShape"]
size = Vector3(0.1, 0.1, 1)
material = SubResource("StandardMaterial3D_fifli")
[node name="OmniLight3D" type="OmniLight3D" parent="PawnBody/Mesh/MeleeArea/HitShape/CSGBox3D"]
light_color = Color(1, 0, 0, 1)
light_energy = 1.137
[node name="AnimationPlayer" type="AnimationPlayer" parent="PawnBody/Mesh"]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_ucins")
}
[node name="RangedPoint" type="Node3D" parent="PawnBody/Mesh"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.4537468)
[node name="MeleeSound" type="AudioStreamPlayer3D" parent="PawnBody"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.425, 0)
stream = SubResource("AudioStreamRandomizer_ghbft")
[node name="RangedSound" type="AudioStreamPlayer3D" parent="PawnBody"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.425, 0)
stream = SubResource("AudioStreamRandomizer_rclin")
[node name="ReloadSound" type="AudioStreamPlayer3D" parent="PawnBody"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.425, 0)
stream = ExtResource("13_fuq8x")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4665325, 0)
shape = SubResource("CapsuleShape3D_a5wj7")
@@ -47,3 +288,19 @@ stream = ExtResource("3_sfa2f")
[node name="AudioListener3D" type="AudioListener3D" parent="."]
current = true
[node name="DetectSound" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("4_xb5g3")
volume_db = -80.0
max_db = -11.464
[node name="DetectIcon" type="Sprite3D" parent="."]
transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, 0, 1.2337646, 0)
visible = false
billboard = 1
no_depth_test = true
texture = ExtResource("5_fwehh")
[node name="DetonateSound" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("6_wva0c")
max_db = -7.0

View File

@@ -1,8 +1,9 @@
[gd_scene load_steps=8 format=3 uid="uid://bk3yqawritfnj"]
[gd_scene load_steps=9 format=3 uid="uid://bk3yqawritfnj"]
[ext_resource type="Script" uid="uid://yjsgte3x7jjw" path="res://scripts/trap.gd" id="1_6h4aj"]
[ext_resource type="ArrayMesh" uid="uid://bih57xe642hrc" path="res://models/trap.obj" id="2_oj6ox"]
[ext_resource type="Texture2D" uid="uid://cmlp8tn6mnbd" path="res://visuals/images/icons/t-bomb.png" id="3_mxvh5"]
[ext_resource type="Texture2D" uid="uid://cm288pisiir7v" path="res://visuals/images/force_panel_strip.png" id="4_oj6ox"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qcd3b"]
albedo_color = Color(0, 0, 1, 1)
@@ -36,7 +37,7 @@ shape = SubResource("BoxShape3D_dw7u0")
[node name="Icon" type="Sprite3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 0, 0.1, 0)
pixel_size = 0.0075
axis = 1
double_sided = false
@@ -48,11 +49,24 @@ unique_name_in_owner = true
[node name="RangeArea" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 2
collision_mask = 6
[node name="RangeShape" type="CollisionShape3D" parent="RangeArea"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
shape = SubResource("BoxShape3D_6h4aj")
[node name="ActivationTimer" type="Timer" parent="."]
unique_name_in_owner = true
wait_time = 5.0
[node name="ForceStrip" type="Sprite3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1.4, 0, 0, 0, -6.119594e-08, 1.4, 0, -1.4, -6.119594e-08, 0, 0.1, 0)
visible = false
texture_filter = 0
texture = ExtResource("4_oj6ox")
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="timeout" from="RevealTimer" to="." method="_on_reveal_timeout"]
[connection signal="timeout" from="ActivationTimer" to="." method="_on_activation_timer_timeout"]