Add one HP per second regeneration and Half-Life starfield sky
This commit is contained in:
+7
-2
@@ -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
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user