Proof of concept data disks, pharaoh character

This commit is contained in:
yagigreg committed 2026-10-17 17:02:39 -05:00
1 parent f6d6e287f1
commit 5dd4c27430
14 files changed
+187 -5

No files matched your search

+7
View File
@@ -0,0 +1,7 @@
extends Pickup
@export var disk_num: int
func _on_picked_up() -> void:
%Player2D.give_disk(disk_num)
print("Picked up disk ", disk_num)
+1
View File
@@ -0,0 +1 @@
uid://d1uqjaar8v5vi
+28
View File
@@ -0,0 +1,28 @@
[gd_scene format=3 uid="uid://b1e1nx60ng3tq"]
[ext_resource type="Script" uid="uid://d1uqjaar8v5vi" path="res://disk.gd" id="1_olhq3"]
[ext_resource type="Texture2D" uid="uid://b0l3mbvieqbnb" path="res://art/empty_tablet.png" id="3_olhq3"]
[ext_resource type="AudioStream" uid="uid://f2xmq6cgiiwj" path="res://sound/coin.wav" id="4_5qg3x"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_6qpsl"]
radius = 7.0
height = 20.0
[node name="Disk" type="Node2D" unique_id=1739014101]
script = ExtResource("1_olhq3")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=813041394]
texture = ExtResource("3_olhq3")
[node name="Area2D" type="Area2D" parent="." unique_id=170499029]
scale = Vector2(1.3291091, 1)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=1865546056]
shape = SubResource("CapsuleShape2D_6qpsl")
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="." unique_id=1778061188]
stream = ExtResource("4_5qg3x")
volume_db = 1.0
[connection signal="picked_up" from="." to="." method="_on_picked_up"]
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
-3
View File
@@ -17,7 +17,6 @@ dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.cte
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
@@ -26,8 +25,6 @@ compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
+37
View File
@@ -0,0 +1,37 @@
class_name Interactable
extends Node2D
signal interacted
var checked_teleport
var telecam_speed_mult = 4
var enabled = true
var cooldown = 2
var is_interactable = false
func disable():
enabled = false
$Sprite2D.modulate = Color.DARK_ORANGE
func enable():
enabled = true
$Sprite2D.modulate = Color.WHITE
func _process(delta: float) -> void:
if not (is_interactable and Input.is_action_just_released("interact")):
return
interacted.emit()
func _physics_process(delta: float) -> void:
pass
func _on_approach(body) -> void:
if body!=%Player2D:
return
is_interactable = true
func _on_abandon(body) -> void:
if body!=%Player2D:
return
is_interactable = false
+1
View File
@@ -0,0 +1 @@
uid://dbg7h6gp6hun8
+22
View File
@@ -0,0 +1,22 @@
extends Interactable
var disks_wanted = [1, 2, 3, 4, 5]
var disks_loaded = []
func _ready() -> void:
pass # Replace with function body.
func load_disk(disk_num: int) -> bool:
if !disk_num or (disk_num in disks_loaded):
return false
disks_loaded.push_back(disk_num)
disks_wanted.remove_at(disks_wanted.find(disk_num))
return true
func _on_interacted() -> void:
var disk_num = %Player2D.take_disk()
if not load_disk(disk_num):
return
print("Loaded up disk ", disk_num)
+1
View File
@@ -0,0 +1 @@
uid://bh588bpddschq
+23
View File
@@ -0,0 +1,23 @@
[gd_scene format=3 uid="uid://dr8h8xij3qw2h"]
[ext_resource type="Script" uid="uid://bh588bpddschq" path="res://pharaoh.gd" id="1_mt7kg"]
[ext_resource type="Texture2D" uid="uid://bfqc03jxmymdy" path="res://art/Pharaoh.png" id="2_mt7kg"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32)
[node name="Pharaoh" type="Node2D" unique_id=1201409437]
script = ExtResource("1_mt7kg")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture = ExtResource("2_mt7kg")
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
position = Vector2(0, -8)
shape = SubResource("RectangleShape2D_eumkw")
[connection signal="interacted" from="." to="." method="_on_interacted"]
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
[connection signal="body_exited" from="Sprite2D/Area2D" to="." method="_on_abandon"]
+20
View File
@@ -0,0 +1,20 @@
class_name Pickup
extends Node2D
signal picked_up
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func on_contact(body: Node2D) -> void:
print(body)
$AudioStreamPlayer2D.play(0)
visible = false
picked_up.emit()
await get_tree().create_timer(0.2).timeout
queue_free()
+1
View File
@@ -0,0 +1 @@
uid://bun3ype8fkpv8
+11
View File
@@ -18,6 +18,8 @@ var dashing = false
var death_threshold = 1000
var coins = 0
var data_disks = []
func _ready() -> void:
DisplayServer.window_set_title("JUMPS EQUALS JUMPS")
@@ -33,6 +35,15 @@ func refresh_jump(new_jumps):
else:
jumps = 1
func give_disk(disk_num: int) -> void:
data_disks.push_back(disk_num)
func take_disk() -> int:
var disk_num = data_disks.pop_back()
if disk_num:
return disk_num
return 0
func on_teleport():
refresh_jump(1)
teleport_cooldown = 1
+21
View File
@@ -360,6 +360,27 @@ controller_restart_right={
"script": null
)]
}
interact={
"deadzone": 0.2,
"events": [Object(InputEventKey,
"resource_local_to_scene": false,
"resource_name": "",
"device": -1,
"window_id": 0,
"alt_pressed": false,
"shift_pressed": false,
"ctrl_pressed": false,
"meta_pressed": false,
"pressed": false,
"keycode": 0,
"physical_keycode": 69,
"key_label": 0,
"unicode": 101,
"location": 0,
"echo": false,
"script": null
)]
}
[input_devices]
+14 -2
View File
@@ -10,10 +10,12 @@
[ext_resource type="PackedScene" uid="uid://bos6oh7nwyeca" path="res://vertical_long_block.tscn" id="4_pkg7o"]
[ext_resource type="PackedScene" uid="uid://biot4cuwgohvo" path="res://longer_block.tscn" id="6_dwbse"]
[ext_resource type="PackedScene" uid="uid://kstmxoa4dx55" path="res://coin.tscn" id="8_ioo17"]
[ext_resource type="PackedScene" uid="uid://b1e1nx60ng3tq" path="res://disk.tscn" id="10_2u3nc"]
[ext_resource type="Texture2D" uid="uid://s3h6tpypoee0" path="res://art/music_button.png" id="12_2o6r5"]
[ext_resource type="PackedScene" uid="uid://c8m4d77hcr0pj" path="res://spike.tscn" id="12_k3n1d"]
[ext_resource type="Texture2D" uid="uid://dxgnkftqtyt53" path="res://art/music_button_disabled.png" id="13_70uel"]
[ext_resource type="Script" uid="uid://d3rx82psovcpp" path="res://music_button.gd" id="14_70uel"]
[ext_resource type="PackedScene" uid="uid://dr8h8xij3qw2h" path="res://pharaoh.tscn" id="15_hiqwa"]
[node name="World" type="Node2D" unique_id=1327991900]
process_mode = 3
@@ -144,6 +146,10 @@ position = Vector2(0, -58.094738)
[node name="Coin4" parent="Tutorial" unique_id=1504473184 instance=ExtResource("8_ioo17")]
position = Vector2(0, -85.66513)
[node name="Disk" parent="Tutorial" unique_id=514380026 instance=ExtResource("10_2u3nc")]
position = Vector2(213, 95.511696)
disk_num = 1
[node name="ZoeLevel" type="Node2D" parent="." unique_id=980267417]
[node name="LongBlock4" parent="ZoeLevel" unique_id=469408536 instance=ExtResource("6_dwbse")]
@@ -180,8 +186,10 @@ script = ExtResource("2_dwbse")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = 23.0
offset_bottom = 23.0
offset_left = 3.0
offset_top = 32.0
offset_right = 3.0
offset_bottom = 32.0
grow_horizontal = 2
grow_vertical = 2
bbcode_enabled = true
@@ -208,4 +216,8 @@ texture_pressed = ExtResource("13_70uel")
texture_disabled = ExtResource("13_70uel")
script = ExtResource("14_70uel")
[node name="Pharaoh" parent="." unique_id=44054531 instance=ExtResource("15_hiqwa")]
unique_name_in_owner = true
position = Vector2(192, 185.11545)
[connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"]