From c192d48bc4fbf9a34d628480382d1623d1e3c962 Mon Sep 17 00:00:00 2001 From: gamer147 Date: Wed, 8 Apr 2026 18:28:52 -0400 Subject: [PATCH] Reorganized files, started splitting up unit --- prefabs/combat_map.tscn | 10 +- prefabs/debug_menu.tscn | 29 +- prefabs/unit.tscn | 4 +- .../allegiance_types/enemy_allegiance.tres | 2 +- .../allegiance_types/player_allegiance.tres | 2 +- .../resource_definitions/console_command.gd | 10 - scenes/game.tscn | 2 +- scenes/views/battle_view.tscn | 6 +- scenes/views/main_menu_view.tscn | 4 +- .../views/main_menu_view.tscn111937213334.tmp | 461 ++++++++++++++++++ .../battle/combat_engine}/combat_proposal.gd | 0 .../combat_engine}/combat_proposal.gd.uid | 0 .../battle/combat_engine}/combat_system.gd | 0 .../combat_engine}/combat_system.gd.uid | 0 .../battle/combat_tactics}/combat_tactic.gd | 2 +- .../combat_tactics}/combat_tactic.gd.uid | 0 .../ranges}/any_combat_tactic_range.gd | 2 +- .../ranges}/any_combat_tactic_range.gd.uid | 0 .../ranges}/combat_tactic_range.gd | 2 +- .../ranges}/combat_tactic_range.gd.uid | 0 .../ranges}/fixed_combat_tactic_range.gd | 0 .../ranges}/fixed_combat_tactic_range.gd.uid | 0 .../unit_matching_combat_tactic_range.gd | 0 .../unit_matching_combat_tactic_range.gd.uid | 0 .../tactics}/attack_combat_tactic.gd | 0 .../tactics}/attack_combat_tactic.gd.uid | 0 .../tactics}/defend_combat_tactic.gd | 2 +- .../tactics}/defend_combat_tactic.gd.uid | 0 .../battle/deployed_units/deployed_unit.gd | 4 + .../deployed_units/deployed_unit.gd.uid | 1 + .../deployed_units/deployed_unit_stats.gd | 14 + .../deployed_units/deployed_unit_stats.gd.uid | 1 + {nodes => scripts/battle/map}/combat_map.gd | 0 .../battle/map}/combat_map.gd.uid | 0 .../battle/map}/dl_tileset.gd | 0 .../battle/map}/dl_tileset.gd.uid | 0 {nodes => scripts/battle/map}/fog_renderer.gd | 0 .../battle/map}/fog_renderer.gd.uid | 0 scripts/battle/{ => map}/grid_overlay.gd | 0 scripts/battle/{ => map}/grid_overlay.gd.uid | 0 .../battle/map}/map_layout.gd | 0 .../battle/map}/map_layout.gd.uid | 0 .../battle/map}/room.gd | 0 .../battle/map}/room.gd.uid | 0 .../battle/map}/wall_renderer.gd | 0 .../battle/map}/wall_renderer.gd.uid | 0 .../battle}/player_controller.gd | 4 +- .../battle}/player_controller.gd.uid | 0 {nodes => scripts/battle}/strategy_phase.gd | 0 .../battle}/strategy_phase.gd.uid | 0 scripts/debug/console_command.gd | 7 + .../debug}/console_command.gd.uid | 0 .../debug}/console_commands/help_command.gd | 2 +- .../console_commands/help_command.gd.uid | 0 .../console_commands/list_scenes_command.gd | 2 +- .../list_scenes_command.gd.uid | 0 .../debug}/console_commands/swap_command.gd | 0 .../console_commands/swap_command.gd.uid | 0 {nodes => scripts/debug}/debug_menu.gd | 3 +- {nodes => scripts/debug}/debug_menu.gd.uid | 0 {nodes => scripts}/game.gd | 0 {nodes => scripts}/game.gd.uid | 0 {nodes => scripts/units}/unit.gd | 0 {nodes => scripts/units}/unit.gd.uid | 0 .../units}/unit_allegiance.gd | 0 .../units}/unit_allegiance.gd.uid | 0 .../units}/unit_info.gd | 0 .../units}/unit_info.gd.uid | 0 .../units}/unit_stats.gd | 8 +- .../units}/unit_stats.gd.uid | 0 70 files changed, 528 insertions(+), 56 deletions(-) delete mode 100644 resources/resource_definitions/console_command.gd create mode 100644 scenes/views/main_menu_view.tscn111937213334.tmp rename {resources/resource_definitions => scripts/battle/combat_engine}/combat_proposal.gd (100%) rename {resources/resource_definitions => scripts/battle/combat_engine}/combat_proposal.gd.uid (100%) rename {nodes => scripts/battle/combat_engine}/combat_system.gd (100%) rename {nodes => scripts/battle/combat_engine}/combat_system.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics}/combat_tactic.gd (84%) rename {resources/resource_definitions => scripts/battle/combat_tactics}/combat_tactic.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/ranges}/any_combat_tactic_range.gd (69%) rename {resources/resource_definitions => scripts/battle/combat_tactics/ranges}/any_combat_tactic_range.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/ranges}/combat_tactic_range.gd (66%) rename {resources/resource_definitions => scripts/battle/combat_tactics/ranges}/combat_tactic_range.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/ranges}/fixed_combat_tactic_range.gd (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/ranges}/fixed_combat_tactic_range.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/ranges}/unit_matching_combat_tactic_range.gd (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/ranges}/unit_matching_combat_tactic_range.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/tactics}/attack_combat_tactic.gd (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/tactics}/attack_combat_tactic.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/combat_tactics/tactics}/defend_combat_tactic.gd (79%) rename {resources/resource_definitions => scripts/battle/combat_tactics/tactics}/defend_combat_tactic.gd.uid (100%) create mode 100644 scripts/battle/deployed_units/deployed_unit.gd create mode 100644 scripts/battle/deployed_units/deployed_unit.gd.uid create mode 100644 scripts/battle/deployed_units/deployed_unit_stats.gd create mode 100644 scripts/battle/deployed_units/deployed_unit_stats.gd.uid rename {nodes => scripts/battle/map}/combat_map.gd (100%) rename {nodes => scripts/battle/map}/combat_map.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/map}/dl_tileset.gd (100%) rename {resources/resource_definitions => scripts/battle/map}/dl_tileset.gd.uid (100%) rename {nodes => scripts/battle/map}/fog_renderer.gd (100%) rename {nodes => scripts/battle/map}/fog_renderer.gd.uid (100%) rename scripts/battle/{ => map}/grid_overlay.gd (100%) rename scripts/battle/{ => map}/grid_overlay.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/map}/map_layout.gd (100%) rename {resources/resource_definitions => scripts/battle/map}/map_layout.gd.uid (100%) rename {resources/resource_definitions => scripts/battle/map}/room.gd (100%) rename {resources/resource_definitions => scripts/battle/map}/room.gd.uid (100%) rename {nodes => scripts/battle/map}/wall_renderer.gd (100%) rename {nodes => scripts/battle/map}/wall_renderer.gd.uid (100%) rename {nodes => scripts/battle}/player_controller.gd (98%) rename {nodes => scripts/battle}/player_controller.gd.uid (100%) rename {nodes => scripts/battle}/strategy_phase.gd (100%) rename {nodes => scripts/battle}/strategy_phase.gd.uid (100%) create mode 100644 scripts/debug/console_command.gd rename {resources/resource_definitions => scripts/debug}/console_command.gd.uid (100%) rename {resources => scripts/debug}/console_commands/help_command.gd (89%) rename {resources => scripts/debug}/console_commands/help_command.gd.uid (100%) rename {resources => scripts/debug}/console_commands/list_scenes_command.gd (86%) rename {resources => scripts/debug}/console_commands/list_scenes_command.gd.uid (100%) rename {resources => scripts/debug}/console_commands/swap_command.gd (100%) rename {resources => scripts/debug}/console_commands/swap_command.gd.uid (100%) rename {nodes => scripts/debug}/debug_menu.gd (97%) rename {nodes => scripts/debug}/debug_menu.gd.uid (100%) rename {nodes => scripts}/game.gd (100%) rename {nodes => scripts}/game.gd.uid (100%) rename {nodes => scripts/units}/unit.gd (100%) rename {nodes => scripts/units}/unit.gd.uid (100%) rename {resources/resource_definitions => scripts/units}/unit_allegiance.gd (100%) rename {resources/resource_definitions => scripts/units}/unit_allegiance.gd.uid (100%) rename {resources/resource_definitions => scripts/units}/unit_info.gd (100%) rename {resources/resource_definitions => scripts/units}/unit_info.gd.uid (100%) rename {resources/resource_definitions => scripts/units}/unit_stats.gd (71%) rename {resources/resource_definitions => scripts/units}/unit_stats.gd.uid (100%) diff --git a/prefabs/combat_map.tscn b/prefabs/combat_map.tscn index d905421..93634bc 100644 --- a/prefabs/combat_map.tscn +++ b/prefabs/combat_map.tscn @@ -1,14 +1,14 @@ [gd_scene format=3 uid="uid://dkhyh5ce4iuk3"] -[ext_resource type="Script" uid="uid://bks7uplgjjdg0" path="res://nodes/combat_map.gd" id="1_jyv1f"] -[ext_resource type="Script" uid="uid://c6701vy8h5rfx" path="res://resources/resource_definitions/dl_tileset.gd" id="2_8rn0j"] +[ext_resource type="Script" uid="uid://bks7uplgjjdg0" path="res://scripts/battle/map/combat_map.gd" id="1_jyv1f"] +[ext_resource type="Script" uid="uid://c6701vy8h5rfx" path="res://scripts/battle/map/dl_tileset.gd" id="2_8rn0j"] [ext_resource type="Texture2D" uid="uid://sjsl8q7tkx8" path="res://assets/sprites/grid_highlight.png" id="3_vcj5e"] -[ext_resource type="Script" uid="uid://cxl38x2m6sj3w" path="res://scripts/battle/grid_overlay.gd" id="4_jelju"] +[ext_resource type="Script" uid="uid://cxl38x2m6sj3w" path="res://scripts/battle/map/grid_overlay.gd" id="4_jelju"] [ext_resource type="Texture2D" uid="uid://b1ks72fiesfrm" path="res://assets/sprites/combat_map_ui.BMP" id="5_mycp7"] [ext_resource type="Texture2D" uid="uid://65rmoynep5hy" path="res://assets/sprites/MP000A.BMP" id="6_muxvo"] -[ext_resource type="Script" uid="uid://c4f1vflwd81b8" path="res://nodes/wall_renderer.gd" id="7_wallr"] +[ext_resource type="Script" uid="uid://c4f1vflwd81b8" path="res://scripts/battle/map/wall_renderer.gd" id="7_wallr"] [ext_resource type="Texture2D" uid="uid://b20mhn7ca5xyo" path="res://assets/sprites/aux_terrain.BMP" id="8_auxtr"] -[ext_resource type="Script" uid="uid://d1d1nbetdvynk" path="res://nodes/fog_renderer.gd" id="9_fogrn"] +[ext_resource type="Script" uid="uid://d1d1nbetdvynk" path="res://scripts/battle/map/fog_renderer.gd" id="9_fogrn"] [sub_resource type="Resource" id="Resource_vcj5e"] script = ExtResource("2_8rn0j") diff --git a/prefabs/debug_menu.tscn b/prefabs/debug_menu.tscn index ea4e2d1..06d961d 100644 --- a/prefabs/debug_menu.tscn +++ b/prefabs/debug_menu.tscn @@ -1,12 +1,12 @@ -[gd_scene format=3] +[gd_scene format=3 uid="uid://dpcaa8x6xxup0"] -[ext_resource type="Script" path="res://nodes/debug_menu.gd" id="1_script"] +[ext_resource type="Script" uid="uid://c64yr8xvkb5cw" path="res://scripts/debug/debug_menu.gd" id="1_script"] -[node name="DebugMenu" type="CanvasLayer"] +[node name="DebugMenu" type="CanvasLayer" unique_id=240858900] layer = 100 script = ExtResource("1_script") -[node name="Panel" type="PanelContainer" parent="."] +[node name="Panel" type="PanelContainer" parent="." unique_id=349886438] unique_name_in_owner = true anchors_preset = 15 anchor_right = 1.0 @@ -14,46 +14,45 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="MarginContainer" type="MarginContainer" parent="Panel"] +[node name="MarginContainer" type="MarginContainer" parent="Panel" unique_id=322235564] layout_mode = 2 theme_override_constants/margin_left = 12 theme_override_constants/margin_top = 12 theme_override_constants/margin_right = 12 theme_override_constants/margin_bottom = 12 -[node name="VBoxContainer" type="VBoxContainer" parent="Panel/MarginContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="Panel/MarginContainer" unique_id=1731008558] layout_mode = 2 -[node name="TitleLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer"] +[node name="TitleLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer" unique_id=211532752] layout_mode = 2 text = "Debug Menu" horizontal_alignment = 1 -[node name="HSeparator" type="HSeparator" parent="Panel/MarginContainer/VBoxContainer"] +[node name="HSeparator" type="HSeparator" parent="Panel/MarginContainer/VBoxContainer" unique_id=1527486356] layout_mode = 2 -[node name="ScenesLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer"] +[node name="ScenesLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer" unique_id=1071710223] layout_mode = 2 text = "Scenes:" -[node name="SceneList" type="VBoxContainer" parent="Panel/MarginContainer/VBoxContainer"] +[node name="SceneList" type="VBoxContainer" parent="Panel/MarginContainer/VBoxContainer" unique_id=1684653951] unique_name_in_owner = true layout_mode = 2 -[node name="HSeparator2" type="HSeparator" parent="Panel/MarginContainer/VBoxContainer"] +[node name="HSeparator2" type="HSeparator" parent="Panel/MarginContainer/VBoxContainer" unique_id=487142357] layout_mode = 2 -[node name="ConsoleLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer"] +[node name="ConsoleLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer" unique_id=1165373860] layout_mode = 2 text = "Console:" -[node name="CommandInput" type="LineEdit" parent="Panel/MarginContainer/VBoxContainer"] +[node name="CommandInput" type="LineEdit" parent="Panel/MarginContainer/VBoxContainer" unique_id=1402278573] unique_name_in_owner = true layout_mode = 2 placeholder_text = "Enter command or expression..." -[node name="ResultLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer"] +[node name="ResultLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer" unique_id=881735021] unique_name_in_owner = true layout_mode = 2 -text = "" autowrap_mode = 3 diff --git a/prefabs/unit.tscn b/prefabs/unit.tscn index 0d7551b..94e1379 100644 --- a/prefabs/unit.tscn +++ b/prefabs/unit.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://b6a7nlnf58mc4"] -[ext_resource type="Script" uid="uid://c016mxgatcpse" path="res://nodes/unit.gd" id="1_cq4v0"] +[ext_resource type="Script" uid="uid://c016mxgatcpse" path="res://scripts/units/unit.gd" id="1_cq4v0"] [ext_resource type="Texture2D" uid="uid://cw5su6lignryo" path="res://assets/sprites/flag.png" id="2_fhs1y"] [ext_resource type="Shader" uid="uid://bd8ki8xwym5nc" path="res://shaders/chroma_key.gdshader" id="3_fhs1y"] [ext_resource type="Texture2D" uid="uid://dyutp4m5d53gd" path="res://assets/sprites/CP002AA.BMP" id="3_on614"] @@ -18,7 +18,7 @@ resource_name = "AllegianceIndicatorManager" script/source = "extends Sprite2D -func _on_unit_unit_allegiance_changed(unit: Unit, allegiance: UnitAllegiance) -> void: +func _on_unit_unit_allegiance_changed(_unit: Unit, allegiance: UnitAllegiance) -> void: self_modulate = allegiance.color " diff --git a/resources/allegiance_types/enemy_allegiance.tres b/resources/allegiance_types/enemy_allegiance.tres index 88710c6..d934fdb 100644 --- a/resources/allegiance_types/enemy_allegiance.tres +++ b/resources/allegiance_types/enemy_allegiance.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="UnitAllegiance" format=3 uid="uid://cuc7kkknpsr1g"] -[ext_resource type="Script" uid="uid://bhglsexm8dtpj" path="res://resources/resource_definitions/unit_allegiance.gd" id="1_40cg2"] +[ext_resource type="Script" uid="uid://bhglsexm8dtpj" path="res://scripts/units/unit_allegiance.gd" id="1_40cg2"] [resource] script = ExtResource("1_40cg2") diff --git a/resources/allegiance_types/player_allegiance.tres b/resources/allegiance_types/player_allegiance.tres index b4fe455..975b77b 100644 --- a/resources/allegiance_types/player_allegiance.tres +++ b/resources/allegiance_types/player_allegiance.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="UnitAllegiance" format=3 uid="uid://dufi2h00j5vrq"] -[ext_resource type="Script" uid="uid://bhglsexm8dtpj" path="res://resources/resource_definitions/unit_allegiance.gd" id="1_4mkdx"] +[ext_resource type="Script" uid="uid://bhglsexm8dtpj" path="res://scripts/units/unit_allegiance.gd" id="1_4mkdx"] [resource] script = ExtResource("1_4mkdx") diff --git a/resources/resource_definitions/console_command.gd b/resources/resource_definitions/console_command.gd deleted file mode 100644 index 81f6d68..0000000 --- a/resources/resource_definitions/console_command.gd +++ /dev/null @@ -1,10 +0,0 @@ -class_name ConsoleCommand extends RefCounted - -func get_command_name() -> String: - return "" - -func get_help_text() -> String: - return "" - -func run(args: Array, context: Dictionary) -> String: - return "" diff --git a/scenes/game.tscn b/scenes/game.tscn index d8e5d87..e63ac54 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://gfrxev22t0bc"] -[ext_resource type="Script" uid="uid://ifv6cww6fk6c" path="res://nodes/game.gd" id="1_script"] +[ext_resource type="Script" uid="uid://ifv6cww6fk6c" path="res://scripts/game.gd" id="1_script"] [ext_resource type="PackedScene" path="res://prefabs/debug_menu.tscn" id="2_debug_menu"] [node name="Game" type="Node" unique_id=906681388] diff --git a/scenes/views/battle_view.tscn b/scenes/views/battle_view.tscn index 0a1ad51..744340f 100644 --- a/scenes/views/battle_view.tscn +++ b/scenes/views/battle_view.tscn @@ -1,10 +1,10 @@ [gd_scene format=3 uid="uid://wy7ur5r23ek3"] -[ext_resource type="Script" uid="uid://dnsqtsx4u2hx4" path="res://nodes/strategy_phase.gd" id="1_qs1ys"] +[ext_resource type="Script" uid="uid://dnsqtsx4u2hx4" path="res://scripts/battle/strategy_phase.gd" id="1_qs1ys"] [ext_resource type="PackedScene" uid="uid://cy7r0udfcsqbn" path="res://prefabs/combat_ui.tscn" id="2_4s0rq"] [ext_resource type="PackedScene" uid="uid://dkhyh5ce4iuk3" path="res://prefabs/combat_map.tscn" id="3_n1a8d"] -[ext_resource type="Script" uid="uid://dfojm3n0em4ef" path="res://nodes/player_controller.gd" id="4_208pr"] -[ext_resource type="Script" uid="uid://cf4ivrcbky0s3" path="res://nodes/combat_system.gd" id="5_n11my"] +[ext_resource type="Script" uid="uid://dfojm3n0em4ef" path="res://scripts/battle/player_controller.gd" id="4_208pr"] +[ext_resource type="Script" uid="uid://cf4ivrcbky0s3" path="res://scripts/battle/combat_engine/combat_system.gd" id="5_n11my"] [ext_resource type="Script" uid="uid://csdcbi2gtwrly" path="res://scripts/battle/camera_controller.gd" id="6_m48os"] [ext_resource type="AudioStream" uid="uid://dsikulned64qt" path="res://assets/music/combat_bgm_01.OGG" id="7_oih6t"] diff --git a/scenes/views/main_menu_view.tscn b/scenes/views/main_menu_view.tscn index d47d665..280a2a0 100644 --- a/scenes/views/main_menu_view.tscn +++ b/scenes/views/main_menu_view.tscn @@ -86,14 +86,14 @@ func _pressed() -> void: var combat_map: CombatMap = combat_instance.find_child(\"CombatMap\") var player_unit: Unit = UNIT_SCENE.instantiate() - player_unit.stat_template = UnitStats.new(50) + player_unit.stat_template = UnitStats.new() player_unit.info_template = UnitInfo.new() player_unit.info_template.name = \"Putit\" player_unit.allegiance_template = PLAYER_ALLEGIANCE combat_map.deploy_unit(player_unit, Vector2i(3, 3)) var enemy_unit: Unit = UNIT_SCENE.instantiate() - enemy_unit.stat_template = UnitStats.new(50) + enemy_unit.stat_template = UnitStats.new() enemy_unit.info_template = UnitInfo.new() enemy_unit.info_template.name = \"Putit\" enemy_unit.allegiance_template = ENEMY_ALLEGIANCE diff --git a/scenes/views/main_menu_view.tscn111937213334.tmp b/scenes/views/main_menu_view.tscn111937213334.tmp new file mode 100644 index 0000000..280a2a0 --- /dev/null +++ b/scenes/views/main_menu_view.tscn111937213334.tmp @@ -0,0 +1,461 @@ +[gd_scene format=3 uid="uid://dlbuo46n6q238"] + +[ext_resource type="Theme" uid="uid://dx26d6py3n8xi" path="res://resources/main_ui_theme.tres" id="1_wmt4g"] +[ext_resource type="AudioStream" uid="uid://b7dgmblbcm0cj" path="res://assets/music/menu_theme.OGG" id="2_0dhhe"] +[ext_resource type="Texture2D" uid="uid://b47b6tt142b25" path="res://assets/sprites/main_menu.BMP" id="3_xgjk6"] +[ext_resource type="AudioStream" uid="uid://5ndo4w06umsa" path="res://assets/sounds/SE020.WAV" id="4_somrw"] +[ext_resource type="AudioStream" uid="uid://d1hacs4t5qni1" path="res://assets/sounds/SE015.WAV" id="5_ybnw1"] +[ext_resource type="Texture2D" uid="uid://8kr4vmvhu03p" path="res://assets/sprites/menu_selector_flame.BMP" id="6_5jfhr"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_wu84c"] +atlas = ExtResource("3_xgjk6") +region = Rect2(0, 0, 800, 400) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8ln24"] +atlas = ExtResource("3_xgjk6") +region = Rect2(0, 600, 800, 348) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a8gd2"] +atlas = ExtResource("3_xgjk6") +region = Rect2(800, 0, 745, 745) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bqqt6"] +atlas = ExtResource("3_xgjk6") +region = Rect2(-1, 995, 800, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rtw2f"] +atlas = ExtResource("3_xgjk6") +region = Rect2(0, 950, 800, 45) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oa1go"] +atlas = ExtResource("3_xgjk6") +region = Rect2(800, 744, 515, 210) + +[sub_resource type="GDScript" id="GDScript_hover"] +resource_name = "ButtonHoverSFX" +script/source = "extends VBoxContainer + +@onready var hover_sfx: AudioStreamPlayer = $HoverSFX +@onready var left_indicator: Control = %LeftIndicator +@onready var right_indicator: Control = %RightIndicator +@onready var click_sfx: AudioStreamPlayer = $ClickSFX + +func _ready() -> void: + for child in get_children(): + if child is TextureButton: + child.mouse_entered.connect(_on_button_hovered.bind(child)) + child.mouse_exited.connect(_on_button_unhovered) + child.pressed.connect(_on_button_clicked) + +func _on_button_hovered(button: TextureButton) -> void: + hover_sfx.play() + var button_center := button.global_position + button.size / 2.0 + left_indicator.global_position = Vector2(button.global_position.x, button_center.y) + right_indicator.global_position = Vector2(button.global_position.x + button.size.x, button_center.y) + left_indicator.visible = true + right_indicator.visible = true + +func _on_button_unhovered() -> void: + left_indicator.visible = false + right_indicator.visible = false + +func _on_button_clicked() -> void: + click_sfx.play() +" + +[sub_resource type="AtlasTexture" id="AtlasTexture_tbmy8"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 0, 330, 50) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jk1qb"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 300, 330, 50) + +[sub_resource type="GDScript" id="GDScript_bqqt6"] +resource_name = "StartButton" +script/source = "extends TextureButton + +const COMBAT_SCENE = preload(\"res://scenes/views/battle_view.tscn\") +const UNIT_SCENE = preload(\"res://prefabs/unit.tscn\") +const PLAYER_ALLEGIANCE = preload(\"res://resources/allegiance_types/player_allegiance.tres\") +const ENEMY_ALLEGIANCE = preload(\"res://resources/allegiance_types/enemy_allegiance.tres\") + +func _pressed() -> void: + await get_tree().create_timer(0.2).timeout + var combat_instance := COMBAT_SCENE.instantiate() + var combat_map: CombatMap = combat_instance.find_child(\"CombatMap\") + + var player_unit: Unit = UNIT_SCENE.instantiate() + player_unit.stat_template = UnitStats.new() + player_unit.info_template = UnitInfo.new() + player_unit.info_template.name = \"Putit\" + player_unit.allegiance_template = PLAYER_ALLEGIANCE + combat_map.deploy_unit(player_unit, Vector2i(3, 3)) + + var enemy_unit: Unit = UNIT_SCENE.instantiate() + enemy_unit.stat_template = UnitStats.new() + enemy_unit.info_template = UnitInfo.new() + enemy_unit.info_template.name = \"Putit\" + enemy_unit.allegiance_template = ENEMY_ALLEGIANCE + combat_map.deploy_unit(enemy_unit, Vector2i(6, 3)) + + var tree := get_tree() + var root := tree.root + var current_scene := tree.current_scene + root.remove_child(current_scene) + current_scene.queue_free() + root.add_child(combat_instance) + tree.current_scene = combat_instance +" + +[sub_resource type="AtlasTexture" id="AtlasTexture_5dd4i"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 60, 330, 50) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lgwnu"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 360, 330, 50) + +[sub_resource type="AtlasTexture" id="AtlasTexture_flqon"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 120, 330, 50) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rcqid"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 420, 330, 50) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ajci"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 180, 330, 50) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7b55j"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 480, 330, 50) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5pajh"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 240, 330, 50) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j7ex8"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1550, 540, 330, 50) + +[sub_resource type="GDScript" id="GDScript_wu84c"] +resource_name = "ExitButton" +script/source = "extends TextureButton + +func _pressed(): + await get_tree().create_timer(0.2).timeout + get_tree().quit(0) +" + +[sub_resource type="AtlasTexture" id="AtlasTexture_tcusk"] +atlas = ExtResource("3_xgjk6") +region = Rect2(1320, 746, 25, 22) + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_8ln24"] +blend_mode = 1 + +[sub_resource type="AtlasTexture" id="AtlasTexture_8egab"] +atlas = ExtResource("6_5jfhr") +region = Rect2(0, 0, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gw5y6"] +atlas = ExtResource("6_5jfhr") +region = Rect2(140, 0, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_svtp6"] +atlas = ExtResource("6_5jfhr") +region = Rect2(280, 0, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1dfpl"] +atlas = ExtResource("6_5jfhr") +region = Rect2(420, 0, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qywvv"] +atlas = ExtResource("6_5jfhr") +region = Rect2(0, 140, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3wgol"] +atlas = ExtResource("6_5jfhr") +region = Rect2(140, 140, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1acrt"] +atlas = ExtResource("6_5jfhr") +region = Rect2(280, 140, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vr8o3"] +atlas = ExtResource("6_5jfhr") +region = Rect2(420, 140, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1a85y"] +atlas = ExtResource("6_5jfhr") +region = Rect2(0, 280, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hl5e0"] +atlas = ExtResource("6_5jfhr") +region = Rect2(140, 280, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_engjn"] +atlas = ExtResource("6_5jfhr") +region = Rect2(280, 280, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6h3lr"] +atlas = ExtResource("6_5jfhr") +region = Rect2(420, 280, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dj67d"] +atlas = ExtResource("6_5jfhr") +region = Rect2(0, 420, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6vcge"] +atlas = ExtResource("6_5jfhr") +region = Rect2(140, 420, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ip0br"] +atlas = ExtResource("6_5jfhr") +region = Rect2(280, 420, 140, 140) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xyero"] +atlas = ExtResource("6_5jfhr") +region = Rect2(420, 420, 140, 140) + +[sub_resource type="SpriteFrames" id="SpriteFrames_tcusk"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_8egab") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gw5y6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_svtp6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1dfpl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qywvv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3wgol") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1acrt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vr8o3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1a85y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hl5e0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_engjn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6h3lr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dj67d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6vcge") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ip0br") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xyero") +}], +"loop": true, +"name": &"default", +"speed": 10.0 +}] + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_rtw2f"] +blend_mode = 1 + +[sub_resource type="AtlasTexture" id="AtlasTexture_hstxw"] + +[node name="MainMenu" type="Control" unique_id=528000941] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_wmt4g") + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="." unique_id=1976575731] +stream = ExtResource("2_0dhhe") +autoplay = true +parameters/looping = true + +[node name="Background" type="Control" parent="." unique_id=801579001] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Top" type="TextureRect" parent="Background" unique_id=2030397311] +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 400.0 +grow_horizontal = 2 +texture = SubResource("AtlasTexture_wu84c") + +[node name="Bottom" type="TextureRect" parent="Background" unique_id=736979824] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -348.0 +grow_horizontal = 2 +grow_vertical = 0 +texture = SubResource("AtlasTexture_8ln24") + +[node name="MagicCircle" type="TextureRect" parent="Background" unique_id=1610277203] +self_modulate = Color(1, 1, 1, 0.6156863) +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -72.5 +offset_bottom = 72.5 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("AtlasTexture_a8gd2") + +[node name="BottomBorder" type="TextureRect" parent="Background" unique_id=2048064934] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -45.0 +grow_horizontal = 2 +grow_vertical = 0 +texture = SubResource("AtlasTexture_bqqt6") + +[node name="TopBorder" type="TextureRect" parent="Background" unique_id=812827884] +layout_mode = 0 +offset_right = 800.0 +offset_bottom = 45.0 +texture = SubResource("AtlasTexture_rtw2f") + +[node name="Logo" type="TextureRect" parent="Background" unique_id=815631332] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -257.5 +offset_top = 50.0 +offset_right = 257.5 +offset_bottom = 210.0 +grow_horizontal = 2 +texture = SubResource("AtlasTexture_oa1go") + +[node name="Buttons" type="VBoxContainer" parent="." unique_id=1869378860] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.29375 +anchor_top = 0.5566667 +anchor_right = 0.70625 +anchor_bottom = 1.0 +offset_left = 1.5258789e-05 +offset_bottom = -55.0 +grow_horizontal = 2 +grow_vertical = 0 +alignment = 1 +script = SubResource("GDScript_hover") +metadata/_edit_use_anchors_ = true + +[node name="HoverSFX" type="AudioStreamPlayer" parent="Buttons" unique_id=256435189] +stream = ExtResource("4_somrw") + +[node name="ClickSFX" type="AudioStreamPlayer" parent="Buttons" unique_id=2129807302] +stream = ExtResource("5_ybnw1") + +[node name="StartButton" type="TextureButton" parent="Buttons" unique_id=973041905] +layout_mode = 2 +size_flags_horizontal = 4 +texture_normal = SubResource("AtlasTexture_tbmy8") +texture_hover = SubResource("AtlasTexture_jk1qb") +script = SubResource("GDScript_bqqt6") + +[node name="LoadButton" type="TextureButton" parent="Buttons" unique_id=2075751086] +layout_mode = 2 +size_flags_horizontal = 4 +texture_normal = SubResource("AtlasTexture_5dd4i") +texture_hover = SubResource("AtlasTexture_lgwnu") + +[node name="EushullyButton" type="TextureButton" parent="Buttons" unique_id=412756984] +layout_mode = 2 +size_flags_horizontal = 4 +texture_normal = SubResource("AtlasTexture_flqon") +texture_hover = SubResource("AtlasTexture_rcqid") + +[node name="OptionsButton" type="TextureButton" parent="Buttons" unique_id=1002907774] +layout_mode = 2 +size_flags_horizontal = 4 +texture_normal = SubResource("AtlasTexture_1ajci") +texture_hover = SubResource("AtlasTexture_7b55j") + +[node name="ExitButton" type="TextureButton" parent="Buttons" unique_id=286651369] +layout_mode = 2 +size_flags_horizontal = 4 +texture_normal = SubResource("AtlasTexture_5pajh") +texture_hover = SubResource("AtlasTexture_j7ex8") +script = SubResource("GDScript_wu84c") + +[node name="LeftIndicator" type="Control" parent="." unique_id=100000001] +unique_name_in_owner = true +visible = false +anchors_preset = 0 +offset_right = 50.0 +offset_bottom = 50.0 + +[node name="Sprite2D" type="Sprite2D" parent="LeftIndicator" unique_id=1510731086] +position = Vector2(0, 15) +texture = SubResource("AtlasTexture_tcusk") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="LeftIndicator" unique_id=1906133697] +material = SubResource("CanvasItemMaterial_8ln24") +scale = Vector2(0.75, 0.75) +sprite_frames = SubResource("SpriteFrames_tcusk") +autoplay = "default" +frame = 12 +frame_progress = 0.23836201 + +[node name="RightIndicator" type="Control" parent="." unique_id=100000002] +unique_name_in_owner = true +visible = false +anchors_preset = 0 +offset_right = 50.0 +offset_bottom = 50.0 + +[node name="Sprite2D" type="Sprite2D" parent="RightIndicator" unique_id=979863490] +position = Vector2(0, 15) +texture = SubResource("AtlasTexture_tcusk") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="RightIndicator" unique_id=1047794140] +material = SubResource("CanvasItemMaterial_rtw2f") +scale = Vector2(0.75, 0.75) +sprite_frames = SubResource("SpriteFrames_tcusk") +autoplay = "default" +frame = 12 +frame_progress = 0.23836201 + +[node name="TextureRect" type="TextureRect" parent="." unique_id=968381019] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 +texture = SubResource("AtlasTexture_hstxw") diff --git a/resources/resource_definitions/combat_proposal.gd b/scripts/battle/combat_engine/combat_proposal.gd similarity index 100% rename from resources/resource_definitions/combat_proposal.gd rename to scripts/battle/combat_engine/combat_proposal.gd diff --git a/resources/resource_definitions/combat_proposal.gd.uid b/scripts/battle/combat_engine/combat_proposal.gd.uid similarity index 100% rename from resources/resource_definitions/combat_proposal.gd.uid rename to scripts/battle/combat_engine/combat_proposal.gd.uid diff --git a/nodes/combat_system.gd b/scripts/battle/combat_engine/combat_system.gd similarity index 100% rename from nodes/combat_system.gd rename to scripts/battle/combat_engine/combat_system.gd diff --git a/nodes/combat_system.gd.uid b/scripts/battle/combat_engine/combat_system.gd.uid similarity index 100% rename from nodes/combat_system.gd.uid rename to scripts/battle/combat_engine/combat_system.gd.uid diff --git a/resources/resource_definitions/combat_tactic.gd b/scripts/battle/combat_tactics/combat_tactic.gd similarity index 84% rename from resources/resource_definitions/combat_tactic.gd rename to scripts/battle/combat_tactics/combat_tactic.gd index b0c3920..c1bb88e 100644 --- a/resources/resource_definitions/combat_tactic.gd +++ b/scripts/battle/combat_tactics/combat_tactic.gd @@ -3,7 +3,7 @@ class_name CombatTactic extends Resource @export var tactic_name: String = "" @export var tactic_range: CombatTacticRange -func get_offensive_stats(unit: Unit) -> Variant: +func get_offensive_stats(_unit: Unit) -> Variant: return null func get_relevant_defense(unit: Unit) -> int: diff --git a/resources/resource_definitions/combat_tactic.gd.uid b/scripts/battle/combat_tactics/combat_tactic.gd.uid similarity index 100% rename from resources/resource_definitions/combat_tactic.gd.uid rename to scripts/battle/combat_tactics/combat_tactic.gd.uid diff --git a/resources/resource_definitions/any_combat_tactic_range.gd b/scripts/battle/combat_tactics/ranges/any_combat_tactic_range.gd similarity index 69% rename from resources/resource_definitions/any_combat_tactic_range.gd rename to scripts/battle/combat_tactics/ranges/any_combat_tactic_range.gd index 318d197..9b2e81b 100644 --- a/resources/resource_definitions/any_combat_tactic_range.gd +++ b/scripts/battle/combat_tactics/ranges/any_combat_tactic_range.gd @@ -1,5 +1,5 @@ # resources/resource_definitions/any_combat_tactic_range.gd class_name AnyCombatTacticRange extends CombatTacticRange -func is_valid_range(distance: int, unit: Unit) -> bool: +func is_valid_range(_distance: int, _unit: Unit) -> bool: return true diff --git a/resources/resource_definitions/any_combat_tactic_range.gd.uid b/scripts/battle/combat_tactics/ranges/any_combat_tactic_range.gd.uid similarity index 100% rename from resources/resource_definitions/any_combat_tactic_range.gd.uid rename to scripts/battle/combat_tactics/ranges/any_combat_tactic_range.gd.uid diff --git a/resources/resource_definitions/combat_tactic_range.gd b/scripts/battle/combat_tactics/ranges/combat_tactic_range.gd similarity index 66% rename from resources/resource_definitions/combat_tactic_range.gd rename to scripts/battle/combat_tactics/ranges/combat_tactic_range.gd index 68406fc..7645ea5 100644 --- a/resources/resource_definitions/combat_tactic_range.gd +++ b/scripts/battle/combat_tactics/ranges/combat_tactic_range.gd @@ -1,5 +1,5 @@ # resources/resource_definitions/combat_tactic_range.gd class_name CombatTacticRange extends Resource -func is_valid_range(distance: int, unit: Unit) -> bool: +func is_valid_range(_distance: int, _unit: Unit) -> bool: return false diff --git a/resources/resource_definitions/combat_tactic_range.gd.uid b/scripts/battle/combat_tactics/ranges/combat_tactic_range.gd.uid similarity index 100% rename from resources/resource_definitions/combat_tactic_range.gd.uid rename to scripts/battle/combat_tactics/ranges/combat_tactic_range.gd.uid diff --git a/resources/resource_definitions/fixed_combat_tactic_range.gd b/scripts/battle/combat_tactics/ranges/fixed_combat_tactic_range.gd similarity index 100% rename from resources/resource_definitions/fixed_combat_tactic_range.gd rename to scripts/battle/combat_tactics/ranges/fixed_combat_tactic_range.gd diff --git a/resources/resource_definitions/fixed_combat_tactic_range.gd.uid b/scripts/battle/combat_tactics/ranges/fixed_combat_tactic_range.gd.uid similarity index 100% rename from resources/resource_definitions/fixed_combat_tactic_range.gd.uid rename to scripts/battle/combat_tactics/ranges/fixed_combat_tactic_range.gd.uid diff --git a/resources/resource_definitions/unit_matching_combat_tactic_range.gd b/scripts/battle/combat_tactics/ranges/unit_matching_combat_tactic_range.gd similarity index 100% rename from resources/resource_definitions/unit_matching_combat_tactic_range.gd rename to scripts/battle/combat_tactics/ranges/unit_matching_combat_tactic_range.gd diff --git a/resources/resource_definitions/unit_matching_combat_tactic_range.gd.uid b/scripts/battle/combat_tactics/ranges/unit_matching_combat_tactic_range.gd.uid similarity index 100% rename from resources/resource_definitions/unit_matching_combat_tactic_range.gd.uid rename to scripts/battle/combat_tactics/ranges/unit_matching_combat_tactic_range.gd.uid diff --git a/resources/resource_definitions/attack_combat_tactic.gd b/scripts/battle/combat_tactics/tactics/attack_combat_tactic.gd similarity index 100% rename from resources/resource_definitions/attack_combat_tactic.gd rename to scripts/battle/combat_tactics/tactics/attack_combat_tactic.gd diff --git a/resources/resource_definitions/attack_combat_tactic.gd.uid b/scripts/battle/combat_tactics/tactics/attack_combat_tactic.gd.uid similarity index 100% rename from resources/resource_definitions/attack_combat_tactic.gd.uid rename to scripts/battle/combat_tactics/tactics/attack_combat_tactic.gd.uid diff --git a/resources/resource_definitions/defend_combat_tactic.gd b/scripts/battle/combat_tactics/tactics/defend_combat_tactic.gd similarity index 79% rename from resources/resource_definitions/defend_combat_tactic.gd rename to scripts/battle/combat_tactics/tactics/defend_combat_tactic.gd index 4e02a9a..5141847 100644 --- a/resources/resource_definitions/defend_combat_tactic.gd +++ b/scripts/battle/combat_tactics/tactics/defend_combat_tactic.gd @@ -1,6 +1,6 @@ class_name DefendCombatTactic extends CombatTactic -func get_offensive_stats(unit: Unit) -> Variant: +func get_offensive_stats(_unit: Unit) -> Variant: return null func get_relevant_defense(unit: Unit) -> int: diff --git a/resources/resource_definitions/defend_combat_tactic.gd.uid b/scripts/battle/combat_tactics/tactics/defend_combat_tactic.gd.uid similarity index 100% rename from resources/resource_definitions/defend_combat_tactic.gd.uid rename to scripts/battle/combat_tactics/tactics/defend_combat_tactic.gd.uid diff --git a/scripts/battle/deployed_units/deployed_unit.gd b/scripts/battle/deployed_units/deployed_unit.gd new file mode 100644 index 0000000..63ffe5d --- /dev/null +++ b/scripts/battle/deployed_units/deployed_unit.gd @@ -0,0 +1,4 @@ +class_name DeployedUnit extends Node2D + +# The unit represented by this deployment +@export var unit: Unit diff --git a/scripts/battle/deployed_units/deployed_unit.gd.uid b/scripts/battle/deployed_units/deployed_unit.gd.uid new file mode 100644 index 0000000..1ee0264 --- /dev/null +++ b/scripts/battle/deployed_units/deployed_unit.gd.uid @@ -0,0 +1 @@ +uid://cmh4lphvboggy diff --git a/scripts/battle/deployed_units/deployed_unit_stats.gd b/scripts/battle/deployed_units/deployed_unit_stats.gd new file mode 100644 index 0000000..77e10a2 --- /dev/null +++ b/scripts/battle/deployed_units/deployed_unit_stats.gd @@ -0,0 +1,14 @@ +class_name DeployedUnitStats extends Resource + +@export var unit_stats: UnitStats +@export var current_hp: int +@export var current_sp: int +@export var current_fs: int + +func _init() -> void: + _init_stats.call_deferred() + +func _init_stats() -> void: + current_hp = unit_stats.max_hp + current_sp = unit_stats.max_sp + current_fs = unit_stats.max_fs diff --git a/scripts/battle/deployed_units/deployed_unit_stats.gd.uid b/scripts/battle/deployed_units/deployed_unit_stats.gd.uid new file mode 100644 index 0000000..5c205b1 --- /dev/null +++ b/scripts/battle/deployed_units/deployed_unit_stats.gd.uid @@ -0,0 +1 @@ +uid://b3jekvxwi8sxi diff --git a/nodes/combat_map.gd b/scripts/battle/map/combat_map.gd similarity index 100% rename from nodes/combat_map.gd rename to scripts/battle/map/combat_map.gd diff --git a/nodes/combat_map.gd.uid b/scripts/battle/map/combat_map.gd.uid similarity index 100% rename from nodes/combat_map.gd.uid rename to scripts/battle/map/combat_map.gd.uid diff --git a/resources/resource_definitions/dl_tileset.gd b/scripts/battle/map/dl_tileset.gd similarity index 100% rename from resources/resource_definitions/dl_tileset.gd rename to scripts/battle/map/dl_tileset.gd diff --git a/resources/resource_definitions/dl_tileset.gd.uid b/scripts/battle/map/dl_tileset.gd.uid similarity index 100% rename from resources/resource_definitions/dl_tileset.gd.uid rename to scripts/battle/map/dl_tileset.gd.uid diff --git a/nodes/fog_renderer.gd b/scripts/battle/map/fog_renderer.gd similarity index 100% rename from nodes/fog_renderer.gd rename to scripts/battle/map/fog_renderer.gd diff --git a/nodes/fog_renderer.gd.uid b/scripts/battle/map/fog_renderer.gd.uid similarity index 100% rename from nodes/fog_renderer.gd.uid rename to scripts/battle/map/fog_renderer.gd.uid diff --git a/scripts/battle/grid_overlay.gd b/scripts/battle/map/grid_overlay.gd similarity index 100% rename from scripts/battle/grid_overlay.gd rename to scripts/battle/map/grid_overlay.gd diff --git a/scripts/battle/grid_overlay.gd.uid b/scripts/battle/map/grid_overlay.gd.uid similarity index 100% rename from scripts/battle/grid_overlay.gd.uid rename to scripts/battle/map/grid_overlay.gd.uid diff --git a/resources/resource_definitions/map_layout.gd b/scripts/battle/map/map_layout.gd similarity index 100% rename from resources/resource_definitions/map_layout.gd rename to scripts/battle/map/map_layout.gd diff --git a/resources/resource_definitions/map_layout.gd.uid b/scripts/battle/map/map_layout.gd.uid similarity index 100% rename from resources/resource_definitions/map_layout.gd.uid rename to scripts/battle/map/map_layout.gd.uid diff --git a/resources/resource_definitions/room.gd b/scripts/battle/map/room.gd similarity index 100% rename from resources/resource_definitions/room.gd rename to scripts/battle/map/room.gd diff --git a/resources/resource_definitions/room.gd.uid b/scripts/battle/map/room.gd.uid similarity index 100% rename from resources/resource_definitions/room.gd.uid rename to scripts/battle/map/room.gd.uid diff --git a/nodes/wall_renderer.gd b/scripts/battle/map/wall_renderer.gd similarity index 100% rename from nodes/wall_renderer.gd rename to scripts/battle/map/wall_renderer.gd diff --git a/nodes/wall_renderer.gd.uid b/scripts/battle/map/wall_renderer.gd.uid similarity index 100% rename from nodes/wall_renderer.gd.uid rename to scripts/battle/map/wall_renderer.gd.uid diff --git a/nodes/player_controller.gd b/scripts/battle/player_controller.gd similarity index 98% rename from nodes/player_controller.gd rename to scripts/battle/player_controller.gd index d032344..64140f7 100644 --- a/nodes/player_controller.gd +++ b/scripts/battle/player_controller.gd @@ -157,11 +157,11 @@ func _select_unit(unit: Unit) -> void: func _get_unit_at(world_pos: Vector2) -> Unit: - var snapped := dl_map.snap_to_grid(world_pos) + var snapped_coords := dl_map.snap_to_grid(world_pos) for unit: Unit in get_tree().get_nodes_in_group("units"): if not unit.is_alive(): continue var unit_snapped := dl_map.snap_to_grid(unit.global_position) - if unit_snapped == snapped: + if unit_snapped == snapped_coords: return unit return null diff --git a/nodes/player_controller.gd.uid b/scripts/battle/player_controller.gd.uid similarity index 100% rename from nodes/player_controller.gd.uid rename to scripts/battle/player_controller.gd.uid diff --git a/nodes/strategy_phase.gd b/scripts/battle/strategy_phase.gd similarity index 100% rename from nodes/strategy_phase.gd rename to scripts/battle/strategy_phase.gd diff --git a/nodes/strategy_phase.gd.uid b/scripts/battle/strategy_phase.gd.uid similarity index 100% rename from nodes/strategy_phase.gd.uid rename to scripts/battle/strategy_phase.gd.uid diff --git a/scripts/debug/console_command.gd b/scripts/debug/console_command.gd new file mode 100644 index 0000000..f52cd06 --- /dev/null +++ b/scripts/debug/console_command.gd @@ -0,0 +1,7 @@ +@abstract class_name ConsoleCommand extends RefCounted + +@abstract func get_command_name() -> String + +@abstract func get_help_text() -> String + +@abstract func run(args: Array, context: Dictionary) -> String diff --git a/resources/resource_definitions/console_command.gd.uid b/scripts/debug/console_command.gd.uid similarity index 100% rename from resources/resource_definitions/console_command.gd.uid rename to scripts/debug/console_command.gd.uid diff --git a/resources/console_commands/help_command.gd b/scripts/debug/console_commands/help_command.gd similarity index 89% rename from resources/console_commands/help_command.gd rename to scripts/debug/console_commands/help_command.gd index 79537b3..1549005 100644 --- a/resources/console_commands/help_command.gd +++ b/scripts/debug/console_commands/help_command.gd @@ -6,7 +6,7 @@ func get_command_name() -> String: func get_help_text() -> String: return "Lists all available commands" -func run(args: Array, context: Dictionary) -> String: +func run(_args: Array, context: Dictionary) -> String: var commands: Array = context["commands"] var lines: PackedStringArray = [] for command: ConsoleCommand in commands: diff --git a/resources/console_commands/help_command.gd.uid b/scripts/debug/console_commands/help_command.gd.uid similarity index 100% rename from resources/console_commands/help_command.gd.uid rename to scripts/debug/console_commands/help_command.gd.uid diff --git a/resources/console_commands/list_scenes_command.gd b/scripts/debug/console_commands/list_scenes_command.gd similarity index 86% rename from resources/console_commands/list_scenes_command.gd rename to scripts/debug/console_commands/list_scenes_command.gd index 9e8b056..599960d 100644 --- a/resources/console_commands/list_scenes_command.gd +++ b/scripts/debug/console_commands/list_scenes_command.gd @@ -6,7 +6,7 @@ func get_command_name() -> String: func get_help_text() -> String: return "Lists available scenes for swapping" -func run(args: Array, context: Dictionary) -> String: +func run(_args: Array, context: Dictionary) -> String: var registry: Array = context["scene_registry"] var lines: PackedStringArray = [] for entry: Dictionary in registry: diff --git a/resources/console_commands/list_scenes_command.gd.uid b/scripts/debug/console_commands/list_scenes_command.gd.uid similarity index 100% rename from resources/console_commands/list_scenes_command.gd.uid rename to scripts/debug/console_commands/list_scenes_command.gd.uid diff --git a/resources/console_commands/swap_command.gd b/scripts/debug/console_commands/swap_command.gd similarity index 100% rename from resources/console_commands/swap_command.gd rename to scripts/debug/console_commands/swap_command.gd diff --git a/resources/console_commands/swap_command.gd.uid b/scripts/debug/console_commands/swap_command.gd.uid similarity index 100% rename from resources/console_commands/swap_command.gd.uid rename to scripts/debug/console_commands/swap_command.gd.uid diff --git a/nodes/debug_menu.gd b/scripts/debug/debug_menu.gd similarity index 97% rename from nodes/debug_menu.gd rename to scripts/debug/debug_menu.gd index a0b27f2..395152e 100644 --- a/nodes/debug_menu.gd +++ b/scripts/debug/debug_menu.gd @@ -11,7 +11,6 @@ var scene_registry: Array = [ ] var commands: Array[ConsoleCommand] = [] -var _result_tween: Tween @onready var panel: PanelContainer = %Panel @onready var scene_list: VBoxContainer = %SceneList @@ -48,7 +47,7 @@ func swap_scene(entry: Dictionary) -> void: _apply_setup(entry["setup"], instance) close_requested.emit() -func _apply_setup(setup_key: String, scene_instance: Node) -> void: +func _apply_setup(setup_key: String, _scene_instance: Node) -> void: match setup_key: _: push_warning("Unknown setup key: %s" % setup_key) diff --git a/nodes/debug_menu.gd.uid b/scripts/debug/debug_menu.gd.uid similarity index 100% rename from nodes/debug_menu.gd.uid rename to scripts/debug/debug_menu.gd.uid diff --git a/nodes/game.gd b/scripts/game.gd similarity index 100% rename from nodes/game.gd rename to scripts/game.gd diff --git a/nodes/game.gd.uid b/scripts/game.gd.uid similarity index 100% rename from nodes/game.gd.uid rename to scripts/game.gd.uid diff --git a/nodes/unit.gd b/scripts/units/unit.gd similarity index 100% rename from nodes/unit.gd rename to scripts/units/unit.gd diff --git a/nodes/unit.gd.uid b/scripts/units/unit.gd.uid similarity index 100% rename from nodes/unit.gd.uid rename to scripts/units/unit.gd.uid diff --git a/resources/resource_definitions/unit_allegiance.gd b/scripts/units/unit_allegiance.gd similarity index 100% rename from resources/resource_definitions/unit_allegiance.gd rename to scripts/units/unit_allegiance.gd diff --git a/resources/resource_definitions/unit_allegiance.gd.uid b/scripts/units/unit_allegiance.gd.uid similarity index 100% rename from resources/resource_definitions/unit_allegiance.gd.uid rename to scripts/units/unit_allegiance.gd.uid diff --git a/resources/resource_definitions/unit_info.gd b/scripts/units/unit_info.gd similarity index 100% rename from resources/resource_definitions/unit_info.gd rename to scripts/units/unit_info.gd diff --git a/resources/resource_definitions/unit_info.gd.uid b/scripts/units/unit_info.gd.uid similarity index 100% rename from resources/resource_definitions/unit_info.gd.uid rename to scripts/units/unit_info.gd.uid diff --git a/resources/resource_definitions/unit_stats.gd b/scripts/units/unit_stats.gd similarity index 71% rename from resources/resource_definitions/unit_stats.gd rename to scripts/units/unit_stats.gd index 426ebf6..206cc6c 100644 --- a/resources/resource_definitions/unit_stats.gd +++ b/scripts/units/unit_stats.gd @@ -1,9 +1,8 @@ class_name UnitStats extends Resource @export var max_hp: int = 10 -@export var current_hp: int @export var max_sp: int = 10 -@export var current_sp: int = 10 +@export var max_fs: int = 10 @export var phys_atk: int = 10 @export var phys_def: int = 5 @export var magic_atk: int = 0 @@ -13,7 +12,4 @@ class_name UnitStats extends Resource @export var spd: int = 1 @export var eva: int = 1 @export var lck: int = 1 - -func _init(max_hp: int = 10) -> void: - self.max_hp = max_hp - current_hp = max_hp +@export var mov: int = 3 diff --git a/resources/resource_definitions/unit_stats.gd.uid b/scripts/units/unit_stats.gd.uid similarity index 100% rename from resources/resource_definitions/unit_stats.gd.uid rename to scripts/units/unit_stats.gd.uid