spider turret working
This commit is contained in:
Binary file not shown.
Binary file not shown.
BIN
assets/Models/spider1.gunbarrel.albedo.png
Normal file
BIN
assets/Models/spider1.gunbarrel.albedo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
35
assets/Models/spider1.gunbarrel.albedo.png.import
Normal file
35
assets/Models/spider1.gunbarrel.albedo.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://r7awur11yerj"
|
||||
path.s3tc="res://.godot/imported/spider1.gunbarrel.albedo.png-463a06da21a5a1fe75e603ecd68d425f.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Models/spider1.gunbarrel.albedo.png"
|
||||
dest_files=["res://.godot/imported/spider1.gunbarrel.albedo.png-463a06da21a5a1fe75e603ecd68d425f.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
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
|
||||
BIN
assets/Models/spider1.gunbarrel.roughness.png
Normal file
BIN
assets/Models/spider1.gunbarrel.roughness.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
35
assets/Models/spider1.gunbarrel.roughness.png.import
Normal file
35
assets/Models/spider1.gunbarrel.roughness.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c6u3lal4eaxo4"
|
||||
path.s3tc="res://.godot/imported/spider1.gunbarrel.roughness.png-3ccaca0b1d7543772161815b9859c649.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Models/spider1.gunbarrel.roughness.png"
|
||||
dest_files=["res://.godot/imported/spider1.gunbarrel.roughness.png-3ccaca0b1d7543772161815b9859c649.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
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
|
||||
BIN
assets/Models/spider1.turret.png
Normal file
BIN
assets/Models/spider1.turret.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
35
assets/Models/spider1.turret.png.import
Normal file
35
assets/Models/spider1.turret.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c54kwbix1mo58"
|
||||
path.s3tc="res://.godot/imported/spider1.turret.png-06b344ed81eb0dc03a8f9ff9378ca7b5.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Models/spider1.turret.png"
|
||||
dest_files=["res://.godot/imported/spider1.turret.png-06b344ed81eb0dc03a8f9ff9378ca7b5.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
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
|
||||
BIN
assets/Models/spider1.turret.roughness1.png
Normal file
BIN
assets/Models/spider1.turret.roughness1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 65 KiB |
35
assets/Models/spider1.turret.roughness1.png.import
Normal file
35
assets/Models/spider1.turret.roughness1.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cvi0upsh0e1mu"
|
||||
path.s3tc="res://.godot/imported/spider1.turret.roughness1.png-3c987d81223ffe03d186e0027646996a.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Models/spider1.turret.roughness1.png"
|
||||
dest_files=["res://.godot/imported/spider1.turret.roughness1.png-3c987d81223ffe03d186e0027646996a.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
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
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
124
assets/bullet_enemy.tscn
Normal file
124
assets/bullet_enemy.tscn
Normal file
File diff suppressed because one or more lines are too long
@@ -740,13 +740,12 @@ points = PackedVector3Array(0.930093, 0.100662, 0.798251, 0.930093, -0.0820646,
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_87tum"]
|
||||
radius = 1.26183
|
||||
|
||||
[node name="pistol1_pickup" type="RigidBody3D" node_paths=PackedStringArray("collision_shape") groups=["pickup"]]
|
||||
[node name="pistol1_pickup" type="RigidBody3D" groups=["pickup"]]
|
||||
collision_layer = 4
|
||||
collision_mask = 6
|
||||
script = ExtResource("1_8fbqg")
|
||||
gun_resource = ExtResource("2_qbywk")
|
||||
pickupType = "weapon"
|
||||
collision_shape = NodePath("")
|
||||
|
||||
[node name="revolver1" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1.086e-06, 0.3, 0, -0.3, -1.086e-06, 0, 0, 0, 0.3, 0, 0, -0.073)
|
||||
|
||||
622
assets/spi7398.tmp
Normal file
622
assets/spi7398.tmp
Normal file
File diff suppressed because one or more lines are too long
622
assets/spiC52F.tmp
Normal file
622
assets/spiC52F.tmp
Normal file
File diff suppressed because one or more lines are too long
@@ -434,7 +434,7 @@ mesh = SubResource("ArrayMesh_exipw")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="leg1" type="MeshInstance3D" parent="body"]
|
||||
transform = Transform3D(0.700373, 0.712705, 0.0390842, -0.71325, 0.700909, 0, -0.0273945, -0.0278769, 0.999234, -0.305074, -0.206463, 0.323723)
|
||||
transform = Transform3D(0.699737, 0.712058, 0.0578054, -0.71325, 0.700909, 0, -0.0405164, -0.0412298, 0.998326, -0.305074, -0.206463, 0.323723)
|
||||
mesh = SubResource("ArrayMesh_cwwo8")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@@ -444,7 +444,7 @@ mesh = SubResource("ArrayMesh_epfun")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="leg2" type="MeshInstance3D" parent="body"]
|
||||
transform = Transform3D(-0.552519, -0.561973, 0.615555, -0.713078, 0.701084, 1.13895e-08, -0.431555, -0.438939, -0.788094, 0.318604, -0.206463, 0.321527)
|
||||
transform = Transform3D(-0.560365, -0.56996, 0.600945, -0.713082, 0.70108, 1.11034e-08, -0.42131, -0.428524, -0.79929, 0.318604, -0.206463, 0.321527)
|
||||
mesh = SubResource("ArrayMesh_j8pcb")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@@ -454,7 +454,7 @@ mesh = SubResource("ArrayMesh_vgp1v")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="leg3" type="MeshInstance3D" parent="body"]
|
||||
transform = Transform3D(0.700373, 0.712705, -0.0390842, -0.71325, 0.700909, 0, 0.0273945, 0.0278769, 0.999234, -0.327034, -0.206463, -0.315327)
|
||||
transform = Transform3D(0.699737, 0.712058, -0.0578054, -0.71325, 0.700909, 0, 0.0405164, 0.0412298, 0.998326, -0.327034, -0.206463, -0.315327)
|
||||
mesh = SubResource("ArrayMesh_wv2l2")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@@ -464,7 +464,7 @@ mesh = SubResource("ArrayMesh_375ql")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="leg4" type="MeshInstance3D" parent="body"]
|
||||
transform = Transform3D(-0.522986, -0.531933, -0.665982, -0.713079, 0.701084, -1.67143e-07, 0.46691, 0.474898, -0.745967, 0.351545, -0.206463, -0.339484)
|
||||
transform = Transform3D(-0.531641, -0.540743, -0.651885, -0.713083, 0.701079, -1.62945e-07, 0.457024, 0.464848, -0.758317, 0.351545, -0.206463, -0.339484)
|
||||
mesh = SubResource("ArrayMesh_v81tc")
|
||||
skeleton = NodePath("")
|
||||
|
||||
|
||||
694
assets/spider2.tscn
Normal file
694
assets/spider2.tscn
Normal file
File diff suppressed because one or more lines are too long
@@ -1,5 +0,0 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://djr7vnr1hcx82"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://be3x56aehx4ks" path="res://assets/Models/spider.blend" id="1_unav8"]
|
||||
|
||||
[node name="spider" instance=ExtResource("1_unav8")]
|
||||
@@ -13,7 +13,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://2e4u0u863u76" path="res://assets/Models/wall1.normal.png" id="8_t2cyl"]
|
||||
[ext_resource type="LightmapGIData" uid="uid://b0e5ldaodkehl" path="res://scenes/test_level_1.lmbake" id="9_gegfi"]
|
||||
[ext_resource type="PackedScene" uid="uid://dws2vwfxubqvb" path="res://assets/cannon.tscn" id="10_vlhfm"]
|
||||
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spiderTEst.tscn" id="11_32b02"]
|
||||
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="11_32b02"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_okijo"]
|
||||
sky_top_color = Color(0.330898, 0.116786, 0.397326, 1)
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
[ext_resource type="Texture2D" uid="uid://dqs06ic3vjtwk" path="res://assets/Models/asphalt1.albedo.jpg" id="1_w4rag"]
|
||||
[ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_6rjit"]
|
||||
[ext_resource type="PackedScene" uid="uid://drwae3loscbw7" path="res://assets/player.tscn" id="2_f87c2"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1j6ktsmxfq6e" path="res://assets/spider.tscn" id="3_cvvjo"]
|
||||
[ext_resource type="PackedScene" uid="uid://20csd6dmwj4y" path="res://assets/jump_platform.tscn" id="4_8nxyr"]
|
||||
[ext_resource type="PackedScene" uid="uid://dws2vwfxubqvb" path="res://assets/cannon.tscn" id="5_28rul"]
|
||||
[ext_resource type="PackedScene" uid="uid://bpkmyd3wvqi5p" path="res://assets/boombox.tscn" id="6_xrg7k"]
|
||||
[ext_resource type="AudioStream" uid="uid://jo4n05go5hdt" path="res://assets/Audio/train-pass-by-steady-loop-SBA-300156766.wav" id="7_00j8j"]
|
||||
[ext_resource type="PackedScene" uid="uid://cnfc8rtk6l1d8" path="res://assets/crate1.tscn" id="8_b57j8"]
|
||||
[ext_resource type="PackedScene" uid="uid://djr7vnr1hcx82" path="res://assets/spider2.tscn" id="12_12jy2"]
|
||||
[ext_resource type="PackedScene" uid="uid://c7vrpfdh603kr" path="res://assets/bottle_1.tscn" id="15_3iv0j"]
|
||||
[ext_resource type="PackedScene" uid="uid://c6bpysq1tjhy4" path="res://vendingmahcine.tscn" id="16_4ykdi"]
|
||||
|
||||
@@ -543,58 +543,6 @@ transform = Transform3D(1, -1.46935e-11, -1.17288e-08, 1.4694e-11, 1, 4.69154e-0
|
||||
size = Vector3(270.04, 33.5112, 117.306)
|
||||
data = SubResource("VoxelGIData_dnr4q")
|
||||
|
||||
[node name="spider" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 78.0456, 0.0437912, 31.6849)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider2" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 79.1945, 0.0437912, 29.5017)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider3" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80.528, 0.0437912, 31.5168)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider4" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 81.744, 0.0437912, 29.6256)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider5" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 82.6323, 0.0437912, 26.982)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider6" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80.7817, 0.0437912, 26.2449)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider7" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 80.0795, 0.0437912, 24.188)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider8" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 78.6007, 0.0437912, 26.0594)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider9" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 77.2912, 0.0437912, 28.1668)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider10" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 76.4768, 0.0437912, 29.9052)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider11" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 74.5032, 0.0437912, 33.7708)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider12" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 79.8792, 0.0437912, 34.7621)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="spider13" parent="." instance=ExtResource("3_cvvjo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.8722, 20.4355, 41.2365)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
[node name="JumpPlatform" parent="." instance=ExtResource("4_8nxyr")]
|
||||
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -16.6413, -0.228642, 25.8801)
|
||||
jump_amount = 30
|
||||
@@ -659,3 +607,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.69462, 1.16757, 11.2398)
|
||||
|
||||
[node name="vendingmahcine" parent="." instance=ExtResource("16_4ykdi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.7, 0.124041, 7.5267)
|
||||
|
||||
[node name="spider" parent="." instance=ExtResource("12_12jy2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5942, -0.228641, 21.7229)
|
||||
player_path = NodePath("../Player")
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
extends AnimatableBody3D
|
||||
|
||||
|
||||
const SPEED = 30.0
|
||||
|
||||
@onready var mesh = $MeshInstance3D
|
||||
@onready var ray = $RayCast3D
|
||||
@onready var particles = $GPUParticles3D
|
||||
|
||||
# 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):
|
||||
|
||||
|
||||
position += transform.basis * Vector3(0, 0, -SPEED) * delta
|
||||
|
||||
|
||||
func _on_timer_timeout():
|
||||
queue_free()
|
||||
43
scripts/bullet_enemy.gd
Normal file
43
scripts/bullet_enemy.gd
Normal file
@@ -0,0 +1,43 @@
|
||||
extends Node3D
|
||||
|
||||
var bullet_speed
|
||||
var bullet_drop
|
||||
var random_spread_amt
|
||||
var bullet_damage
|
||||
var instance_bullethole
|
||||
var bullet_force_mod = 1.0
|
||||
var distance_from_player
|
||||
var player
|
||||
|
||||
@onready var mesh = $gunbullet1
|
||||
@onready var ray = $RayCast3D
|
||||
@onready var particles = $GPUParticles3D
|
||||
@onready var enemy_particles = $GPUParticlesEnemy
|
||||
@onready var timer = $Timer
|
||||
@onready var gunbullet1 = $gunbullet1/Cylinder
|
||||
@onready var hit_indicator = $Audio/HitIndicator
|
||||
|
||||
|
||||
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var av_x
|
||||
var av_y
|
||||
var av_z
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
|
||||
#apply random rotation
|
||||
av_x = deg_to_rad(rng.randf_range(-random_spread_amt,random_spread_amt))
|
||||
av_y = deg_to_rad(rng.randf_range(-random_spread_amt,random_spread_amt))
|
||||
av_z = deg_to_rad(rng.randf_range(-random_spread_amt,random_spread_amt))
|
||||
rotation += Vector3(av_x,av_y,av_z)
|
||||
timer.start()
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
position += transform.basis * Vector3(0, 0, -bullet_speed) * delta
|
||||
rotation.x = clamp(rotation.x - delta * bullet_drop,deg_to_rad(-90),deg_to_rad(90))
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
extends Node3D
|
||||
|
||||
var bullet_speed
|
||||
var bullet_drop
|
||||
var random_spread_amt
|
||||
var bullet_damage
|
||||
|
||||
@onready var mesh = $gunbullet1
|
||||
@onready var timer = $Timer
|
||||
@onready var gunbullet1 = $gunbullet1/Cylinder
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
position += transform.basis * Vector3(0, 0, -bullet_speed) * delta
|
||||
rotation.x = clamp(rotation.x - delta * bullet_drop,deg_to_rad(-90),deg_to_rad(90))
|
||||
|
||||
await get_tree().create_timer(.01).timeout
|
||||
queue_free()
|
||||
@@ -183,12 +183,14 @@ func _physics_process(delta):
|
||||
|
||||
#Weapon Swap Up
|
||||
if Input.is_action_just_pressed("scroll_up") and !gun.anim_player.is_playing():
|
||||
gun.anim_player.play("swap_out")
|
||||
level_control.gun_spawn(level_control.current_gun_index + 1)
|
||||
if level_control.held_guns.size() > 1:
|
||||
gun.anim_player.play("swap_out")
|
||||
level_control.gun_spawn(level_control.current_gun_index + 1)
|
||||
#Weapon Swap Down
|
||||
if Input.is_action_just_pressed("scroll_down") and !gun.anim_player.is_playing():
|
||||
gun.anim_player.play("swap_out")
|
||||
level_control.gun_spawn(level_control.current_gun_index - 1)
|
||||
if level_control.held_guns.size() > 1:
|
||||
gun.anim_player.play("swap_out")
|
||||
level_control.gun_spawn(level_control.current_gun_index - 1)
|
||||
|
||||
|
||||
#interact button
|
||||
|
||||
@@ -4,27 +4,50 @@ var player = null
|
||||
@export var health = 3
|
||||
@export var number_of_drops = 3
|
||||
|
||||
const SPEED = 3.0
|
||||
const SPEED = 0.0
|
||||
const MAX_LV = 10
|
||||
const MAX_AV = 10
|
||||
|
||||
@export var player_path : NodePath
|
||||
@export var bullet : Resource
|
||||
@export var bullet_speed = 150
|
||||
@export var bullet_drop = .1
|
||||
@export var random_spread_amt = .01
|
||||
@export var bullet_damage = 1
|
||||
@export var turret_look_speed = 3
|
||||
|
||||
@onready var nav_agent = $NavigationAgent3D
|
||||
@onready var target = $body/target
|
||||
@onready var movement_shape = $MovementShape
|
||||
@onready var barrel_1 = $TurretLook/Turret/Barrel1
|
||||
@onready var barrel_2 = $TurretLook/Turret/Barrel2
|
||||
@onready var prefire_timer = $Timers/prefire_timer
|
||||
@onready var postfire_timer = $Timers/postfire_timer
|
||||
@onready var retarget_timer = $Timers/retarget_timer
|
||||
@onready var turret_look_next = $TurretLookNext
|
||||
@onready var spider_look_next = $SpiderLookNext
|
||||
|
||||
|
||||
@onready var turret = $TurretLook/Turret
|
||||
@onready var turret_material = turret.mesh.surface_get_material(2)
|
||||
|
||||
var stamina = load("res://assets/stamina_pickup.tscn")
|
||||
var ammo = load("res://assets/ammo_pickup.tscn")
|
||||
var money = load("res://assets/money_1.tscn")
|
||||
var die_particles = load("res://assets/die_particles.tscn")
|
||||
@onready var turret_look = $TurretLook
|
||||
|
||||
var particlespawn
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var rand_select
|
||||
var rand_item
|
||||
var body_look_to
|
||||
|
||||
func _ready():
|
||||
player = get_node(player_path)
|
||||
postfire_timer.start()
|
||||
turret_material.emission_enabled = false
|
||||
retarget_timer.start()
|
||||
|
||||
func _process(delta):
|
||||
velocity = Vector3.ZERO
|
||||
@@ -34,8 +57,10 @@ func _process(delta):
|
||||
var next_nav_point = nav_agent.get_next_path_position()
|
||||
velocity = (next_nav_point - global_transform.origin).normalized() * SPEED
|
||||
|
||||
turret_look_next.look_at(Vector3(player.global_position.x, global_position.y, player.global_position.z), Vector3.UP)
|
||||
turret_look_next.look_at(player.global_position,Vector3.UP)
|
||||
turret_look.rotation = lerp(turret_look.rotation,turret_look_next.rotation,delta * turret_look_speed)
|
||||
|
||||
look_at(Vector3(player.global_position.x, global_position.y, player.global_position.z), Vector3.UP)
|
||||
|
||||
move_and_slide()
|
||||
|
||||
@@ -77,3 +102,38 @@ func _on_area_3d_body_part_hit(dam,bullet_damage):
|
||||
number_of_drops -= 1
|
||||
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_prefire_timer_timeout():
|
||||
#barrel 1 fire
|
||||
var instance_bullet = bullet.instantiate()
|
||||
instance_bullet.position = barrel_1.global_position
|
||||
instance_bullet.transform.basis = barrel_1.global_transform.basis
|
||||
instance_bullet.bullet_speed = bullet_speed
|
||||
instance_bullet.bullet_drop = bullet_drop
|
||||
instance_bullet.random_spread_amt = random_spread_amt
|
||||
instance_bullet.bullet_damage = bullet_damage
|
||||
get_tree().get_root().add_child(instance_bullet)
|
||||
|
||||
#barrel 2 fire
|
||||
var instance_bullet2 = bullet.instantiate()
|
||||
instance_bullet2.position = barrel_2.global_position
|
||||
instance_bullet2.transform.basis = barrel_2.global_transform.basis
|
||||
instance_bullet2.bullet_speed = bullet_speed
|
||||
instance_bullet2.bullet_drop = bullet_drop
|
||||
instance_bullet2.random_spread_amt = random_spread_amt
|
||||
instance_bullet2.bullet_damage = bullet_damage
|
||||
get_tree().get_root().add_child(instance_bullet2)
|
||||
turret_material.emission_enabled = false
|
||||
prefire_timer.stop()
|
||||
postfire_timer.start()
|
||||
|
||||
|
||||
func _on_postfire_timer_timeout():
|
||||
#if turret_look.is_colliding() and turret_look.get_collider().is_in_group("player"):
|
||||
prefire_timer.start()
|
||||
turret_material.emission_enabled = true
|
||||
|
||||
|
||||
func _on_retarget_timer_timeout():
|
||||
pass #turret_look_next.look_at(player.global_position,Vector3.UP)
|
||||
|
||||
@@ -82,7 +82,7 @@ tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0.2, 2.3, 2.8),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-0.0237292, 1.94229, 0.717401), Vector3(-0.0161762, 1.94229, 0.955517), Vector3(-0.0161762, 0.355468, 0.955517)]
|
||||
"values": [Vector3(-0.0237292, 1.94229, 0.717401), Vector3(-0.0161762, 1.94229, 0.955517), Vector3(-0.016, 0.53, 0.956)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
|
||||
Reference in New Issue
Block a user