This commit is contained in:
Marek Lenczewski
2026-04-02 16:02:24 +02:00
parent e76c66eda6
commit 47f4fe3d90
106 changed files with 434 additions and 204 deletions

View File

@@ -1,199 +0,0 @@
[gd_scene format=3]
[ext_resource type="PackedScene" path="res://scenes/player/player.tscn" id="player"]
[ext_resource type="PackedScene" path="res://scenes/hud/hud.tscn" id="hud"]
[ext_resource type="PackedScene" path="res://scenes/enemy/enemy.tscn" id="enemy"]
[ext_resource type="PackedScene" path="res://scenes/enemy/boss.tscn" id="boss"]
[ext_resource type="Script" path="res://scripts/dungeon/dungeon_manager.gd" id="dungeon_manager"]
[ext_resource type="PackedScene" path="res://scenes/portal/gate.tscn" id="gate"]
[ext_resource type="Script" path="res://scripts/systems/health_system.gd" id="health_system"]
[ext_resource type="Script" path="res://scripts/systems/shield_system.gd" id="shield_system"]
[ext_resource type="Script" path="res://scripts/systems/damage_system.gd" id="damage_system"]
[ext_resource type="Script" path="res://scripts/systems/ability_system.gd" id="ability_system"]
[ext_resource type="Script" path="res://scripts/systems/cooldown_system.gd" id="cooldown_system"]
[ext_resource type="Script" path="res://scripts/systems/aggro_system.gd" id="aggro_system"]
[ext_resource type="Script" path="res://scripts/systems/enemy_ai_system.gd" id="enemy_ai_system"]
[ext_resource type="Script" path="res://scripts/systems/respawn_system.gd" id="respawn_system"]
[ext_resource type="Script" path="res://scripts/systems/spawn_system.gd" id="spawn_system"]
[ext_resource type="Script" path="res://scripts/systems/buff_system.gd" id="buff_system"]
[sub_resource type="NavigationMesh" id="NavigationMesh_1"]
vertices = PackedVector3Array(-7.0, 0.5, -7.0, -7.0, 0.5, 87.0, 7.0, 0.5, 87.0, 7.0, 0.5, -7.0)
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1)]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_floor"]
albedo_color = Color(0.2, 0.18, 0.15, 1)
[sub_resource type="PlaneMesh" id="PlaneMesh_1"]
material = SubResource("StandardMaterial3D_floor")
size = Vector2(15, 90)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_1"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wall"]
albedo_color = Color(0.25, 0.22, 0.2, 1)
[sub_resource type="BoxMesh" id="BoxMesh_north_south"]
material = SubResource("StandardMaterial3D_wall")
size = Vector3(15, 3, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_north_south"]
size = Vector3(15, 3, 0.5)
[sub_resource type="BoxMesh" id="BoxMesh_east_west"]
material = SubResource("StandardMaterial3D_wall")
size = Vector3(0.5, 3, 90)
[sub_resource type="BoxShape3D" id="BoxShape3D_east_west"]
size = Vector3(0.5, 3, 90)
[node name="Dungeon" type="Node3D"]
[node name="Systems" type="Node" parent="."]
[node name="HealthSystem" type="Node" parent="Systems"]
script = ExtResource("health_system")
[node name="ShieldSystem" type="Node" parent="Systems"]
script = ExtResource("shield_system")
[node name="DamageSystem" type="Node" parent="Systems"]
script = ExtResource("damage_system")
[node name="AbilitySystem" type="Node" parent="Systems"]
script = ExtResource("ability_system")
[node name="CooldownSystem" type="Node" parent="Systems"]
script = ExtResource("cooldown_system")
[node name="AggroSystem" type="Node" parent="Systems"]
script = ExtResource("aggro_system")
[node name="EnemyAISystem" type="Node" parent="Systems"]
script = ExtResource("enemy_ai_system")
[node name="RespawnSystem" type="Node" parent="Systems"]
script = ExtResource("respawn_system")
[node name="SpawnSystem" type="Node" parent="Systems"]
script = ExtResource("spawn_system")
[node name="BuffSystem" type="Node" parent="Systems"]
script = ExtResource("buff_system")
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
navigation_mesh = SubResource("NavigationMesh_1")
[node name="Boden" type="MeshInstance3D" parent="NavigationRegion3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 40)
mesh = SubResource("PlaneMesh_1")
[node name="BodenCollision" type="StaticBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="BodenCollision"]
shape = SubResource("WorldBoundaryShape3D_1")
[node name="WallSouth" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -5.25)
[node name="Mesh" type="MeshInstance3D" parent="WallSouth"]
mesh = SubResource("BoxMesh_north_south")
[node name="CollisionShape3D" type="CollisionShape3D" parent="WallSouth"]
shape = SubResource("BoxShape3D_north_south")
[node name="WallNorth" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 85.25)
[node name="Mesh" type="MeshInstance3D" parent="WallNorth"]
mesh = SubResource("BoxMesh_north_south")
[node name="CollisionShape3D" type="CollisionShape3D" parent="WallNorth"]
shape = SubResource("BoxShape3D_north_south")
[node name="WallEast" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.75, 1.5, 40)
[node name="Mesh" type="MeshInstance3D" parent="WallEast"]
mesh = SubResource("BoxMesh_east_west")
[node name="CollisionShape3D" type="CollisionShape3D" parent="WallEast"]
shape = SubResource("BoxShape3D_east_west")
[node name="WallWest" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.75, 1.5, 40)
[node name="Mesh" type="MeshInstance3D" parent="WallWest"]
mesh = SubResource("BoxMesh_east_west")
[node name="CollisionShape3D" type="CollisionShape3D" parent="WallWest"]
shape = SubResource("BoxShape3D_east_west")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 10, 40)
light_energy = 0.6
shadow_enabled = true
[node name="Player" parent="." instance=ExtResource("player")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -3)
[node name="HUD" parent="." instance=ExtResource("hud")]
[node name="Enemy1a" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 15)
[node name="Enemy1b" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 15)
[node name="Enemy1c" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 15)
[node name="Enemy1d" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 15)
[node name="Enemy2a" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 30)
[node name="Enemy2b" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 30)
[node name="Enemy2c" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 30)
[node name="Enemy2d" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 30)
[node name="Enemy3a" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 45)
[node name="Enemy3b" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 45)
[node name="Enemy3c" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 45)
[node name="Enemy3d" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 45)
[node name="Enemy4a" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 60)
[node name="Enemy4b" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 60)
[node name="Enemy4c" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 60)
[node name="Enemy4d" parent="." instance=ExtResource("enemy")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 60)
[node name="Boss" parent="." instance=ExtResource("boss")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 75)
[node name="ExitGate" parent="." instance=ExtResource("gate")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -4)
target_scene = "res://scenes/world.tscn"
is_exit = true
[node name="DungeonManager" type="Node" parent="."]
script = ExtResource("dungeon_manager")

View File

@@ -1,108 +0,0 @@
[gd_scene load_steps=6 format=3]
[ext_resource type="Script" path="res://scripts/enemy/boss.gd" id="1"]
[ext_resource type="Script" path="res://scripts/components/healthbar.gd" id="4"]
[ext_resource type="Script" path="res://scripts/enemy/enemy_movement.gd" id="5"]
[ext_resource type="Resource" path="res://resources/stats/boss_stats.tres" id="8"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1"]
radius = 0.6
height = 2.0
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2"]
radius = 0.6
height = 2.0
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_health_bg"]
bg_color = Color(0.3, 0.1, 0.1, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_health_fill"]
bg_color = Color(0.2, 0.8, 0.2, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_shield_bg"]
bg_color = Color(0.1, 0.1, 0.3, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_shield_fill"]
bg_color = Color(0.2, 0.5, 0.9, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.6, 0.1, 0.6, 1)
[sub_resource type="SphereMesh" id="SphereMesh_1"]
radius = 0.75
height = 1.5
material = SubResource("StandardMaterial3D_1")
[sub_resource type="SphereShape3D" id="SphereShape3D_1"]
radius = 8.0
[node name="Boss" type="CharacterBody3D"]
script = ExtResource("1")
stats = ExtResource("8")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("CapsuleShape3D_1")
[node name="Mesh" type="MeshInstance3D" parent="."]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
mesh = SubResource("SphereMesh_1")
[node name="HitArea" type="Area3D" parent="."]
collision_layer = 4
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="HitArea"]
shape = SubResource("CapsuleShape3D_2")
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
[node name="EnemyMovement" type="Node" parent="."]
script = ExtResource("5")
[node name="DetectionArea" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 1
monitoring = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="DetectionArea"]
shape = SubResource("SphereShape3D_1")
[node name="Healthbar" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.0, 0)
billboard = 1
pixel_size = 0.01
script = ExtResource("4")
[node name="SubViewport" type="SubViewport" parent="Healthbar"]
transparent_bg = true
size = Vector2i(104, 29)
[node name="Border" type="ColorRect" parent="Healthbar/SubViewport"]
offset_right = 104.0
offset_bottom = 29.0
color = Color(1, 0.9, 0.2, 1)
[node name="HealthBar" type="ProgressBar" parent="Healthbar/SubViewport"]
offset_left = 2.0
offset_top = 2.0
offset_right = 102.0
offset_bottom = 12.0
theme_override_styles/background = SubResource("StyleBoxFlat_health_bg")
theme_override_styles/fill = SubResource("StyleBoxFlat_health_fill")
max_value = 500.0
value = 500.0
show_percentage = false
[node name="ShieldBar" type="ProgressBar" parent="Healthbar/SubViewport"]
offset_left = 2.0
offset_top = 15.0
offset_right = 102.0
offset_bottom = 27.0
theme_override_styles/background = SubResource("StyleBoxFlat_shield_bg")
theme_override_styles/fill = SubResource("StyleBoxFlat_shield_fill")
max_value = 100.0
value = 100.0
show_percentage = false
[connection signal="body_entered" from="DetectionArea" to="." method="_on_detection_area_body_entered"]
[connection signal="body_exited" from="DetectionArea" to="." method="_on_detection_area_body_exited"]

View File

@@ -1,107 +0,0 @@
[gd_scene load_steps=6 format=3]
[ext_resource type="Script" path="res://scripts/enemy/enemy.gd" id="1"]
[ext_resource type="Script" path="res://scripts/components/healthbar.gd" id="4"]
[ext_resource type="Script" path="res://scripts/enemy/enemy_movement.gd" id="5"]
[ext_resource type="Resource" path="res://resources/stats/enemy_stats.tres" id="8"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1"]
radius = 0.4
height = 1.5
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2"]
radius = 0.4
height = 1.5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_health_bg"]
bg_color = Color(0.3, 0.1, 0.1, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_health_fill"]
bg_color = Color(0.2, 0.8, 0.2, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_shield_bg"]
bg_color = Color(0.1, 0.1, 0.3, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_shield_fill"]
bg_color = Color(0.2, 0.5, 0.9, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.8, 0.1, 0.1, 1)
[sub_resource type="SphereMesh" id="SphereMesh_1"]
radius = 0.5
height = 1.0
material = SubResource("StandardMaterial3D_1")
[sub_resource type="SphereShape3D" id="SphereShape3D_1"]
radius = 8.0
[node name="Enemy" type="CharacterBody3D"]
script = ExtResource("1")
stats = ExtResource("8")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("CapsuleShape3D_1")
[node name="Mesh" type="MeshInstance3D" parent="."]
mesh = SubResource("SphereMesh_1")
[node name="HitArea" type="Area3D" parent="."]
collision_layer = 4
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="HitArea"]
shape = SubResource("CapsuleShape3D_2")
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
[node name="EnemyMovement" type="Node" parent="."]
script = ExtResource("5")
[node name="DetectionArea" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 1
monitoring = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="DetectionArea"]
shape = SubResource("SphereShape3D_1")
[node name="Healthbar" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
billboard = 1
pixel_size = 0.01
script = ExtResource("4")
[node name="SubViewport" type="SubViewport" parent="Healthbar"]
transparent_bg = true
size = Vector2i(104, 29)
[node name="Border" type="ColorRect" parent="Healthbar/SubViewport"]
offset_right = 104.0
offset_bottom = 29.0
color = Color(1, 0.9, 0.2, 1)
[node name="HealthBar" type="ProgressBar" parent="Healthbar/SubViewport"]
offset_left = 2.0
offset_top = 2.0
offset_right = 102.0
offset_bottom = 12.0
theme_override_styles/background = SubResource("StyleBoxFlat_health_bg")
theme_override_styles/fill = SubResource("StyleBoxFlat_health_fill")
max_value = 100.0
value = 100.0
show_percentage = false
[node name="ShieldBar" type="ProgressBar" parent="Healthbar/SubViewport"]
offset_left = 2.0
offset_top = 15.0
offset_right = 102.0
offset_bottom = 27.0
theme_override_styles/background = SubResource("StyleBoxFlat_shield_bg")
theme_override_styles/fill = SubResource("StyleBoxFlat_shield_fill")
max_value = 50.0
value = 50.0
show_percentage = false
[connection signal="body_entered" from="DetectionArea" to="." method="_on_detection_area_body_entered"]
[connection signal="body_exited" from="DetectionArea" to="." method="_on_detection_area_body_exited"]

View File

@@ -1,240 +0,0 @@
[gd_scene format=3]
[ext_resource type="Script" path="res://scripts/player/hud.gd" id="1"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ability_active"]
bg_color = Color(0.2, 0.2, 0.2, 0.8)
border_width_bottom = 2
border_width_left = 2
border_width_right = 2
border_width_top = 2
border_color = Color(0.8, 0.8, 0.8, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ability_round"]
bg_color = Color(0.2, 0.2, 0.2, 0.8)
border_width_bottom = 2
border_width_left = 2
border_width_right = 2
border_width_top = 2
border_color = Color(0.8, 0.8, 0.8, 1)
corner_radius_top_left = 22
corner_radius_top_right = 22
corner_radius_bottom_right = 22
corner_radius_bottom_left = 22
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_health_bg"]
bg_color = Color(0.3, 0.1, 0.1, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_health_fill"]
bg_color = Color(0.2, 0.8, 0.2, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_shield_bg"]
bg_color = Color(0.1, 0.1, 0.3, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_shield_fill"]
bg_color = Color(0.2, 0.5, 0.9, 1)
[node name="HUD" type="CanvasLayer"]
script = ExtResource("1")
[node name="HealthBar" type="ProgressBar" parent="."]
offset_left = 10.0
offset_top = 10.0
offset_right = 210.0
offset_bottom = 30.0
theme_override_styles/background = SubResource("StyleBoxFlat_health_bg")
theme_override_styles/fill = SubResource("StyleBoxFlat_health_fill")
max_value = 100.0
value = 100.0
show_percentage = false
[node name="HealthLabel" type="Label" parent="HealthBar"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 12
text = "100/100"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ShieldBar" type="ProgressBar" parent="."]
offset_left = 10.0
offset_top = 35.0
offset_right = 210.0
offset_bottom = 55.0
theme_override_styles/background = SubResource("StyleBoxFlat_shield_bg")
theme_override_styles/fill = SubResource("StyleBoxFlat_shield_fill")
max_value = 50.0
value = 50.0
show_percentage = false
[node name="ShieldLabel" type="Label" parent="ShieldBar"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 12
text = "50/50"
horizontal_alignment = 1
vertical_alignment = 1
[node name="RespawnTimer" type="Label" parent="."]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -50.0
offset_top = -30.0
offset_right = 50.0
offset_bottom = 30.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 48
horizontal_alignment = 1
vertical_alignment = 1
[node name="AbilityBar" type="HBoxContainer" parent="."]
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -130.0
offset_top = -60.0
offset_right = 130.0
offset_bottom = -10.0
grow_horizontal = 2
grow_vertical = 0
theme_override_constants/separation = 5
[node name="ClassIcon" type="Panel" parent="AbilityBar"]
custom_minimum_size = Vector2(45, 45)
theme_override_styles/panel = SubResource("StyleBoxFlat_ability_round")
[node name="Label" type="Label" parent="AbilityBar/ClassIcon"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 20
text = "D"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Ability1" type="Panel" parent="AbilityBar"]
custom_minimum_size = Vector2(45, 45)
theme_override_styles/panel = SubResource("StyleBoxFlat_ability_active")
[node name="CooldownOverlay" type="ColorRect" parent="AbilityBar/Ability1"]
layout_mode = 1
anchor_right = 1.0
anchor_bottom = 1.0
color = Color(0, 0, 0, 0.6)
visible = false
[node name="Label" type="Label" parent="AbilityBar/Ability1"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "1"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Ability2" type="Panel" parent="AbilityBar"]
custom_minimum_size = Vector2(45, 45)
theme_override_styles/panel = SubResource("StyleBoxFlat_ability_active")
[node name="CooldownOverlay" type="ColorRect" parent="AbilityBar/Ability2"]
layout_mode = 1
anchor_right = 1.0
anchor_bottom = 1.0
color = Color(0, 0, 0, 0.6)
visible = false
[node name="Label" type="Label" parent="AbilityBar/Ability2"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "2"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Ability3" type="Panel" parent="AbilityBar"]
custom_minimum_size = Vector2(45, 45)
theme_override_styles/panel = SubResource("StyleBoxFlat_ability_active")
[node name="CooldownOverlay" type="ColorRect" parent="AbilityBar/Ability3"]
layout_mode = 1
anchor_right = 1.0
anchor_bottom = 1.0
color = Color(0, 0, 0, 0.6)
visible = false
[node name="Label" type="Label" parent="AbilityBar/Ability3"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "3"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Ability4" type="Panel" parent="AbilityBar"]
custom_minimum_size = Vector2(45, 45)
theme_override_styles/panel = SubResource("StyleBoxFlat_ability_active")
[node name="CooldownOverlay" type="ColorRect" parent="AbilityBar/Ability4"]
layout_mode = 1
anchor_right = 1.0
anchor_bottom = 1.0
color = Color(0, 0, 0, 0.6)
visible = false
[node name="Label" type="Label" parent="AbilityBar/Ability4"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "4"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Ability5" type="Panel" parent="AbilityBar"]
custom_minimum_size = Vector2(45, 45)
theme_override_styles/panel = SubResource("StyleBoxFlat_ability_round")
[node name="CooldownOverlay" type="ColorRect" parent="AbilityBar/Ability5"]
layout_mode = 1
anchor_right = 1.0
anchor_bottom = 1.0
color = Color(0, 0, 0, 0.6)
visible = false
[node name="Label" type="Label" parent="AbilityBar/Ability5"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
text = "P"
horizontal_alignment = 1
vertical_alignment = 1

View File

@@ -1,52 +0,0 @@
[gd_scene format=3 uid="uid://cdnkbt1f0db7e"]
[ext_resource type="Script" uid="uid://bfpt2p7uucfyb" path="res://scripts/player/player.gd" id="1"]
[ext_resource type="Script" uid="uid://cohjyjge1kqxb" path="res://scripts/player/camera.gd" id="2"]
[ext_resource type="Script" uid="uid://fg87dh8fbc8" path="res://scripts/player/movement.gd" id="3"]
[ext_resource type="Script" uid="uid://d15til6fsxw5b" path="res://scripts/player/combat.gd" id="4"]
[ext_resource type="Script" uid="uid://b05nkuryipwny" path="res://scripts/player/targeting.gd" id="8"]
[ext_resource type="Script" path="res://scripts/player/role.gd" id="10"]
[ext_resource type="Resource" uid="uid://cgxtn7dfs40bh" path="res://resources/ability_sets/tank_set.tres" id="11"]
[ext_resource type="Resource" uid="uid://beodknb6i1pm4" path="res://resources/ability_sets/damage_set.tres" id="12"]
[ext_resource type="Resource" uid="uid://kcwuhnqy34mj" path="res://resources/ability_sets/healer_set.tres" id="13"]
[ext_resource type="Resource" path="res://resources/stats/player_stats.tres" id="14"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1"]
radius = 0.3
height = 1.8
[sub_resource type="CapsuleMesh" id="CapsuleMesh_1"]
radius = 0.3
height = 1.8
[node name="Player" type="CharacterBody3D" unique_id=1350215040]
script = ExtResource("1")
stats = ExtResource("14")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=33887999]
shape = SubResource("CapsuleShape3D_1")
[node name="Mesh" type="MeshInstance3D" parent="." unique_id=1346931672]
mesh = SubResource("CapsuleMesh_1")
[node name="CameraPivot" type="Node3D" parent="." unique_id=1292689540]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("2")
[node name="Camera3D" type="Camera3D" parent="CameraPivot" unique_id=1225820651]
transform = Transform3D(1, 0, 0, 0, 0.966, 0.259, 0, -0.259, 0.966, 0, 2, 5)
[node name="Movement" type="Node" parent="." unique_id=654979387]
script = ExtResource("3")
[node name="Combat" type="Node" parent="." unique_id=1754235583]
script = ExtResource("4")
[node name="Targeting" type="Node" parent="." unique_id=592540710]
script = ExtResource("8")
[node name="Role" type="Node" parent="." unique_id=134158295]
script = ExtResource("10")
tank_set = ExtResource("11")
damage_set = ExtResource("12")
healer_set = ExtResource("13")

View File

@@ -1,36 +0,0 @@
[gd_scene format=3]
[ext_resource type="Script" path="res://scripts/portal/gate.gd" id="1"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.1, 0.9, 0.3, 1)
emission_enabled = true
emission = Color(0.1, 0.9, 0.3, 1)
emission_energy_multiplier = 0.5
[sub_resource type="CylinderMesh" id="CylinderMesh_1"]
top_radius = 1.0
bottom_radius = 1.0
height = 2.0
material = SubResource("StandardMaterial3D_1")
[sub_resource type="SphereShape3D" id="SphereShape3D_1"]
radius = 3.0
[node name="Gate" type="StaticBody3D"]
script = ExtResource("1")
collision_layer = 0
collision_mask = 0
[node name="Mesh" type="MeshInstance3D" parent="."]
mesh = SubResource("CylinderMesh_1")
[node name="GateArea" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 1
monitoring = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="GateArea"]
shape = SubResource("SphereShape3D_1")
[connection signal="body_entered" from="GateArea" to="." method="_on_gate_area_body_entered"]

View File

@@ -1,84 +0,0 @@
[gd_scene format=3]
[ext_resource type="Script" path="res://scripts/portal/portal.gd" id="1"]
[ext_resource type="Script" path="res://scripts/components/healthbar.gd" id="3"]
[ext_resource type="Resource" path="res://resources/stats/portal_stats.tres" id="6"]
[sub_resource type="SphereShape3D" id="SphereShape3D_1"]
radius = 10.0
[sub_resource type="CylinderShape3D" id="CylinderShape3D_1"]
radius = 1.0
height = 2.0
[sub_resource type="CylinderShape3D" id="CylinderShape3D_2"]
radius = 1.0
height = 2.0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.5, 0.1, 0.8, 1)
[sub_resource type="CylinderMesh" id="CylinderMesh_1"]
top_radius = 1.0
bottom_radius = 1.0
height = 2.0
material = SubResource("StandardMaterial3D_1")
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_health_bg"]
bg_color = Color(0.3, 0.1, 0.1, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_health_fill"]
bg_color = Color(0.2, 0.8, 0.2, 1)
[node name="Portal" type="StaticBody3D"]
script = ExtResource("1")
stats = ExtResource("6")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("CylinderShape3D_1")
[node name="Mesh" type="MeshInstance3D" parent="."]
mesh = SubResource("CylinderMesh_1")
[node name="HitArea" type="Area3D" parent="."]
collision_layer = 4
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="HitArea"]
shape = SubResource("CylinderShape3D_2")
[node name="DetectionArea" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 1
monitoring = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="DetectionArea"]
shape = SubResource("SphereShape3D_1")
[node name="Healthbar" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 0)
billboard = 1
pixel_size = 0.01
script = ExtResource("3")
[node name="SubViewport" type="SubViewport" parent="Healthbar"]
transparent_bg = true
size = Vector2i(104, 15)
[node name="Border" type="ColorRect" parent="Healthbar/SubViewport"]
offset_right = 104.0
offset_bottom = 15.0
color = Color(1, 0.9, 0.2, 1)
[node name="HealthBar" type="ProgressBar" parent="Healthbar/SubViewport"]
offset_left = 2.0
offset_top = 2.0
offset_right = 102.0
offset_bottom = 13.0
theme_override_styles/background = SubResource("StyleBoxFlat_health_bg")
theme_override_styles/fill = SubResource("StyleBoxFlat_health_fill")
max_value = 500.0
value = 500.0
show_percentage = false
[connection signal="body_entered" from="DetectionArea" to="." method="_on_detection_area_body_entered"]

View File

@@ -1,116 +0,0 @@
[gd_scene format=3 uid="uid://dy1icabu2ssbw"]
[ext_resource type="Script" uid="uid://h0hts425epc6" path="res://scripts/systems/ability_system.gd" id="ability_system"]
[ext_resource type="Script" uid="uid://cm7ehl2pexcst" path="res://scripts/systems/aggro_system.gd" id="aggro_system"]
[ext_resource type="Script" uid="uid://da2jm0awq2lnh" path="res://scripts/systems/buff_system.gd" id="buff_system"]
[ext_resource type="Script" uid="uid://ddos7mo8rahou" path="res://scripts/systems/cooldown_system.gd" id="cooldown_system"]
[ext_resource type="Script" uid="uid://cbd1bryh0e2dw" path="res://scripts/systems/damage_system.gd" id="damage_system"]
[ext_resource type="Script" uid="uid://bwhxu5586lc1l" path="res://scripts/systems/enemy_ai_system.gd" id="enemy_ai_system"]
[ext_resource type="Script" uid="uid://b3wkn5118dimy" path="res://scripts/systems/health_system.gd" id="health_system"]
[ext_resource type="PackedScene" path="res://scenes/hud/hud.tscn" id="hud"]
[ext_resource type="PackedScene" uid="uid://cdnkbt1f0db7e" path="res://scenes/player/player.tscn" id="player"]
[ext_resource type="Script" uid="uid://cskx6o07iukwh" path="res://scripts/world/portal_spawner.gd" id="portal_spawner"]
[ext_resource type="Script" uid="uid://b1qkvoqvmd21h" path="res://scripts/systems/respawn_system.gd" id="respawn_system"]
[ext_resource type="Script" uid="uid://rsnpuf77o0sn" path="res://scripts/systems/shield_system.gd" id="shield_system"]
[ext_resource type="Script" uid="uid://c84voxmnaifyt" path="res://scripts/systems/spawn_system.gd" id="spawn_system"]
[sub_resource type="NavigationMesh" id="NavigationMesh_1"]
vertices = PackedVector3Array(-49.5, 0.5, -49.5, -49.5, 0.5, 49.5, 49.5, 0.5, 49.5, 49.5, 0.5, -49.5)
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1)]
[sub_resource type="Gradient" id="Gradient_1"]
colors = PackedColorArray(0.15, 0.35, 0.05, 1, 0.3, 0.55, 0.1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_1"]
frequency = 0.05
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_1"]
noise = SubResource("FastNoiseLite_1")
color_ramp = SubResource("Gradient_1")
seamless = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ground"]
albedo_texture = SubResource("NoiseTexture2D_1")
uv1_scale = Vector3(15, 15, 1)
[sub_resource type="PlaneMesh" id="PlaneMesh_1"]
material = SubResource("StandardMaterial3D_ground")
size = Vector2(100, 100)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_1"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tavern"]
albedo_color = Color(0.45, 0.3, 0.15, 1)
[sub_resource type="BoxMesh" id="BoxMesh_tavern"]
material = SubResource("StandardMaterial3D_tavern")
size = Vector3(5, 3, 5)
[sub_resource type="BoxShape3D" id="BoxShape3D_tavern"]
size = Vector3(5, 3, 5)
[node name="World" type="Node3D" unique_id=1865233338]
[node name="Systems" type="Node" parent="." unique_id=1813416478]
[node name="HealthSystem" type="Node" parent="Systems" unique_id=221270411]
script = ExtResource("health_system")
[node name="ShieldSystem" type="Node" parent="Systems" unique_id=1790230220]
script = ExtResource("shield_system")
[node name="DamageSystem" type="Node" parent="Systems" unique_id=2146323526]
script = ExtResource("damage_system")
[node name="AbilitySystem" type="Node" parent="Systems" unique_id=391120092]
script = ExtResource("ability_system")
[node name="CooldownSystem" type="Node" parent="Systems" unique_id=99457358]
script = ExtResource("cooldown_system")
[node name="AggroSystem" type="Node" parent="Systems" unique_id=1539448343]
script = ExtResource("aggro_system")
[node name="EnemyAISystem" type="Node" parent="Systems" unique_id=2089718042]
script = ExtResource("enemy_ai_system")
[node name="RespawnSystem" type="Node" parent="Systems" unique_id=1586865573]
script = ExtResource("respawn_system")
[node name="SpawnSystem" type="Node" parent="Systems" unique_id=1099032666]
script = ExtResource("spawn_system")
[node name="BuffSystem" type="Node" parent="Systems" unique_id=1219368182]
script = ExtResource("buff_system")
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="." unique_id=1265843679]
navigation_mesh = SubResource("NavigationMesh_1")
[node name="Boden" type="MeshInstance3D" parent="NavigationRegion3D" unique_id=593226019]
mesh = SubResource("PlaneMesh_1")
[node name="BodenCollision" type="StaticBody3D" parent="." unique_id=1112667638]
[node name="CollisionShape3D" type="CollisionShape3D" parent="BodenCollision" unique_id=621554623]
shape = SubResource("WorldBoundaryShape3D_1")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1797472817]
transform = Transform3D(1, 0, 0, 0, 0.707, 0.707, 0, -0.707, 0.707, 0, 10, 0)
shadow_enabled = true
[node name="Taverne" type="StaticBody3D" parent="." unique_id=1978646562]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
[node name="Mesh" type="MeshInstance3D" parent="Taverne" unique_id=2043279810]
mesh = SubResource("BoxMesh_tavern")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Taverne" unique_id=2108564286]
shape = SubResource("BoxShape3D_tavern")
[node name="Player" parent="." unique_id=585018813 instance=ExtResource("player")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -5)
[node name="HUD" parent="." unique_id=763693646 instance=ExtResource("hud")]
[node name="PortalSpawner" type="Node" parent="." unique_id=2100621428]
script = ExtResource("portal_spawner")