From e2a2fb7a070db4dc0dacba4f1da94b86153483e0 Mon Sep 17 00:00:00 2001 From: Dusk Date: Thu, 5 Mar 2026 22:13:03 +0100 Subject: [PATCH] feat: add arrow --- assets/Images/arrow.png | 3 +++ assets/Images/arrow.png.import | 40 +++++++++++++++++++++++++++++++++ assets/Images/arrow.png~ | Bin 0 -> 6420 bytes assets/Images/speed.png | 3 +++ assets/Images/speed.png.import | 40 +++++++++++++++++++++++++++++++++ player.gd | 8 ++++--- player.tscn | 9 ++++++++ speed.gd | 14 ++++++++++++ speed.gd.uid | 1 + upgrades.tscn | 4 ++++ 10 files changed, 119 insertions(+), 3 deletions(-) create mode 100644 assets/Images/arrow.png create mode 100644 assets/Images/arrow.png.import create mode 100644 assets/Images/arrow.png~ create mode 100644 assets/Images/speed.png create mode 100644 assets/Images/speed.png.import create mode 100644 speed.gd create mode 100644 speed.gd.uid diff --git a/assets/Images/arrow.png b/assets/Images/arrow.png new file mode 100644 index 0000000..e2924ca --- /dev/null +++ b/assets/Images/arrow.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29edfa36afa12f7dec8115ef2358c347f83de0cea52d29de6ac0894918f81f67 +size 10784 diff --git a/assets/Images/arrow.png.import b/assets/Images/arrow.png.import new file mode 100644 index 0000000..a409751 --- /dev/null +++ b/assets/Images/arrow.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpfvioqm4kbv8" +path="res://.godot/imported/arrow.png-9053f2b1a9a256ad0bb19fe69a4c452c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/Images/arrow.png" +dest_files=["res://.godot/imported/arrow.png-9053f2b1a9a256ad0bb19fe69a4c452c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/assets/Images/arrow.png~ b/assets/Images/arrow.png~ new file mode 100644 index 0000000000000000000000000000000000000000..aa6586c749db9a3cea49b1e30dc3626aadce6288 GIT binary patch literal 6420 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 FKLLK%=Vbr@ literal 0 HcmV?d00001 diff --git a/assets/Images/speed.png b/assets/Images/speed.png new file mode 100644 index 0000000..9c0f5c0 --- /dev/null +++ b/assets/Images/speed.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdb3f4ee761809b9bded6713b39bf6d9512ce344170f642de8cd67a30324bdb3 +size 4346 diff --git a/assets/Images/speed.png.import b/assets/Images/speed.png.import new file mode 100644 index 0000000..476a86e --- /dev/null +++ b/assets/Images/speed.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wf3o3dowhbp0" +path="res://.godot/imported/speed.png-461d2d606e22e16e98a193de8bef31f1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/Images/speed.png" +dest_files=["res://.godot/imported/speed.png-461d2d606e22e16e98a193de8bef31f1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/player.gd b/player.gd index 750d20e..f3c59e7 100644 --- a/player.gd +++ b/player.gd @@ -21,10 +21,11 @@ var slow_walk_mult = SLOW_MULT var max_stamina: float = BASE_STAMINA var stamina: float = max_stamina +var speed = BASE_SPEED # ---- Pickups ---- -const BASE_BONUS_TIME_AMOUNT = 30 # seconds -const BASE_SPEED_BOOST_FACTOR = 2 +const BASE_BONUS_TIME_AMOUNT = 10 # seconds +const BASE_SPEED_BOOST_FACTOR = 1.5 var bonus_time_amount: float = BASE_BONUS_TIME_AMOUNT # seconds var speed_boost_factor: float = BASE_SPEED_BOOST_FACTOR @@ -45,6 +46,7 @@ func _ready() -> void: $TimeLimit.start() func _process(delta: float) -> void: + # On fail screen, ignore further input if not is_active: return @@ -57,7 +59,7 @@ func _process(delta: float) -> void: $HUD/TimeLimitLabel.text = "%02d:%02d" % [time_left/60, time_left - (time_left/60) * 60] var dir = Input.get_vector("player_move_left", "player_move_right", "player_move_up", "player_move_down") - var speed: float = BASE_SPEED + var speed: float = speed if $SpeedBoostTimer.time_left > 0: speed *= speed_boost_factor diff --git a/player.tscn b/player.tscn index b6070a8..54d9d10 100644 --- a/player.tscn +++ b/player.tscn @@ -3,6 +3,7 @@ [ext_resource type="Script" uid="uid://bobw4cfg1v6gj" path="res://player.gd" id="1_4flbx"] [ext_resource type="PackedScene" uid="uid://52hoyqjot1cs" path="res://shop.tscn" id="2_i3pqv"] [ext_resource type="PackedScene" uid="uid://ct7cc7qg3hpu1" path="res://upgrades.tscn" id="2_onrkg"] +[ext_resource type="Texture2D" uid="uid://bpfvioqm4kbv8" path="res://assets/Images/arrow.png" id="4_hqtel"] [sub_resource type="PlaneMesh" id="PlaneMesh_sh265"] size = Vector2(1, 1) @@ -26,6 +27,8 @@ radius = 30.0 height = 0.5 radius = 50.0 +[sub_resource type="QuadMesh" id="QuadMesh_hqtel"] + [node name="Player" type="CharacterBody3D" unique_id=17046866] collision_layer = 4 collision_mask = 3 @@ -291,6 +294,12 @@ debug_color = Color(0.5381443, 0.5430501, 0.4771669, 0.41960785) shape = SubResource("CylinderShape3D_hqtel") debug_color = Color(0.6328197, 0.113640614, 0, 0.41960785) +[node name="Arrow" type="MeshInstance2D" parent="." unique_id=1435818053] +position = Vector2(604, 57) +scale = Vector2(69.25001, 66.25001) +mesh = SubResource("QuadMesh_hqtel") +texture = ExtResource("4_hqtel") + [connection signal="timeout" from="TimeLimit" to="." method="_on_time_limit_timeout"] [connection signal="shop_exit" from="Shop" to="." method="_on_shop_shop_exit"] [connection signal="pressed" from="FinishControl/ContinueButton" to="." method="_on_continue_button_pressed"] diff --git a/speed.gd b/speed.gd new file mode 100644 index 0000000..d37488e --- /dev/null +++ b/speed.gd @@ -0,0 +1,14 @@ +extends Node + +var enabled: bool = false +var cost: int = 1250 +var upgrade_name: String = "Chad" +var upgrade_description: String = "Camina mes rapid" +var icon: Texture2D = preload("res://assets/Images/speed.png") + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func update() -> void: + if enabled: + print("Updating speed") + $"..".parent.speed = $"..".parent.BASE_SPEED * 1.25 diff --git a/speed.gd.uid b/speed.gd.uid new file mode 100644 index 0000000..02a3797 --- /dev/null +++ b/speed.gd.uid @@ -0,0 +1 @@ +uid://dkuthx1fv8d5q diff --git a/upgrades.tscn b/upgrades.tscn index d131906..648cc10 100644 --- a/upgrades.tscn +++ b/upgrades.tscn @@ -3,6 +3,7 @@ [ext_resource type="Script" uid="uid://4f7orky5jeey" path="res://upgrades.gd" id="1_k80ou"] [ext_resource type="Script" uid="uid://dk6j6kddvr2jc" path="res://stamina.gd" id="2_alr6r"] [ext_resource type="Script" uid="uid://y8o46kv384xl" path="res://chad_walk.gd" id="3_ba88x"] +[ext_resource type="Script" uid="uid://dkuthx1fv8d5q" path="res://speed.gd" id="4_fn3gv"] [node name="Upgrades" type="Node" unique_id=1238785974] script = ExtResource("1_k80ou") @@ -12,3 +13,6 @@ script = ExtResource("2_alr6r") [node name="ChadWalk" type="Node" parent="." unique_id=1436596930] script = ExtResource("3_ba88x") + +[node name="Speed" type="Node" parent="." unique_id=343986648] +script = ExtResource("4_fn3gv")