Initial commit

This commit is contained in:
ItsDrike 2025-02-27 23:50:12 +01:00
commit a0b34dd454
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
54 changed files with 1826 additions and 0 deletions

25
scenes/boost.tscn Normal file
View file

@ -0,0 +1,25 @@
[gd_scene load_steps=5 format=3 uid="uid://c4tcbum3gjuwf"]
[ext_resource type="Script" path="res://scripts/boost.gd" id="1_dsr6r"]
[ext_resource type="Texture2D" uid="uid://dlly1tyauqodl" path="res://assets/sprites/boost_arrow.png" id="1_ogva3"]
[ext_resource type="AudioStream" uid="uid://chhyiookx3ilk" path="res://assets/sounds/power_up.wav" id="3_h4h5a"]
[sub_resource type="CircleShape2D" id="CircleShape2D_qh1nf"]
radius = 13.0
[node name="Boost" type="Area2D"]
collision_mask = 2
script = ExtResource("1_dsr6r")
[node name="Sprite2D" type="Sprite2D" parent="."]
scale = Vector2(0.139634, 0.139634)
texture = ExtResource("1_ogva3")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
scale = Vector2(0.98759, 0.987433)
shape = SubResource("CircleShape2D_qh1nf")
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("3_h4h5a")
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

221
scenes/coin.tscn Normal file
View file

