From 5045b002253be0b4c74483f38808da8eb84341a1 Mon Sep 17 00:00:00 2001 From: chendian <-> Date: Sat, 10 Feb 2024 03:31:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=80=E8=83=BD=E9=85=8D=E7=BD=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources_spreadsheet_view/editor_view.gd | 42 ++++++++----- .../editor_view.tscn | 24 +++---- .../import_export/formats_edit/edit_tres.gd | 3 - .../formats_import/import_csv.gd | 5 ++ .../import_export/import_export_dialog.gd | 1 + .../import_export/import_export_dialog.tscn | 13 ++-- .../import_export_enum_format.tscn | 2 +- .../import_export/property_list_item.tscn | 2 +- .../import_export/spreadsheet_import.gd | 4 +- .../main_screen/selection_actions.gd | 46 ++++++-------- .../main_screen/selection_actions.tscn | 6 +- .../main_screen/selection_manager.gd | 2 +- .../main_screen/table_header.tscn | 2 +- addons/resources_spreadsheet_view/plugin.gd | 4 ++ .../saved_state.json | 31 ++------- .../settings_grid.tscn | 2 +- .../typed_cells/array.tscn | 2 +- .../typed_cells/basic.tscn | 2 +- .../typed_cells/resource.tscn | 2 +- .../typed_editors/dock_array.tscn | 6 +- .../typed_editors/dock_color.tscn | 2 +- .../typed_editors/dock_dict.tscn | 6 +- .../typed_editors/dock_enum_array.tscn | 6 +- .../typed_editors/dock_number.gd | 10 +-- .../typed_editors/dock_number.tscn | 8 +-- .../typed_editors/dock_texture.tscn | 7 ++- config/attack/blunt_heavy_hit_blow.tres | 4 -- config/attack/blunt_mid_hit_blow.tres | 4 -- config/attack/blunt_normal_hit.tres | 4 -- config/attack/blunt_normal_hit_back.tres | 4 -- config/attack/sharp_heavy_hit_blow.tres | 6 +- config/attack/sharp_mid_hit.tres | 6 +- config/attack/sharp_mid_hit_down.tres | 6 +- config/attack/sharp_normal_hit.tres | 6 +- config/attack/sharp_normal_hit_back.tres | 6 +- config/attack/sharp_normal_hit_up.tres | 13 ++-- config/attack_box/box_normal.tres | 10 +++ config/attack_box/circle_normal.tres | 10 +++ .../hero01_fist_air_skill01.tres | 5 +- .../hero01_fist_attack01.tres | 5 +- .../hero01_fist_attack02.tres | 5 +- .../hero01_fist_attack03.tres | 5 +- .../hero01_fist_attack04.tres | 5 +- .../hero01_fist_attack05.tres | 5 +- .../hero01_long_air_attack01.tres | 5 +- .../hero01_long_air_attack02.tres | 5 +- .../hero01_long_air_attack03.tres | 7 +-- .../hero01_long_attack01.tres | 5 +- .../hero01_long_attack02.tres | 5 +- .../hero01_long_attack03.tres | 6 +- .../hero01_long_attack04.tres | 10 +-- .../hero01_long_skill01.tres | 7 +-- .../hero01_long_skill02.tres | 5 +- .../hero01_short_attack01.tres | 7 +-- .../hero01_short_attack02.tres | 7 +-- .../hero01_short_attack03.tres | 8 +-- .../hero01_short_attack04.tres | 7 +-- example/Items/item_icons/items.png | Bin 0 -> 2918 bytes example/Items/item_icons/items.png.import | 34 ++++++++++ example/Items/item_type.gd | 32 ++++++++++ example/Items/items/arrows.tres | 19 ++++++ example/Items/items/belt_1.tres | 28 +++++++++ example/Items/items/belt_2.tres | 28 +++++++++ example/Items/items/chestplate_1.tres | 28 +++++++++ example/Items/items/chestplate_2.tres | 29 +++++++++ example/Items/items/coin_gold.tres | 19 ++++++ example/Items/items/coin_purple.tres | 21 +++++++ example/Items/items/feather.tres | 19 ++++++ example/Items/items/gem_blue.tres | 19 ++++++ example/Items/items/head_helmet.tres | 28 +++++++++ example/Items/items/head_wizardhat.tres | 28 +++++++++ example/Items/items/herb.tres | 19 ++++++ example/Items/items/leather.tres | 19 ++++++ example/Items/items/magic_crystal.tres | 21 +++++++ example/Items/items/melee_battleaxe.tres | 29 +++++++++ example/Items/items/melee_sword.tres | 29 +++++++++ example/Items/items/metalscrap_copper.tres | 19 ++++++ example/Items/items/metalscrap_gold.tres | 24 +++++++ example/Items/items/metalscrap_iron.tres | 19 ++++++ example/Items/items/metalscrap_wyvernite.tres | 21 +++++++ example/Items/items/potion_blue.tres | 24 +++++++ example/Items/items/potion_purple.tres | 21 +++++++ example/Items/items/potion_red.tres | 21 +++++++ example/Items/items/ring_1.tres | 28 +++++++++ example/Items/items/ring_2.tres | 28 +++++++++ example/Items/items/scroll_enchant.tres | 21 +++++++ example/Items/items/wand_purple.tres | 28 +++++++++ example/Items/items/wand_red.tres | 28 +++++++++ example/Items/items/wood.tres | 19 ++++++ example/Random Upgrades/icons/all_icons.png | Bin 0 -> 2072 bytes .../icons/all_icons.png.import | 34 ++++++++++ .../icons/all_icons/all_icons_1.tres | 7 +++ .../icons/all_icons/all_icons_10.tres | 7 +++ .../icons/all_icons/all_icons_11.tres | 7 +++ .../icons/all_icons/all_icons_12.tres | 7 +++ .../icons/all_icons/all_icons_13.tres | 7 +++ .../icons/all_icons/all_icons_14.tres | 7 +++ .../icons/all_icons/all_icons_15.tres | 7 +++ .../icons/all_icons/all_icons_16.tres | 7 +++ .../icons/all_icons/all_icons_2.tres | 7 +++ .../icons/all_icons/all_icons_3.tres | 7 +++ .../icons/all_icons/all_icons_4.tres | 7 +++ .../icons/all_icons/all_icons_5.tres | 7 +++ .../icons/all_icons/all_icons_6.tres | 7 +++ .../icons/all_icons/all_icons_7.tres | 7 +++ .../icons/all_icons/all_icons_8.tres | 7 +++ .../icons/all_icons/all_icons_9.tres | 7 +++ example/Random Upgrades/new scene.tscn | 31 +++++++++ example/Random Upgrades/upgrade_data.gd | 30 +++++++++ .../Random Upgrades/upgrades/elemental.tres | 25 ++++++++ example/Random Upgrades/upgrades/health.tres | 25 ++++++++ .../upgrades/mastery_magic.tres | 28 +++++++++ .../upgrades/mastery_strength.tres | 28 +++++++++ example/Random Upgrades/upgrades/up_aoe.tres | 25 ++++++++ .../Random Upgrades/upgrades/up_magic.tres | 25 ++++++++ .../Random Upgrades/upgrades/up_strength.tres | 25 ++++++++ .../upgrades/weapons/weapon_axe.tres | 25 ++++++++ .../upgrades/weapons/weapon_blizzard.tres | 25 ++++++++ .../upgrades/weapons/weapon_chaos_blast.tres | 27 ++++++++ .../upgrades/weapons/weapon_dagger.tres | 25 ++++++++ .../upgrades/weapons/weapon_fireball.tres | 25 ++++++++ .../upgrades/weapons/weapon_giga_sword.tres | 27 ++++++++ .../upgrades/weapons/weapon_lightning.tres | 25 ++++++++ .../upgrades/weapons/weapon_spear.tres | 25 ++++++++ .../upgrades.attributes.translation | Bin 0 -> 937 bytes .../upgrades_csv/upgrades.base.translation | Bin 0 -> 855 bytes .../upgrades_csv/upgrades.color1.translation | Bin 0 -> 949 bytes .../upgrades_csv/upgrades.color2.translation | Bin 0 -> 949 bytes .../Random Upgrades/upgrades_csv/upgrades.csv | 31 +++++++++ .../upgrades_csv/upgrades.csv.import | 17 +++++ .../upgrades_csv/upgrades.custom.translation | Bin 0 -> 905 bytes .../upgrades_csv/upgrades.icon.translation | Bin 0 -> 1591 bytes .../upgrades_csv/upgrades.is.translation | Bin 0 -> 861 bytes .../upgrades_csv/upgrades.list.translation | Bin 0 -> 843 bytes .../upgrades_csv/upgrades.max.translation | Bin 0 -> 882 bytes .../upgrades.multiplier.translation | Bin 0 -> 873 bytes .../upgrades.prerequisites.translation | Bin 0 -> 1060 bytes .../upgrades_csv/upgrades.tags.translation | Bin 0 -> 1147 bytes .../upgrades_csv/upgrades.type.translation | Bin 0 -> 919 bytes render/process_material/slash_normal.tres | 12 +++- render/texture/particle/mask/mask5.png | Bin 21686 -> 12627 bytes .../hero01_common_skill02.tres | 4 +- .../hero01_fist_air_skill01.tres | 6 +- .../skill_animation/hero01_fist_attack01.tres | 4 +- .../skill_animation/hero01_fist_attack02.tres | 4 +- .../skill_animation/hero01_fist_attack03.tres | 4 +- .../skill_animation/hero01_fist_attack04.tres | 4 +- .../skill_animation/hero01_fist_attack05.tres | 4 +- .../hero01_long_air_attack01.tres | 4 +- .../hero01_long_air_attack02.tres | 2 +- .../hero01_long_air_attack03.tres | 2 +- .../skill_animation/hero01_long_attack01.tres | 10 +-- .../skill_animation/hero01_long_attack02.tres | 4 +- .../skill_animation/hero01_long_attack03.tres | 8 +-- .../skill_animation/hero01_long_attack04.tres | 6 +- .../skill_animation/hero01_long_flash.tres | 2 +- .../skill_animation/hero01_long_skill01.tres | 2 +- .../skill_animation/hero01_long_skill02.tres | 2 +- scene/character/player.tscn | 11 ++-- .../effect/particle/_particle_hit_ground.tscn | 4 ++ scene/effect/particle/_particle_slash1.tscn | 7 ++- scene/effect/particle/_particle_slash2.tscn | 59 ++++++++++++++++++ .../particle/hero01_common_skill02.tscn | 10 +-- .../particle/hero01_fist_air_skill01_0.tscn | 9 --- .../particle/hero01_fist_air_skill01_1.tscn | 10 ++- .../particle/hero01_fist_air_skill01_2.tscn | 5 ++ .../particle/hero01_long_attack03_0.tscn | 6 -- .../particle/hero01_long_attack03_1.tscn | 8 +-- .../particle/hero01_long_attack03_2.tscn | 6 ++ scene/effect/readiness/readiness_bullet.tscn | 1 + scene/effect/readiness/readiness_hero.tscn | 1 + scene/effect/readiness/readiness_monster.tscn | 1 + script/character/battle.gd | 27 ++++---- script/character/effect.gd | 12 ++-- script/character/skill.gd | 4 -- script/character/status.gd | 2 - script/config/attack_box_cfg.gd | 8 +++ script/config/attack_cfg.gd | 7 --- script/config/skill_cfg.gd | 18 +++--- script/manager/resource_manager.gd | 3 +- 180 files changed, 1768 insertions(+), 358 deletions(-) create mode 100644 config/attack_box/box_normal.tres create mode 100644 config/attack_box/circle_normal.tres create mode 100644 example/Items/item_icons/items.png create mode 100644 example/Items/item_icons/items.png.import create mode 100644 example/Items/item_type.gd create mode 100644 example/Items/items/arrows.tres create mode 100644 example/Items/items/belt_1.tres create mode 100644 example/Items/items/belt_2.tres create mode 100644 example/Items/items/chestplate_1.tres create mode 100644 example/Items/items/chestplate_2.tres create mode 100644 example/Items/items/coin_gold.tres create mode 100644 example/Items/items/coin_purple.tres create mode 100644 example/Items/items/feather.tres create mode 100644 example/Items/items/gem_blue.tres create mode 100644 example/Items/items/head_helmet.tres create mode 100644 example/Items/items/head_wizardhat.tres create mode 100644 example/Items/items/herb.tres create mode 100644 example/Items/items/leather.tres create mode 100644 example/Items/items/magic_crystal.tres create mode 100644 example/Items/items/melee_battleaxe.tres create mode 100644 example/Items/items/melee_sword.tres create mode 100644 example/Items/items/metalscrap_copper.tres create mode 100644 example/Items/items/metalscrap_gold.tres create mode 100644 example/Items/items/metalscrap_iron.tres create mode 100644 example/Items/items/metalscrap_wyvernite.tres create mode 100644 example/Items/items/potion_blue.tres create mode 100644 example/Items/items/potion_purple.tres create mode 100644 example/Items/items/potion_red.tres create mode 100644 example/Items/items/ring_1.tres create mode 100644 example/Items/items/ring_2.tres create mode 100644 example/Items/items/scroll_enchant.tres create mode 100644 example/Items/items/wand_purple.tres create mode 100644 example/Items/items/wand_red.tres create mode 100644 example/Items/items/wood.tres create mode 100644 example/Random Upgrades/icons/all_icons.png create mode 100644 example/Random Upgrades/icons/all_icons.png.import create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_1.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_10.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_11.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_12.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_13.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_14.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_15.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_16.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_2.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_3.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_4.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_5.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_6.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_7.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_8.tres create mode 100644 example/Random Upgrades/icons/all_icons/all_icons_9.tres create mode 100644 example/Random Upgrades/new scene.tscn create mode 100644 example/Random Upgrades/upgrade_data.gd create mode 100644 example/Random Upgrades/upgrades/elemental.tres create mode 100644 example/Random Upgrades/upgrades/health.tres create mode 100644 example/Random Upgrades/upgrades/mastery_magic.tres create mode 100644 example/Random Upgrades/upgrades/mastery_strength.tres create mode 100644 example/Random Upgrades/upgrades/up_aoe.tres create mode 100644 example/Random Upgrades/upgrades/up_magic.tres create mode 100644 example/Random Upgrades/upgrades/up_strength.tres create mode 100644 example/Random Upgrades/upgrades/weapons/weapon_axe.tres create mode 100644 example/Random Upgrades/upgrades/weapons/weapon_blizzard.tres create mode 100644 example/Random Upgrades/upgrades/weapons/weapon_chaos_blast.tres create mode 100644 example/Random Upgrades/upgrades/weapons/weapon_dagger.tres create mode 100644 example/Random Upgrades/upgrades/weapons/weapon_fireball.tres create mode 100644 example/Random Upgrades/upgrades/weapons/weapon_giga_sword.tres create mode 100644 example/Random Upgrades/upgrades/weapons/weapon_lightning.tres create mode 100644 example/Random Upgrades/upgrades/weapons/weapon_spear.tres create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.attributes.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.base.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.color1.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.color2.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.csv create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.csv.import create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.custom.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.icon.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.is.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.list.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.max.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.prerequisites.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.tags.translation create mode 100644 example/Random Upgrades/upgrades_csv/upgrades.type.translation create mode 100644 scene/effect/particle/_particle_slash2.tscn delete mode 100644 scene/effect/particle/hero01_fist_air_skill01_0.tscn create mode 100644 scene/effect/particle/hero01_fist_air_skill01_2.tscn delete mode 100644 scene/effect/particle/hero01_long_attack03_0.tscn create mode 100644 scene/effect/particle/hero01_long_attack03_2.tscn create mode 100644 script/config/attack_box_cfg.gd diff --git a/addons/resources_spreadsheet_view/editor_view.gd b/addons/resources_spreadsheet_view/editor_view.gd index 34bb525..32a1c89 100644 --- a/addons/resources_spreadsheet_view/editor_view.gd +++ b/addons/resources_spreadsheet_view/editor_view.gd @@ -14,7 +14,7 @@ const TablesPluginSettingsClass := preload("res://addons/resources_spreadsheet_v @onready var _on_cell_gui_input : Callable = $"InputHandler"._on_cell_gui_input @onready var _selection := $"SelectionManager" -var editor_interface : EditorInterface +var editor_interface : Object var editor_plugin : EditorPlugin var current_path := "" @@ -28,6 +28,7 @@ var column_hints := [] var column_hint_strings := [] var rows := [] var remembered_paths := {} +var remembered_paths_total_count := 0 var table_functions_dict := {} var search_cond : RefCounted @@ -56,19 +57,8 @@ func _ready(): func _on_filesystem_changed(): - var editor_fs := editor_interface.get_resource_filesystem() - var path := editor_fs.get_filesystem_path(current_path) - if !path: return - - var file_total_count := 0 - var folder_stack : Array[EditorFileSystemDirectory] = [path] - while folder_stack.size() > 0: - path = folder_stack.pop_back() - file_total_count += path.get_file_count() - for i in path.get_subdir_count(): - folder_stack.append(path.get_subdir(i)) - - if file_total_count != remembered_paths.size(): + var file_total_count := _get_file_count_recursive(current_path) + if file_total_count != remembered_paths_total_count: refresh() else: @@ -84,6 +74,22 @@ func _on_filesystem_changed(): break +func _get_file_count_recursive(path : String) -> int: + var editor_fs : EditorFileSystem = editor_interface.get_resource_filesystem() + var path_dir := editor_fs.get_filesystem_path(path) + if !path_dir: return 0 + + var file_total_count := 0 + var folder_stack : Array[EditorFileSystemDirectory] = [path_dir] + while folder_stack.size() > 0: + path_dir = folder_stack.pop_back() + file_total_count += path_dir.get_file_count() + for i in path_dir.get_subdir_count(): + folder_stack.append(path_dir.get_subdir(i)) + + return file_total_count + + func display_folder(folderpath : String, sort_by : String = "", sort_reverse : bool = false, force_rebuild : bool = false, is_echo : bool = false): if folderpath == "": return # Root folder resources tend to have MANY properties. $"HeaderContentSplit/MarginContainer/FooterContentSplit/Panel/Label".visible = false @@ -107,9 +113,9 @@ func display_folder(folderpath : String, sort_by : String = "", sort_reverse : b or columns.size() != node_columns.get_child_count() ) current_path = folderpath + remembered_paths_total_count = _get_file_count_recursive(folderpath) node_columns.update() - - emit_signal("grid_updated") + grid_updated.emit() func refresh(force_rebuild : bool = true): @@ -129,6 +135,7 @@ func _load_resources_from_path(path : String, sort_by : String, sort_reverse : b io = ResourceTablesEditFormatTres.new() io.editor_view = self + remembered_paths.clear() rows = io.import_from_path(path, insert_row_sorted, sort_by, sort_reverse) @@ -152,7 +159,7 @@ func fill_property_data(res): func insert_row_sorted(res : Resource, rows : Array, sort_by : String, sort_reverse : bool): - if search_cond != null && !search_cond.can_show(res, rows.size()): + if search_cond != null and !search_cond.can_show(res, rows.size()): return for i in rows.size(): @@ -160,6 +167,7 @@ func insert_row_sorted(res : Resource, rows : Array, sort_by : String, sort_reve rows.insert(i, res) return + remembered_paths[res.resource_path] = res rows.append(res) diff --git a/addons/resources_spreadsheet_view/editor_view.tscn b/addons/resources_spreadsheet_view/editor_view.tscn index 6795d5e..ba72f7d 100644 --- a/addons/resources_spreadsheet_view/editor_view.tscn +++ b/addons/resources_spreadsheet_view/editor_view.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=30 format=3 uid="uid://6hq6kl8xvfo6"] +[gd_scene load_steps=30 format=3 uid="uid://tmleonv20aqk"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/editor_view.gd" id="1_wfx75"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/editor_color_setter.gd" id="2_t2s7k"] @@ -7,16 +7,16 @@ [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/main_screen/expression_textfield.gd" id="5_faq75"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/main_screen/table_pages.gd" id="5_ka2yn"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/main_screen/column_header_manager.gd" id="6_emnmd"] -[ext_resource type="PackedScene" uid="uid://clg4aogkyuayk" path="res://addons/resources_spreadsheet_view/main_screen/table_header.tscn" id="7_3dx0v"] -[ext_resource type="PackedScene" uid="uid://crfuon34lnst0" path="res://addons/resources_spreadsheet_view/typed_editors/dock_enum_array.tscn" id="8_234wn"] -[ext_resource type="PackedScene" uid="uid://d10f70g3boclo" path="res://addons/resources_spreadsheet_view/typed_editors/dock_array.tscn" id="9_nts08"] -[ext_resource type="PackedScene" uid="uid://cvx3xw8w77jba" path="res://addons/resources_spreadsheet_view/typed_editors/dock_color.tscn" id="10_nsma2"] -[ext_resource type="PackedScene" uid="uid://bafpct0bu5h5r" path="res://addons/resources_spreadsheet_view/typed_editors/dock_number.tscn" id="11_q1ao4"] -[ext_resource type="PackedScene" uid="uid://boraogt0aj5no" path="res://addons/resources_spreadsheet_view/typed_editors/dock_texture.tscn" id="12_4kr6q"] -[ext_resource type="PackedScene" uid="uid://bwxogyjske87v" path="res://addons/resources_spreadsheet_view/settings_grid.tscn" id="13_as1sh"] -[ext_resource type="PackedScene" uid="uid://x5gffbaf8k2v" path="res://addons/resources_spreadsheet_view/typed_editors/dock_dict.tscn" id="13_il556"] +[ext_resource type="PackedScene" uid="uid://d1s6oihqedvo5" path="res://addons/resources_spreadsheet_view/main_screen/table_header.tscn" id="7_3dx0v"] +[ext_resource type="PackedScene" uid="uid://ddqak780cwwfj" path="res://addons/resources_spreadsheet_view/typed_editors/dock_enum_array.tscn" id="8_234wn"] +[ext_resource type="PackedScene" uid="uid://c3a2cip8ffccv" path="res://addons/resources_spreadsheet_view/typed_editors/dock_array.tscn" id="9_nts08"] +[ext_resource type="PackedScene" uid="uid://b3a3bo6cfyh5t" path="res://addons/resources_spreadsheet_view/typed_editors/dock_color.tscn" id="10_nsma2"] +[ext_resource type="PackedScene" uid="uid://gtbf7b0wptv" path="res://addons/resources_spreadsheet_view/typed_editors/dock_number.tscn" id="11_q1ao4"] +[ext_resource type="PackedScene" uid="uid://rww3gpl052bn" path="res://addons/resources_spreadsheet_view/typed_editors/dock_texture.tscn" id="12_4kr6q"] +[ext_resource type="PackedScene" uid="uid://dhunxgcae6h1" path="res://addons/resources_spreadsheet_view/settings_grid.tscn" id="13_as1sh"] +[ext_resource type="PackedScene" uid="uid://p6x03dbvhnqw" path="res://addons/resources_spreadsheet_view/typed_editors/dock_dict.tscn" id="13_il556"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/main_screen/input_handler.gd" id="14_2t57a"] -[ext_resource type="PackedScene" uid="uid://dirhdjj3wh0j0" path="res://addons/resources_spreadsheet_view/import_export/import_export_dialog.tscn" id="14_3p12b"] +[ext_resource type="PackedScene" uid="uid://b413igx28kkvb" path="res://addons/resources_spreadsheet_view/import_export/import_export_dialog.tscn" id="14_3p12b"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/main_screen/selection_manager.gd" id="15_mx6qn"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_cells/cell_editor_enum_array.gd" id="16_p7n52"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_cells/cell_editor_array.gd" id="17_sofdw"] @@ -26,7 +26,7 @@ [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_cells/cell_editor_enum.gd" id="20_swsbn"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_cells/cell_editor_resource.gd" id="21_58wf8"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_cells/cell_editor_string.gd" id="22_bni8r"] -[ext_resource type="PackedScene" uid="uid://dipn3x8uhq8vp" path="res://addons/resources_spreadsheet_view/main_screen/selection_actions.tscn" id="23_m53sx"] +[ext_resource type="PackedScene" uid="uid://b51hnttsie7k5" path="res://addons/resources_spreadsheet_view/main_screen/selection_actions.tscn" id="23_m53sx"] [sub_resource type="Gradient" id="Gradient_8kp6w"] offsets = PackedFloat32Array(0, 0.995413, 1) @@ -520,6 +520,7 @@ min_size = Vector2i(500, 300) [node name="ImportExport" type="Window" parent="Control"] process_mode = 3 +initial_position = 4 size = Vector2i(600, 400) visible = false transient = true @@ -567,5 +568,6 @@ metadata/_edit_lock_ = true [connection signal="file_selected" from="Control/FileDialog" to="." method="_on_FileDialog_dir_selected"] [connection signal="dir_selected" from="Control/FileDialogText" to="Control/ImportExport/ImportExport" method="_on_file_selected"] [connection signal="file_selected" from="Control/FileDialogText" to="Control/ImportExport/ImportExport" method="_on_file_selected"] +[connection signal="close_requested" from="Control/ImportExport" to="Control/ImportExport" method="hide"] [connection signal="cells_rightclicked" from="SelectionManager" to="Control/SelectionActions" method="_on_grid_cells_rightclicked"] [connection signal="cells_selected" from="SelectionManager" to="Control/SelectionActions" method="_on_grid_cells_selected"] diff --git a/addons/resources_spreadsheet_view/import_export/formats_edit/edit_tres.gd b/addons/resources_spreadsheet_view/import_export/formats_edit/edit_tres.gd index 2128663..6dd301e 100644 --- a/addons/resources_spreadsheet_view/import_export/formats_edit/edit_tres.gd +++ b/addons/resources_spreadsheet_view/import_export/formats_edit/edit_tres.gd @@ -57,7 +57,6 @@ func import_from_path(folderpath : String, insert_func : Callable, sort_by : Str var dir := DirAccess.open(folderpath) if dir == null: return [] - editor_view.remembered_paths.clear() var cur_dir_types : Dictionary = {} var file_stack : Array[String] = [] @@ -85,8 +84,6 @@ func import_from_path(folderpath : String, insert_func : Callable, sort_by : Str if res_script != null: cur_dir_types[res_script] = cur_dir_types.get(res_script, 0) + 1 - editor_view.remembered_paths[file_stack[i]] = res - var most_count_key = null var most_count_count := 0 var most_count_is_base_class := false diff --git a/addons/resources_spreadsheet_view/import_export/formats_import/import_csv.gd b/addons/resources_spreadsheet_view/import_export/formats_import/import_csv.gd index 77395d0..6555b86 100644 --- a/addons/resources_spreadsheet_view/import_export/formats_import/import_csv.gd +++ b/addons/resources_spreadsheet_view/import_export/formats_import/import_csv.gd @@ -17,10 +17,15 @@ static func import_as_arrays(import_data) -> Array: var text_lines := [file.get_line().split(import_data.delimeter)] var space_after_delimeter = false var line = text_lines[0] + if line.size() == 0: + return [] + if line.size() == 1: import_data.delimeter = "," line = line[0].split(import_data.delimeter) text_lines[0] = line + if line.size() <= 1: + return [] if line[1].begins_with(" "): for i in line.size(): diff --git a/addons/resources_spreadsheet_view/import_export/import_export_dialog.gd b/addons/resources_spreadsheet_view/import_export/import_export_dialog.gd index 361fdad..8732d2b 100644 --- a/addons/resources_spreadsheet_view/import_export/import_export_dialog.gd +++ b/addons/resources_spreadsheet_view/import_export/import_export_dialog.gd @@ -51,6 +51,7 @@ func _on_file_selected(path : String): import_data = ResourceTablesImport.new() import_data.initialize(path) _reset_controls() + await get_tree().process_frame _open_dialog(path) get_parent().popup_centered() position = Vector2.ZERO diff --git a/addons/resources_spreadsheet_view/import_export/import_export_dialog.tscn b/addons/resources_spreadsheet_view/import_export/import_export_dialog.tscn index ed6e1ec..d3de473 100644 --- a/addons/resources_spreadsheet_view/import_export/import_export_dialog.tscn +++ b/addons/resources_spreadsheet_view/import_export/import_export_dialog.tscn @@ -1,10 +1,10 @@ -[gd_scene load_steps=7 format=3 uid="uid://dirhdjj3wh0j0"] +[gd_scene load_steps=7 format=3 uid="uid://b413igx28kkvb"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/import_export/import_export_dialog.gd" id="1"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/import_export/formats_export/export_csv.gd" id="2_33c6s"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/import_export/formats_import/import_csv.gd" id="2_fxayt"] -[ext_resource type="PackedScene" uid="uid://b8q6wn3cxsvb" path="res://addons/resources_spreadsheet_view/import_export/property_list_item.tscn" id="2_xfhmf"] -[ext_resource type="PackedScene" uid="uid://bf71ybtj6q6t3" path="res://addons/resources_spreadsheet_view/import_export/import_export_enum_format.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://b8llymigbprh6" path="res://addons/resources_spreadsheet_view/import_export/property_list_item.tscn" id="2_xfhmf"] +[ext_resource type="PackedScene" uid="uid://ckhf3bqy2rqjr" path="res://addons/resources_spreadsheet_view/import_export/import_export_enum_format.tscn" id="4"] [sub_resource type="ButtonGroup" id="ButtonGroup_080hd"] @@ -14,11 +14,10 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -use_hidden_tabs_for_min_size = true script = ExtResource("1") prop_list_item_scene = ExtResource("2_xfhmf") -formats_export = [ExtResource("2_33c6s")] -formats_import = [ExtResource("2_fxayt")] +formats_export = Array[Script]([ExtResource("2_33c6s")]) +formats_import = Array[Script]([ExtResource("2_fxayt")]) [node name="Import" type="VBoxContainer" parent="."] layout_mode = 2 @@ -30,6 +29,7 @@ size_flags_vertical = 3 [node name="Scroll" type="ScrollContainer" parent="Import/Margins"] layout_mode = 2 +horizontal_scroll_mode = 0 [node name="Box" type="VBoxContainer" parent="Import/Margins/Scroll"] layout_mode = 2 @@ -184,6 +184,5 @@ layout_mode = 2 [connection signal="toggled" from="Export/Box/CheckBox" to="." method="_on_export_space_toggled"] [connection signal="toggled" from="Export/Box3/CheckBox" to="." method="_on_remove_first_row_toggled"] [connection signal="format_changed" from="Export/StyleSettingsE" to="." method="_on_enum_format_changed"] -[connection signal="format_changed" from="Export/StyleSettingsE" to="Import/Margins/Scroll/Box/StyleSettingsI" method="_on_format_changed"] [connection signal="pressed" from="Export/Box2/Button" to="." method="_on_export_csv_pressed"] [connection signal="pressed" from="Export/Box2/Cancel" to="." method="close"] diff --git a/addons/resources_spreadsheet_view/import_export/import_export_enum_format.tscn b/addons/resources_spreadsheet_view/import_export/import_export_enum_format.tscn index 54e937f..39ec94a 100644 --- a/addons/resources_spreadsheet_view/import_export/import_export_enum_format.tscn +++ b/addons/resources_spreadsheet_view/import_export/import_export_enum_format.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=2 format=3 uid="uid://bf71ybtj6q6t3"] +[gd_scene load_steps=2 format=3 uid="uid://ckhf3bqy2rqjr"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/import_export/import_export_enum_format.gd" id="1"] diff --git a/addons/resources_spreadsheet_view/import_export/property_list_item.tscn b/addons/resources_spreadsheet_view/import_export/property_list_item.tscn index a82b3c0..75172d5 100644 --- a/addons/resources_spreadsheet_view/import_export/property_list_item.tscn +++ b/addons/resources_spreadsheet_view/import_export/property_list_item.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=2 format=3 uid="uid://b8q6wn3cxsvb"] +[gd_scene load_steps=2 format=3 uid="uid://b8llymigbprh6"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/import_export/property_list_item.gd" id="1"] diff --git a/addons/resources_spreadsheet_view/import_export/spreadsheet_import.gd b/addons/resources_spreadsheet_view/import_export/spreadsheet_import.gd index dc91f53..7b94cfe 100644 --- a/addons/resources_spreadsheet_view/import_export/spreadsheet_import.gd +++ b/addons/resources_spreadsheet_view/import_export/spreadsheet_import.gd @@ -280,7 +280,9 @@ static func get_resource_property_types(res : Resource, properties : Array) -> A if x["hint"] == PROPERTY_HINT_ENUM: var enum_values = x["hint_string"].split(",") for i in enum_values.size(): - enum_values[i] = enum_values[i].left(enum_values[i].find(":")) + var index_found : int = enum_values[i].find(":") + if index_found == -1: continue + enum_values[i] = enum_values[i].left(index_found) result[found] = enum_values diff --git a/addons/resources_spreadsheet_view/main_screen/selection_actions.gd b/addons/resources_spreadsheet_view/main_screen/selection_actions.gd index dd0f196..ae8766f 100644 --- a/addons/resources_spreadsheet_view/main_screen/selection_actions.gd +++ b/addons/resources_spreadsheet_view/main_screen/selection_actions.gd @@ -35,16 +35,11 @@ func _on_grid_cells_rightclicked(cells): func _on_grid_cells_selected(cells): - if ProjectSettings.get_setting(TablesPluginSettingsClass.PREFIX + "context_menu_on_leftclick"): - open(cells, true) + open(cells, true, true) - else: hide() - -func open(cells : Array, pin_to_cell : bool = false): - set_process_input(true) - set_process_unhandled_input(true) - if cells.size() == 0: +func open(cells : Array, pin_to_cell : bool = false, from_leftclick : bool = false): + if cells.size() == 0 or (from_leftclick and !ProjectSettings.get_setting(TablesPluginSettingsClass.PREFIX + "context_menu_on_leftclick")): hide() cell = null return @@ -68,17 +63,27 @@ func open(cells : Array, pin_to_cell : bool = false): func close(): - set_process_input(false) - set_process_unhandled_input(false) + pass -func _unhandled_input(event): +func _input(event : InputEvent): if !editor_view.is_visible_in_tree(): close() return - + + if event is InputEventMouseButton and event.is_pressed(): + close() + return + if event is InputEventKey: - if Input.is_key_pressed(KEY_CTRL): + if event.is_pressed() and event.is_command_or_control_pressed(): + global_position = get_global_mouse_position() + Vector2.ONE + if cell != null: + global_position = Vector2( + cell.global_position.x + cell.size.x, + cell.global_position.y + ) + # Dupe if event.keycode == KEY_D: _on_Duplicate_pressed() @@ -88,21 +93,7 @@ func _unhandled_input(event): if event.keycode == KEY_R: _on_Rename_pressed() return - - if event is InputEventMouseButton and event.is_pressed(): - close() - - -func _input(event): - if cell == null: return - if !editor_view.is_visible_in_tree(): - close() - return - global_position = Vector2( - cell.global_position.x + cell.size.x, - cell.global_position.y - ) func _on_Duplicate_pressed(): @@ -157,6 +148,7 @@ func _show_editbox(action): editbox_input.text = editor_view.get_last_selected_row()\ .resource_path.get_file().get_basename() + show() editbox_input.grab_focus() editbox_input.caret_column = 999999999 editbox_node.size = Vector2.ZERO diff --git a/addons/resources_spreadsheet_view/main_screen/selection_actions.tscn b/addons/resources_spreadsheet_view/main_screen/selection_actions.tscn index 1f1631d..e17318e 100644 --- a/addons/resources_spreadsheet_view/main_screen/selection_actions.tscn +++ b/addons/resources_spreadsheet_view/main_screen/selection_actions.tscn @@ -1,10 +1,10 @@ -[gd_scene load_steps=7 format=3 uid="uid://dipn3x8uhq8vp"] +[gd_scene load_steps=7 format=3 uid="uid://b51hnttsie7k5"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/editor_icon_button.gd" id="1"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/main_screen/selection_actions.gd" id="1_qv6ov"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/editor_color_setter.gd" id="2_a4ihj"] -[sub_resource type="Image" id="Image_p3efe"] +[sub_resource type="Image" id="Image_1546g"] data = { "data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "LumAlpha8", @@ -14,7 +14,7 @@ data = { } [sub_resource type="ImageTexture" id="2"] -image = SubResource("Image_p3efe") +image = SubResource("Image_1546g") [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ydxuk"] content_margin_left = 4.0 diff --git a/addons/resources_spreadsheet_view/main_screen/selection_manager.gd b/addons/resources_spreadsheet_view/main_screen/selection_manager.gd index 7a3ecd4..4c0f4a2 100644 --- a/addons/resources_spreadsheet_view/main_screen/selection_manager.gd +++ b/addons/resources_spreadsheet_view/main_screen/selection_manager.gd @@ -210,7 +210,7 @@ func _update_selected_cells_text(): if edited_cells_text.size() == 0: return - var column_dtype := get_cell_column(editor_view.column_types[edited_cells[0]]) + var column_dtype : int = editor_view.column_types[get_cell_column(edited_cells[0])] for i in edited_cells.size(): edited_cells_text[i] = editor_view.try_convert(edited_cells[i].text, column_dtype) edit_cursor_positions[i] = edited_cells_text[i].length() diff --git a/addons/resources_spreadsheet_view/main_screen/table_header.tscn b/addons/resources_spreadsheet_view/main_screen/table_header.tscn index 3343faa..bd7fbb7 100644 --- a/addons/resources_spreadsheet_view/main_screen/table_header.tscn +++ b/addons/resources_spreadsheet_view/main_screen/table_header.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=3 format=3 uid="uid://clg4aogkyuayk"] +[gd_scene load_steps=3 format=3 uid="uid://d1s6oihqedvo5"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/main_screen/table_header.gd" id="1_5fd1m"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/editor_icon_button.gd" id="2_0ymob"] diff --git a/addons/resources_spreadsheet_view/plugin.gd b/addons/resources_spreadsheet_view/plugin.gd index a4345df..70549be 100644 --- a/addons/resources_spreadsheet_view/plugin.gd +++ b/addons/resources_spreadsheet_view/plugin.gd @@ -8,6 +8,10 @@ var undo_redo : EditorUndoRedoManager func _enter_tree() -> void: editor_view = load(get_script().resource_path.get_base_dir() + "/editor_view.tscn").instantiate() editor_view.editor_interface = get_editor_interface() + if editor_view.editor_interface == null: + # 4.2: now a singleton + editor_view.editor_interface = Engine.get_singleton("EditorInterface") + editor_view.editor_plugin = self undo_redo = get_undo_redo() get_editor_interface().get_editor_main_screen().add_child(editor_view) diff --git a/addons/resources_spreadsheet_view/saved_state.json b/addons/resources_spreadsheet_view/saved_state.json index 77c16da..5d742a9 100644 --- a/addons/resources_spreadsheet_view/saved_state.json +++ b/addons/resources_spreadsheet_view/saved_state.json @@ -1,38 +1,17 @@ { "hidden_columns": { - "res://config/attack/": { - "resource_local_to_scene": true, - "resource_name": true - }, - "res://config/character/": { - "resource_local_to_scene": true, - "resource_name": true, - "sprite_harf_height": true, - "sprite_width": true - }, - "res://config/character_move/": { - "resource_local_to_scene": true, - "resource_name": true - }, - "res://config/player_skill/": { + "res://config/skill_player_weapon/": { "animation_name": true, - "has_animation": true, "refresh_animation": true, "resource_local_to_scene": true, "resource_name": true, - "sprite_frams": true - }, - "res://example/Items/items/": { - "resource_local_to_scene": true, - "resource_name": true + "skill_animation": true, + "sprite_frames": true, + "weapon": true } }, "recent_paths": [ - "res://example/Items/items/", - "res://config/character/", - "res://config/player_skill/", - "res://config/attack/", - "res://config/character_move/" + "res://config/skill_player_weapon/" ], "table_functions": { "filter": [ diff --git a/addons/resources_spreadsheet_view/settings_grid.tscn b/addons/resources_spreadsheet_view/settings_grid.tscn index 4024583..ed692be 100644 --- a/addons/resources_spreadsheet_view/settings_grid.tscn +++ b/addons/resources_spreadsheet_view/settings_grid.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=2 format=3 uid="uid://bwxogyjske87v"] +[gd_scene load_steps=2 format=3 uid="uid://dhunxgcae6h1"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/settings_grid.gd" id="1_s8s2f"] diff --git a/addons/resources_spreadsheet_view/typed_cells/array.tscn b/addons/resources_spreadsheet_view/typed_cells/array.tscn index 7b5ba9b..61062ac 100644 --- a/addons/resources_spreadsheet_view/typed_cells/array.tscn +++ b/addons/resources_spreadsheet_view/typed_cells/array.tscn @@ -1,4 +1,4 @@ -[gd_scene format=3 uid="uid://dr55b6gkrmvhe"] +[gd_scene format=3 uid="uid://ydrs54md3knl"] [node name="Label" type="MarginContainer"] offset_right = 16.0 diff --git a/addons/resources_spreadsheet_view/typed_cells/basic.tscn b/addons/resources_spreadsheet_view/typed_cells/basic.tscn index 99797a4..541f1ba 100644 --- a/addons/resources_spreadsheet_view/typed_cells/basic.tscn +++ b/addons/resources_spreadsheet_view/typed_cells/basic.tscn @@ -1,4 +1,4 @@ -[gd_scene format=3 uid="uid://dnuok6y4j16e0"] +[gd_scene format=3 uid="uid://cghfjg6qt3rb1"] [node name="Label" type="Label"] offset_right = 20.0 diff --git a/addons/resources_spreadsheet_view/typed_cells/resource.tscn b/addons/resources_spreadsheet_view/typed_cells/resource.tscn index e609e8e..1372d02 100644 --- a/addons/resources_spreadsheet_view/typed_cells/resource.tscn +++ b/addons/resources_spreadsheet_view/typed_cells/resource.tscn @@ -1,4 +1,4 @@ -[gd_scene format=3 uid="uid://wgkae0g5wxh2"] +[gd_scene format=3 uid="uid://clcndgxaty503"] [node name="Label" type="MarginContainer"] size_flags_vertical = 9 diff --git a/addons/resources_spreadsheet_view/typed_editors/dock_array.tscn b/addons/resources_spreadsheet_view/typed_editors/dock_array.tscn index a2f5e9f..6d3ff29 100644 --- a/addons/resources_spreadsheet_view/typed_editors/dock_array.tscn +++ b/addons/resources_spreadsheet_view/typed_editors/dock_array.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=5 format=3 uid="uid://d10f70g3boclo"] +[gd_scene load_steps=5 format=3 uid="uid://c3a2cip8ffccv"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_editors/dock_array.gd" id="1"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/editor_icon_button.gd" id="2"] -[sub_resource type="Image" id="Image_1ag68"] +[sub_resource type="Image" id="Image_ytggl"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 93, 93, 55, 255, 97, 97, 58, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 98, 98, 47, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 94, 94, 46, 255, 93, 93, 236, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -13,7 +13,7 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_3oshq"] -image = SubResource("Image_1ag68") +image = SubResource("Image_ytggl") [node name="EditArray" type="VBoxContainer"] anchors_preset = 10 diff --git a/addons/resources_spreadsheet_view/typed_editors/dock_color.tscn b/addons/resources_spreadsheet_view/typed_editors/dock_color.tscn index dc17e2d..d7774e1 100644 --- a/addons/resources_spreadsheet_view/typed_editors/dock_color.tscn +++ b/addons/resources_spreadsheet_view/typed_editors/dock_color.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=2 format=3 uid="uid://cvx3xw8w77jba"] +[gd_scene load_steps=2 format=3 uid="uid://b3a3bo6cfyh5t"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_editors/dock_color.gd" id="1"] diff --git a/addons/resources_spreadsheet_view/typed_editors/dock_dict.tscn b/addons/resources_spreadsheet_view/typed_editors/dock_dict.tscn index c00c5c1..66f54b8 100644 --- a/addons/resources_spreadsheet_view/typed_editors/dock_dict.tscn +++ b/addons/resources_spreadsheet_view/typed_editors/dock_dict.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=5 format=3 uid="uid://x5gffbaf8k2v"] +[gd_scene load_steps=5 format=3 uid="uid://p6x03dbvhnqw"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_editors/dock_dict.gd" id="1_2yivi"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/editor_icon_button.gd" id="2_yck0k"] -[sub_resource type="Image" id="Image_xe4kw"] +[sub_resource type="Image" id="Image_tit0e"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 93, 93, 55, 255, 97, 97, 58, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 98, 98, 47, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 94, 94, 46, 255, 93, 93, 236, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -13,7 +13,7 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_3oshq"] -image = SubResource("Image_xe4kw") +image = SubResource("Image_tit0e") [node name="EditArray" type="VBoxContainer"] anchors_preset = 10 diff --git a/addons/resources_spreadsheet_view/typed_editors/dock_enum_array.tscn b/addons/resources_spreadsheet_view/typed_editors/dock_enum_array.tscn index 8201901..c1540d5 100644 --- a/addons/resources_spreadsheet_view/typed_editors/dock_enum_array.tscn +++ b/addons/resources_spreadsheet_view/typed_editors/dock_enum_array.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=5 format=3 uid="uid://crfuon34lnst0"] +[gd_scene load_steps=5 format=3 uid="uid://ddqak780cwwfj"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_editors/dock_enum_array.gd" id="1_n3flg"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/editor_icon_button.gd" id="2_mda1e"] -[sub_resource type="Image" id="Image_jk65c"] +[sub_resource type="Image" id="Image_5ktp6"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 128, 128, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 93, 93, 55, 255, 97, 97, 58, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 98, 98, 47, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 94, 94, 46, 255, 93, 93, 236, 255, 93, 93, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 93, 93, 252, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -13,7 +13,7 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_3oshq"] -image = SubResource("Image_jk65c") +image = SubResource("Image_5ktp6") [node name="EditEnumArray" type="VBoxContainer"] anchors_preset = 10 diff --git a/addons/resources_spreadsheet_view/typed_editors/dock_number.gd b/addons/resources_spreadsheet_view/typed_editors/dock_number.gd index 8f1872e..d80bddb 100644 --- a/addons/resources_spreadsheet_view/typed_editors/dock_number.gd +++ b/addons/resources_spreadsheet_view/typed_editors/dock_number.gd @@ -138,18 +138,18 @@ func _on_SequenceFill_pressed(add : bool = false): func _fill_sequence(arr : Array, add : bool = false) -> Array: - if !_sequence_gen_inputs.get_child(0).text.is_valid_float(): + if !_sequence_gen_inputs.get_node("Start").text.is_valid_float(): return arr var start := float(_sequence_gen_inputs.get_child(0).text) var end = null var step = null - if _sequence_gen_inputs.get_child(2).text.is_valid_float(): - step = float(_sequence_gen_inputs.get_child(2).text) + if _sequence_gen_inputs.get_node("Step").text.is_valid_float(): + step = float(_sequence_gen_inputs.get_node("Step").text) - if _sequence_gen_inputs.get_child(1).text.is_valid_float(): - end = float(_sequence_gen_inputs.get_child(1).text) + if _sequence_gen_inputs.get_node("End").text.is_valid_float(): + end = float(_sequence_gen_inputs.get_node("End").text) if end == null: end = INF if step == null or step >= 0 else -INF diff --git a/addons/resources_spreadsheet_view/typed_editors/dock_number.tscn b/addons/resources_spreadsheet_view/typed_editors/dock_number.tscn index b1261cf..86eea13 100644 --- a/addons/resources_spreadsheet_view/typed_editors/dock_number.tscn +++ b/addons/resources_spreadsheet_view/typed_editors/dock_number.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=2 format=3 uid="uid://bafpct0bu5h5r"] +[gd_scene load_steps=2 format=3 uid="uid://gtbf7b0wptv"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_editors/dock_number.gd" id="1"] @@ -75,17 +75,17 @@ visible = false layout_mode = 2 text = "Sequence" -[node name="LineEdit" type="LineEdit" parent="HBoxContainer/CustomX2/HBoxContainer"] +[node name="Start" type="LineEdit" parent="HBoxContainer/CustomX2/HBoxContainer"] layout_mode = 2 tooltip_text = "Start (must not be blank)" placeholder_text = "Start *" -[node name="LineEdit2" type="LineEdit" parent="HBoxContainer/CustomX2/HBoxContainer"] +[node name="End" type="LineEdit" parent="HBoxContainer/CustomX2/HBoxContainer"] layout_mode = 2 tooltip_text = "End" placeholder_text = "End" -[node name="LineEdit3" type="LineEdit" parent="HBoxContainer/CustomX2/HBoxContainer"] +[node name="Step" type="LineEdit" parent="HBoxContainer/CustomX2/HBoxContainer"] layout_mode = 2 tooltip_text = "End" placeholder_text = "Step" diff --git a/addons/resources_spreadsheet_view/typed_editors/dock_texture.tscn b/addons/resources_spreadsheet_view/typed_editors/dock_texture.tscn index c3f0251..fc2f411 100644 --- a/addons/resources_spreadsheet_view/typed_editors/dock_texture.tscn +++ b/addons/resources_spreadsheet_view/typed_editors/dock_texture.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=3 uid="uid://boraogt0aj5no"] +[gd_scene load_steps=3 format=3 uid="uid://rww3gpl052bn"] [ext_resource type="Script" path="res://addons/resources_spreadsheet_view/typed_editors/dock_texture.gd" id="1"] -[ext_resource type="Texture2D" uid="uid://c0jks8qogcdhp" path="res://icon.svg" id="2_xbp0j"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_h3mns"] [node name="EditTexture" type="VBoxContainer"] anchors_preset = -1 @@ -54,7 +55,7 @@ mouse_filter = 2 layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -texture = ExtResource("2_xbp0j") +texture = SubResource("PlaceholderTexture2D_h3mns") expand_mode = 1 stretch_mode = 5 diff --git a/config/attack/blunt_heavy_hit_blow.tres b/config/attack/blunt_heavy_hit_blow.tres index e474647..e9d2cb0 100644 --- a/config/attack/blunt_heavy_hit_blow.tres +++ b/config/attack/blunt_heavy_hit_blow.tres @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.4 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/blunt_mid_hit_blow.tres b/config/attack/blunt_mid_hit_blow.tres index e309599..60b2f2d 100644 --- a/config/attack/blunt_mid_hit_blow.tres +++ b/config/attack/blunt_mid_hit_blow.tres @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.15 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/blunt_normal_hit.tres b/config/attack/blunt_normal_hit.tres index ca72177..21fa92e 100644 --- a/config/attack/blunt_normal_hit.tres +++ b/config/attack/blunt_normal_hit.tres @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.05 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/blunt_normal_hit_back.tres b/config/attack/blunt_normal_hit_back.tres index 64d1ca1..34f38e7 100644 --- a/config/attack/blunt_normal_hit_back.tres +++ b/config/attack/blunt_normal_hit_back.tres @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.05 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/sharp_heavy_hit_blow.tres b/config/attack/sharp_heavy_hit_blow.tres index f23b440..3df4cf7 100644 --- a/config/attack/sharp_heavy_hit_blow.tres +++ b/config/attack/sharp_heavy_hit_blow.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://dbs2wjw20s0hu"] +[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://bv4uoey1liqoq"] [ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_j177j"] @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.3 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/sharp_mid_hit.tres b/config/attack/sharp_mid_hit.tres index db19996..404d713 100644 --- a/config/attack/sharp_mid_hit.tres +++ b/config/attack/sharp_mid_hit.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://cae3dxpuqfcux"] +[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://qmivx7ntfrki"] [ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_ijso0"] @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.1 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/sharp_mid_hit_down.tres b/config/attack/sharp_mid_hit_down.tres index 1da4c00..de580ba 100644 --- a/config/attack/sharp_mid_hit_down.tres +++ b/config/attack/sharp_mid_hit_down.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://rqjggte0qh84"] +[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://dj7tchh0202t2"] [ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_l5a6t"] @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.1 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/sharp_normal_hit.tres b/config/attack/sharp_normal_hit.tres index 85dd650..143404e 100644 --- a/config/attack/sharp_normal_hit.tres +++ b/config/attack/sharp_normal_hit.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://bsqk3q6mccllg"] +[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://d3mcp8sf6qbmd"] [ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_v2kmn"] @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.02 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/sharp_normal_hit_back.tres b/config/attack/sharp_normal_hit_back.tres index 9faca7c..a86f0e3 100644 --- a/config/attack/sharp_normal_hit_back.tres +++ b/config/attack/sharp_normal_hit_back.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://ckeuv5lhfk2s0"] +[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://btg40rn2f36c2"] [ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_4245c"] @@ -17,7 +17,3 @@ hit_back_duration = 0.05 hit_up_duration = 0.05 pause_time = 0.02 is_force_pause = false -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack/sharp_normal_hit_up.tres b/config/attack/sharp_normal_hit_up.tres index 0936e7d..6b64f65 100644 --- a/config/attack/sharp_normal_hit_up.tres +++ b/config/attack/sharp_normal_hit_up.tres @@ -7,16 +7,13 @@ script = ExtResource("1_iuifx") damage_rate = 1.0 break_level = 1 stun_attack = 10.0 +damage_type = 0 +is_floating = true +is_hit_down = false +is_rebound = false hit_back_speed = 0.0 -hit_back_duration = 0.0 hit_up_speed = 3.0 +hit_back_duration = 0.0 hit_up_duration = 0.1 pause_time = 0.1 -is_floating = true -is_hit_down = false -is_rebound = false is_force_pause = true -height = 2.0 -radius = 0.0 -size = Vector2(2, 1) -offset = Vector2(1, 0) diff --git a/config/attack_box/box_normal.tres b/config/attack_box/box_normal.tres new file mode 100644 index 0000000..41dbd7a --- /dev/null +++ b/config/attack_box/box_normal.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" script_class="AttackBoxCfg" load_steps=2 format=3 uid="uid://bqejjllfy03h3"] + +[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_d4mqn"] + +[resource] +script = ExtResource("1_d4mqn") +height = 1.0 +radius = 0.0 +size = Vector2(1, 1) +offset = Vector2(0.5, 0) diff --git a/config/attack_box/circle_normal.tres b/config/attack_box/circle_normal.tres new file mode 100644 index 0000000..17d8557 --- /dev/null +++ b/config/attack_box/circle_normal.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" script_class="AttackBoxCfg" load_steps=2 format=3 uid="uid://57sukcw6ewqo"] + +[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_8rhve"] + +[resource] +script = ExtResource("1_8rhve") +height = 1.0 +radius = 0.5 +size = Vector2(0, 0) +offset = Vector2(0, 0) diff --git a/config/skill_player_weapon/hero01_fist_air_skill01.tres b/config/skill_player_weapon/hero01_fist_air_skill01.tres index 381943c..9d62eeb 100644 --- a/config/skill_player_weapon/hero01_fist_air_skill01.tres +++ b/config/skill_player_weapon/hero01_fist_air_skill01.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://dkxgra6y2u30l"] -[ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_h0ykq"] +[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_nott2"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_mje6b"] [ext_resource type="Animation" uid="uid://dxgqn5fa7aokj" path="res://resource/skill_animation/hero01_fist_air_skill01.tres" id="3_q461t"] [ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="4_seudu"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_heavy" name = "" skill_animation = ExtResource("3_q461t") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_h0ykq")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_nott2") refresh_animation = false sprite_frames = ExtResource("4_seudu") animation_name = "fist_air_skill01" diff --git a/config/skill_player_weapon/hero01_fist_attack01.tres b/config/skill_player_weapon/hero01_fist_attack01.tres index 38846d5..0e7937c 100644 --- a/config/skill_player_weapon/hero01_fist_attack01.tres +++ b/config/skill_player_weapon/hero01_fist_attack01.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://7e4fnj5sg72s"] -[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_cl2eu"] +[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_k0cmy"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_yc8jq"] [ext_resource type="Animation" uid="uid://t01a4jvp8srr" path="res://resource/skill_animation/hero01_fist_attack01.tres" id="3_b2pdb"] [ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_ymqrn"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("3_b2pdb") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_cl2eu")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_k0cmy") refresh_animation = false sprite_frames = ExtResource("4_ymqrn") animation_name = "fist_attack01" diff --git a/config/skill_player_weapon/hero01_fist_attack02.tres b/config/skill_player_weapon/hero01_fist_attack02.tres index d45f3ba..b228aa0 100644 --- a/config/skill_player_weapon/hero01_fist_attack02.tres +++ b/config/skill_player_weapon/hero01_fist_attack02.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://dubkvm86cj32f"] -[ext_resource type="Resource" uid="uid://c87w2x5qfqdns" path="res://config/attack/blunt_normal_hit_back.tres" id="1_ne108"] +[ext_resource type="Resource" uid="uid://c87w2x5qfqdns" path="res://config/attack/blunt_normal_hit_back.tres" id="1_ixy7x"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_h70wx"] [ext_resource type="Animation" uid="uid://cyu0yin1rpiak" path="res://resource/skill_animation/hero01_fist_attack02.tres" id="3_tllt1"] [ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_fevaa"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("3_tllt1") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_ne108")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_ixy7x") refresh_animation = false sprite_frames = ExtResource("4_fevaa") animation_name = "fist_attack02" diff --git a/config/skill_player_weapon/hero01_fist_attack03.tres b/config/skill_player_weapon/hero01_fist_attack03.tres index 4f94ea0..d9cc3a0 100644 --- a/config/skill_player_weapon/hero01_fist_attack03.tres +++ b/config/skill_player_weapon/hero01_fist_attack03.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://dekpkk8o6o8hk"] -[ext_resource type="Resource" uid="uid://duu05cr8gk5v4" path="res://config/attack/blunt_mid_hit_blow.tres" id="1_vxltf"] +[ext_resource type="Resource" uid="uid://duu05cr8gk5v4" path="res://config/attack/blunt_mid_hit_blow.tres" id="1_am4eq"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_fde7v"] [ext_resource type="Animation" uid="uid://c6mk8tfdpniys" path="res://resource/skill_animation/hero01_fist_attack03.tres" id="3_6rajt"] [ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_orcy6"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("3_6rajt") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_vxltf")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_am4eq") refresh_animation = false sprite_frames = ExtResource("4_orcy6") animation_name = "fist_attack03" diff --git a/config/skill_player_weapon/hero01_fist_attack04.tres b/config/skill_player_weapon/hero01_fist_attack04.tres index b0fdaeb..e6da5fd 100644 --- a/config/skill_player_weapon/hero01_fist_attack04.tres +++ b/config/skill_player_weapon/hero01_fist_attack04.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://b4aysymwqtvtd"] -[ext_resource type="Resource" uid="uid://duu05cr8gk5v4" path="res://config/attack/blunt_mid_hit_blow.tres" id="1_i4hus"] +[ext_resource type="Resource" uid="uid://duu05cr8gk5v4" path="res://config/attack/blunt_mid_hit_blow.tres" id="1_s12sc"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_mhuew"] [ext_resource type="Animation" uid="uid://6u3dhxly760l" path="res://resource/skill_animation/hero01_fist_attack04.tres" id="3_bst70"] [ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_hyek5"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("3_bst70") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_i4hus")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_s12sc") refresh_animation = false sprite_frames = ExtResource("4_hyek5") animation_name = "fist_attack04" diff --git a/config/skill_player_weapon/hero01_fist_attack05.tres b/config/skill_player_weapon/hero01_fist_attack05.tres index 374001d..8fdcb20 100644 --- a/config/skill_player_weapon/hero01_fist_attack05.tres +++ b/config/skill_player_weapon/hero01_fist_attack05.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://0n2jnkdrwa2l"] -[ext_resource type="Resource" uid="uid://bwe8xlgfhx1gl" path="res://config/attack/blunt_heavy_hit_blow.tres" id="1_k5vfx"] +[ext_resource type="Resource" uid="uid://bwe8xlgfhx1gl" path="res://config/attack/blunt_heavy_hit_blow.tres" id="1_5lwhl"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_ym7q1"] [ext_resource type="Animation" uid="uid://b2xdmgnem1h4g" path="res://resource/skill_animation/hero01_fist_attack05.tres" id="3_dbjmb"] [ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="4_mhr07"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("3_dbjmb") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_k5vfx")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_5lwhl") refresh_animation = false sprite_frames = ExtResource("4_mhr07") animation_name = "fist_attack05" diff --git a/config/skill_player_weapon/hero01_long_air_attack01.tres b/config/skill_player_weapon/hero01_long_air_attack01.tres index 8d1e1f3..bf294d4 100644 --- a/config/skill_player_weapon/hero01_long_air_attack01.tres +++ b/config/skill_player_weapon/hero01_long_air_attack01.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://bsdspblvefgpv"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://rib7hj11oscr"] [ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_mxlqc"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_hh5ph"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("3_3pp8a") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_mxlqc")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_mxlqc") refresh_animation = false sprite_frames = ExtResource("4_q0bln") animation_name = "long_air_attack01" diff --git a/config/skill_player_weapon/hero01_long_air_attack02.tres b/config/skill_player_weapon/hero01_long_air_attack02.tres index ed785a6..a220647 100644 --- a/config/skill_player_weapon/hero01_long_air_attack02.tres +++ b/config/skill_player_weapon/hero01_long_air_attack02.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://drxg06dvcx4oj"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://c675lckg7ly25"] [ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_qfkyy"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_gjjhv"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("3_76yga") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_qfkyy")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_qfkyy") refresh_animation = false sprite_frames = ExtResource("4_ahm2t") animation_name = "long_air_attack02" diff --git a/config/skill_player_weapon/hero01_long_air_attack03.tres b/config/skill_player_weapon/hero01_long_air_attack03.tres index 9abab2b..07fc6d2 100644 --- a/config/skill_player_weapon/hero01_long_air_attack03.tres +++ b/config/skill_player_weapon/hero01_long_air_attack03.tres @@ -1,6 +1,6 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://c8l7h74abqlhb"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://b705py5rht5i3"] -[ext_resource type="Resource" uid="uid://rqjggte0qh84" path="res://config/attack/sharp_mid_hit_down.tres" id="1_gddcp"] +[ext_resource type="Resource" uid="uid://dj7tchh0202t2" path="res://config/attack/sharp_mid_hit_down.tres" id="1_rccpt"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_0x7hh"] [ext_resource type="Animation" uid="uid://bh5s2t3cbobpp" path="res://resource/skill_animation/hero01_long_air_attack03.tres" id="3_1erk8"] [ext_resource type="SpriteFrames" uid="uid://ce83cuqwgwwi4" path="res://resource/animation/character/hero01_long_attack.aseprite" id="4_wrd60"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("3_1erk8") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_gddcp")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_rccpt") refresh_animation = false sprite_frames = ExtResource("4_wrd60") animation_name = "long_air_attack03" diff --git a/config/skill_player_weapon/hero01_long_attack01.tres b/config/skill_player_weapon/hero01_long_attack01.tres index de724d0..81eb2a3 100644 --- a/config/skill_player_weapon/hero01_long_attack01.tres +++ b/config/skill_player_weapon/hero01_long_attack01.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://b6x3jdiqtum6"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://dkr1k00c2eecc"] [ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_6ven2"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="1_gik08"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("2_6nbpq") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_6ven2")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_6ven2") refresh_animation = false sprite_frames = ExtResource("5_xel5p") animation_name = "long_attack01" diff --git a/config/skill_player_weapon/hero01_long_attack02.tres b/config/skill_player_weapon/hero01_long_attack02.tres index 58e9e1d..c1e357e 100644 --- a/config/skill_player_weapon/hero01_long_attack02.tres +++ b/config/skill_player_weapon/hero01_long_attack02.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://cs32884hwqxd7"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://kpr8aqmnyv2k"] [ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_8fm1u"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="1_e0fqi"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("2_jrgan") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_8fm1u")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_8fm1u") refresh_animation = false sprite_frames = ExtResource("3_jidy7") animation_name = "long_attack02" diff --git a/config/skill_player_weapon/hero01_long_attack03.tres b/config/skill_player_weapon/hero01_long_attack03.tres index 36ab501..a5363fc 100644 --- a/config/skill_player_weapon/hero01_long_attack03.tres +++ b/config/skill_player_weapon/hero01_long_attack03.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://huxlxrmyulo"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://qele60lk54e1"] [ext_resource type="Resource" uid="uid://ckeuv5lhfk2s0" path="res://config/attack/sharp_normal_hit_back.tres" id="1_7ai5j"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="1_uaib7"] @@ -15,9 +15,9 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("2_ugt3f") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_7ai5j")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_7ai5j") +attack2 = ExtResource("1_7ai5j") refresh_animation = false sprite_frames = ExtResource("3_sr2og") animation_name = "long_attack03" diff --git a/config/skill_player_weapon/hero01_long_attack04.tres b/config/skill_player_weapon/hero01_long_attack04.tres index 6aac951..06645b2 100644 --- a/config/skill_player_weapon/hero01_long_attack04.tres +++ b/config/skill_player_weapon/hero01_long_attack04.tres @@ -1,7 +1,7 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=7 format=3 uid="uid://chuv8k5d44ln4"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=7 format=3 uid="uid://dvdr5vd1vbe12"] -[ext_resource type="Resource" uid="uid://dbs2wjw20s0hu" path="res://config/attack/sharp_heavy_hit_blow.tres" id="1_7tise"] -[ext_resource type="Resource" uid="uid://c87w2x5qfqdns" path="res://config/attack/blunt_normal_hit_back.tres" id="1_rvymn"] +[ext_resource type="Resource" uid="uid://bv4uoey1liqoq" path="res://config/attack/sharp_heavy_hit_blow.tres" id="1_8ipjq"] +[ext_resource type="Resource" uid="uid://c87w2x5qfqdns" path="res://config/attack/blunt_normal_hit_back.tres" id="1_44ai1"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="1_xsxbs"] [ext_resource type="Animation" uid="uid://dk1o3gqhjmuvh" path="res://resource/skill_animation/hero01_long_attack04.tres" id="2_sam6s"] [ext_resource type="SpriteFrames" uid="uid://ce83cuqwgwwi4" path="res://resource/animation/character/hero01_long_attack.aseprite" id="3_w7h1m"] @@ -16,9 +16,9 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("2_sam6s") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_rvymn"), ExtResource("1_7tise")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_44ai1") +attack2 = ExtResource("1_8ipjq") refresh_animation = false sprite_frames = ExtResource("3_w7h1m") animation_name = "long_attack04" diff --git a/config/skill_player_weapon/hero01_long_skill01.tres b/config/skill_player_weapon/hero01_long_skill01.tres index 198cc69..de33bf9 100644 --- a/config/skill_player_weapon/hero01_long_skill01.tres +++ b/config/skill_player_weapon/hero01_long_skill01.tres @@ -1,6 +1,6 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://bi2ipbximefsr"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://cwqbhrv8bd5vn"] -[ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_p5wrw"] +[ext_resource type="Resource" uid="uid://cae3dxpuqfcux" path="res://config/attack/sharp_mid_hit.tres" id="1_7yroh"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="1_ud5ph"] [ext_resource type="Animation" uid="uid://bjnkrte7660pt" path="res://resource/skill_animation/hero01_long_skill01.tres" id="2_ewts2"] [ext_resource type="SpriteFrames" uid="uid://dhfqj1dxldqao" path="res://resource/animation/character/hero01_long_skill01.aseprite" id="3_qwjfl"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_heavy" name = "" skill_animation = ExtResource("2_ewts2") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_p5wrw")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_7yroh") refresh_animation = false sprite_frames = ExtResource("3_qwjfl") animation_name = "long_skill01" diff --git a/config/skill_player_weapon/hero01_long_skill02.tres b/config/skill_player_weapon/hero01_long_skill02.tres index 8bf3387..9eb0a0d 100644 --- a/config/skill_player_weapon/hero01_long_skill02.tres +++ b/config/skill_player_weapon/hero01_long_skill02.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://4whbnu8f7qyo"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://vvftj1wk88xj"] [ext_resource type="Resource" uid="uid://ckbf40c75bfqf" path="res://config/attack/sharp_normal_hit_up.tres" id="1_edtv7"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_1xtt1"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_heavy" name = "" skill_animation = ExtResource("3_b7s0y") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_edtv7")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_edtv7") refresh_animation = false sprite_frames = ExtResource("4_rbnly") animation_name = "long_skill02" diff --git a/config/skill_player_weapon/hero01_short_attack01.tres b/config/skill_player_weapon/hero01_short_attack01.tres index aeb58bf..f8c6679 100644 --- a/config/skill_player_weapon/hero01_short_attack01.tres +++ b/config/skill_player_weapon/hero01_short_attack01.tres @@ -1,6 +1,6 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://bcxglqq08pymr"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://ddc14ei2mwen6"] -[ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_r3o2x"] +[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_4lnv2"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="3_gsnqk"] [ext_resource type="Animation" uid="uid://bkre61dn64j2f" path="res://resource/skill_animation/hero01_short_attack01.tres" id="4_f30l7"] [ext_resource type="SpriteFrames" uid="uid://cndpnxtdh37ii" path="res://resource/animation/character/hero01_short_attack.aseprite" id="5_8vcrr"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("4_f30l7") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_r3o2x")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_4lnv2") refresh_animation = false sprite_frames = ExtResource("5_8vcrr") animation_name = "short_attack01" diff --git a/config/skill_player_weapon/hero01_short_attack02.tres b/config/skill_player_weapon/hero01_short_attack02.tres index 0e60102..d0b1952 100644 --- a/config/skill_player_weapon/hero01_short_attack02.tres +++ b/config/skill_player_weapon/hero01_short_attack02.tres @@ -1,6 +1,6 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://cm7nbxogmlvp5"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://d2pyl8sqnljtw"] -[ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_nmank"] +[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_hnewa"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="3_8ixmd"] [ext_resource type="Animation" uid="uid://xfuwfwtw4cna" path="res://resource/skill_animation/hero01_short_attack02.tres" id="4_mepfm"] [ext_resource type="SpriteFrames" uid="uid://cndpnxtdh37ii" path="res://resource/animation/character/hero01_short_attack.aseprite" id="5_dxfya"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("4_mepfm") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_nmank")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_hnewa") refresh_animation = false sprite_frames = ExtResource("5_dxfya") animation_name = "short_attack02" diff --git a/config/skill_player_weapon/hero01_short_attack03.tres b/config/skill_player_weapon/hero01_short_attack03.tres index ba1cc61..1ed300b 100644 --- a/config/skill_player_weapon/hero01_short_attack03.tres +++ b/config/skill_player_weapon/hero01_short_attack03.tres @@ -1,6 +1,6 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://bex4a43t6ettj"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://dxj5ekoi7cd7m"] -[ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_5om0v"] +[ext_resource type="Resource" uid="uid://c87w2x5qfqdns" path="res://config/attack/blunt_normal_hit_back.tres" id="1_afi2j"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="3_8rsme"] [ext_resource type="Animation" uid="uid://bdyjvq185tdk6" path="res://resource/skill_animation/hero01_short_attack03.tres" id="4_7ws6s"] [ext_resource type="SpriteFrames" uid="uid://cndpnxtdh37ii" path="res://resource/animation/character/hero01_short_attack.aseprite" id="5_40215"] @@ -15,9 +15,9 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("4_7ws6s") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_5om0v")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_afi2j") +attack2 = ExtResource("1_afi2j") refresh_animation = false sprite_frames = ExtResource("5_40215") animation_name = "short_attack03" diff --git a/config/skill_player_weapon/hero01_short_attack04.tres b/config/skill_player_weapon/hero01_short_attack04.tres index e0e7255..39fa6dd 100644 --- a/config/skill_player_weapon/hero01_short_attack04.tres +++ b/config/skill_player_weapon/hero01_short_attack04.tres @@ -1,6 +1,6 @@ -[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://cya7i41k08jgc"] +[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=6 format=3 uid="uid://bh0tfn8mi3u3r"] -[ext_resource type="Resource" uid="uid://bsqk3q6mccllg" path="res://config/attack/sharp_normal_hit.tres" id="1_hd2st"] +[ext_resource type="Resource" uid="uid://dbs2wjw20s0hu" path="res://config/attack/sharp_heavy_hit_blow.tres" id="1_d23lh"] [ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="3_44lu2"] [ext_resource type="Animation" uid="uid://c8qll8wcn633m" path="res://resource/skill_animation/hero01_short_attack04.tres" id="4_rcj2c"] [ext_resource type="SpriteFrames" uid="uid://cndpnxtdh37ii" path="res://resource/animation/character/hero01_short_attack.aseprite" id="5_owk7o"] @@ -15,9 +15,8 @@ break_level = 3 action = "attack_light" name = "" skill_animation = ExtResource("4_rcj2c") -attack_list = Array[Resource("res://script/config/attack_cfg.gd")]([ExtResource("1_hd2st")]) -sub_character_list = Array[Resource("res://script/config/character_cfg.gd")]([]) free_lock = false +attack1 = ExtResource("1_d23lh") refresh_animation = false sprite_frames = ExtResource("5_owk7o") animation_name = "short_attack04" diff --git a/example/Items/item_icons/items.png b/example/Items/item_icons/items.png new file mode 100644 index 0000000000000000000000000000000000000000..d2a6f643f566c4aadcb0dd079e7f2c2a992a4d74 GIT binary patch literal 2918 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 literal 0 HcmV?d00001 diff --git a/example/Random Upgrades/icons/all_icons.png.import b/example/Random Upgrades/icons/all_icons.png.import new file mode 100644 index 0000000..40d9e97 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7e3wp7i33ye5" +path="res://.godot/imported/all_icons.png-28909f8bd099d79f5d095eb93a9167e6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://example/Random Upgrades/icons/all_icons.png" +dest_files=["res://.godot/imported/all_icons.png-28909f8bd099d79f5d095eb93a9167e6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/example/Random Upgrades/icons/all_icons/all_icons_1.tres b/example/Random Upgrades/icons/all_icons/all_icons_1.tres new file mode 100644 index 0000000..d3a38a3 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_1.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://c3bx6kf7frbwk"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"] + +[resource] +atlas = ExtResource("1") +region = Rect2(0, 0, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_10.tres b/example/Random Upgrades/icons/all_icons/all_icons_10.tres new file mode 100644 index 0000000..4131f8c --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_10.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cak6lra5ej68c"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_6pmrx"] + +[resource] +atlas = ExtResource("1_6pmrx") +region = Rect2(64, 128, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_11.tres b/example/Random Upgrades/icons/all_icons/all_icons_11.tres new file mode 100644 index 0000000..5ae6a28 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_11.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dkc8d2p0xbl1n"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_lk0lg"] + +[resource] +atlas = ExtResource("1_lk0lg") +region = Rect2(128, 128, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_12.tres b/example/Random Upgrades/icons/all_icons/all_icons_12.tres new file mode 100644 index 0000000..1397909 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_12.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://ciiykhulvckp7"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_fd56b"] + +[resource] +atlas = ExtResource("1_fd56b") +region = Rect2(192, 128, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_13.tres b/example/Random Upgrades/icons/all_icons/all_icons_13.tres new file mode 100644 index 0000000..cbabc98 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_13.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dki1d3uksoyfj"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_ds6ve"] + +[resource] +atlas = ExtResource("1_ds6ve") +region = Rect2(0, 192, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_14.tres b/example/Random Upgrades/icons/all_icons/all_icons_14.tres new file mode 100644 index 0000000..303ee64 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_14.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cpenn4qsfhx28"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_icesd"] + +[resource] +atlas = ExtResource("1_icesd") +region = Rect2(64, 192, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_15.tres b/example/Random Upgrades/icons/all_icons/all_icons_15.tres new file mode 100644 index 0000000..3de416c --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_15.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cm6cb8uou75x0"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_mlqxi"] + +[resource] +atlas = ExtResource("1_mlqxi") +region = Rect2(128, 192, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_16.tres b/example/Random Upgrades/icons/all_icons/all_icons_16.tres new file mode 100644 index 0000000..fe9075e --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_16.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://0c7ngrkwn42u"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_jk82p"] + +[resource] +atlas = ExtResource("1_jk82p") +region = Rect2(192, 192, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_2.tres b/example/Random Upgrades/icons/all_icons/all_icons_2.tres new file mode 100644 index 0000000..405fe32 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_2.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dfpwu4ra3fxgx"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"] + +[resource] +atlas = ExtResource("1") +region = Rect2(64, 0, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_3.tres b/example/Random Upgrades/icons/all_icons/all_icons_3.tres new file mode 100644 index 0000000..8bc87b0 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_3.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://d38giyxvkhl6g"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"] + +[resource] +atlas = ExtResource("1") +region = Rect2(128, 0, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_4.tres b/example/Random Upgrades/icons/all_icons/all_icons_4.tres new file mode 100644 index 0000000..517e84f --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_4.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cluvoehgeqmcu"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"] + +[resource] +atlas = ExtResource("1") +region = Rect2(192, 0, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_5.tres b/example/Random Upgrades/icons/all_icons/all_icons_5.tres new file mode 100644 index 0000000..8363f7b --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_5.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://djjpa8lluue1g"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"] + +[resource] +atlas = ExtResource("1") +region = Rect2(0, 64, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_6.tres b/example/Random Upgrades/icons/all_icons/all_icons_6.tres new file mode 100644 index 0000000..df97e79 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_6.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://butx3l1jdcgcc"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_em1jn"] + +[resource] +atlas = ExtResource("1_em1jn") +region = Rect2(64, 64, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_7.tres b/example/Random Upgrades/icons/all_icons/all_icons_7.tres new file mode 100644 index 0000000..bfe8fdb --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_7.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dfhgifwrrigrw"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_bpiay"] + +[resource] +atlas = ExtResource("1_bpiay") +region = Rect2(128, 64, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_8.tres b/example/Random Upgrades/icons/all_icons/all_icons_8.tres new file mode 100644 index 0000000..640155a --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_8.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dacww8ptt8uyo"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_mbxiu"] + +[resource] +atlas = ExtResource("1_mbxiu") +region = Rect2(192, 64, 64, 64) diff --git a/example/Random Upgrades/icons/all_icons/all_icons_9.tres b/example/Random Upgrades/icons/all_icons/all_icons_9.tres new file mode 100644 index 0000000..0c97341 --- /dev/null +++ b/example/Random Upgrades/icons/all_icons/all_icons_9.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dbbgxcs806sy8"] + +[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_bw3gq"] + +[resource] +atlas = ExtResource("1_bw3gq") +region = Rect2(0, 128, 64, 64) diff --git a/example/Random Upgrades/new scene.tscn b/example/Random Upgrades/new scene.tscn new file mode 100644 index 0000000..cf94da5 --- /dev/null +++ b/example/Random Upgrades/new scene.tscn @@ -0,0 +1,31 @@ +[gd_scene format=3 uid="uid://b4cix5ebtpdbf"] + +[node name="Node2D" type="Node2D"] + +[node name="ColorRect" type="ColorRect" parent="."] +offset_left = 363.0 +offset_top = 83.0 +offset_right = 718.0 +offset_bottom = 632.0 +color = Color(0, 1, 0.0156863, 1) + +[node name="ColorRect2" type="ColorRect" parent="."] +offset_left = 833.0 +offset_top = 304.0 +offset_right = 1095.0 +offset_bottom = 653.0 +color = Color(0, 0.905882, 1, 1) + +[node name="ColorRect3" type="ColorRect" parent="."] +offset_left = 553.0 +offset_top = 491.0 +offset_right = 929.0 +offset_bottom = 770.0 +color = Color(0, 0.0156863, 1, 1) + +[node name="ColorRect4" type="ColorRect" parent="."] +offset_left = 746.0 +offset_top = 397.0 +offset_right = 1077.0 +offset_bottom = 632.0 +color = Color(0.686275, 0, 1, 1) diff --git a/example/Random Upgrades/upgrade_data.gd b/example/Random Upgrades/upgrade_data.gd new file mode 100644 index 0000000..915857c --- /dev/null +++ b/example/Random Upgrades/upgrade_data.gd @@ -0,0 +1,30 @@ +@tool +class_name UpgradeData +extends Resource + +enum Attributes { + Strength = 0, + Magic, + Endurance, + Agility, + Luck, + Mastery = 128, +} + +@export var color1 := Color.WHITE +@export var max_duplicates := 0 +@export var tags : Array[String] +@export_enum("Weapon", "Passive", "Mastery") var type := 0 +@export var attributes : Array[Attributes] +@export var icon : Texture +@export var custom_scene : PackedScene +@export var prerequisites : Array[UpgradeData] +@export var color2 := Color.WHITE +@export var base_weight := 10.0 +@export var is_notable := false +@export_multiline var multiplier_per_tag := "" +@export_multiline var multiplier_if_tag_present := "" +@export_multiline var multiplier_if_tag_not_present := "" +@export_multiline var max_tags_present := "" +@export var list_item_delimeter := " " +@export var list_row_delimeter := ";" diff --git a/example/Random Upgrades/upgrades/elemental.tres b/example/Random Upgrades/upgrades/elemental.tres new file mode 100644 index 0000000..b0a6db6 --- /dev/null +++ b/example/Random Upgrades/upgrades/elemental.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://8m6y2o6tbmpn"] + +[ext_resource type="Texture2D" uid="uid://butx3l1jdcgcc" path="res://example/Random Upgrades/icons/all_icons/all_icons_6.tres" id="1_utkae"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Upgrade: Elemental Damage" +script = ExtResource("2") +color1 = Color(1, 1, 1, 1) +max_duplicates = 9 +tags = Array[String](["elemental"]) +type = 1 +attributes = Array[int]([1]) +icon = ExtResource("1_utkae") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.964706, 0.298039, 0.298039, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "elemental 0" +max_tags_present = "" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/health.tres b/example/Random Upgrades/upgrades/health.tres new file mode 100644 index 0000000..3cce2ba --- /dev/null +++ b/example/Random Upgrades/upgrades/health.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://dys7hpijn82t0"] + +[ext_resource type="Texture2D" uid="uid://c3bx6kf7frbwk" path="res://example/Random Upgrades/icons/all_icons/all_icons_1.tres" id="1"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Upgrade: Health" +script = ExtResource("2") +color1 = Color(1, 1, 1, 1) +max_duplicates = 9 +tags = Array[String](["health", "melee"]) +type = 1 +attributes = Array[int]([2]) +icon = ExtResource("1") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.129412, 1, 0.243137, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "strength 1.5 melee 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/mastery_magic.tres b/example/Random Upgrades/upgrades/mastery_magic.tres new file mode 100644 index 0000000..534709f --- /dev/null +++ b/example/Random Upgrades/upgrades/mastery_magic.tres @@ -0,0 +1,28 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=6 format=3 uid="uid://2totlbwc40e8"] + +[ext_resource type="Texture2D" uid="uid://djjpa8lluue1g" path="res://example/Random Upgrades/icons/all_icons/all_icons_5.tres" id="1_ardng"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] +[ext_resource type="Resource" uid="uid://rjxr4qtfc6qd" path="res://example/Random Upgrades/upgrades/weapons/weapon_fireball.tres" id="2_485ad"] +[ext_resource type="Resource" uid="uid://djqq1lqaevth5" path="res://example/Random Upgrades/upgrades/weapons/weapon_blizzard.tres" id="3_xnxxn"] +[ext_resource type="Resource" uid="uid://b0kdw067vtgvn" path="res://example/Random Upgrades/upgrades/weapons/weapon_lightning.tres" id="4_kn0kg"] + +[resource] +resource_name = "Mastery: Magic" +script = ExtResource("2") +color1 = Color(1, 0.847059, 0.160784, 1) +max_duplicates = 9 +tags = Array[String](["magic", "mastery"]) +type = 2 +attributes = Array[int]([1, 1, 4, 128]) +icon = ExtResource("1_ardng") +prerequisites = Array[ExtResource("2")]([ExtResource("2_485ad"), ExtResource("3_xnxxn"), ExtResource("4_kn0kg")]) +color2 = Color(0.407843, 0.192157, 0.827451, 1) +base_weight = 1.0 +is_notable = true +multiplier_per_tag = "magic 1.2" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "magic 0" +max_tags_present = "" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/mastery_strength.tres b/example/Random Upgrades/upgrades/mastery_strength.tres new file mode 100644 index 0000000..2f25fcc --- /dev/null +++ b/example/Random Upgrades/upgrades/mastery_strength.tres @@ -0,0 +1,28 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=6 format=3 uid="uid://d1suh8iai43st"] + +[ext_resource type="Texture2D" uid="uid://dfpwu4ra3fxgx" path="res://example/Random Upgrades/icons/all_icons/all_icons_2.tres" id="1_442ey"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] +[ext_resource type="Resource" uid="uid://cux4x0qopwiqk" path="res://example/Random Upgrades/upgrades/weapons/weapon_dagger.tres" id="2_kb33p"] +[ext_resource type="Resource" uid="uid://b78jqcpgef2ud" path="res://example/Random Upgrades/upgrades/weapons/weapon_axe.tres" id="3_tt25f"] +[ext_resource type="Resource" uid="uid://xl0yx8uq6bfp" path="res://example/Random Upgrades/upgrades/weapons/weapon_spear.tres" id="4_kpsn8"] + +[resource] +resource_name = "Mastery: Strength" +script = ExtResource("2") +color1 = Color(1, 0.847059, 0.160784, 1) +max_duplicates = 9 +tags = Array[String](["strength", "mastery"]) +type = 2 +attributes = Array[int]([0, 0, 4, 128]) +icon = ExtResource("1_442ey") +prerequisites = Array[ExtResource("2")]([ExtResource("2_kb33p"), ExtResource("3_tt25f"), ExtResource("4_kpsn8")]) +color2 = Color(0.992157, 0.941176, 0.2, 1) +base_weight = 1.0 +is_notable = true +multiplier_per_tag = "strength 1.2" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "strength 0" +max_tags_present = "" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/up_aoe.tres b/example/Random Upgrades/upgrades/up_aoe.tres new file mode 100644 index 0000000..37ff9cc --- /dev/null +++ b/example/Random Upgrades/upgrades/up_aoe.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://2y7extlq12d5"] + +[ext_resource type="Texture2D" uid="uid://butx3l1jdcgcc" path="res://example/Random Upgrades/icons/all_icons/all_icons_6.tres" id="1_prpsx"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Upgrade: Area of Effect" +script = ExtResource("2") +color1 = Color(1, 1, 1, 1) +max_duplicates = 4 +tags = Array[String](["aoe"]) +type = 1 +attributes = Array[int]([3]) +icon = ExtResource("1_prpsx") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.964706, 0.298039, 0.298039, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "aoe 0" +max_tags_present = "" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/up_magic.tres b/example/Random Upgrades/upgrades/up_magic.tres new file mode 100644 index 0000000..aabe734 --- /dev/null +++ b/example/Random Upgrades/upgrades/up_magic.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://ce2kulhm7amkp"] + +[ext_resource type="Texture2D" uid="uid://djjpa8lluue1g" path="res://example/Random Upgrades/icons/all_icons/all_icons_5.tres" id="1_we1lq"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Upgrade: Magic" +script = ExtResource("2") +color1 = Color(1, 1, 1, 1) +max_duplicates = 9 +tags = Array[String](["magic"]) +type = 1 +attributes = Array[int]([1]) +icon = ExtResource("1_we1lq") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.188235, 0.45098, 0.901961, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "magic 0" +max_tags_present = "" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/up_strength.tres b/example/Random Upgrades/upgrades/up_strength.tres new file mode 100644 index 0000000..85c443c --- /dev/null +++ b/example/Random Upgrades/upgrades/up_strength.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://c6hsg3j74vm56"] + +[ext_resource type="Texture2D" uid="uid://dfpwu4ra3fxgx" path="res://example/Random Upgrades/icons/all_icons/all_icons_2.tres" id="1"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Upgrade: Strength" +script = ExtResource("2") +color1 = Color(1, 1, 1, 1) +max_duplicates = 9 +tags = Array[String](["strength"]) +type = 1 +attributes = Array[int]([0]) +icon = ExtResource("1") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.980392, 0.584314, 0.203922, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "strength 0" +max_tags_present = "" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/weapons/weapon_axe.tres b/example/Random Upgrades/upgrades/weapons/weapon_axe.tres new file mode 100644 index 0000000..3f2ca4a --- /dev/null +++ b/example/Random Upgrades/upgrades/weapons/weapon_axe.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://b78jqcpgef2ud"] + +[ext_resource type="Texture2D" uid="uid://d38giyxvkhl6g" path="res://example/Random Upgrades/icons/all_icons/all_icons_3.tres" id="1_mrwdr"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2_ug2lv"] + +[resource] +resource_name = "Weapon: Axe" +script = ExtResource("2_ug2lv") +color1 = Color(0.635294, 0.760784, 1, 1) +max_duplicates = 1 +tags = Array[String](["strength", "melee", "weapon"]) +type = 0 +attributes = Array[int]([0, 2]) +icon = ExtResource("1_mrwdr") +prerequisites = Array[ExtResource("2_ug2lv")]([]) +color2 = Color(0.980392, 0.584314, 0.203922, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "strength 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "weapon 4" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/weapons/weapon_blizzard.tres b/example/Random Upgrades/upgrades/weapons/weapon_blizzard.tres new file mode 100644 index 0000000..7386128 --- /dev/null +++ b/example/Random Upgrades/upgrades/weapons/weapon_blizzard.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://djqq1lqaevth5"] + +[ext_resource type="Texture2D" uid="uid://cluvoehgeqmcu" path="res://example/Random Upgrades/icons/all_icons/all_icons_4.tres" id="1_xleln"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Weapon: Blizzard" +script = ExtResource("2") +color1 = Color(0.635294, 0.760784, 1, 1) +max_duplicates = 1 +tags = Array[String](["weapon", "magic", "elemental"]) +type = 0 +attributes = Array[int]([1, 2]) +icon = ExtResource("1_xleln") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.189457, 0.452246, 0.902344, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "magic 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "weapon 4" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/weapons/weapon_chaos_blast.tres b/example/Random Upgrades/upgrades/weapons/weapon_chaos_blast.tres new file mode 100644 index 0000000..81e849b --- /dev/null +++ b/example/Random Upgrades/upgrades/weapons/weapon_chaos_blast.tres @@ -0,0 +1,27 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=4 format=3 uid="uid://60buw33oe30f"] + +[ext_resource type="PackedScene" uid="uid://b4cix5ebtpdbf" path="res://example/Random Upgrades/new scene.tscn" id="1_wk78o"] +[ext_resource type="Texture2D" uid="uid://cluvoehgeqmcu" path="res://example/Random Upgrades/icons/all_icons/all_icons_4.tres" id="2_yni6v"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="3_lwnh6"] + +[resource] +resource_name = "Weapon: Chaos Blast" +script = ExtResource("3_lwnh6") +color1 = Color(0.635294, 0.760784, 1, 1) +max_duplicates = 1 +tags = Array[String](["weapon", "magic", "projectile", "legendary"]) +type = 0 +attributes = Array[int]([1, 1, 1, 3]) +icon = ExtResource("2_yni6v") +custom_scene = ExtResource("1_wk78o") +prerequisites = Array[ExtResource("3_lwnh6")]([]) +color2 = Color(0.407843, 0.192157, 0.827451, 1) +base_weight = 1.0 +is_notable = true +multiplier_per_tag = "magic 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "weapon 4" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/weapons/weapon_dagger.tres b/example/Random Upgrades/upgrades/weapons/weapon_dagger.tres new file mode 100644 index 0000000..ac73406 --- /dev/null +++ b/example/Random Upgrades/upgrades/weapons/weapon_dagger.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://cux4x0qopwiqk"] + +[ext_resource type="Texture2D" uid="uid://d38giyxvkhl6g" path="res://example/Random Upgrades/icons/all_icons/all_icons_3.tres" id="1"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Weapon: Daggers" +script = ExtResource("2") +color1 = Color(0.635294, 0.760784, 1, 1) +max_duplicates = 1 +tags = Array[String](["weapon", "strength", "projectile"]) +type = 0 +attributes = Array[int]([0, 3]) +icon = ExtResource("1") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.980392, 0.584314, 0.203922, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "strength 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "weapon 4" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/weapons/weapon_fireball.tres b/example/Random Upgrades/upgrades/weapons/weapon_fireball.tres new file mode 100644 index 0000000..2dc4f1d --- /dev/null +++ b/example/Random Upgrades/upgrades/weapons/weapon_fireball.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://rjxr4qtfc6qd"] + +[ext_resource type="Texture2D" uid="uid://cluvoehgeqmcu" path="res://example/Random Upgrades/icons/all_icons/all_icons_4.tres" id="1"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Weapon: Fireball" +script = ExtResource("2") +color1 = Color(0.635294, 0.760784, 1, 1) +max_duplicates = 1 +tags = Array[String](["weapon", "magic", "projectile", "elemental"]) +type = 0 +attributes = Array[int]([1, 2]) +icon = ExtResource("1") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.189457, 0.452246, 0.902344, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "magic 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "weapon 4" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/weapons/weapon_giga_sword.tres b/example/Random Upgrades/upgrades/weapons/weapon_giga_sword.tres new file mode 100644 index 0000000..dd29518 --- /dev/null +++ b/example/Random Upgrades/upgrades/weapons/weapon_giga_sword.tres @@ -0,0 +1,27 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=4 format=3 uid="uid://c1mrcevxrm5kv"] + +[ext_resource type="PackedScene" uid="uid://b4cix5ebtpdbf" path="res://example/Random Upgrades/new scene.tscn" id="2"] +[ext_resource type="Texture2D" uid="uid://d38giyxvkhl6g" path="res://example/Random Upgrades/icons/all_icons/all_icons_3.tres" id="2_kfnh0"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="3"] + +[resource] +resource_name = "Weapon: Giga Sword" +script = ExtResource("3") +color1 = Color(0.635294, 0.760784, 1, 1) +max_duplicates = 1 +tags = Array[String](["weapon", "strength", "melee", "legendary"]) +type = 0 +attributes = Array[int]([0, 0, 0, 2]) +icon = ExtResource("2_kfnh0") +custom_scene = ExtResource("2") +prerequisites = Array[ExtResource("3")]([]) +color2 = Color(0.992157, 0.941176, 0.2, 1) +base_weight = 1.0 +is_notable = true +multiplier_per_tag = "strength 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "weapon 4" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/weapons/weapon_lightning.tres b/example/Random Upgrades/upgrades/weapons/weapon_lightning.tres new file mode 100644 index 0000000..909efcf --- /dev/null +++ b/example/Random Upgrades/upgrades/weapons/weapon_lightning.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://b0kdw067vtgvn"] + +[ext_resource type="Texture2D" uid="uid://cluvoehgeqmcu" path="res://example/Random Upgrades/icons/all_icons/all_icons_4.tres" id="1"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Weapon: Lightning" +script = ExtResource("2") +color1 = Color(0.635294, 0.760784, 1, 1) +max_duplicates = 1 +tags = Array[String](["weapon", "magic", "elemental"]) +type = 0 +attributes = Array[int]([1, 3]) +icon = ExtResource("1") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.189457, 0.452246, 0.902344, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "magic 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "weapon 4" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades/weapons/weapon_spear.tres b/example/Random Upgrades/upgrades/weapons/weapon_spear.tres new file mode 100644 index 0000000..96e2943 --- /dev/null +++ b/example/Random Upgrades/upgrades/weapons/weapon_spear.tres @@ -0,0 +1,25 @@ +[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://xl0yx8uq6bfp"] + +[ext_resource type="Texture2D" uid="uid://d38giyxvkhl6g" path="res://example/Random Upgrades/icons/all_icons/all_icons_3.tres" id="1"] +[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"] + +[resource] +resource_name = "Weapon: Spear" +script = ExtResource("2") +color1 = Color(0.635294, 0.760784, 1, 1) +max_duplicates = 1 +tags = Array[String](["weapon", "strength", "melee"]) +type = 0 +attributes = Array[int]([0, 3]) +icon = ExtResource("1") +prerequisites = Array[ExtResource("2")]([]) +color2 = Color(0.980392, 0.584314, 0.203922, 1) +base_weight = 10.0 +is_notable = false +multiplier_per_tag = "strength 2.0" +multiplier_if_tag_present = "" +multiplier_if_tag_not_present = "" +max_tags_present = "weapon 4" +list_item_delimeter = " " +list_row_delimeter = " +" diff --git a/example/Random Upgrades/upgrades_csv/upgrades.attributes.translation b/example/Random Upgrades/upgrades_csv/upgrades.attributes.translation new file mode 100644 index 0000000000000000000000000000000000000000..049feeb3df3dc69674dc35775fd20b7dce567b2d GIT binary patch literal 937 zcmWFv4svFI0u~_648*KJEDFT_1tpoenN_JNAw`LK#W{&3nfZA@VF&;zG>dts5@IqZ z874*y%>h&-0mMbA#rdU0$*J)<`N@en@g@23#mT98sSJF`a(RilsSKPzk=)ec;>7gS zVg_~~2dpENfg8xoNG#5XFG)?}&#Nt2< z0$f1+9|#1Xv>1?<0b(U6A0!6?IzYY|nwSk5AEeF+DCPmgASWmQaS#wQ0WrwQ2?F0M zfE3sbAa{7>q)pL7;)B$H@VnSXB z(cSxs*?x~D7WD!RcO#6D#9{U=zp%3d<~I<1;aAx!P&~oxX9Ke3fw&BaqYYyjqK$yq zP)7lXOn{`31(0i?qX0y3t}#djNEjjo)qv0k)Cy7p)B;wiqX3eEm;ofA>JTa*;Ry0~ I5HOPh0Ii_8e*gdg literal 0 HcmV?d00001 diff --git a/example/Random Upgrades/upgrades_csv/upgrades.base.translation b/example/Random Upgrades/upgrades_csv/upgrades.base.translation new file mode 100644 index 0000000000000000000000000000000000000000..f44140319c5496a92b88c352bffee71e8e5d6111 GIT binary patch literal 855 zcma)5PbdUY9DZ2;qb>OtVQr}`wYG2&DN5QBEeAOmv$M|{W@p#D8Ocd0IdKt3CvldG za&)&xDL187Ik=Du-*0zbO%vtUeDiz1?|tvRZ+^W=%qJ$98v*1Bpb}^XW^=Zl(RX-i z!BS0OsJ5OpL6?GrpXXOj=xC^2a{tLS5VZjo7g@*BxME~A)llrLA~bGt*65ux)eL8~ zU@}|?HO&R9Mp0bBSv`hps#sHOHED3xfHLW58{BpYI!V};Zl+7igl6eE8zf_8Ko}_Q zG!l*e_N9um?QEu4gtUl18$#WZU88YQ6`WBkdw^Deq7L{*1l`<%+zIr$HO*1+ZjjVaQA7k$-~R@F7h`AQcF4iwN;?IBKIXP-9QA04HO?1lcQ3Nw&Ip+(2eVVsS=%Nn%n?Dg!T&n^c;domv7F0NGSrQk0pO4$)SeT$EW*0u*Fm zU<6`iAO@RcrLT|8r||`*C8>D~njp16fHOcqp#=*ykn583bMlJ}89;%l0L0=z3<6w0 z{2vGeptKl}mH}cVC?6yT0y;px8Jd_48Xu(22`J_P#31VxfH(+f8+Ay0m^zm8zKTLf;$ABxUY8>AVeXyoZ@VQBi})*M`#qqrK=+?O!`%pb zBypI1%P;KgfT;!17k-t!l15U;24u?vaXS#FK>;!&#lpxkEe$9FXFwDotAUCn8YLTn Rm<$v$zzH7|4ne>S3jn0<%ufIS literal 0 HcmV?d00001 diff --git a/example/Random Upgrades/upgrades_csv/upgrades.color2.translation b/example/Random Upgrades/upgrades_csv/upgrades.color2.translation new file mode 100644 index 0000000000000000000000000000000000000000..697f4a6f3c424c673bb172179c6373f0d877a04c GIT binary patch literal 949 zcmWFv4svFI0u~_648*KJEDFT_1tpoenN_JNAw`LK#W{&3nfZA@VF&;z%v#SMmbYP| z5loC2ngggv0*H%Ji}Op1l2hYz@{<#D;!E=5i<49HQW^M=#fj;u z#SH8~4p>Jj12>SFkyxA&Uy_)VlghvgZ-ypjgT@D`a{`Ka05QmV1t1OrVkRI4IX6Mzdj*gJ zha4#MymHc}fXoE3K^UY4gx@_s!kz;aLl&PF*LFb#i+I*8wqZ?CAEu7wysx4VlDO9jiPxn_e3*Nu``c~_#3KHR*?tcwEYSTY&~P`x z9!VT#-|`DPJ78)-^o3t#ucVRGu>slgK-><*X=WzLCdp}O3`T}&X~wBQhM9%2VTv)3 yk(QEXU<_u!)EFC>8>gCqq!KMnjZKgla4Cd#m>Reg+(3i~Obs~UgTf&Qm|+3Z1jQl% literal 0 HcmV?d00001 diff --git a/example/Random Upgrades/upgrades_csv/upgrades.csv b/example/Random Upgrades/upgrades_csv/upgrades.csv new file mode 100644 index 0000000..062c6f6 --- /dev/null +++ b/example/Random Upgrades/upgrades_csv/upgrades.csv @@ -0,0 +1,31 @@ +resource_path,color1,max_duplicates,tags,type,attributes,icon,custom_scene,prerequisites,color2,base_weight,is_notable,multiplier_per_tag,multiplier_if_tag_present,multiplier_if_tag_not_present,max_tags_present,list_item_delimeter,list_row_delimeter +elemental,ffffffff,9,"[""elemental""]",Passive,[1],res://example/Random Upgrades/icons/all_icons/all_icons_6.tres,,[],f64c4cff,10,No,,,elemental 0,, ," +" +health,ffffffff,9,"[""health"", ""melee""]",Passive,[2],res://example/Random Upgrades/icons/all_icons/all_icons_1.tres,,[],21ff3eff,10,No,strength 1.5 melee 2.0,,,, ," +" +mastery_magic,ffd829ff,9,"[""magic"", ""mastery""]",Mastery,"[1, 1, 4, 128]",res://example/Random Upgrades/icons/all_icons/all_icons_5.tres,,"[, , ]",6831d3ff,1,Yes,magic 1.2,,magic 0,, ," +" +mastery_strength,ffd829ff,9,"[""strength"", ""mastery""]",Mastery,"[0, 0, 4, 128]",res://example/Random Upgrades/icons/all_icons/all_icons_2.tres,,"[, , ]",fdf033ff,1,Yes,strength 1.2,,strength 0,, ," +" +up_aoe,ffffffff,4,"[""aoe""]",Passive,[3],res://example/Random Upgrades/icons/all_icons/all_icons_6.tres,,[],f64c4cff,10,No,,,aoe 0,, ," +" +up_magic,ffffffff,9,"[""magic""]",Passive,[1],res://example/Random Upgrades/icons/all_icons/all_icons_5.tres,,[],3073e6ff,10,No,,,magic 0,, ," +" +up_strength,ffffffff,9,"[""strength""]",Passive,[0],res://example/Random Upgrades/icons/all_icons/all_icons_2.tres,,[],fa9534ff,10,No,,,strength 0,, ," +" +weapon_axe,a2c2ffff,1,"[""strength"", ""melee"", ""weapon""]",Weapon,"[0, 2]",res://example/Random Upgrades/icons/all_icons/all_icons_3.tres,,[],fa9534ff,10,No,strength 2.0,,,weapon 4, ," +" +weapon_blizzard,a2c2ffff,1,"[""weapon"", ""magic"", ""elemental""]",Weapon,"[1, 2]",res://example/Random Upgrades/icons/all_icons/all_icons_4.tres,,[],3073e6ff,10,No,magic 2.0,,,weapon 4, ," +" +weapon_chaos_blast,a2c2ffff,1,"[""weapon"", ""magic"", ""projectile"", ""legendary""]",Weapon,"[1, 1, 1, 3]",res://example/Random Upgrades/icons/all_icons/all_icons_4.tres,res://example/Random Upgrades/new scene.tscn,[],6831d3ff,1,Yes,magic 2.0,,,weapon 4, ," +" +weapon_dagger,a2c2ffff,1,"[""weapon"", ""strength"", ""projectile""]",Weapon,"[0, 3]",res://example/Random Upgrades/icons/all_icons/all_icons_3.tres,,[],fa9534ff,10,No,strength 2.0,,,weapon 4, ," +" +weapon_fireball,a2c2ffff,1,"[""weapon"", ""magic"", ""projectile"", ""elemental""]",Weapon,"[1, 2]",res://example/Random Upgrades/icons/all_icons/all_icons_4.tres,,[],3073e6ff,10,No,magic 2.0,,,weapon 4, ," +" +weapon_giga_sword,a2c2ffff,1,"[""weapon"", ""strength"", ""melee"", ""legendary""]",Weapon,"[0, 0, 0, 2]",res://example/Random Upgrades/icons/all_icons/all_icons_3.tres,res://example/Random Upgrades/new scene.tscn,[],fdf033ff,1,Yes,strength 2.0,,,weapon 4, ," +" +weapon_lightning,a2c2ffff,1,"[""weapon"", ""magic"", ""elemental""]",Weapon,"[1, 3]",res://example/Random Upgrades/icons/all_icons/all_icons_4.tres,,[],3073e6ff,10,No,magic 2.0,,,weapon 4, ," +" +weapon_spear,a2c2ffff,1,"[""weapon"", ""strength"", ""melee""]",Weapon,"[0, 3]",res://example/Random Upgrades/icons/all_icons/all_icons_3.tres,,[],fa9534ff,10,No,strength 2.0,,,weapon 4, ," +" diff --git a/example/Random Upgrades/upgrades_csv/upgrades.csv.import b/example/Random Upgrades/upgrades_csv/upgrades.csv.import new file mode 100644 index 0000000..e73066f --- /dev/null +++ b/example/Random Upgrades/upgrades_csv/upgrades.csv.import @@ -0,0 +1,17 @@ +[remap] + +importer="csv_translation" +type="Translation" +uid="uid://bd5cgapnqclvg" + +[deps] + +files=["res://example/Random Upgrades/upgrades_csv/upgrades.color1.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.max.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.tags.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.type.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.attributes.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.icon.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.custom.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.prerequisites.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.color2.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.base.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.is.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.max.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.list.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.list.translation"] + +source_file="res://example/Random Upgrades/upgrades_csv/upgrades.csv" +dest_files=["res://example/Random Upgrades/upgrades_csv/upgrades.color1.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.max.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.tags.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.type.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.attributes.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.icon.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.custom.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.prerequisites.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.color2.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.base.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.is.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.max.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.list.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.list.translation"] + +[params] + +compress=true +delimiter=0 diff --git a/example/Random Upgrades/upgrades_csv/upgrades.custom.translation b/example/Random Upgrades/upgrades_csv/upgrades.custom.translation new file mode 100644 index 0000000000000000000000000000000000000000..25b695e7a534dcba113edd0b6d90668f3433e5a8 GIT binary patch literal 905 zcmWFv4svFI0u~_648*KJEDFT_1tpoenN_JNAw`LK#W{&3nfZA@VF&;zylWZRvU=-c zkXoVv2T-L15ErEu=a&{Gr^e^xCnx5_m*mG6C#UA6GVmeG!PA!27fNUx*Day=ChiEHKF3Kz@0SYoO zFaohM5Q9y!($~l4)A$mj)Z$78O^{k3z!@N*(1L{;$aTr3#U=T<44}YN0Ag_<1_3T0 z{tpBKP+AN~%K)(wln;^v0UaRU3{A`ijSo`i1QhcCVvzL;KpX_bOh62BZi2w~3Lph$ zgZN%KX;avc_#iP5e)s$cyCINP17cmM7)X3tT-ybZ`(f%}bk;4mD3Ezp%3dCI+G}{3?3|ib9weD6HgxI1-5AK#}X8)zPC&zgTo_ r!jJw7VxP?LFVx1mDU0i9x1(K0cOEmB4Cg1k8j0@;tno literal 0 HcmV?d00001 diff --git a/example/Random Upgrades/upgrades_csv/upgrades.icon.translation b/example/Random Upgrades/upgrades_csv/upgrades.icon.translation new file mode 100644 index 0000000000000000000000000000000000000000..868f97b61cbd99021a2e0bb7511a56be2ca8866e GIT binary patch literal 1591 zcmWFv4svFI0u~_648*KJEDFT_1tpoenN_JNAw`LK#W{&3nfZA@VF&;z)akl7wWo_c z2qs1h%>h&-0mMbA#rdU0$*J)<`N@en@g@23#mT98sSJF`a(RilsSKPzk=)ec;>7gS zVg_~~2dpENfg8xoNG#5XFG)149WElnOvB4#Xh91;qb> zKmbaM0cjZ^R)X?Dav-1sYRXL9zYDTPyvWRQNRSmAjc*Me6Ijf3?@Kq z55!(MX;UnK5->hU4G6z`euTXMs0m$sT3p+O3qW~v@vK{JQ7l-@>1+PLk~Irp_ki?$?%T}o%GPlZS=JV NRP=)KVi2&(0035U@|get literal 0 HcmV?d00001 diff --git a/example/Random Upgrades/upgrades_csv/upgrades.is.translation b/example/Random Upgrades/upgrades_csv/upgrades.is.translation new file mode 100644 index 0000000000000000000000000000000000000000..7e8d36b426ea28ce42a219a26faf4a7c695bd9a2 GIT binary patch literal 861 zcmWFv4svFI0u~_648*KJEDFT_1tpoenN_JNAw`LK#W{&3nfZA@VF&;zTy^*8yK|uh zu`n@WXbzwv2_P;?EzU13N=}W>$xlwqi7&~IFHTO)OJ(3gmdi`bO=aK&isYsi7bm8t z7BjE|Iba>B4BS9wMq+VBd`V(bPAUU0kegJRoSj+%6#&^(TvC*omk!ZZoLrPyPy!TW zU|w4JZzCht~>;*V;(xVD?Y^0OF$5;{4L0%ni;^fr4R0cj|xxB>OR0d9Wr$npc^_pb1h71ULf(6k4!Q1F>^5i%S?lL8$=5;y?@nTtNIE z2n3+C7?73$VkIaaBnJXIK)xB8m<<{qq|ON_<^jYY3l)Gk2#A@0806Rlf$tSS3d{$I zdF7-{;X&eq)PV52=SSEk1%?`!__LU-- zm)p|hp5fSFe+4F*?_Ek$OXDDUf8laSN&#FU9pBZ3W;!}IHP6wcE^NVSqH{L41gikY z5>oPYAz1=MutKmZ7;bR6p?Q486s#KLimz`9FEp@{^jyPU|5_$>*T{KbG8O}L0)m}} z(&?XWs`*);d#nd@A%1NLc8j`(9kh6!A-4e<02q~k4~S&Q^}x-5j!@$qMlb08Z(in` z#=KGRCIMKx4WI%_0C?8r4G!&M>;jBUaelYg|dSH$y^CeGfD zFJe8?#D(3L`&RI2A38^Rvv0OL;-BnfZ$=`T@|5f8b{gZJQ)j8Cfk+UutgvYS literal 0 HcmV?d00001 diff --git a/example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation b/example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation new file mode 100644 index 0000000000000000000000000000000000000000..ee15d59ae8d15e3f5e81106eace5dbc19b22a0d2 GIT binary patch literal 873 zcmWFv4svFI0u~_648*KJEDFT_1tpoenN_JNAw`LK#W{&3nfZA@VF&;zTQ#Fym97bmCYr84j#%jG5JrZR8>MRHS%ixbmR ziy7E~9I%d525ulTBe6Imz9cazCzXL0$W1Cu&Q2|X3V>`XE-A{)ONVGHPAo0#I5ENXr1R5|j^;0|6Z%-waL628|C==L8h<0Ai366o5Dgh?#&G#fj;u z#SH8~4p>Jj12>SFkyxA&Uy_)Vlghvg1?<0b(U6A0!6?IzYY|nwSk5AEeF+DCPmgAXg{=aS#xL;sfOB z1cC1rKnmn$pBC44;T#t6tXpnT7qN)wmWIl_n(6fgdyT-+41HlTC6XxnZU( z4Brm+fD<5F^{t9ED<(%h?ns;amg_*?GAiUh*C$^tEtj;m8@~@l-M|ylo%T#&*sjTK z!*>m73P-RbJD)kcBG`T?6(J=r3duT<1SbSLh_J+E$?*AvE!bhC6Vv9D@RdN5r0-cy zaqE~gJ*(6K$pEA`TGbiSO{%1Z9iDJ1Ajp>g?2m@YZhu$tA*8Q};(thp3EcC|u z$lUia4!v>S>)QJ#^s;n<}$rO>}mU1GCsoRY{`r$`7p zAJW3&)p-bunbRX$$;3vfW?L%6xhvx1tPrp8qGcjNpP)$fR0pVOLOctndUdBDMyFsz z-8Jf-q~u0RhSXiJ*@V{j+i{fU!szEq-&+oUJO2T- C*&rwY literal 0 HcmV?d00001 diff --git a/example/Random Upgrades/upgrades_csv/upgrades.type.translation b/example/Random Upgrades/upgrades_csv/upgrades.type.translation new file mode 100644 index 0000000000000000000000000000000000000000..f50f5d8835644e3d566237a8b20295354ffcf0bc GIT binary patch literal 919 zcmb7@&nrYx6vwaMzoOY-7Rs*`$xuQfMM-L+p@{Olc`oyK^JaSYj<8ZnR#swZ$sb^W zEbUF%NZBbxStu!s;d^G@)iaIa)TeX5-+S&m_np@ZO@@Y<8->UPpa@ih@whaj<|bd9 za&%i*x-?@p>`YK$McZ4?xlC;;?=QI&MSkFL5lc7**Q}VKTbhh%!r(S%Ro*>Yk8)N9 zC(4D;m$_gi5a|<~RbUy>MMRT&*y5}bGMq40xpWQcB&1{7%b8=saLl-b$ygp}2I(jD z1p>L=R1;2D$2x1FTEwpdp=qh9(OPcAIipcFfLcIN4n7e+H`gH7fhJee9z`2;cb3%_r8vl9u>`C%v#!S^=PUgULLPXrd*%Ks{Diboh03jJUXxZ zmAjEy8d|o$xBdDs;`+3w?h#n+nh1LQqpg+Out%%9!s}ooeRcKRu@nFEoTpCpKO7%8 z9n9fB6%1bX=J0)6_cNUyU-dgqp6^mG)i3$6_C#M->0+$wfeBI*Hy8P-?-Xo5n}l-H W&%KPA=6W1|$-k4^pWZcuU-AnVqRoZ? literal 0 HcmV?d00001 diff --git a/render/process_material/slash_normal.tres b/render/process_material/slash_normal.tres index ea57a1b..2b353c0 100644 --- a/render/process_material/slash_normal.tres +++ b/render/process_material/slash_normal.tres @@ -1,4 +1,4 @@ -[gd_resource type="ParticleProcessMaterial" load_steps=3 format=3 uid="uid://dubkkji6sm8on"] +[gd_resource type="ParticleProcessMaterial" load_steps=5 format=3 uid="uid://dubkkji6sm8on"] [sub_resource type="Gradient" id="Gradient_fjosh"] offsets = PackedFloat32Array(0, 0.0894942, 0.684825, 1) @@ -7,6 +7,13 @@ colors = PackedColorArray(0.278431, 0.65098, 1, 0, 0.278431, 0.65098, 1, 1, 0.27 [sub_resource type="GradientTexture1D" id="GradientTexture1D_cypke"] gradient = SubResource("Gradient_fjosh") +[sub_resource type="Curve" id="Curve_8t5d6"] +_data = [Vector2(0, 0.901099), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_81bpg"] +curve = SubResource("Curve_8t5d6") + [resource] particle_flag_rotate_y = true angle_min = 180.0 @@ -17,6 +24,5 @@ angular_velocity_min = -720.0 angular_velocity_max = -720.0 gravity = Vector3(0, 0, 0) tangential_accel_min = -100.0 -scale_min = 0.5 -scale_max = 0.5 +scale_curve = SubResource("CurveTexture_81bpg") color_ramp = SubResource("GradientTexture1D_cypke") diff --git a/render/texture/particle/mask/mask5.png b/render/texture/particle/mask/mask5.png index cb8cbb319b61a6cf76116fcb8adb00900acf2fc1..3c5461bb7e1d53bfdf2c4b43907680b7c8b2ac15 100644 GIT binary patch delta 10019 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 diff --git a/resource/skill_animation/hero01_common_skill02.tres b/resource/skill_animation/hero01_common_skill02.tres index 87ddd4d..4a51b09 100644 --- a/resource/skill_animation/hero01_common_skill02.tres +++ b/resource/skill_animation/hero01_common_skill02.tres @@ -76,7 +76,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "method" @@ -90,7 +90,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_fist_air_skill01.tres b/resource/skill_animation/hero01_fist_air_skill01.tres index 3f21f56..6d26485 100644 --- a/resource/skill_animation/hero01_fist_air_skill01.tres +++ b/resource/skill_animation/hero01_fist_air_skill01.tres @@ -91,7 +91,7 @@ tracks/6/keys = { "method": &"check_ground" }, { "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/7/type = "value" @@ -117,9 +117,9 @@ tracks/8/keys = { "transitions": PackedFloat32Array(1, 1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }, { "args": [], -"method": &"cast_attack_particle_release" +"method": &"cast_attack_particle2_release" }] } diff --git a/resource/skill_animation/hero01_fist_attack01.tres b/resource/skill_animation/hero01_fist_attack01.tres index cb4deeb..636a823 100644 --- a/resource/skill_animation/hero01_fist_attack01.tres +++ b/resource/skill_animation/hero01_fist_attack01.tres @@ -76,7 +76,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "method" @@ -90,7 +90,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_fist_attack02.tres b/resource/skill_animation/hero01_fist_attack02.tres index d8aca4c..0e7324c 100644 --- a/resource/skill_animation/hero01_fist_attack02.tres +++ b/resource/skill_animation/hero01_fist_attack02.tres @@ -76,7 +76,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "method" @@ -90,7 +90,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_fist_attack03.tres b/resource/skill_animation/hero01_fist_attack03.tres index 539c4a9..615e209 100644 --- a/resource/skill_animation/hero01_fist_attack03.tres +++ b/resource/skill_animation/hero01_fist_attack03.tres @@ -76,7 +76,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "method" @@ -90,7 +90,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_fist_attack04.tres b/resource/skill_animation/hero01_fist_attack04.tres index bf13a65..4b5f40b 100644 --- a/resource/skill_animation/hero01_fist_attack04.tres +++ b/resource/skill_animation/hero01_fist_attack04.tres @@ -76,7 +76,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "method" @@ -90,7 +90,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_fist_attack05.tres b/resource/skill_animation/hero01_fist_attack05.tres index a34ef7c..b1fec2d 100644 --- a/resource/skill_animation/hero01_fist_attack05.tres +++ b/resource/skill_animation/hero01_fist_attack05.tres @@ -76,7 +76,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "method" @@ -90,7 +90,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_long_air_attack01.tres b/resource/skill_animation/hero01_long_air_attack01.tres index 7e92f33..e46ca8e 100644 --- a/resource/skill_animation/hero01_long_air_attack01.tres +++ b/resource/skill_animation/hero01_long_air_attack01.tres @@ -88,7 +88,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/7/type = "method" @@ -102,7 +102,7 @@ tracks/7/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/8/type = "value" diff --git a/resource/skill_animation/hero01_long_air_attack02.tres b/resource/skill_animation/hero01_long_air_attack02.tres index 969fe90..93a47cd 100644 --- a/resource/skill_animation/hero01_long_air_attack02.tres +++ b/resource/skill_animation/hero01_long_air_attack02.tres @@ -88,7 +88,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_long_air_attack03.tres b/resource/skill_animation/hero01_long_air_attack03.tres index fa36932..da69256 100644 --- a/resource/skill_animation/hero01_long_air_attack03.tres +++ b/resource/skill_animation/hero01_long_air_attack03.tres @@ -88,7 +88,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_long_attack01.tres b/resource/skill_animation/hero01_long_attack01.tres index 4cbd12d..c7b0259 100644 --- a/resource/skill_animation/hero01_long_attack01.tres +++ b/resource/skill_animation/hero01_long_attack01.tres @@ -35,10 +35,10 @@ tracks/2/path = NodePath("Status:break_level") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 0.4, 0.7), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0, 0.3, 0.4, 0.7), +"transitions": PackedFloat32Array(1, 1, 1, 1), "update": 1, -"values": [0, 3, 4] +"values": [0, 1, 3, 4] } tracks/3/type = "value" tracks/3/imported = false @@ -75,7 +75,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "method" @@ -89,7 +89,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_long_attack02.tres b/resource/skill_animation/hero01_long_attack02.tres index 392b2f2..27c08c3 100644 --- a/resource/skill_animation/hero01_long_attack02.tres +++ b/resource/skill_animation/hero01_long_attack02.tres @@ -75,7 +75,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "method" @@ -89,7 +89,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_long_attack03.tres b/resource/skill_animation/hero01_long_attack03.tres index 78f80fa..2f6cc4f 100644 --- a/resource/skill_animation/hero01_long_attack03.tres +++ b/resource/skill_animation/hero01_long_attack03.tres @@ -76,10 +76,10 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1, 1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }, { "args": [], -"method": &"attack" +"method": &"attack2" }] } tracks/6/type = "method" @@ -93,10 +93,10 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1, 1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }, { "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle2" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_long_attack04.tres b/resource/skill_animation/hero01_long_attack04.tres index 8046ae2..1235dcd 100644 --- a/resource/skill_animation/hero01_long_attack04.tres +++ b/resource/skill_animation/hero01_long_attack04.tres @@ -76,10 +76,10 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1, 1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }, { "args": [], -"method": &"attack" +"method": &"attack2" }] } tracks/6/type = "method" @@ -93,7 +93,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } tracks/7/type = "value" diff --git a/resource/skill_animation/hero01_long_flash.tres b/resource/skill_animation/hero01_long_flash.tres index 896b801..1cc85a0 100644 --- a/resource/skill_animation/hero01_long_flash.tres +++ b/resource/skill_animation/hero01_long_flash.tres @@ -112,6 +112,6 @@ tracks/7/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"cast_attack_particle" +"method": &"cast_attack_particle1" }] } diff --git a/resource/skill_animation/hero01_long_skill01.tres b/resource/skill_animation/hero01_long_skill01.tres index 35d5330..fb2a04c 100644 --- a/resource/skill_animation/hero01_long_skill01.tres +++ b/resource/skill_animation/hero01_long_skill01.tres @@ -75,7 +75,7 @@ tracks/5/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/6/type = "value" diff --git a/resource/skill_animation/hero01_long_skill02.tres b/resource/skill_animation/hero01_long_skill02.tres index 60c1843..7fde524 100644 --- a/resource/skill_animation/hero01_long_skill02.tres +++ b/resource/skill_animation/hero01_long_skill02.tres @@ -88,7 +88,7 @@ tracks/6/keys = { "transitions": PackedFloat32Array(1), "values": [{ "args": [], -"method": &"attack" +"method": &"attack1" }] } tracks/7/type = "value" diff --git a/scene/character/player.tscn b/scene/character/player.tscn index ef7fb38..d58078a 100644 --- a/scene/character/player.tscn +++ b/scene/character/player.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=8 format=3 uid="uid://ba7pkdaq5y8nl"] +[gd_scene load_steps=8 format=3 uid="uid://ba2trga1rrba8"] [ext_resource type="PackedScene" uid="uid://8rcvw1vnjcf7" path="res://scene/character/character.tscn" id="1_pot50"] +[ext_resource type="SpriteFrames" uid="uid://ce83cuqwgwwi4" path="res://resource/animation/character/hero01_long_attack.aseprite" id="2_7gyv2"] [ext_resource type="Script" path="res://script/character/player/combo.gd" id="2_i44w8"] -[ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="2_kqo4a"] [ext_resource type="Script" path="res://script/character/player/player_input.gd" id="3_n07go"] [ext_resource type="Script" path="res://script/character/player/core.gd" id="3_rxdse"] [ext_resource type="Script" path="res://script/character/player/player_info.gd" id="4_mi1lk"] @@ -10,13 +10,10 @@ [node name="Character" instance=ExtResource("1_pot50")] -[node name="Status" parent="." index="1"] -speed_up_rate = 0.0 - [node name="View" parent="." index="2"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.693056, 0) -sprite_frames = ExtResource("2_kqo4a") -animation = &"fist_attack01" +sprite_frames = ExtResource("2_7gyv2") +animation = &"long_attack04" [node name="Combo" type="Node3D" parent="." index="8"] unique_name_in_owner = true diff --git a/scene/effect/particle/_particle_hit_ground.tscn b/scene/effect/particle/_particle_hit_ground.tscn index f448980..7015102 100644 --- a/scene/effect/particle/_particle_hit_ground.tscn +++ b/scene/effect/particle/_particle_hit_ground.tscn @@ -31,6 +31,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.358925, 0) size = Vector3(1, 5, 1) texture_albedo = ExtResource("2_vkpca") modulate = Color(0, 0, 0, 1) +upper_fade = 21.3037 cull_mask = 1 script = ExtResource("3_dwi0o") lifetime = 3.0 @@ -40,6 +41,7 @@ scale_curve = SubResource("Curve_w5jkx") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.358925, 0) size = Vector3(1, 5, 1) texture_albedo = ExtResource("4_jxr0h") +upper_fade = 21.3037 cull_mask = 1 script = ExtResource("3_dwi0o") lifetime = 0.5 @@ -50,6 +52,7 @@ rotate = 15 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.358925, 0) size = Vector3(1, 5, 1) texture_albedo = ExtResource("5_c3jkk") +upper_fade = 21.3037 cull_mask = 1 script = ExtResource("3_dwi0o") lifetime = 0.1 @@ -59,6 +62,7 @@ scale_curve = SubResource("Curve_18e7g") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.358925, 0) size = Vector3(1, 5, 1) texture_albedo = ExtResource("6_2la8o") +upper_fade = 21.3037 cull_mask = 1 script = ExtResource("3_dwi0o") lifetime = 0.1 diff --git a/scene/effect/particle/_particle_slash1.tscn b/scene/effect/particle/_particle_slash1.tscn index 2008bd5..9d58212 100644 --- a/scene/effect/particle/_particle_slash1.tscn +++ b/scene/effect/particle/_particle_slash1.tscn @@ -28,6 +28,7 @@ shader_parameter/tex_mask = ExtResource("4_wvohg") script = ExtResource("1_fx8ev") [node name="Slash" type="GPUParticles3D" parent="."] +transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) layers = 512 material_override = SubResource("ShaderMaterial_hupcc") cast_shadow = 0 @@ -36,14 +37,14 @@ emitting = false amount = 1 lifetime = 0.25 one_shot = true -speed_scale = 1.5 +speed_scale = 1.8 fixed_fps = 60 local_coords = true process_material = ExtResource("2_eq67i") draw_pass_1 = ExtResource("3_idjnm") [node name="Skew1" type="GPUParticles3D" parent="."] -transform = Transform3D(0.99, 0, 0, 0, 0.99, 0, 0, 0, 0.99, 0, 0, 0) +transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) layers = 512 material_override = SubResource("ShaderMaterial_ntvqm") cast_shadow = 0 @@ -52,7 +53,7 @@ emitting = false amount = 1 lifetime = 0.25 one_shot = true -speed_scale = 1.5 +speed_scale = 1.8 fixed_fps = 60 local_coords = true process_material = ExtResource("2_eq67i") diff --git a/scene/effect/particle/_particle_slash2.tscn b/scene/effect/particle/_particle_slash2.tscn new file mode 100644 index 0000000..4c35bb8 --- /dev/null +++ b/scene/effect/particle/_particle_slash2.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=11 format=3 uid="uid://c2uyg7ktya04f"] + +[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_wk0x7"] +[ext_resource type="Shader" path="res://render/shader/effect_slash.gdshader" id="2_jb5vy"] +[ext_resource type="Texture2D" uid="uid://c4byf37he3mjt" path="res://render/texture/particle/noise/noise1.png" id="3_t53xp"] +[ext_resource type="Texture2D" uid="uid://dbwhs56fum5o0" path="res://render/texture/particle/mask/mask7.png" id="4_2sdhc"] +[ext_resource type="Texture2D" uid="uid://dd3e7ol8qa5eq" path="res://render/texture/particle/noise/noise2.png" id="5_eiojh"] +[ext_resource type="Material" uid="uid://dubkkji6sm8on" path="res://render/process_material/slash_normal.tres" id="6_4vq1o"] +[ext_resource type="ArrayMesh" uid="uid://dq207a0waxk0j" path="res://render/mesh/slash1.obj" id="7_cx4ke"] +[ext_resource type="Shader" path="res://render/shader/effect_skew1.gdshader" id="8_nm3rx"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_hupcc"] +render_priority = 0 +shader = ExtResource("2_jb5vy") +shader_parameter/tex_main = ExtResource("3_t53xp") +shader_parameter/tex_noise = ExtResource("5_eiojh") +shader_parameter/tex_mask = ExtResource("4_2sdhc") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_ntvqm"] +render_priority = 0 +shader = ExtResource("8_nm3rx") +shader_parameter/distortionView = 0.03 +shader_parameter/speedView = 0.5 +shader_parameter/noise = ExtResource("3_t53xp") +shader_parameter/tex_mask = ExtResource("4_2sdhc") + +[node name="Particle" type="Node3D"] +script = ExtResource("1_wk0x7") + +[node name="Slash" type="GPUParticles3D" parent="."] +layers = 512 +material_override = SubResource("ShaderMaterial_hupcc") +cast_shadow = 0 +gi_mode = 0 +emitting = false +amount = 1 +lifetime = 0.25 +one_shot = true +speed_scale = 1.5 +fixed_fps = 60 +local_coords = true +process_material = ExtResource("6_4vq1o") +draw_pass_1 = ExtResource("7_cx4ke") + +[node name="Skew1" type="GPUParticles3D" parent="."] +transform = Transform3D(0.99, 0, 0, 0, 0.99, 0, 0, 0, 0.99, 0, 0, 0) +layers = 512 +material_override = SubResource("ShaderMaterial_ntvqm") +cast_shadow = 0 +gi_mode = 0 +emitting = false +amount = 1 +lifetime = 0.25 +one_shot = true +speed_scale = 1.5 +fixed_fps = 60 +local_coords = true +process_material = ExtResource("6_4vq1o") +draw_pass_1 = ExtResource("7_cx4ke") diff --git a/scene/effect/particle/hero01_common_skill02.tscn b/scene/effect/particle/hero01_common_skill02.tscn index 4d566e4..6c921ac 100644 --- a/scene/effect/particle/hero01_common_skill02.tscn +++ b/scene/effect/particle/hero01_common_skill02.tscn @@ -1,9 +1,5 @@ -[gd_scene load_steps=2 format=3 uid="uid://cswp0rj0gep6c"] +[gd_scene load_steps=2 format=3 uid="uid://b2kvqtshg5yvk"] -[ext_resource type="PackedScene" uid="uid://b2h4pcmlii7dg" path="res://scene/effect/particle/_particle_slash1.tscn" id="1_qyqjx"] +[ext_resource type="PackedScene" uid="uid://c2uyg7ktya04f" path="res://scene/effect/particle/_particle_slash2.tscn" id="1_kmcdi"] -[node name="Particle" instance=ExtResource("1_qyqjx")] -transform = Transform3D(1.5, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 0, 0) - -[node name="Skew1" parent="." index="1"] -one_shot = false +[node name="Particle" instance=ExtResource("1_kmcdi")] diff --git a/scene/effect/particle/hero01_fist_air_skill01_0.tscn b/scene/effect/particle/hero01_fist_air_skill01_0.tscn deleted file mode 100644 index 34909bf..0000000 --- a/scene/effect/particle/hero01_fist_air_skill01_0.tscn +++ /dev/null @@ -1,9 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://dcsls0bn14i04"] - -[ext_resource type="PackedScene" uid="uid://cxopc3y11lwg1" path="res://scene/effect/particle/_particle_dash1.tscn" id="1_eappe"] - -[node name="Particle" instance=ExtResource("1_eappe")] -rotation_order = 4 - -[node name="Dash" parent="." index="0"] -transform = Transform3D(0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0, 1, 0, 0, 0) diff --git a/scene/effect/particle/hero01_fist_air_skill01_1.tscn b/scene/effect/particle/hero01_fist_air_skill01_1.tscn index c32eaec..34909bf 100644 --- a/scene/effect/particle/hero01_fist_air_skill01_1.tscn +++ b/scene/effect/particle/hero01_fist_air_skill01_1.tscn @@ -1,5 +1,9 @@ -[gd_scene load_steps=2 format=3 uid="uid://ds7mp5l20ypb6"] +[gd_scene load_steps=2 format=3 uid="uid://dcsls0bn14i04"] -[ext_resource type="PackedScene" uid="uid://5d1a3s6x77wd" path="res://scene/effect/particle/_particle_hit_ground.tscn" id="1_tw6qm"] +[ext_resource type="PackedScene" uid="uid://cxopc3y11lwg1" path="res://scene/effect/particle/_particle_dash1.tscn" id="1_eappe"] -[node name="Particle" instance=ExtResource("1_tw6qm")] +[node name="Particle" instance=ExtResource("1_eappe")] +rotation_order = 4 + +[node name="Dash" parent="." index="0"] +transform = Transform3D(0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0, 1, 0, 0, 0) diff --git a/scene/effect/particle/hero01_fist_air_skill01_2.tscn b/scene/effect/particle/hero01_fist_air_skill01_2.tscn new file mode 100644 index 0000000..c32eaec --- /dev/null +++ b/scene/effect/particle/hero01_fist_air_skill01_2.tscn @@ -0,0 +1,5 @@ +[gd_scene load_steps=2 format=3 uid="uid://ds7mp5l20ypb6"] + +[ext_resource type="PackedScene" uid="uid://5d1a3s6x77wd" path="res://scene/effect/particle/_particle_hit_ground.tscn" id="1_tw6qm"] + +[node name="Particle" instance=ExtResource("1_tw6qm")] diff --git a/scene/effect/particle/hero01_long_attack03_0.tscn b/scene/effect/particle/hero01_long_attack03_0.tscn deleted file mode 100644 index dfce45e..0000000 --- a/scene/effect/particle/hero01_long_attack03_0.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://bn2ktr7iynt5"] - -[ext_resource type="PackedScene" uid="uid://b2h4pcmlii7dg" path="res://scene/effect/particle/_particle_slash1.tscn" id="1_p44mg"] - -[node name="Particle" instance=ExtResource("1_p44mg")] -transform = Transform3D(1, 0, 0, 0, -0.707107, 0.353553, 0, -0.707107, -0.353553, 0, 0, 0) diff --git a/scene/effect/particle/hero01_long_attack03_1.tscn b/scene/effect/particle/hero01_long_attack03_1.tscn index c4b03e7..dfce45e 100644 --- a/scene/effect/particle/hero01_long_attack03_1.tscn +++ b/scene/effect/particle/hero01_long_attack03_1.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=3 uid="uid://dj04l4oge27f0"] +[gd_scene load_steps=2 format=3 uid="uid://bn2ktr7iynt5"] -[ext_resource type="PackedScene" uid="uid://b2h4pcmlii7dg" path="res://scene/effect/particle/_particle_slash1.tscn" id="1_078jk"] +[ext_resource type="PackedScene" uid="uid://b2h4pcmlii7dg" path="res://scene/effect/particle/_particle_slash1.tscn" id="1_p44mg"] -[node name="Particle" instance=ExtResource("1_078jk")] -transform = Transform3D(1, 0, 0, 0, 0.5, 0.433012, 0, -0.866026, 0.25, 0, 0, 0) +[node name="Particle" instance=ExtResource("1_p44mg")] +transform = Transform3D(1, 0, 0, 0, -0.707107, 0.353553, 0, -0.707107, -0.353553, 0, 0, 0) diff --git a/scene/effect/particle/hero01_long_attack03_2.tscn b/scene/effect/particle/hero01_long_attack03_2.tscn new file mode 100644 index 0000000..c4b03e7 --- /dev/null +++ b/scene/effect/particle/hero01_long_attack03_2.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://dj04l4oge27f0"] + +[ext_resource type="PackedScene" uid="uid://b2h4pcmlii7dg" path="res://scene/effect/particle/_particle_slash1.tscn" id="1_078jk"] + +[node name="Particle" instance=ExtResource("1_078jk")] +transform = Transform3D(1, 0, 0, 0, 0.5, 0.433012, 0, -0.866026, 0.25, 0, 0, 0) diff --git a/scene/effect/readiness/readiness_bullet.tscn b/scene/effect/readiness/readiness_bullet.tscn index 3251b86..18ce759 100644 --- a/scene/effect/readiness/readiness_bullet.tscn +++ b/scene/effect/readiness/readiness_bullet.tscn @@ -6,4 +6,5 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.358925, 0) size = Vector3(1, 1, 1) texture_albedo = ExtResource("1_30j48") +normal_fade = 0.1 cull_mask = 1 diff --git a/scene/effect/readiness/readiness_hero.tscn b/scene/effect/readiness/readiness_hero.tscn index 0a9786a..45f36c1 100644 --- a/scene/effect/readiness/readiness_hero.tscn +++ b/scene/effect/readiness/readiness_hero.tscn @@ -6,4 +6,5 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.358925, 0) size = Vector3(1, 1, 1) texture_albedo = ExtResource("1_msawg") +normal_fade = 0.1 cull_mask = 1 diff --git a/scene/effect/readiness/readiness_monster.tscn b/scene/effect/readiness/readiness_monster.tscn index 39dd012..2eec996 100644 --- a/scene/effect/readiness/readiness_monster.tscn +++ b/scene/effect/readiness/readiness_monster.tscn @@ -6,4 +6,5 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.358925, 0) size = Vector3(1, 1, 1) texture_albedo = ExtResource("1_2mpei") +normal_fade = 0.1 cull_mask = 1 diff --git a/script/character/battle.gd b/script/character/battle.gd index 96cbdc0..9d5dcaf 100644 --- a/script/character/battle.gd +++ b/script/character/battle.gd @@ -13,22 +13,27 @@ class HitInfo: var dir : Vector2 var attack : AttackCfg -func attack(): - call_deferred("_attack") +func attack1(): + var attack = status.skill_cfg.get_attack1() + var attack_box = status.skill_cfg.get_attack1_box() + call_deferred("_attack",attack,attack_box) -func _attack(): +func attack2(): + var attack = status.skill_cfg.get_attack2() + var attack_box = status.skill_cfg.get_attack2_box() + call_deferred("_attack",attack,attack_box) + +func _attack(attack,attack_box): if !status.skill_cfg: return - var attack = status.skill_cfg.get_attack(status.skill_attack_index) as AttackCfg - status.skill_attack_index += 1 var enemy_list = Global.character_mgr.get_enemy_list(character.id()) var pos = character.pos() var attack_dir = status.skill_dir.normalized() - var attack_height = attack.height - var attack_size = Util.grid_vector2(attack.size) - var attack_radius = attack.radius - var offset_xz = attack_dir * Util.grid_float(attack.offset.x) - pos += Vector3(offset_xz.x,Util.grid_float(attack.offset.y),offset_xz.y) + var attack_height = attack_box.height + var attack_size = Util.grid_vector2(attack_box.size) + var attack_radius = attack_box.radius + var offset_xz = attack_dir * Util.grid_float(attack_box.offset.x) + pos += Vector3(offset_xz.x,Util.grid_float(attack_box.offset.y),offset_xz.y) var is_stuck = false for enemy in enemy_list: var target_pos = enemy.pos() @@ -44,7 +49,7 @@ func _attack(): if !is_stuck and !attack.is_force_pause: skill.on_attack_miss() -func add_attack(from:int,dir:Vector2,attack:AttackCfg): +func add_attack(from:int,dir:Vector2 ,attack:AttackCfg): var hit_info = HitInfo.new() hit_info.from = from hit_info.to = character.id() diff --git a/script/character/effect.gd b/script/character/effect.gd index 69c2a3a..18cecb9 100644 --- a/script/character/effect.gd +++ b/script/character/effect.gd @@ -65,16 +65,16 @@ func cast_image(res:Resource): func cast_after_image():cast_image(afterimage) func cast_corpse():cast_image(corpse) - -func cast_attack_particle():_cast_attack_particle(true) -func cast_attack_particle_release():_cast_attack_particle(false) func cast_particle(resource:Resource ,is_attach:bool):_cast_particle(resource,is_attach) -func _cast_attack_particle(is_attach:bool): +func cast_attack_particle1():_cast_attack_particle(1,true) +func cast_attack_particle1_release():_cast_attack_particle(1,false) +func cast_attack_particle2():_cast_attack_particle(2,true) +func cast_attack_particle2_release():_cast_attack_particle(2,false) +func _cast_attack_particle(index:int ,is_attach:bool): if !status.skill_cfg: return - var attack_particle = status.skill_cfg.get_attack_particle(status.skill_attack_effect_index) - status.skill_attack_effect_index += 1 + var attack_particle = status.skill_cfg.get_attack_particle(index) if !attack_particle: print("未配置技能攻击特效:",status.skill_cfg.resource_path) return diff --git a/script/character/skill.gd b/script/character/skill.gd index 0b1abc8..a6a23ad 100644 --- a/script/character/skill.gd +++ b/script/character/skill.gd @@ -34,8 +34,6 @@ func cast_skill(cfg:SkillCfg,cast_dir:Vector2): status.skill_cfg = cfg status.skill_dir = cast_dir status.break_level = Enum.EBreakLevel.None - status.skill_attack_index = 0 - status.skill_attack_effect_index = 0 if cast_dir.x != 0: status.is_right = cast_dir.x > 0 play(animation_name,-1,Setting.animation_speed_scale) else: @@ -51,8 +49,6 @@ func break_skill(): status.is_skill_running = false status.skill_cfg = null status.break_level = Enum.EBreakLevel.Walk - status.skill_attack_index = 0 - status.skill_attack_effect_index = 0 effect.release_effect() func cancel_skill(): diff --git a/script/character/status.gd b/script/character/status.gd index b2533df..c78d958 100644 --- a/script/character/status.gd +++ b/script/character/status.gd @@ -64,8 +64,6 @@ class_name Status @export var skill_dir : Vector2 #技能释放方向 @export var skill_move_speed : float #技能位移速度 @export var skill_float_speed : float #技能y位移速度 -@export var skill_attack_index : int #技能攻击段数 -@export var skill_attack_effect_index : int #技能特效段数 @export_category("玩家技能状态") @export var input_dir : Vector2 #指令方向 diff --git a/script/config/attack_box_cfg.gd b/script/config/attack_box_cfg.gd new file mode 100644 index 0000000..2b45f91 --- /dev/null +++ b/script/config/attack_box_cfg.gd @@ -0,0 +1,8 @@ +extends Resource + +class_name AttackBoxCfg + +@export var height : float = 1 #判定框高度 +@export var radius : float #圆形判定框 半径 +@export var size : Vector2 #矩形判定框 大小 +@export var offset : Vector2 #偏移 diff --git a/script/config/attack_cfg.gd b/script/config/attack_cfg.gd index d330b08..4ae8ba7 100644 --- a/script/config/attack_cfg.gd +++ b/script/config/attack_cfg.gd @@ -22,10 +22,3 @@ class_name AttackCfg @export_group("卡帧") @export var pause_time : float #卡帧时间 @export var is_force_pause : bool #是否强制卡帧 - -@export_group("判定框") -@export var height : float = 2 #判定框高度 -@export var radius : float #圆形判定框 半径 -@export var size : Vector2 = Vector2(2,1) #矩形判定框 大小 -@export var offset : Vector2 = Vector2(1,0) #偏移 - diff --git a/script/config/skill_cfg.gd b/script/config/skill_cfg.gd index 5113b94..a248445 100644 --- a/script/config/skill_cfg.gd +++ b/script/config/skill_cfg.gd @@ -5,10 +5,11 @@ class_name SkillCfg @export var name : String @export var skill_animation : Animation -@export var attack_list : Array[AttackCfg] -@export var sub_character_list : Array[CharacterCfg] @export var free_lock : bool - +@export var attack1 : AttackCfg +@export var attack1_box : AttackBoxCfg +@export var attack2 : AttackCfg +@export var attack2_box : AttackBoxCfg @export var refresh_animation : bool : get:return false set(value):if Engine.is_editor_hint():check_animation() @@ -33,13 +34,10 @@ func check_animation(): Util.refresh_animation_lib() skill_animation = load(path) -func get_attack(index:int)->AttackCfg: - if !attack_list: - return ResourceManager.cfg_attack_normal - if index >= len(attack_list): - index = len(attack_list) - 1 - var attack = attack_list[index] as AttackCfg - return attack +func get_attack1()->AttackCfg:return attack1 if attack1 else ResourceManager.cfg_attack_normal +func get_attack1_box()->AttackBoxCfg:return attack1_box if attack1_box else ResourceManager.cfg_attack_box_normal +func get_attack2()->AttackCfg:return attack2 if attack2 else ResourceManager.cfg_attack_normal +func get_attack2_box()->AttackBoxCfg:return attack2_box if attack2_box else ResourceManager.cfg_attack_box_normal func get_attack_particle(index:int)->Resource: var res_name = Util.get_resource_name(self) diff --git a/script/manager/resource_manager.gd b/script/manager/resource_manager.gd index c7ab8b1..ccc01b6 100644 --- a/script/manager/resource_manager.gd +++ b/script/manager/resource_manager.gd @@ -18,5 +18,6 @@ var particle_hit_blunt = load("res://scene/effect/particle/particle_hit_blunt.ts var cfg_character_player = load("res://config/character/hero01.tres") var cfg_character_monster_test = load("res://config/character/monster02.tres") #attack -var cfg_attack_normal = load("res://config/attack/normal_hit.tres") +var cfg_attack_normal = load("res://config/attack/sharp_normal_hit.tres") +var cfg_attack_box_normal = load("res://config/attack_box/circle_normal.tres") var cfg_attack_rebound = load("res://config/attack/rebound.tres")