Started implementing player stats and score tracking

remotes/1699310152913738325/tmp_refs/heads/legacy
unfa 2021-04-12 21:45:29 +02:00
parent 79e566b00d
commit f581cd1696
3 changed files with 28 additions and 6 deletions

View File

@ -9,9 +9,11 @@ func updateHealth(health: int):
func update_crosshair(kill):
$Crosshair.visible = true # visible
$Crosshair/HitConfirmation.activate(0.15, false)
#$Crosshair/HitConfirmation.activate(0.15, false)
#if hit:
# $Crosshair/HitConfirmation.activate(0.15, false)
#elif kill:
# $Crosshair/HitConfirmation.activate(0.3, true)
print("HUD: kill = ", kill)
if kill:
$Crosshair/HitConfirmation.activate(0.3, true)
else:
$Crosshair/HitConfirmation.activate(0.15, false)

View File

@ -67,6 +67,14 @@ var bodyHitEffect = preload("res://Assets/Effects/BodyHit.tscn")
onready var nickname = "guest" setget set_nickname
var player_class = "none"
var player_stats = stats.new()
class stats:
var score: int
var kills: int
var deaths: int
var suicides: int
#func sfx_play_footsteps():
# if not sfx_footsteps_play:
# sfx_footsteps_play = true
@ -78,6 +86,11 @@ var player_class = "none"
# yield(get_tree().create_timer(sfx_footsteps_delay),"timeout")
# sfx_footsteps_play = false
func score(target):
print("Player ", name, " scored a kill on ", target)
player_stats.kills += 1
player_stats.score += 1
func set_health(value):
health = value
$HUD.updateHealth(value)
@ -305,6 +318,8 @@ master func kill():
$Sounds/Death.rpc("play")
is_dead = true
player_stats.deaths += 1
set_health(0)
$CollisionShapeBody.disabled = true

View File

@ -66,9 +66,14 @@ func shoot(camera):
hit.rpc("on_hit", 30, result.position)
if hit is Player:
var kill = hit.health <= 0
var kill = true if hit.health <= 0 else false
print ("Player: kill = ", kill, " Target health: ", hit.health)
emit_signal("damage_dealt", kill)
print(get_signal_connection_list("damage_dealt")[0]["target"].name)
if kill:
player.score(hit.name)
else:
reload()