Adds missing data

This commit is contained in:
Michel 2025-02-03 19:17:20 +01:00
parent e6391d9fdd
commit 53cdcc3433
620 changed files with 47293 additions and 151 deletions

View file

@ -1,16 +1,25 @@
extends Camera3D
class_name CameraController
@export var PlayerNode: Node3D;
@export var turnSpeed: float = 0.25;
@export var XRotationClamp: Vector2 = Vector2(-90, 90)
var currentRotation: Vector2 = Vector2(0,0);
var enabled: bool = true
func _ready() -> void:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED;
func disableInput():
enabled = false
func _input(event: InputEvent) -> void:
if not enabled:
return
if event is InputEventKey && event.key_label == KEY_ESCAPE:
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE

View file

@ -14,6 +14,15 @@ static var Instance: Player;
@onready var collisionShape: CollisionShape3D = $CollisionShape3D
@onready var health: Health = $Health
@onready var enemyTarget: Node3D = $"Enemy Target"
@onready var deathHandler: DeathHandler = $DeathHandler
@onready var cameraController: CameraController = $CollisionShape3D/Camera3D
@onready var ui: UI = $Ui
@onready var weapon: Node3D = $CollisionShape3D/Camera3D/Weapon
@onready var walkingSound = $Walking
@onready var sprintingSound = $Sprinting
@onready var startupSound = $Startup
@onready var hitSound = $HitSound
const CROUCHED_SPEED: float = 2.5
const SPEED: float = 5.0
@ -23,13 +32,25 @@ const JUMP_VELOCITY: float = 4.5
var lastDirection = Vector2(0,0)
@export var PlayerState: PlayerStates = PlayerStates.STANDING
var controls = true
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
func _ready() -> void:
weapon.process_mode = Node.PROCESS_MODE_ALWAYS
get_tree().paused = true
ui.setFade(0)
get_tree().create_timer(1).timeout.connect(readying)
weapon.process_mode = Node.PROCESS_MODE_PAUSABLE
Instance = self
health.damaged.connect(self.damaged)
health.death.connect(self.onDeath)
func readying():
get_tree().paused = false;
func _physics_process(delta: float) -> void:
# Add the gravity.
@ -53,8 +74,12 @@ func _physics_process(delta: float) -> void:
self.handleCrouching()
if PlayerState == PlayerStates.STANDING && Input.is_action_pressed('player_sprint'):
self.PlayerState = PlayerStates.SPRINTING
walkingSound.process_mode = Node.PROCESS_MODE_DISABLED
sprintingSound.process_mode = Node.PROCESS_MODE_INHERIT
if PlayerState == PlayerStates.SPRINTING && Input.is_action_just_released('player_sprint'):
self.PlayerState = PlayerStates.STANDING
walkingSound.process_mode = Node.PROCESS_MODE_INHERIT
sprintingSound.process_mode = Node.PROCESS_MODE_DISABLED
if PlayerState == PlayerStates.SPRINTING:
speed = SPRINT_SPEED
@ -96,3 +121,17 @@ func handleCrouching():
func damaged():
print("Damage")
func onDeath(from):
hitSound.play()
deathHandler.died(from)
cameraController.disableInput()
ui.displayYouDied()
get_tree().paused = true
await get_tree().create_timer(2.5).timeout
ui.setFade(1)
await get_tree().create_timer(1.0).timeout
get_tree().reload_current_scene()

View file

@ -2,6 +2,7 @@ extends Node3D
@onready var animationtree: AnimationTree = $AnimationPlayer/AnimationTree
@onready var timer: Timer = $CooldownTimer
@onready var shootSound: AudioStreamPlayer3D = $ShootSound
@export_category("Firing")
@export var MuzzleFlash: PackedScene
@ -33,25 +34,23 @@ func _input(event: InputEvent) -> void:
self.animationtree.set('parameters/' + travelTarget + '/blend_position', randf_range(0, 2))
self.statemachine.travel(travelTarget)
shootSound.play()
fireBullet()
self.timer.start()
func fireBullet() -> void:
var instance = self.MuzzleFlash.instantiate(PackedScene.GEN_EDIT_STATE_INSTANCE)
var instance = self.MuzzleFlash.instantiate()
Origin.add_child(instance)
var query = PhysicsRayQueryParameters3D.create(BulletOrigin.global_position, BulletOrigin.global_position + BulletOrigin.global_basis.z * -200)
var result = get_world_3d().direct_space_state.intersect_ray(query)
if not result:
print('No result')
return
var health = result.collider.get_node_or_null('Health')
if health:
print("Dealing Damage")
result.collider.health.take_damage(1, Vector2(0,0))
result.collider.health.take_damage(1, Vector2(0,0), BulletOrigin)
return
print('No Health Element')