Add one HP per second regeneration and Half-Life starfield sky

This commit is contained in:
enne2
2026-10-11 00:29:28 +02:00
parent f246ede94f
commit d74af7b550
9 changed files with 199 additions and 3 deletions
+7 -2
View File
@@ -31,8 +31,13 @@ func _ready() -> void:
add_child(player)
var envnode := WorldEnvironment.new()
var env := Environment.new()
env.background_mode = Environment.BG_COLOR
env.background_color = Color(0.08, 0.12, 0.19)
env.background_mode = Environment.BG_SKY
var sky_material := PanoramaSkyMaterial.new()
sky_material.panorama = load("res://assets/textures/sky/space_panorama.png")
env.sky = Sky.new()
env.sky.sky_material = sky_material
# Solo sfondo: illuminazione e riflessi non dipendono dal cielo scuro.
env.reflected_light_source = Environment.REFLECTION_SOURCE_DISABLED
env.ambient_light_source = Environment.AMBIENT_SOURCE_COLOR
env.ambient_light_color = Color(0.65, 0.73, 0.85)
env.ambient_light_energy = 0.65
+14 -1
View File
@@ -3,7 +3,19 @@ var camera: Camera3D
var damage_pivot: Node3D
var damage_feedback: CanvasLayer
const DamageFeedback = preload("res://scripts/damage_feedback.gd")
var hp := 100.0
const MAX_HP := 100.0
var hp := MAX_HP
var _regen_elapsed := 0.0
## Discreto: +1 HP per secondo di gioco, mai oltre il massimo o dopo morte.
func _regenerate_health(dt: float) -> void:
if hp <= 0 or death_started or hp >= MAX_HP:
_regen_elapsed = 0.0
return
_regen_elapsed += dt
while _regen_elapsed >= 1.0:
_regen_elapsed -= 1.0
hp = minf(MAX_HP, hp + 1.0)
var ammo := 30
var cooldown := 0.0
var grenade_cooldown := 0.0
@@ -127,6 +139,7 @@ func _physics_process(dt: float) -> void:
if Input.is_action_just_pressed("reload"):
get_tree().reload_current_scene() # R o pulsante Ricarica a partita finita
return
_regenerate_health(dt)
_handle_actions()
# Deadzone esplicita piccola (0.2): con la 0.5 delle azioni la corsa utile del
# joystick touch si dimezzerebbe, mentre per tastiera/joypad nulla cambia.