diff --git a/Game/Assets/Effects/ImpactPlayer.tscn b/Game/Assets/Effects/ImpactPlayer.tscn index d2302a8..5bf3c62 100644 --- a/Game/Assets/Effects/ImpactPlayer.tscn +++ b/Game/Assets/Effects/ImpactPlayer.tscn @@ -1,41 +1,41 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=9 format=3 uid="uid://egphnvwk6cg"] -[ext_resource path="res://Assets/Effects/Impact.gd" type="Script" id=1] -[ext_resource path="res://Assets/Effects/Flame.png" type="Texture2D" id=2] +[ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1"] +[ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="2"] -[sub_resource type="StandardMaterial3D" id=7] +[sub_resource type="StandardMaterial3D" id="7"] blend_mode = 3 shading_mode = 0 vertex_color_use_as_albedo = true -albedo_texture = ExtResource( 2 ) +albedo_texture = ExtResource( "2" ) billboard_mode = 3 particles_anim_h_frames = 2 particles_anim_v_frames = 2 particles_anim_loop = false -[sub_resource type="QuadMesh" id=2] -material = SubResource( 7 ) +[sub_resource type="QuadMesh" id="2"] +material = SubResource( "7" ) size = Vector2(0.2, 0.2) -[sub_resource type="Curve" id=3] +[sub_resource type="Curve" id="3"] _data = [Vector2(0, 0.981818), 0.0, -1.7826, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] -[sub_resource type="Gradient" id=8] +[sub_resource type="Gradient" id="8"] colors = PackedColorArray(1, 0, 0, 1, 1, 1, 1, 1) -[sub_resource type="StandardMaterial3D" id=5] +[sub_resource type="StandardMaterial3D" id="5"] blend_mode = 1 shading_mode = 0 albedo_color = Color(1, 0, 0.00784314, 1) -albedo_texture = ExtResource( 2 ) +albedo_texture = ExtResource( "2" ) uv1_scale = Vector3(0.5, 0.5, 1) -[sub_resource type="QuadMesh" id=6] -material = SubResource( 5 ) +[sub_resource type="QuadMesh" id="6"] +material = SubResource( "5" ) size = Vector2(0.25, 0.25) [node name="Impact" type="Node3D"] -script = ExtResource( 1 ) +script = ExtResource( "1" ) [node name="CPUParticles3D" type="CPUParticles3D" parent="."] emitting = false @@ -44,18 +44,14 @@ lifetime = 3.0 one_shot = true explosiveness = 1.0 local_coords = false -mesh = SubResource( 2 ) +mesh = SubResource( "2" ) particle_flag_rotate_y = true direction = Vector3(0, 1, 0) spread = 180.0 -initial_velocity = 8.0 -damping = 5.0 -angle = 360.0 -angle_random = 1.0 -scale_amount = 1.5 -scale_amount_random = 1.0 -scale_amount_curve = SubResource( 3 ) -color_ramp = SubResource( 8 ) +initial_velocity_min = 0.5 +initial_velocity_max = 5.0 +scale_amount_curve = SubResource( "3" ) +color_ramp = SubResource( "8" ) script = null [node name="Timer" type="Timer" parent="."] @@ -67,7 +63,7 @@ script = null [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.00379224, 0) visible = false -mesh = SubResource( 6 ) +mesh = SubResource( "6" ) surface_material_override/0 = null script = null diff --git a/Game/Assets/Effects/ImpactWall.tscn b/Game/Assets/Effects/ImpactWall.tscn index 667cea2..fb3ab82 100644 --- a/Game/Assets/Effects/ImpactWall.tscn +++ b/Game/Assets/Effects/ImpactWall.tscn @@ -1,41 +1,41 @@ -[gd_scene load_steps=11 format=2] +[gd_scene load_steps=11 format=3 uid="uid://d1yx12uryxl26"] -[ext_resource path="res://Assets/Effects/Impact.gd" type="Script" id=1] -[ext_resource path="res://Assets/Effects/Flame.png" type="Texture2D" id=2] +[ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1"] +[ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="2"] -[sub_resource type="StandardMaterial3D" id=1] +[sub_resource type="StandardMaterial3D" id="1"] blend_mode = 1 shading_mode = 0 vertex_color_use_as_albedo = true -albedo_texture = ExtResource( 2 ) +albedo_texture = ExtResource( "2" ) billboard_mode = 3 particles_anim_h_frames = 2 particles_anim_v_frames = 2 particles_anim_loop = false -[sub_resource type="QuadMesh" id=2] -material = SubResource( 1 ) +[sub_resource type="QuadMesh" id="2"] +material = SubResource( "1" ) size = Vector2(0.2, 0.2) -[sub_resource type="Curve" id=3] +[sub_resource type="Curve" id="3"] _data = [Vector2(0, 0.981818), 0.0, -1.7826, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] -[sub_resource type="Gradient" id=4] +[sub_resource type="Gradient" id="4"] offsets = PackedFloat32Array(0, 0.06, 0.14, 0.26, 0.675, 1) colors = PackedColorArray(1, 1, 1, 1, 1, 0.96283, 0.660156, 1, 1, 0.827423, 0.238281, 1, 1, 0.509949, 0.152344, 1, 0.34375, 0.0725098, 0, 1, 0.035, 0.035, 0.035, 1) -[sub_resource type="StandardMaterial3D" id=5] +[sub_resource type="StandardMaterial3D" id="5"] blend_mode = 1 shading_mode = 0 albedo_color = Color(1, 0, 0.00784314, 1) -albedo_texture = ExtResource( 2 ) +albedo_texture = ExtResource( "2" ) uv1_scale = Vector3(0.5, 0.5, 1) -[sub_resource type="QuadMesh" id=6] -material = SubResource( 5 ) +[sub_resource type="QuadMesh" id="6"] +material = SubResource( "5" ) size = Vector2(0.25, 0.25) -[sub_resource type="Animation" id=7] +[sub_resource type="Animation" id="7"] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("OmniLight3D:light_color") @@ -62,7 +62,7 @@ tracks/1/keys = { "values": [1.0] } -[sub_resource type="Animation" id=8] +[sub_resource type="Animation" id="8"] resource_name = "anim" length = 0.2 step = 0.05 @@ -92,7 +92,7 @@ tracks/1/keys = { } [node name="Impact" type="Node3D"] -script = ExtResource( 1 ) +script = ExtResource( "1" ) [node name="CPUParticles3D" type="CPUParticles3D" parent="."] emitting = false @@ -100,18 +100,15 @@ amount = 32 one_shot = true explosiveness = 1.0 local_coords = false -mesh = SubResource( 2 ) +mesh = SubResource( "2" ) particle_flag_rotate_y = true direction = Vector3(0, 1, 0) spread = 180.0 -initial_velocity = 8.0 -damping = 5.0 -angle = 360.0 -angle_random = 1.0 -scale_amount = 1.5 -scale_amount_random = 1.0 -scale_amount_curve = SubResource( 3 ) -color_ramp = SubResource( 4 ) +initial_velocity_min = 0.5 +initial_velocity_max = 4.0 +scale_amount_curve = SubResource( "3" ) +color_ramp = SubResource( "4" ) +anim_offset_max = 1.0 script = null [node name="Timer" type="Timer" parent="."] @@ -122,7 +119,7 @@ script = null [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.00379224, 0) -mesh = SubResource( 6 ) +mesh = SubResource( "6" ) surface_material_override/0 = null script = null @@ -134,8 +131,8 @@ script = null [node name="AnimationPlayer" type="AnimationPlayer" parent="."] autoplay = "anim" -anims/RESET = SubResource( 7 ) -anims/anim = SubResource( 8 ) +anims/RESET = SubResource( "7" ) +anims/anim = SubResource( "8" ) blend_times = [] script = null diff --git a/Game/Assets/Weapons/Handgun/Flash.tscn b/Game/Assets/Effects/MuzzleFlash.tscn similarity index 82% rename from Game/Assets/Weapons/Handgun/Flash.tscn rename to Game/Assets/Effects/MuzzleFlash.tscn index 78d7da3..f1c4a3c 100644 --- a/Game/Assets/Weapons/Handgun/Flash.tscn +++ b/Game/Assets/Effects/MuzzleFlash.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=12 format=2] +[gd_scene load_steps=12 format=3 uid="uid://ikiqohjvlqni"] -[ext_resource path="res://Assets/Effects/Flame.png" type="Texture2D" id=1] -[ext_resource path="res://Assets/Weapons/Handgun/Flash.gd" type="Script" id=2] +[ext_resource type="Script" path="res://Assets/Weapons/Handgun/Flash.gd" id="1_ob70b"] +[ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="2_1simy"] -[sub_resource type="Animation" id=1] +[sub_resource type="Animation" id="1"] length = 0.1 step = 0.025 tracks/0/type = "value" @@ -55,7 +55,7 @@ tracks/3/keys = { "values": [Color(1, 1, 1, 1), Color(1, 0.933333, 0.380392, 1), Color(1, 0.637428, 0.415262, 1), Color(0, 0, 0, 1)] } -[sub_resource type="Animation" id=2] +[sub_resource type="Animation" id="2"] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("MeshInstance3D:mesh:material:albedo_color") @@ -70,7 +70,7 @@ tracks/0/keys = { "values": [Color(0, 0, 0, 1)] } -[sub_resource type="Animation" id=3] +[sub_resource type="Animation" id="3"] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("MeshInstance3D:mesh:material:albedo_color") @@ -121,58 +121,58 @@ tracks/3/keys = { "values": [Color(1, 1, 1, 1)] } -[sub_resource type="StandardMaterial3D" id=4] +[sub_resource type="StandardMaterial3D" id="4"] blend_mode = 1 shading_mode = 0 albedo_color = Color(4, 2, 0.3, 1) -albedo_texture = ExtResource( 1 ) +albedo_texture = ExtResource( "2_1simy" ) uv1_scale = Vector3(0.25, 0.25, 0.25) uv1_offset = Vector3(0.25, 0.25, 0.25) uv1_triplanar = true proximity_fade_distance = 3.94 -[sub_resource type="SphereMesh" id=5] -material = SubResource( 4 ) +[sub_resource type="SphereMesh" id="5"] +material = SubResource( "4" ) radial_segments = 16 rings = 8 -[sub_resource type="StandardMaterial3D" id=6] +[sub_resource type="StandardMaterial3D" id="6"] blend_mode = 1 shading_mode = 0 vertex_color_use_as_albedo = true albedo_color = Color(3, 3, 3, 1) -albedo_texture = ExtResource( 1 ) +albedo_texture = ExtResource( "2_1simy" ) billboard_mode = 3 particles_anim_h_frames = 2 particles_anim_v_frames = 2 particles_anim_loop = false -[sub_resource type="QuadMesh" id=7] -material = SubResource( 6 ) +[sub_resource type="QuadMesh" id="7"] +material = SubResource( "6" ) size = Vector2(0.3, 0.3) -[sub_resource type="Curve" id=8] +[sub_resource type="Curve" id="8"] _data = [Vector2(0, 0), 0.0, 8.69697, 0, 0, Vector2(0.501742, 0.918182), -1.36667, -1.36667, 0, 0, Vector2(1, 0.0363636), -3.03219, 0.0, 0, 0] -[sub_resource type="Gradient" id=9] +[sub_resource type="Gradient" id="9"] offsets = PackedFloat32Array(0, 0.0568182, 0.454545, 0.746212, 1) colors = PackedColorArray(1, 1, 1, 1, 2, 1.7, 0.7, 1, 1, 0.682129, 0.34375, 1, 0.675781, 0.355111, 0.0976715, 1, 0, 0, 0, 1) [node name="Flash" type="Node3D"] -script = ExtResource( 2 ) +script = ExtResource( "1_ob70b" ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] autoplay = "Off" -anims/Flash = SubResource( 1 ) -anims/Off = SubResource( 2 ) -anims/RESET = SubResource( 3 ) +anims/Flash = SubResource( "1" ) +anims/Off = SubResource( "2" ) +anims/RESET = SubResource( "3" ) blend_times = [] script = null [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(-0.299894, 0, 0, 0, -0.119659, 0, 0, 0, -0.119659, -0.620616, 0.124179, 0) visible = false -mesh = SubResource( 5 ) +mesh = SubResource( "5" ) surface_material_override/0 = null script = null @@ -183,22 +183,18 @@ one_shot = true explosiveness = 1.0 lifetime_randomness = 0.2 fixed_fps = 120 -mesh = SubResource( 7 ) +mesh = SubResource( "7" ) particle_flag_rotate_y = true direction = Vector3(0, 1, 0) spread = 0.0 gravity = Vector3(0, 0, 0) -initial_velocity = 12.0 -initial_velocity_random = 0.9 -damping = 100.0 -angle = 360.0 -angle_random = 1.0 -scale_amount = 1.5 -scale_amount_random = 1.0 -scale_amount_curve = SubResource( 8 ) -color_ramp = SubResource( 9 ) -anim_offset = 1.0 -anim_offset_random = 1.0 +initial_velocity_min = 1.0 +initial_velocity_max = 10.0 +angle_min = -180.0 +angle_max = 180.0 +scale_amount_curve = SubResource( "8" ) +color_ramp = SubResource( "9" ) +anim_offset_max = 1.0 script = null [node name="Timer" type="Timer" parent="."] diff --git a/Game/Assets/Weapons/Handgun/Casing.gd b/Game/Assets/Weapons/Handgun/Casing.gd new file mode 100644 index 0000000..d8990b7 --- /dev/null +++ b/Game/Assets/Weapons/Handgun/Casing.gd @@ -0,0 +1,21 @@ +extends RigidBody3D + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass + + +func _on_Timer_timeout(): + queue_free() diff --git a/Game/Assets/Weapons/Weapon.gd b/Game/Assets/Weapons/Weapon.gd index bcbc76a..af0b5ee 100644 --- a/Game/Assets/Weapons/Weapon.gd +++ b/Game/Assets/Weapons/Weapon.gd @@ -7,7 +7,7 @@ extends Node3D @onready var muzzle = find_node("Muzzle") var casing = preload("res://Assets/Weapons/Handgun/Casing.tscn") -var flash = preload("res://Assets/Weapons/Handgun/Flash.tscn") +var flash = preload("res://Assets/Effects/MuzzleFlash.tscn") var impact_wall = preload("res://Assets/Effects/ImpactWall.tscn") var impact_player = preload("res://Assets/Effects/ImpactPlayer.tscn")