blergh
This commit is contained in:
16
player/weapons/minigun/minigun.tres
Normal file
16
player/weapons/minigun/minigun.tres
Normal file
@@ -0,0 +1,16 @@
|
||||
[gd_resource type="Resource" script_class="Weapon" load_steps=5 format=3 uid="uid://cju6axrqorits"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://serk58t3v1t3" path="res://player/weapons/minigun/minigun_projectile.tscn" id="1_bckir"]
|
||||
[ext_resource type="Script" path="res://player/weapons/weapon.gd" id="1_yyole"]
|
||||
[ext_resource type="AudioStream" uid="uid://dl17wjco1lk1w" path="res://player/weapons/minigun/pistol-shot.ogg" id="3_j6kkp"]
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_yqqtq"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("3_j6kkp")
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_yyole")
|
||||
cooldown = 0.11
|
||||
projectile_scene = ExtResource("1_bckir")
|
||||
shooting_sound = SubResource("AudioStreamRandomizer_yqqtq")
|
||||
43
player/weapons/minigun/minigun_projectile.tscn
Normal file
43
player/weapons/minigun/minigun_projectile.tscn
Normal file
@@ -0,0 +1,43 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://serk58t3v1t3"]
|
||||
|
||||
[ext_resource type="Script" path="res://components/projectile.gd" id="1_a3wmo"]
|
||||
[ext_resource type="Script" path="res://components/projectile_mover_linear.gd" id="2_ruvri"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ulfb8"]
|
||||
radius = 0.1
|
||||
height = 0.5
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ql67j"]
|
||||
albedo_color = Color(1, 1, 0.427451, 1)
|
||||
emission_enabled = true
|
||||
emission = Color(1, 1, 0, 1)
|
||||
emission_energy_multiplier = 29.45
|
||||
disable_receive_shadows = true
|
||||
|
||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_3h1yl"]
|
||||
material = SubResource("StandardMaterial3D_ql67j")
|
||||
radius = 0.02
|
||||
height = 0.9
|
||||
|
||||
[node name="MinigunProjectile" type="CharacterBody3D"]
|
||||
collision_layer = 16
|
||||
collision_mask = 33
|
||||
motion_mode = 1
|
||||
safe_margin = 0.01
|
||||
script = ExtResource("1_a3wmo")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1.91069e-15, -4.37114e-08, 1, -1, -4.37114e-08, 0, 4.37114e-08, -1, -4.37114e-08, 0, 0, 0)
|
||||
shape = SubResource("CapsuleShape3D_ulfb8")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1.91069e-15, -4.37114e-08, 1, -1, -4.37114e-08, 0, 4.37114e-08, -1, -4.37114e-08, 0, 0, -0.5)
|
||||
gi_mode = 0
|
||||
mesh = SubResource("CapsuleMesh_3h1yl")
|
||||
|
||||
[node name="ProjectileMoverLinear" type="Node3D" parent="."]
|
||||
script = ExtResource("2_ruvri")
|
||||
speed = 50.0
|
||||
|
||||
[connection signal="collided" from="." to="CollisionShape3D" method="free"]
|
||||
[connection signal="collided" from="." to="MeshInstance3D" method="free"]
|
||||
BIN
player/weapons/minigun/pistol-shot.ogg
Normal file
BIN
player/weapons/minigun/pistol-shot.ogg
Normal file
Binary file not shown.
19
player/weapons/minigun/pistol-shot.ogg.import
Normal file
19
player/weapons/minigun/pistol-shot.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dl17wjco1lk1w"
|
||||
path="res://.godot/imported/pistol-shot.ogg-16d3d3f42751f44728a3f16f89fe2fda.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/weapons/minigun/pistol-shot.ogg"
|
||||
dest_files=["res://.godot/imported/pistol-shot.ogg-16d3d3f42751f44728a3f16f89fe2fda.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
player/weapons/minigun/pistol-shot2.ogg
Normal file
BIN
player/weapons/minigun/pistol-shot2.ogg
Normal file
Binary file not shown.
19
player/weapons/minigun/pistol-shot2.ogg.import
Normal file
19
player/weapons/minigun/pistol-shot2.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bvfof3p2pc6pi"
|
||||
path="res://.godot/imported/pistol-shot2.ogg-7aaa1cc2e0d5ccf082c461359363e4c2.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/weapons/minigun/pistol-shot2.ogg"
|
||||
dest_files=["res://.godot/imported/pistol-shot2.ogg-7aaa1cc2e0d5ccf082c461359363e4c2.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
player/weapons/missile/521377__jarusca__rocket-launch.mp3
Normal file
BIN
player/weapons/missile/521377__jarusca__rocket-launch.mp3
Normal file
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://cwcxm1vnmhqgy"
|
||||
path="res://.godot/imported/521377__jarusca__rocket-launch.mp3-28b843d7fc5c02e3d9f9c7975beb70f2.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/weapons/missile/521377__jarusca__rocket-launch.mp3"
|
||||
dest_files=["res://.godot/imported/521377__jarusca__rocket-launch.mp3-28b843d7fc5c02e3d9f9c7975beb70f2.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
1
player/weapons/missile/missile.gltf
Normal file
1
player/weapons/missile/missile.gltf
Normal file
File diff suppressed because one or more lines are too long
36
player/weapons/missile/missile.gltf.import
Normal file
36
player/weapons/missile/missile.gltf.import
Normal file
@@ -0,0 +1,36 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://bqay3fxs1k6sp"
|
||||
path="res://.godot/imported/missile.gltf-6bab6d4a8dd1945d856a530ffc07feef.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/weapons/missile/missile.gltf"
|
||||
dest_files=["res://.godot/imported/missile.gltf-6bab6d4a8dd1945d856a530ffc07feef.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=1
|
||||
gltf/embedded_image_handling=1
|
||||
BIN
player/weapons/missile/missile_0.png
Normal file
BIN
player/weapons/missile/missile_0.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
37
player/weapons/missile/missile_0.png.import
Normal file
37
player/weapons/missile/missile_0.png.import
Normal file
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b7q86tkq14pit"
|
||||
path="res://.godot/imported/missile_0.png-de674653dde5e5e229b57f50e2c8618b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "09a6bb5c3d9a97925d2749080ba5462c"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/weapons/missile/missile_0.png"
|
||||
dest_files=["res://.godot/imported/missile_0.png-de674653dde5e5e229b57f50e2c8618b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=3
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
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=0
|
||||
7
player/weapons/missile/missile_explosion.gd
Normal file
7
player/weapons/missile/missile_explosion.gd
Normal file
@@ -0,0 +1,7 @@
|
||||
extends Area3D
|
||||
class_name ExplosionHurtbox
|
||||
|
||||
@export var damage : float = 100
|
||||
|
||||
func _ready() -> void:
|
||||
get_tree().create_timer(1).timeout.connect(free)
|
||||
32
player/weapons/missile/missile_explosion.tscn
Normal file
32
player/weapons/missile/missile_explosion.tscn
Normal file
@@ -0,0 +1,32 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://io6bdbtldghr"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://5q0aw58r81vp" path="res://effects/explosion.tscn" id="1_4yikv"]
|
||||
[ext_resource type="Script" path="res://player/weapons/missile/missile_explosion.gd" id="1_86e7n"]
|
||||
[ext_resource type="AudioStream" uid="uid://dk8hjcoex7mf7" path="res://player/weapons/missile/rocket_explosion.ogg" id="2_j0itb"]
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_i3qfr"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 1
|
||||
stream_0/stream = ExtResource("2_j0itb")
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_eovnm"]
|
||||
radius = 1.0
|
||||
|
||||
[node name="Missile Explosion" type="Area3D"]
|
||||
collision_layer = 16
|
||||
collision_mask = 32
|
||||
script = ExtResource("1_86e7n")
|
||||
|
||||
[node name="Explosion" parent="." instance=ExtResource("1_4yikv")]
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = SubResource("AudioStreamRandomizer_i3qfr")
|
||||
volume_db = -10.0
|
||||
autoplay = true
|
||||
max_polyphony = 2
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("SphereShape3D_eovnm")
|
||||
|
||||
[connection signal="ready" from="." to="Explosion" method="play"]
|
||||
11
player/weapons/missile/missile_launcher.tres
Normal file
11
player/weapons/missile/missile_launcher.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="Weapon" load_steps=4 format=3 uid="uid://c0u1d6xstrjm1"]
|
||||
|
||||
[ext_resource type="Script" path="res://player/weapons/weapon.gd" id="1_648gg"]
|
||||
[ext_resource type="PackedScene" uid="uid://mxk40hn15e7b" path="res://player/weapons/missile/missile_projectile.tscn" id="1_cx4ji"]
|
||||
[ext_resource type="AudioStream" uid="uid://cwcxm1vnmhqgy" path="res://player/weapons/missile/521377__jarusca__rocket-launch.mp3" id="3_t42m8"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_648gg")
|
||||
cooldown = 1.0
|
||||
projectile_scene = ExtResource("1_cx4ji")
|
||||
shooting_sound = ExtResource("3_t42m8")
|
||||
109
player/weapons/missile/missile_projectile.tscn
Normal file
109
player/weapons/missile/missile_projectile.tscn
Normal file
@@ -0,0 +1,109 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://mxk40hn15e7b"]
|
||||
|
||||
[ext_resource type="Script" path="res://components/projectile.gd" id="1_ryiqa"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqay3fxs1k6sp" path="res://player/weapons/missile/missile.gltf" id="1_t253x"]
|
||||
[ext_resource type="PackedScene" uid="uid://io6bdbtldghr" path="res://player/weapons/missile/missile_explosion.tscn" id="2_ebqxf"]
|
||||
[ext_resource type="Texture2D" uid="uid://dg28fd1gyn80b" path="res://effects/flare_01.png" id="3_0uwxb"]
|
||||
[ext_resource type="Script" path="res://player/weapons/projectile_mover_accelerating.gd" id="3_pfhta"]
|
||||
[ext_resource type="Texture2D" uid="uid://drr1nogesyvkd" path="res://effects/smoke_02.png" id="3_wdx4k"]
|
||||
[ext_resource type="Script" path="res://player/weapons/rotator.gd" id="4_xb122"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vroln"]
|
||||
transparency = 1
|
||||
blend_mode = 1
|
||||
cull_mode = 2
|
||||
shading_mode = 0
|
||||
albedo_color = Color(1, 1, 0.584314, 1)
|
||||
albedo_texture = ExtResource("3_0uwxb")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_4cw2w"]
|
||||
material = SubResource("StandardMaterial3D_vroln")
|
||||
size = Vector2(2, 2)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_jpo1o"]
|
||||
points = PackedVector3Array(0.176777, -3.46154e-05, 0.583333, -3.46154e-05, 0.176777, 0.583333, -3.46154e-05, -0.176777, 0.583333, -3.46154e-05, -0.14556, -0.416691, 0.145491, -3.46154e-05, -0.416691, -0.176777, -3.46154e-05, 0.583333, -3.46154e-05, 0.145491, -0.416691, -0.14556, -3.46154e-05, -0.416691, -3.46154e-05, -3.46154e-05, -0.666667)
|
||||
|
||||
[sub_resource type="Curve" id="Curve_b3xkm"]
|
||||
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_j0204"]
|
||||
curve = SubResource("Curve_b3xkm")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_tsk6x"]
|
||||
offsets = PackedFloat32Array(0, 0.0592287, 0.110193, 0.219008, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0, 1, 0.658824, 0.145098, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_iyvb1"]
|
||||
gradient = SubResource("Gradient_tsk6x")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_4sd1h"]
|
||||
_data = [Vector2(0, 0.953748), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_v2271"]
|
||||
curve = SubResource("Curve_4sd1h")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_0u7ib"]
|
||||
angle_min = 1.07288e-05
|
||||
angle_max = 360.0
|
||||
gravity = Vector3(0, 5, 0)
|
||||
scale_curve = SubResource("CurveTexture_v2271")
|
||||
color_ramp = SubResource("GradientTexture1D_iyvb1")
|
||||
alpha_curve = SubResource("CurveTexture_j0204")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k6aoy"]
|
||||
transparency = 1
|
||||
shading_mode = 0
|
||||
vertex_color_use_as_albedo = true
|
||||
albedo_texture = ExtResource("3_wdx4k")
|
||||
billboard_mode = 3
|
||||
billboard_keep_scale = true
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = false
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_oj824"]
|
||||
material = SubResource("StandardMaterial3D_k6aoy")
|
||||
|
||||
[node name="Missile Projectile" type="CharacterBody3D"]
|
||||
collision_layer = 16
|
||||
collision_mask = 33
|
||||
script = ExtResource("1_ryiqa")
|
||||
collsion_scene = ExtResource("2_ebqxf")
|
||||
|
||||
[node name="blockbench_export" parent="." instance=ExtResource("1_t253x")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.297032, 0)
|
||||
|
||||
[node name="cuboid" parent="blockbench_export/Node" index="0"]
|
||||
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="blockbench_export"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0669867, 0.195827)
|
||||
mesh = SubResource("QuadMesh_4cw2w")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, -0.297032, 0)
|
||||
shape = SubResource("ConvexPolygonShape3D_jpo1o")
|
||||
|
||||
[node name="ProjectileMoverAccelerating" type="Node3D" parent="."]
|
||||
script = ExtResource("3_pfhta")
|
||||
initial_speed = 15.0
|
||||
acceleration = 15.0
|
||||
|
||||
[node name="Rotator" type="Node3D" parent="."]
|
||||
script = ExtResource("4_xb122")
|
||||
|
||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="."]
|
||||
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, -0.297032, 0.2)
|
||||
amount = 16
|
||||
lifetime = 0.5
|
||||
process_material = SubResource("ParticleProcessMaterial_0u7ib")
|
||||
draw_pass_1 = SubResource("QuadMesh_oj824")
|
||||
|
||||
[connection signal="collided" from="." to="CollisionShape3D" method="free"]
|
||||
[connection signal="collided" from="." to="blockbench_export" method="set_visible" binds= [false]]
|
||||
[connection signal="collided" from="." to="GPUParticles3D" method="set_emitting" binds= [false]]
|
||||
|
||||
[editable path="blockbench_export"]
|
||||
BIN
player/weapons/missile/rocket_explosion.ogg
Normal file
BIN
player/weapons/missile/rocket_explosion.ogg
Normal file
Binary file not shown.
19
player/weapons/missile/rocket_explosion.ogg.import
Normal file
19
player/weapons/missile/rocket_explosion.ogg.import
Normal file
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dk8hjcoex7mf7"
|
||||
path="res://.godot/imported/rocket_explosion.ogg-d3aa97a90ce5c30c80514745c8d697b9.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://player/weapons/missile/rocket_explosion.ogg"
|
||||
dest_files=["res://.godot/imported/rocket_explosion.ogg-d3aa97a90ce5c30c80514745c8d697b9.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
16
player/weapons/projectile_mover_accelerating.gd
Normal file
16
player/weapons/projectile_mover_accelerating.gd
Normal file
@@ -0,0 +1,16 @@
|
||||
extends Node3D
|
||||
|
||||
@export var initial_speed : float
|
||||
@export var acceleration : float
|
||||
|
||||
@onready var current_velocity : float = initial_speed
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var dir = -get_parent().transform.basis.z
|
||||
current_velocity = current_velocity + (acceleration * delta)
|
||||
get_parent().velocity = current_velocity * dir
|
||||
|
||||
if get_parent().move_and_slide():
|
||||
get_parent().projectile_collision()
|
||||
queue_free()
|
||||
|
||||
6
player/weapons/rotator.gd
Normal file
6
player/weapons/rotator.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends Node3D
|
||||
|
||||
@export var rotation_speed := 15
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
get_parent().rotation.z += delta*rotation_speed
|
||||
6
player/weapons/weapon.gd
Normal file
6
player/weapons/weapon.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends Resource
|
||||
class_name Weapon
|
||||
|
||||
@export var cooldown : float = .1
|
||||
@export var projectile_scene : PackedScene
|
||||
@export var shooting_sound: AudioStream
|
||||
Reference in New Issue
Block a user