Compare commits
3 Commits
6b70c0562f
...
3a2d8435e4
Author | SHA1 | Date | |
---|---|---|---|
3a2d8435e4
|
|||
c04e6b3a34
|
|||
dec0901b3d
|
4
assets/sprites/64x64_placeholder.tres
Normal file
4
assets/sprites/64x64_placeholder.tres
Normal file
@@ -0,0 +1,4 @@
|
||||
[gd_resource type="PlaceholderTexture2D" format=3 uid="uid://baxbllvlqssur"]
|
||||
|
||||
[resource]
|
||||
size = Vector2(64, 64)
|
BIN
assets/sprites/sword_icon.aseprite
(Stored with Git LFS)
Normal file
BIN
assets/sprites/sword_icon.aseprite
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/sprites/sword_icon.png
(Stored with Git LFS)
Normal file
BIN
assets/sprites/sword_icon.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
assets/sprites/sword_icon.png.import
Normal file
34
assets/sprites/sword_icon.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dmx6sb6pbl87a"
|
||||
path="res://.godot/imported/sword_icon.png-de4b5a0b4f6474e5da4bcd50ba4fc374.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sprites/sword_icon.png"
|
||||
dest_files=["res://.godot/imported/sword_icon.png-de4b5a0b4f6474e5da4bcd50ba4fc374.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
|
@@ -19,7 +19,7 @@ const GROUP_PICKUP = "pickup"
|
||||
|
||||
enum ModRarity { LEGENDARY, EPIC, RARE, NORMAL }
|
||||
|
||||
var placeholder_tex: Texture2D
|
||||
const placeholder_tex = preload("res://assets/sprites/64x64_placeholder.tres")
|
||||
|
||||
var MOD_CHOICES = [
|
||||
{
|
||||
@@ -80,11 +80,6 @@ var MOD_CHOICES = [
|
||||
]
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
placeholder_tex = PlaceholderTexture2D.new()
|
||||
placeholder_tex.size = Vector2(64.0, 64.0)
|
||||
|
||||
|
||||
func _draw_random_choice(fortune: float = 1.0) -> Dictionary:
|
||||
var total_weight: int = 0
|
||||
for choice in MOD_CHOICES:
|
||||
@@ -107,6 +102,7 @@ func draw_random_mod(fortune: float = 1.0) -> PlayerStatsModifier:
|
||||
mod.description = choice["description"]
|
||||
mod.internal_name = choice["internal_name"]
|
||||
mod.tex = choice["tex"]
|
||||
print_debug("gc: %s" % mod.tex)
|
||||
mod.title = choice["name"]
|
||||
|
||||
return mod
|
||||
|
@@ -47,9 +47,9 @@ func update_debug_stats() -> void:
|
||||
for stat in debug_stats:
|
||||
# Create margin container
|
||||
var mc: MarginContainer = MarginContainer.new()
|
||||
mc.add_theme_constant_override("margin_top", 10)
|
||||
mc.add_theme_constant_override("margin_top", 2)
|
||||
mc.add_theme_constant_override("margin_left", 20)
|
||||
mc.add_theme_constant_override("margin_bottom", 10)
|
||||
mc.add_theme_constant_override("margin_bottom", 2)
|
||||
mc.add_theme_constant_override("margin_right", 20)
|
||||
stats_container_vbox.add_child(mc)
|
||||
|
||||
|
@@ -25,6 +25,7 @@ func _ready() -> void:
|
||||
upgrade_name.text = mod.title
|
||||
upgrade_description.text = mod.description
|
||||
upgrade_tex.texture = mod.tex
|
||||
print_debug("tex: %s" % mod.tex)
|
||||
|
||||
|
||||
func _on_pick_button_pressed() -> void:
|
||||
|
@@ -4,9 +4,42 @@ extends Control
|
||||
@onready var hp_bar: ProgressBar = $CenterContainer/VBoxContainer/ProgressBar
|
||||
@onready var elapsed_label: Label = $CenterContainer/VBoxContainer/ElapsedLabel
|
||||
|
||||
const ANIM_SPEED = 4.0
|
||||
const TRESHOLD = 1
|
||||
|
||||
func set_hp(value: float):
|
||||
hp_bar.value = value
|
||||
var wanted_hp_value: float
|
||||
var wanted_hp_max: float
|
||||
|
||||
var player: Player
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
player = get_tree().get_first_node_in_group("player")
|
||||
if player:
|
||||
hp_bar.value = player.player_stats.current_health
|
||||
hp_bar.max_value = player.player_stats.max_health
|
||||
|
||||
|
||||
func update_hp():
|
||||
if not player:
|
||||
push_error("cant update hp, no player found")
|
||||
var current_hp = player.player_stats.get_final("current_health", player.modifiers)
|
||||
var max_hp = player.player_stats.get_final("max_health", player.modifiers)
|
||||
wanted_hp_value = current_hp
|
||||
wanted_hp_max = max_hp
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if wanted_hp_max != hp_bar.max_value:
|
||||
print_debug("wanted: %f-%f" % [wanted_hp_max, hp_bar.max_value])
|
||||
hp_bar.max_value = lerpf(hp_bar.max_value, wanted_hp_max, ANIM_SPEED * delta)
|
||||
if abs(hp_bar.max_value - wanted_hp_max) < TRESHOLD:
|
||||
hp_bar.max_value = wanted_hp_max
|
||||
if wanted_hp_value != hp_bar.value:
|
||||
print_debug("current: %f-%f" % [wanted_hp_value, hp_bar.value])
|
||||
hp_bar.value = lerpf(hp_bar.value, wanted_hp_value, ANIM_SPEED * delta)
|
||||
if abs(hp_bar.value - wanted_hp_value) < TRESHOLD:
|
||||
hp_bar.value = wanted_hp_value
|
||||
|
||||
|
||||
func set_elapsed_time(value: float):
|
||||
|
@@ -15,7 +15,7 @@ var god_mode: bool = false
|
||||
|
||||
func _ready() -> void:
|
||||
camera.position = global_position
|
||||
main_ui.player_ui.set_hp(100)
|
||||
main_ui.player_ui.update_hp()
|
||||
GlobalConst.sig_debug_god_mode.connect(toggle_god_mode)
|
||||
|
||||
|
||||
@@ -42,13 +42,16 @@ func take_damage(value: float) -> void:
|
||||
player_stats.current_health = clampf(
|
||||
player_stats.current_health, -1.0, player_stats.get_final("max_health", modifiers)
|
||||
)
|
||||
var current_hp = player_stats.get_final("current_health", modifiers)
|
||||
var max_hp = player_stats.get_final("max_health", modifiers)
|
||||
GlobalConst.sig_debug_stats_set.emit("current_health", "%f" % current_hp)
|
||||
GlobalConst.sig_debug_stats_set.emit("max_hp", "%f" % max_hp)
|
||||
|
||||
var dm = preload("res://scenes/damage_numbers.tscn").instantiate()
|
||||
dm.damage_taken = value
|
||||
dm.player_damage = false
|
||||
add_child(dm)
|
||||
main_ui.player_ui.set_hp(
|
||||
(player_stats.current_health / player_stats.get_final("max_health", modifiers)) * 100
|
||||
)
|
||||
main_ui.player_ui.update_hp()
|
||||
if player_stats.current_health <= 0:
|
||||
die()
|
||||
|
||||
|
Reference in New Issue
Block a user