Started work and initial commit
This commit is contained in:
BIN
assets/Models/lowPolyCar.blend
Normal file
BIN
assets/Models/lowPolyCar.blend
Normal file
Binary file not shown.
51
assets/Models/lowPolyCar.blend.import
Normal file
51
assets/Models/lowPolyCar.blend.import
Normal file
@@ -0,0 +1,51 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://c5ido0gyuay0r"
|
||||
path="res://.godot/imported/lowPolyCar.blend-a8e37b138dadfe5058f34916561ad6e5.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Models/lowPolyCar.blend"
|
||||
dest_files=["res://.godot/imported/lowPolyCar.blend-a8e37b138dadfe5058f34916561ad6e5.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={}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
BIN
assets/Models/lowPolyCar.blend1
Normal file
BIN
assets/Models/lowPolyCar.blend1
Normal file
Binary file not shown.
BIN
assets/Models/textures/blouberg_sunrise_1_1k.hdr
Normal file
BIN
assets/Models/textures/blouberg_sunrise_1_1k.hdr
Normal file
Binary file not shown.
34
assets/Models/textures/blouberg_sunrise_1_1k.hdr.import
Normal file
34
assets/Models/textures/blouberg_sunrise_1_1k.hdr.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://1sboxlbi4k3i"
|
||||
path="res://.godot/imported/blouberg_sunrise_1_1k.hdr-1c354a68090bf4ee79399aa1726f52cc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Models/textures/blouberg_sunrise_1_1k.hdr"
|
||||
dest_files=["res://.godot/imported/blouberg_sunrise_1_1k.hdr-1c354a68090bf4ee79399aa1726f52cc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
assets/Models/textures/other Metallic.png
Normal file
BIN
assets/Models/textures/other Metallic.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 122 B |
35
assets/Models/textures/other Metallic.png.import
Normal file
35
assets/Models/textures/other Metallic.png.import
Normal file
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cgug8xja66q7b"
|
||||
path.s3tc="res://.godot/imported/other Metallic.png-87ed03d09ac75caa3725dd2bc1ace9d0.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Models/textures/other Metallic.png"
|
||||
dest_files=["res://.godot/imported/other Metallic.png-87ed03d09ac75caa3725dd2bc1ace9d0.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/textures/other_albedo.png
Normal file
BIN
assets/Models/textures/other_albedo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 136 B |
34
assets/Models/textures/other_albedo.png.import
Normal file
34
assets/Models/textures/other_albedo.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://chncmoj6bqfr7"
|
||||
path="res://.godot/imported/other_albedo.png-89e16fd84056f9d53ebfff8eedf6c2a7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/Models/textures/other_albedo.png"
|
||||
dest_files=["res://.godot/imported/other_albedo.png-89e16fd84056f9d53ebfff8eedf6c2a7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
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/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
|
||||
File diff suppressed because one or more lines are too long
5
assets/low_poly_car.tscn
Normal file
5
assets/low_poly_car.tscn
Normal file
@@ -0,0 +1,5 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dfi7s3q1x2m3p"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c5ido0gyuay0r" path="res://assets/Models/lowPolyCar.blend" id="1_cojy6"]
|
||||
|
||||
[node name="lowPolyCar" instance=ExtResource("1_cojy6")]
|
||||
@@ -53,7 +53,7 @@ shadow_mesh = SubResource("ArrayMesh_a34o4")
|
||||
size = Vector3(0.152, 0.867395, 0.075)
|
||||
|
||||
[node name="Mag1" type="RigidBody3D" groups=["spawned"]]
|
||||
collision_layer = 0
|
||||
collision_layer = 32
|
||||
collision_mask = 105
|
||||
mass = 2.0
|
||||
continuous_cd = true
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=19 format=3 uid="uid://drwae3loscbw7"]
|
||||
[gd_scene load_steps=20 format=3 uid="uid://drwae3loscbw7"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/player.gd" id="1_x7wms"]
|
||||
[ext_resource type="PackedScene" uid="uid://dcmno6wafk5hg" path="res://assets/dead_player.tscn" id="2_4hoys"]
|
||||
[ext_resource type="Script" path="res://scripts/recoil.gd" id="3_405jc"]
|
||||
[ext_resource type="FontFile" uid="uid://d2h2tjhxiv5wo" path="res://assets/fonts/White On Black.ttf" id="3_mbuvp"]
|
||||
[ext_resource type="Script" path="res://scripts/AmmoCounter.gd" id="4_8cy44"]
|
||||
[ext_resource type="Texture2D" uid="uid://mcay8s80071h" path="res://assets/UI/Crosshair/SVG/Reticle 1_svg.svg" id="6_5m60e"]
|
||||
@@ -36,14 +37,14 @@ radius = 7.0
|
||||
|
||||
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("weapon_holder") groups=["player"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.11359, 0)
|
||||
collision_layer = 126
|
||||
collision_layer = 14
|
||||
collision_mask = 11
|
||||
safe_margin = 0.5
|
||||
script = ExtResource("1_x7wms")
|
||||
dead_player = ExtResource("2_4hoys")
|
||||
SENSITIVITY = 0.008
|
||||
BOB_AMP = 0.085
|
||||
weapon_holder = NodePath("Head/Camera3D/WeaponHolder")
|
||||
weapon_holder = NodePath("Head/Recoil/Camera3D/WeaponHolder")
|
||||
|
||||
[node name="HealthIndicator" type="ColorRect" parent="."]
|
||||
material = SubResource("CanvasItemMaterial_l5ga0")
|
||||
@@ -61,17 +62,23 @@ shape = SubResource("CapsuleShape3D_ko22d")
|
||||
[node name="Head" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.894364, 0)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="Head"]
|
||||
[node name="ItemHolder" type="Node3D" parent="Head"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.25, -0.85, -1.501)
|
||||
|
||||
[node name="Recoil" type="Node3D" parent="Head"]
|
||||
script = ExtResource("3_405jc")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="Head/Recoil"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0341401, 0.111267)
|
||||
current = true
|
||||
|
||||
[node name="WeaponHolder" type="Node3D" parent="Head/Camera3D"]
|
||||
[node name="WeaponHolder" type="Node3D" parent="Head/Recoil/Camera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0341401, -0.111267)
|
||||
|
||||
[node name="WeaponSpawner" type="Node3D" parent="Head/Camera3D/WeaponHolder"]
|
||||
[node name="WeaponSpawner" type="Node3D" parent="Head/Recoil/Camera3D/WeaponHolder"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.269894, -0.199195, -0.580209)
|
||||
|
||||
[node name="AmmoCounter" type="Label" parent="Head/Camera3D"]
|
||||
[node name="AmmoCounter" type="Label" parent="Head/Recoil/Camera3D"]
|
||||
offset_right = 3840.0
|
||||
offset_bottom = 2160.0
|
||||
size_flags_horizontal = 3
|
||||
@@ -83,7 +90,7 @@ vertical_alignment = 2
|
||||
script = ExtResource("4_8cy44")
|
||||
padding_amount = 0.025
|
||||
|
||||
[node name="StaminaCounter" type="Label" parent="Head/Camera3D"]
|
||||
[node name="StaminaCounter" type="Label" parent="Head/Recoil/Camera3D"]
|
||||
offset_right = 3440.0
|
||||
offset_bottom = 1440.0
|
||||
size_flags_horizontal = 3
|
||||
@@ -94,43 +101,40 @@ vertical_alignment = 2
|
||||
script = ExtResource("6_bgi8o")
|
||||
padding_amount = 0.025
|
||||
|
||||
[node name="GunRay" type="RayCast3D" parent="Head/Camera3D" groups=["gun_ray"]]
|
||||
[node name="GunRay" type="RayCast3D" parent="Head/Recoil/Camera3D" groups=["gun_ray"]]
|
||||
transform = Transform3D(0.977933, 0, -0.208919, 0, 1, 7.45058e-09, 0.208919, 0, 0.977933, 0, -0.197421, -0.129669)
|
||||
target_position = Vector3(0, 0, -1.2)
|
||||
hit_back_faces = false
|
||||
|
||||
[node name="AudioListener3D" type="AudioListener3D" parent="Head/Camera3D"]
|
||||
[node name="AudioListener3D" type="AudioListener3D" parent="Head/Recoil/Camera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.992332, 0.123601, 0, -0.123601, 0.992332, 0, -0.921646, -0.000722691)
|
||||
|
||||
[node name="Crosshair" type="TextureRect" parent="Head/Camera3D"]
|
||||
[node name="Crosshair" type="TextureRect" parent="Head/Recoil/Camera3D"]
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
texture = ExtResource("6_5m60e")
|
||||
script = ExtResource("7_pnp4a")
|
||||
|
||||
[node name="Hitmarker" type="TextureRect" parent="Head/Camera3D"]
|
||||
[node name="Hitmarker" type="TextureRect" parent="Head/Recoil/Camera3D"]
|
||||
visible = false
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
texture = ExtResource("8_kupqh")
|
||||
script = ExtResource("7_pnp4a")
|
||||
|
||||
[node name="BulletRay" type="RayCast3D" parent="Head/Camera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.89879)
|
||||
[node name="BulletRay" type="RayCast3D" parent="Head/Recoil/Camera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.114122)
|
||||
target_position = Vector3(0, 0, -200)
|
||||
collision_mask = 5
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="InteractRay" type="RayCast3D" parent="Head/Camera3D"]
|
||||
[node name="InteractRay" type="RayCast3D" parent="Head/Recoil/Camera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0521634, -0.764677)
|
||||
target_position = Vector3(0, 0, -3)
|
||||
collision_mask = 2
|
||||
hit_from_inside = true
|
||||
collide_with_areas = true
|
||||
|
||||
[node name="ItemHolder" type="Node3D" parent="Head"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.25, -0.85, -1.501)
|
||||
|
||||
[node name="pick_up_detection" type="Area3D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 16
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=119 format=4 uid="uid://bicj5x7nc8tby"]
|
||||
[gd_scene load_steps=120 format=4 uid="uid://bicj5x7nc8tby"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/LevelManager.gd" id="1_wls0y"]
|
||||
[ext_resource type="PackedScene" uid="uid://brl0bsqjl5dg3" path="res://assets/mac_10.tscn" id="2_8r4nh"]
|
||||
@@ -39,6 +39,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://6rhnl7vbvvr4" path="res://assets/rat_hole.tscn" id="37_kjvv4"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3t8fra7evqfb" path="res://assets/Models/building_1.tscn" id="38_8r1eg"]
|
||||
[ext_resource type="PackedScene" uid="uid://dvlpc0mrx16l" path="res://assets/table1.tscn" id="39_wl4fl"]
|
||||
[ext_resource type="PackedScene" uid="uid://dfi7s3q1x2m3p" path="res://assets/low_poly_car.tscn" id="40_sk0vd"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_nb6x7"]
|
||||
sky_top_color = Color(0.500562, 0.697334, 0.809889, 1)
|
||||
@@ -1603,3 +1604,18 @@ transform = Transform3D(-1.39645, 0, 0.0996578, 0, 1.4, 0, -0.0996578, 0, -1.396
|
||||
|
||||
[node name="table1" parent="." instance=ExtResource("39_wl4fl")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.44938, 0.134235, 12.2243)
|
||||
|
||||
[node name="lowPolyCar" parent="." instance=ExtResource("40_sk0vd")]
|
||||
transform = Transform3D(0.0894707, 0, -1.998, 0, 2, 0, 1.998, 0, 0.0894707, -30.6234, -0.222173, 16.1242)
|
||||
|
||||
[node name="lowPolyCar2" parent="." instance=ExtResource("40_sk0vd")]
|
||||
transform = Transform3D(0.0894707, 0, -1.998, 0, 2, 0, 1.998, 0, 0.0894707, -22.3031, -0.222173, 16.1242)
|
||||
|
||||
[node name="lowPolyCar3" parent="." instance=ExtResource("40_sk0vd")]
|
||||
transform = Transform3D(0.0894707, 0, -1.998, 0, 2, 0, 1.998, 0, 0.0894707, -39.0837, -0.222173, 16.1242)
|
||||
|
||||
[node name="lowPolyCar4" parent="." instance=ExtResource("40_sk0vd")]
|
||||
transform = Transform3D(0.0894707, 0, -1.998, 0, 2, 0, 1.998, 0, 0.0894707, -47.9314, -0.222173, 16.1242)
|
||||
|
||||
[node name="lowPolyCar5" parent="." instance=ExtResource("40_sk0vd")]
|
||||
transform = Transform3D(0.0894707, 0, -1.998, 0, 2, 0, 1.998, 0, 0.0894707, -14.2098, -0.222173, 16.1242)
|
||||
|
||||
@@ -2,8 +2,8 @@ extends Label
|
||||
|
||||
const ASPECT_RATIO_STD = .5625 #9/16 for standard ratio
|
||||
@export var padding_amount = .05 #multiplied by screen size
|
||||
@onready var level_control = $"../../../.."
|
||||
@onready var player = $"../../.."
|
||||
@onready var level_control = get_tree().current_scene
|
||||
@onready var player = get_tree().current_scene.player
|
||||
@onready var gun_anim = $"../gun/GunAnims"
|
||||
var gun_index
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
extends Label
|
||||
|
||||
@onready var player = $"../../.."
|
||||
@onready var level_control = $"../../../.."
|
||||
@onready var level_control = get_tree().current_scene
|
||||
@onready var player = get_tree().current_scene.player
|
||||
|
||||
const ASPECT_RATIO_STD = .5625 #9/16 for standard ratio
|
||||
@export var padding_amount = .05 #multiplied by screen size
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
extends Node3D
|
||||
|
||||
var start_position
|
||||
var start_rotation
|
||||
var random_spread_start
|
||||
var cycle_count_start
|
||||
var cycle_count
|
||||
|
||||
@export_group("Gun Feel")
|
||||
@export var gun_name : String
|
||||
@@ -39,6 +34,12 @@ var cycle_count
|
||||
@onready var player = get_tree().current_scene.player
|
||||
@onready var level_control = get_tree().current_scene
|
||||
@onready var ammo_current
|
||||
|
||||
var start_position
|
||||
var start_rotation
|
||||
var random_spread_start
|
||||
var cycle_count_start
|
||||
var cycle_count
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var gun_index
|
||||
#var ammo_current
|
||||
@@ -110,7 +111,7 @@ func shoot(delta):
|
||||
instance_casing.position = casing_ejector.global_position
|
||||
instance_casing.transform.basis = casing_ejector.global_transform.basis
|
||||
get_tree().get_root().add_child(instance_casing)
|
||||
player.weapon_recoil(delta)
|
||||
player.recoil.add_recoil()
|
||||
if fire_mode != 0:
|
||||
cycle_count -= 1
|
||||
|
||||
|
||||
@@ -44,10 +44,10 @@ var start_sensitivity
|
||||
|
||||
var gun : Node
|
||||
|
||||
@onready var gun_ray = $Head/Camera3D/GunRay
|
||||
@onready var gun_ray = $Head/Recoil/Camera3D/GunRay
|
||||
@onready var level_control = get_tree().current_scene
|
||||
@onready var interact_ray = $Head/Camera3D/InteractRay
|
||||
@onready var bullet_ray = $Head/Camera3D/BulletRay
|
||||
@onready var interact_ray = $Head/Recoil/Camera3D/InteractRay
|
||||
@onready var bullet_ray = $Head/Recoil/Camera3D/BulletRay
|
||||
var instance_bullet
|
||||
var instance_casing
|
||||
var instance_mag
|
||||
@@ -77,19 +77,19 @@ var pickup_announce = load("res://assets/pickup_announce.tscn")
|
||||
var dead_announce = load("res://assets/dead_announce.tscn")
|
||||
var pickupmsg
|
||||
|
||||
@onready var crosshair = $Head/Camera3D/Crosshair
|
||||
@onready var crosshair = $Head/Recoil/Camera3D/Crosshair
|
||||
@onready var head = $Head
|
||||
@onready var camera = $Head/Camera3D
|
||||
@onready var camera = $Head/Recoil/Camera3D
|
||||
@onready var world_environment = $"../WorldEnvironment"
|
||||
@onready var pickup_sound = $Audio/PickupSound
|
||||
@onready var ear_wind = $Audio/EarWind
|
||||
@onready var land_sound: AudioStreamPlayer = $Audio/LandSound
|
||||
@onready var hurt_audio = $Audio/Hurt
|
||||
@onready var health_indicator = $HealthIndicator
|
||||
@onready var ammo_counter = $Head/Camera3D/AmmoCounter
|
||||
@onready var stamina_counter = $Head/Camera3D/StaminaCounter
|
||||
|
||||
@onready var weapon_spawner = $Head/Camera3D/WeaponHolder/WeaponSpawner
|
||||
@onready var ammo_counter = $Head/Recoil/Camera3D/AmmoCounter
|
||||
@onready var stamina_counter = $Head/Recoil/Camera3D/StaminaCounter
|
||||
@onready var recoil: Node3D = $Head/Recoil
|
||||
@onready var weapon_spawner = $Head/Recoil/Camera3D/WeaponHolder/WeaponSpawner
|
||||
@onready var pick_up_detection = $pick_up_detection
|
||||
@onready var item_holder: Node3D = $Head/ItemHolder
|
||||
|
||||
@@ -333,7 +333,5 @@ func weapon_bob(vel : float, delta):
|
||||
weapon_holder.position.y = lerp(weapon_holder.position.y, def_weapon_holder_pos.y, .1 * delta)
|
||||
weapon_holder.position.x = lerp(weapon_holder.position.x, def_weapon_holder_pos.x, .1 * delta)
|
||||
|
||||
func weapon_recoil(delta):
|
||||
func weapon_recoil():
|
||||
pass
|
||||
#var recoil_to = camera.rotation.x + gun.recoil_amount
|
||||
#camera.rotation.x = clamp(lerp(camera.rotation.x,recoil_to, .05), deg_to_rad(-90), deg_to_rad(85))
|
||||
|
||||
@@ -18,7 +18,7 @@ func spawn_rat(end_hole,control_node):
|
||||
var spawn_rat = rat.instantiate()
|
||||
spawn_rat.position = ray.global_position
|
||||
spawn_rat.transform.basis = ray.global_transform.basis
|
||||
spawn_rat.look_at(end_hole.position,Vector3.UP)
|
||||
spawn_rat.look_at_from_position(end_hole.position,Vector3.UP)
|
||||
spawn_rat.end_hole = end_hole
|
||||
get_tree().get_root().add_child(spawn_rat)
|
||||
|
||||
|
||||
22
scripts/recoil.gd
Normal file
22
scripts/recoil.gd
Normal file
@@ -0,0 +1,22 @@
|
||||
extends Node3D
|
||||
|
||||
var recoil_amount : Vector3 = Vector3(.1,0,0)
|
||||
var snap_amount : float = 8
|
||||
var speed : float = 4
|
||||
var current_rotation : Vector3
|
||||
var target_rotation : Vector3
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
target_rotation = lerp(target_rotation, Vector3.ZERO, speed * delta)
|
||||
current_rotation = lerp(current_rotation, target_rotation, snap_amount * delta)
|
||||
basis = Quaternion.from_euler(current_rotation)
|
||||
|
||||
func add_recoil() -> void:
|
||||
print("ADD RECOIL")
|
||||
target_rotation += Vector3(.1,0,0)
|
||||
@@ -35,8 +35,8 @@ var cycle_count
|
||||
@export var audio_empty : Node
|
||||
@export var audio_reload : Node
|
||||
|
||||
@onready var player = $"../../../../"
|
||||
@onready var level_control = $"../../../../../"
|
||||
@onready var player = get_tree().current_scene.player
|
||||
@onready var level_control = get_tree().current_scene
|
||||
@onready var ammo_current
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var gun_index
|
||||
@@ -100,8 +100,7 @@ func shoot(delta):
|
||||
instance_bullet.blast_power = blast_power
|
||||
instance_bullet.player_position = player.global_position
|
||||
get_tree().get_root().add_child(instance_bullet)
|
||||
|
||||
player.weapon_recoil(delta)
|
||||
player.recoil.add_recoil()
|
||||
if fire_mode != 0:
|
||||
cycle_count -= 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user