@ -0,0 +1,221 @@
[gd_scene load_steps=21 format=3 uid="uid://c0f4soyktwplm"]
[ext_resource type="Script" path="res://scripts/coin.gd" id="1_qvwa1"]
[ext_resource type="Texture2D" uid="uid://bped01tsjeycn" path="res://assets/sprites/coin.png" id="1_smegh"]
[ext_resource type="AudioStream" uid="uid://hxv3svfwkg67" path="res://assets/sounds/coin.wav" id="3_khddo"]
[sub_resource type="AtlasTexture" id="AtlasTexture_g2ywy"]
atlas = ExtResource("1_smegh")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ik3tw"]
atlas = ExtResource("1_smegh")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_bjy3d"]
atlas = ExtResource("1_smegh")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_kpo2v"]
atlas = ExtResource("1_smegh")
region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_u2kfk"]
atlas = ExtResource("1_smegh")
region = Rect2(64, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ci3xo"]
atlas = ExtResource("1_smegh")
region = Rect2(80, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_26bph"]
atlas = ExtResource("1_smegh")
region = Rect2(96, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_5mlwc"]
atlas = ExtResource("1_smegh")
region = Rect2(112, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_qbma7"]
atlas = ExtResource("1_smegh")
region = Rect2(128, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_it8gd"]
atlas = ExtResource("1_smegh")
region = Rect2(144, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_5eyw5"]
atlas = ExtResource("1_smegh")
region = Rect2(160, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_cybqp"]
atlas = ExtResource("1_smegh")
region = Rect2(176, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_l64mr"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_g2ywy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ik3tw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bjy3d")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kpo2v")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u2kfk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ci3xo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_26bph")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5mlwc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qbma7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_it8gd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5eyw5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cybqp")
}],
"loop": true,
"name": &"spinnycoin",
"speed": 10.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_hwfwr"]
radius = 5.0
[sub_resource type="Animation" id="Animation_udfc6"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatedSprite2D:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CollisionShape2D:disabled")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("PickupSound:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_gfhk0"]
resource_name = "pickup"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatedSprite2D:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CollisionShape2D:disabled")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("PickupSound:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "method"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath(".")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_a7gs7"]
_data = {
"RESET": SubResource("Animation_udfc6"),
"pickup": SubResource("Animation_gfhk0")
}
[node name="Coin" type="Area2D"]
collision_mask = 2
script = ExtResource("1_qvwa1")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_l64mr")
animation = &"spinnycoin"
autoplay = "spinnycoin"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_hwfwr")
[node name="PickupSound" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("3_khddo")
bus = &"SFX"
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_a7gs7")
}
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

564
scenes/game.tscn Normal file

File diff suppressed because one or more lines are too long

18
scenes/kill_zone.tscn Normal file
View file

@ -0,0 +1,18 @@
[gd_scene load_steps=3 format=3 uid="uid://c1mg68v18w4v"]
[ext_resource type="Script" path="res://scripts/kill_zone.gd" id="1_thrq8"]
[ext_resource type="AudioStream" uid="uid://d3ga5iqgco704" path="res://assets/sounds/hurt.wav" id="2_besme"]
[node name="KillZone" type="Area2D"]
collision_mask = 2
script = ExtResource("1_thrq8")
[node name="Timer" type="Timer" parent="."]
wait_time = 0.6
one_shot = true
[node name="HurtAudioPlayer" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("2_besme")
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]

8
scenes/music.tscn Normal file
View file

@ -0,0 +1,8 @@
[gd_scene load_steps=2 format=3 uid="uid://clo72nrcc6d2j"]
[ext_resource type="AudioStream" uid="uid://bhdq1ysyu4dli" path="res://assets/music/Faolan_Gaias_Chant.mp3" id="1_g83cg"]
[node name="Music" type="AudioStreamPlayer2D"]
stream = ExtResource("1_g83cg")
autoplay = true
bus = &"Music"

17
scenes/platform.tscn Normal file
View file

@ -0,0 +1,17 @@
[gd_scene load_steps=3 format=3 uid="uid://dy2cgj5ibb8tx"]
[ext_resource type="Texture2D" uid="uid://cxuqjimd7csiq" path="res://assets/sprites/platforms.png" id="1_woepu"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qrusg"]
size = Vector2(32, 8)
[node name="Platform" type="AnimatableBody2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_woepu")
region_enabled = true
region_rect = Rect2(16, 0, 32, 9)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_qrusg")
one_way_collision = true

185
scenes/player.tscn Normal file
View file

@ -0,0 +1,185 @@
[gd_scene load_steps=25 format=3 uid="uid://bctm7arnf6byt"]
[ext_resource type="Texture2D" uid="uid://b8cmjj8vq3r8d" path="res://assets/sprites/knight.png" id="1_3eogy"]
[sub_resource type="AtlasTexture" id="AtlasTexture_plx60"]
atlas = ExtResource("1_3eogy")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ftith"]
atlas = ExtResource("1_3eogy")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_bfuwa"]
atlas = ExtResource("1_3eogy")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_j7avn"]
atlas = ExtResource("1_3eogy")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_vuom1"]
atlas = ExtResource("1_3eogy")
region = Rect2(64, 160, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kylfx"]
atlas = ExtResource("1_3eogy")
region = Rect2(0, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_u71vq"]
atlas = ExtResource("1_3eogy")
region = Rect2(32, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_qp5jh"]
atlas = ExtResource("1_3eogy")
region = Rect2(64, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_iajmj"]
atlas = ExtResource("1_3eogy")
region = Rect2(96, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_3cb2l"]
atlas = ExtResource("1_3eogy")
region = Rect2(128, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_uojbm"]
atlas = ExtResource("1_3eogy")
region = Rect2(160, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_lhkn6"]
atlas = ExtResource("1_3eogy")
region = Rect2(192, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hopry"]
atlas = ExtResource("1_3eogy")
region = Rect2(224, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ls3wm"]
atlas = ExtResource("1_3eogy")
region = Rect2(0, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_x0kw7"]
atlas = ExtResource("1_3eogy")
region = Rect2(32, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_synuv"]
atlas = ExtResource("1_3eogy")
region = Rect2(64, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_b3k30"]
atlas = ExtResource("1_3eogy")
region = Rect2(96, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_xqdv2"]
atlas = ExtResource("1_3eogy")
region = Rect2(128, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_jm60i"]
atlas = ExtResource("1_3eogy")
region = Rect2(160, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_wgonx"]
atlas = ExtResource("1_3eogy")
region = Rect2(192, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_66rf8"]
atlas = ExtResource("1_3eogy")
region = Rect2(224, 96, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_i0ef4"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_plx60")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ftith")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bfuwa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7avn")
}],
"loop": true,
"name": &"idle",
"speed": 10.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_vuom1")
}],
"loop": true,
"name": &"jump",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_kylfx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u71vq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qp5jh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_iajmj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3cb2l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uojbm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lhkn6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hopry")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ls3wm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x0kw7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_synuv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b3k30")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xqdv2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jm60i")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wgonx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_66rf8")
}],
"loop": true,
"name": &"run",
"speed": 10.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_lj4mw"]
size = Vector2(10, 15)
[node name="Player" type="CharacterBody2D"]
z_index = 5
collision_layer = 2
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -12)
sprite_frames = SubResource("SpriteFrames_i0ef4")
animation = &"run"
autoplay = "idle"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -7.5)
shape = SubResource("RectangleShape2D_lj4mw")

68
scenes/slime.tscn Normal file
View file

@ -0,0 +1,68 @@
[gd_scene load_steps=10 format=3 uid="uid://couldn2p7ji40"]
[ext_resource type="Texture2D" uid="uid://bl53gpvg5mh1y" path="res://assets/sprites/slime_green.png" id="1_0d7ny"]
[ext_resource type="Script" path="res://scripts/slime.gd" id="1_yja1u"]
[ext_resource type="PackedScene" uid="uid://c1mg68v18w4v" path="res://scenes/kill_zone.tscn" id="2_4sy8s"]
[sub_resource type="AtlasTexture" id="AtlasTexture_fkx3u"]
atlas = ExtResource("1_0d7ny")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_81u4a"]
atlas = ExtResource("1_0d7ny")
region = Rect2(24, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_vnwch"]
atlas = ExtResource("1_0d7ny")
region = Rect2(48, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_tnh43"]
atlas = ExtResource("1_0d7ny")
region = Rect2(72, 24, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_ck5td"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_fkx3u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_81u4a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vnwch")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tnh43")
}],
"loop": true,
"name": &"idle",
"speed": 10.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e6ink"]
size = Vector2(10, 12)
[node name="Slime" type="Node2D"]
script = ExtResource("1_yja1u")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_ck5td")
animation = &"idle"
autoplay = "idle"
frame_progress = 0.99564
[node name="KillZone" parent="." instance=ExtResource("2_4sy8s")]
[node name="CollisionShape2D" type="CollisionShape2D" parent="KillZone"]
position = Vector2(0, 6)
shape = SubResource("RectangleShape2D_e6ink")
[node name="RayCastRight" type="RayCast2D" parent="."]
position = Vector2(0, 6)
target_position = Vector2(12, 0)
[node name="RayCastLeft" type="RayCast2D" parent="."]
position = Vector2(0, 6)
rotation = -0.00269656
target_position = Vector2(-12, 0)