From e6ab1fb39aeee170d1cb07fec6e99ad6e9442e8b Mon Sep 17 00:00:00 2001 From: martyTF Date: Tue, 9 Dec 2025 20:17:57 +0100 Subject: [PATCH] x12 windowing system --- .gitignore | 1 + 01 - Menus/01 - Main Menu/main_menu.gd | 50 ++--- ...u.sync-conflict-20251121-170757-6PJZD52.gd | 99 --------- ...nc-conflict-20251121-170757-6PJZD52.gd.uid | 1 - 01 - Menus/01 - Main Menu/main_menu.tscn | 8 +- 01 - Menus/02 - Selector/selector.gd | 42 ++-- 01 - Menus/02 - Selector/selector.tscn | 11 - 01 - Menus/03 - Sheets/item.gd | 74 ------ 01 - Menus/03 - Sheets/item.gd.uid | 1 - 01 - Menus/03 - Sheets/item.tscn | 25 --- 01 - Menus/03 - Sheets/sheet.gd | 130 +++++++++++ 01 - Menus/03 - Sheets/sheet.gd.uid | 1 + 01 - Menus/03 - Sheets/sheet.tscn | 39 ++++ 01 - Menus/04 - Modules/ini_button.gd | 21 ++ 01 - Menus/04 - Modules/ini_button.gd.uid | 1 + 01 - Menus/04 - Modules/ini_button.tscn | 23 ++ 01 - Menus/04 - Modules/module.gd | 10 + 01 - Menus/04 - Modules/module.gd.uid | 1 + 01 - Menus/04 - Modules/module.tscn | 32 +++ 01 - Menus/04 - Modules/modules_.gd | 5 - 01 - Menus/04 - Modules/modules_.gd.uid | 1 - 01 - Menus/04 - Modules/modules_.tscn | 12 - 01 - Menus/04 - Modules/modules_character.gd | 5 - .../04 - Modules/modules_character.gd.uid | 1 - .../04 - Modules/modules_character.tscn | 8 - 01 - Menus/04 - Modules/modules_list.gd | 19 ++ 01 - Menus/04 - Modules/modules_location.gd | 6 - .../04 - Modules/modules_location.gd.uid | 1 - 01 - Menus/04 - Modules/modules_location.tscn | 12 - 01 - Menus/04 - Modules/modules_modifier.gd | 7 - .../04 - Modules/modules_modifier.gd.uid | 1 - 01 - Menus/04 - Modules/modules_modifier.tscn | 12 - 01 - Menus/04 - Modules/modules_skill.gd | 123 ---------- 01 - Menus/04 - Modules/modules_skill.gd.uid | 1 - 01 - Menus/04 - Modules/modules_skill.tscn | 177 --------------- 01 - Menus/04 - Modules/modules_stat.gd | 7 - 01 - Menus/04 - Modules/modules_stat.gd.uid | 1 - 01 - Menus/04 - Modules/modules_stat.tscn | 12 - 01 - Menus/04 - Modules/modules_text.gd | 25 --- 01 - Menus/04 - Modules/modules_text.gd.uid | 1 - 01 - Menus/04 - Modules/modules_text.tscn | 19 -- 01 - Menus/04 - Modules/modules_trait.gd | 7 - 01 - Menus/04 - Modules/modules_trait.gd.uid | 1 - 01 - Menus/04 - Modules/modules_trait.tscn | 8 - 01 - Menus/04 - Modules/modules_xenoline.gd | 7 - .../04 - Modules/modules_xenoline.gd.uid | 1 - 01 - Menus/04 - Modules/modules_xenoline.tscn | 8 - .../campaign_manager.tscn | 8 +- 01 - Menus/07 - Window/window.gd | 210 ++++++++++++++++++ 01 - Menus/07 - Window/window.gd.uid | 1 + 01 - Menus/07 - Window/window.tscn | 116 ++++++++++ 02 - Configurations/campaign/categories.ini | 52 ++--- 02 - Configurations/campaign/modules.ini | 12 + 02 - Configurations/character.ini | 2 +- 02 - Configurations/skill.ini | 6 +- 02 - Configurations/stat.ini | 1 - project.godot | 1 + ...ync-conflict-20251121-170023-6PJZD52.godot | 34 --- ...ync-conflict-20251121-170029-6PJZD52.godot | 34 --- theme.tres | 43 +--- 60 files changed, 701 insertions(+), 877 deletions(-) delete mode 100644 01 - Menus/01 - Main Menu/main_menu.sync-conflict-20251121-170757-6PJZD52.gd delete mode 100644 01 - Menus/01 - Main Menu/main_menu.sync-conflict-20251121-170757-6PJZD52.gd.uid delete mode 100644 01 - Menus/03 - Sheets/item.gd delete mode 100644 01 - Menus/03 - Sheets/item.gd.uid delete mode 100644 01 - Menus/03 - Sheets/item.tscn create mode 100644 01 - Menus/03 - Sheets/sheet.gd create mode 100644 01 - Menus/03 - Sheets/sheet.gd.uid create mode 100644 01 - Menus/03 - Sheets/sheet.tscn create mode 100644 01 - Menus/04 - Modules/ini_button.gd create mode 100644 01 - Menus/04 - Modules/ini_button.gd.uid create mode 100644 01 - Menus/04 - Modules/ini_button.tscn create mode 100644 01 - Menus/04 - Modules/module.gd create mode 100644 01 - Menus/04 - Modules/module.gd.uid create mode 100644 01 - Menus/04 - Modules/module.tscn delete mode 100644 01 - Menus/04 - Modules/modules_.gd delete mode 100644 01 - Menus/04 - Modules/modules_.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_.tscn delete mode 100644 01 - Menus/04 - Modules/modules_character.gd delete mode 100644 01 - Menus/04 - Modules/modules_character.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_character.tscn delete mode 100644 01 - Menus/04 - Modules/modules_location.gd delete mode 100644 01 - Menus/04 - Modules/modules_location.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_location.tscn delete mode 100644 01 - Menus/04 - Modules/modules_modifier.gd delete mode 100644 01 - Menus/04 - Modules/modules_modifier.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_modifier.tscn delete mode 100644 01 - Menus/04 - Modules/modules_skill.gd delete mode 100644 01 - Menus/04 - Modules/modules_skill.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_skill.tscn delete mode 100644 01 - Menus/04 - Modules/modules_stat.gd delete mode 100644 01 - Menus/04 - Modules/modules_stat.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_stat.tscn delete mode 100644 01 - Menus/04 - Modules/modules_text.gd delete mode 100644 01 - Menus/04 - Modules/modules_text.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_text.tscn delete mode 100644 01 - Menus/04 - Modules/modules_trait.gd delete mode 100644 01 - Menus/04 - Modules/modules_trait.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_trait.tscn delete mode 100644 01 - Menus/04 - Modules/modules_xenoline.gd delete mode 100644 01 - Menus/04 - Modules/modules_xenoline.gd.uid delete mode 100644 01 - Menus/04 - Modules/modules_xenoline.tscn create mode 100644 01 - Menus/07 - Window/window.gd create mode 100644 01 - Menus/07 - Window/window.gd.uid create mode 100644 01 - Menus/07 - Window/window.tscn create mode 100644 02 - Configurations/campaign/modules.ini delete mode 120000 02 - Configurations/stat.ini delete mode 100644 project.sync-conflict-20251121-170023-6PJZD52.godot delete mode 100644 project.sync-conflict-20251121-170029-6PJZD52.godot diff --git a/.gitignore b/.gitignore index 736bff6..a6ca783 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .godot/ /android/ .stfolder/ +.stignore diff --git a/01 - Menus/01 - Main Menu/main_menu.gd b/01 - Menus/01 - Main Menu/main_menu.gd index ba670e1..16d39b6 100644 --- a/01 - Menus/01 - Main Menu/main_menu.gd +++ b/01 - Menus/01 - Main Menu/main_menu.gd @@ -8,7 +8,7 @@ var item_proper_names = [] var categories var pixel_x var pixel_y -var ui_scale = 1 +var ui_scale func _enter_tree() -> void: conf_mm = ConfigFile.new() @@ -17,13 +17,6 @@ func _enter_tree() -> void: conf_cat.load("res://02 - Configurations/campaign/categories.ini") print("main_menu:_enter_tree:1 " + str(conf_mm.get_sections())) categories = [] - pixel_x = get_viewport_rect().size[0] - pixel_y = get_viewport_rect().size[1] - if pixel_x + pixel_y > 2900: - ui_scale = 1 - else: - ui_scale = 0.7 - print("main_menu:_enter_tree:2 " + str(pixel_x) + " " + str(pixel_y)) for i in conf_mm.get_sections(): categories = categories + [i] @@ -50,7 +43,7 @@ func item_selected(k,tab): print("main_menu:select_category:2 " + str(item_names)) menu_item.category = item_names[item_proper_names.find(tab.get_item_text(k))] add_child(menu_item) - menu_item.set_menu_items(pixel_x,pixel_y,ui_scale) + menu_item.set_menu_items() func remove_tabs(tab): remove_child.call_deferred(tab) @@ -59,38 +52,41 @@ func _on_exit_button_up() -> void: get_tree().quit() func set_menu_items(): - print("main_menu:set_menu_items:1 " + str(pixel_x) + " " + str(pixel_y)) - %scroll.size.y = pixel_y - (256 * ui_scale) - %scroll.position.y = 128 * ui_scale - %campaign_manager.position.y = pixel_y - 192 * ui_scale - %exit.position.y = pixel_y - 96 * ui_scale + ui_scale = 1 + if get_viewport_rect().size[0] + get_viewport_rect().size[1] < 3000: + ui_scale = 0.7 + pixel_x = get_viewport_rect().size[0] / ui_scale + pixel_y = get_viewport_rect().size[1] / ui_scale + $".".scale = Vector2(ui_scale,ui_scale) + #print("main_menu:set_menu_items:1 " + str(pixel_x) + " " + str(pixel_y)) + %scroll.size.y = pixel_y - (320 ) + %scroll.position.y = 128 + %campaign_manager.position.y = pixel_y - 192 + %exit.position.y = pixel_y - 96 %ui_main_menu.size.y = pixel_y %ui_background.size.y = pixel_y %ui_background.size.x = pixel_x if pixel_x < pixel_y: #mobile %ui_main_menu.size.x = pixel_x for i in [%scroll,%exit,%campaign_manager]: - i.scale = Vector2(ui_scale,ui_scale) - i.size.x = pixel_x/ui_scale - 128 - i.position.x = 64*ui_scale + i.size.x = pixel_x - 128 + i.position.x = 64 else: - %ui_main_menu.size.x = 512.0 * ui_scale + %ui_main_menu.size.x = 512.0 for i in [%scroll,%exit,%campaign_manager]: - i.scale = Vector2(ui_scale,ui_scale) i.size.x = 448 - i.position.x = 32 * ui_scale - + i.position.x = 32 + func _process(_delta: float) -> void: if pixel_x != get_viewport_rect().size[0] or pixel_y != get_viewport_rect().size[1]: - pixel_x = get_viewport_rect().size[0] - pixel_y = get_viewport_rect().size[1] - if pixel_x + pixel_y > 3000: - ui_scale = 1 - else: + ui_scale = 1 + if get_viewport_rect().size[0] + get_viewport_rect().size[1] < 3000: ui_scale = 0.7 + pixel_x = get_viewport_rect().size[0] / ui_scale + pixel_y = get_viewport_rect().size[1] / ui_scale if menu_item: - menu_item.set_menu_items(pixel_x,pixel_y,ui_scale) + menu_item.set_menu_items() set_menu_items() diff --git a/01 - Menus/01 - Main Menu/main_menu.sync-conflict-20251121-170757-6PJZD52.gd b/01 - Menus/01 - Main Menu/main_menu.sync-conflict-20251121-170757-6PJZD52.gd deleted file mode 100644 index 6540c75..0000000 --- a/01 - Menus/01 - Main Menu/main_menu.sync-conflict-20251121-170757-6PJZD52.gd +++ /dev/null @@ -1,99 +0,0 @@ -extends Node2D - -var menu_item -var conf_mm -var conf_cat -var item_names = [] -var item_proper_names = [] -var categories -var pixel_x -var pixel_y -var ui_scale = 1 - -func _enter_tree() -> void: - conf_mm = ConfigFile.new() - conf_mm.load("res://02 - Configurations/campaign/main_menu.ini") - conf_cat = ConfigFile.new() - conf_cat.load("res://02 - Configurations/campaign/categories.ini") - print("main_menu:_enter_tree:1 " + str(conf_mm.get_sections())) - categories = [] - pixel_x = get_viewport_rect().size[0] - pixel_y = get_viewport_rect().size[1] - if pixel_x + pixel_y > 2900: - ui_scale = 1 - else: - ui_scale = 0.7 - print("main_menu:_enter_tree:2 " + str(pixel_x) + " " + str(pixel_y)) - for i in conf_mm.get_sections(): - categories = categories + [i] - - for i in categories: - #print(i) - var button = OptionButton.new() - button.text = conf_mm.get_value(i,"name") - button.name = i - button.custom_minimum_size = Vector2(320,64) - button.connect("item_selected",self.item_selected.bind(button)) - button.allow_reselect = true - print("main_menu:_enter_tree:3 " + str(conf_mm.get_sections())) - for j in conf_mm.get_value(button.name,"items",[]): - item_names = item_names + [j] - item_proper_names = item_proper_names + [conf_cat.get_value(j,"name","")] - print("main_menu:_enter_tree:3 ") - button.add_item(conf_cat.get_value(j,"name","")) - %container.add_child(button) - set_menu_items() - -func item_selected(k,tab): - print("main_menu:select_category:1 " + str(tab.get_item_text(k))) - menu_item = load("res://01 - Menus/02 - Selector/selector.tscn").instantiate() - print("main_menu:select_category:2 " + str(item_names)) - menu_item.category = item_names[item_proper_names.find(tab.get_item_text(k))] - add_child(menu_item) - remove_child.call_deferred(tab) - -func remove_tabs(tab): - remove_child.call_deferred(tab) - -func _on_exit_button_up() -> void: - get_tree().quit() - -func set_menu_items(): - print("main_menu:set_menu_items:1 " + str(pixel_x) + " " + str(pixel_y)) - %scroll.size.y = pixel_y - (400 * ui_scale) - %scroll.position.y = 128 * ui_scale - %campaign_manager.position.y = pixel_y - 192 * ui_scale - %exit.position.y = pixel_y - 96 * ui_scale - %ui_main_menu.size.y = pixel_y - %ui_background.size.y = pixel_y - %ui_background.size.x = pixel_x - if pixel_x < pixel_y: #mobile - %ui_main_menu.size.x = pixel_x - for i in [%scroll,%exit,%campaign_manager]: - i.scale = Vector2(ui_scale,ui_scale) - i.size.x = (pixel_x)/ui_scale -128 - i.position.x = 64 - else: - %ui_main_menu.size.x = 512.0 * ui_scale - for i in [%scroll,%exit,%campaign_manager]: - i.scale = Vector2(ui_scale,ui_scale) - i.size.x = 448 - i.position.x = 32 * ui_scale - - -func _process(_delta: float) -> void: - if pixel_x != get_viewport_rect().size[0] or pixel_y != get_viewport_rect().size[1]: - pixel_x = get_viewport_rect().size[0] - pixel_y = get_viewport_rect().size[1] - if pixel_x + pixel_y > 3000: - ui_scale = 1 - else: - ui_scale = 0.7 - if menu_item: - menu_item.set_menu_items(pixel_x,pixel_y,ui_scale) - set_menu_items() - - -func _on_campaign_manager_button_up() -> void: - var cm = load("res://01 - Menus/05 - Campaign Manager/campaign_manager.tscn").instantiate() - add_child(cm) diff --git a/01 - Menus/01 - Main Menu/main_menu.sync-conflict-20251121-170757-6PJZD52.gd.uid b/01 - Menus/01 - Main Menu/main_menu.sync-conflict-20251121-170757-6PJZD52.gd.uid deleted file mode 100644 index 035ff14..0000000 --- a/01 - Menus/01 - Main Menu/main_menu.sync-conflict-20251121-170757-6PJZD52.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://4isse2tc5gjs diff --git a/01 - Menus/01 - Main Menu/main_menu.tscn b/01 - Menus/01 - Main Menu/main_menu.tscn index 221ceff..34639c1 100644 --- a/01 - Menus/01 - Main Menu/main_menu.tscn +++ b/01 - Menus/01 - Main Menu/main_menu.tscn @@ -27,10 +27,10 @@ text = "Exit" [node name="campaign_manager" type="Button" parent="."] unique_name_in_owner = true -offset_left = 96.0 -offset_top = 1184.0 -offset_right = 416.0 -offset_bottom = 1248.0 +offset_left = 88.0 +offset_top = 1176.0 +offset_right = 408.0 +offset_bottom = 1240.0 text = "Campaign Manager" [node name="scroll" type="ScrollContainer" parent="."] diff --git a/01 - Menus/02 - Selector/selector.gd b/01 - Menus/02 - Selector/selector.gd index 4a58944..bbd8880 100644 --- a/01 - Menus/02 - Selector/selector.gd +++ b/01 - Menus/02 - Selector/selector.gd @@ -13,7 +13,6 @@ func _enter_tree() -> void: ini = "res://02 - Configurations/" + category + ".ini" %new_item_name.visible = false %delete.visible = false - %item_name.visible = false %save.visible = false %new_item.text = "New " + category %filter.placeholder_text = "Filter " + category @@ -21,6 +20,7 @@ func _enter_tree() -> void: %save.text = "Save " + category #print(category) list_items() + set_menu_items() func _on_close_button_up() -> void: queue_free() @@ -50,7 +50,6 @@ func list_items() -> void: func refresh_view(): - %item_name.text = item if item != "": config = ConfigFile.new() config.load(ini) @@ -62,15 +61,11 @@ func _on_list_item_selected(index: int) -> void: #print(%list.get_item_text(index)) %delete.text = "Delete " + %list.get_item_text(index) %delete.visible = true - %item_name.visible = true - if sheet: - remove_child(sheet) - sheet = load("res://01 - Menus/03 - Sheets/item.tscn").instantiate() + sheet = load("res://01 - Menus/07 - Window/window.tscn").instantiate() sheet.item = item sheet.category = category - sheet.position.x = 512 - sheet.position.y = 256 add_child(sheet) + #sheet.set_menu_items() refresh_view() @@ -129,24 +124,27 @@ func _on_save_button_up() -> void: func show_save(): %save.visible = true -func set_menu_items(pixel_x,pixel_y,ui_scale): +func set_menu_items(): + var ui_scale = 1 + if get_viewport_rect().size[0] + get_viewport_rect().size[1] < 3000: + ui_scale = 0.7 + var pixel_x = get_viewport_rect().size[0] / ui_scale + var pixel_y = get_viewport_rect().size[1] / ui_scale %ui_background.size.y = pixel_y - %close.position.y = pixel_y - 96 * ui_scale - %new_item.position.y = pixel_y - 192 * ui_scale - %new_item_name.position.y = pixel_y - 192 * ui_scale - %delete.position.y = pixel_y - 286 * ui_scale - %filter.position.y = pixel_y - 384 * ui_scale - %list.position = (Vector2(128,128)) * ui_scale - %list.size.y = pixel_y/ui_scale - 620 + %close.position.y = pixel_y - 96 + %new_item.position.y = pixel_y - 192 + %new_item_name.position.y = pixel_y - 192 + %delete.position.y = pixel_y - 286 + %filter.position.y = pixel_y - 384 + %list.position = (Vector2(128,128)) + %list.size.y = pixel_y - 620 if pixel_x < pixel_y: #mobile %ui_background.size.x = pixel_x for i in [%close,%new_item,%filter,%delete,%save,%new_item_name,%list]: - i.scale = Vector2(ui_scale,ui_scale) - i.size.x = pixel_x/ui_scale - 128 - i.position.x = 64 * ui_scale + i.size.x = pixel_x - 128 + i.position.x = 64 else: - %ui_background.size.x = 512.0 * ui_scale + %ui_background.size.x = 512.0 for i in [%close,%new_item,%filter,%delete,%save,%new_item_name,%list]: - i.scale = Vector2(ui_scale,ui_scale) i.size.x = 448 - i.position.x = 32 * ui_scale + i.position.x = 32 diff --git a/01 - Menus/02 - Selector/selector.tscn b/01 - Menus/02 - Selector/selector.tscn index 4b83b29..4a7725e 100644 --- a/01 - Menus/02 - Selector/selector.tscn +++ b/01 - Menus/02 - Selector/selector.tscn @@ -48,7 +48,6 @@ placeholder_text = "Filter Items" [node name="list" type="ItemList" parent="."] unique_name_in_owner = true -clip_contents = false offset_left = 64.0 offset_top = 100.0 offset_right = 448.0 @@ -74,16 +73,6 @@ offset_right = 416.0 offset_bottom = 960.0 text = "Save Item" -[node name="item_name" type="Label" parent="."] -unique_name_in_owner = true -offset_left = 1280.0 -offset_top = 96.0 -offset_right = 1920.0 -offset_bottom = 170.0 -theme_override_font_sizes/font_size = 50 -text = "Item Name" -horizontal_alignment = 1 - [node name="HTTPRequest" type="HTTPRequest" parent="."] [connection signal="button_up" from="close" to="." method="_on_close_button_up"] diff --git a/01 - Menus/03 - Sheets/item.gd b/01 - Menus/03 - Sheets/item.gd deleted file mode 100644 index 9d4623d..0000000 --- a/01 - Menus/03 - Sheets/item.gd +++ /dev/null @@ -1,74 +0,0 @@ -extends Node2D - -var item # e.g. grondir -var category # e.g. character - -var module -var module_type -var active_module - -var module_self:String -var modules_list:Array -var modules_text:Array -var modules_skill:Array - -var config - -func _enter_tree() -> void: - print("item:_enter_tree:1 " + category) - config = ConfigFile.new() - config.load("res://02 - Configurations/campaign/categories.ini") - module_self = config.get_value(category,"module","") - var modules_all = [module_self] - for i in config.get_section_keys(category): - print("item:_enter_tree:2 " + i) - if i.contains("modules_"): - modules_all = modules_all + config.get_value(category,i,[]) - print("item:_enter_tree:3 " + str(modules_all)) - var j = 0 - for i in modules_all: - var button = Button.new() - button.tooltip_text = i - if i == category: - button.text = config.get_value(i,"name_self","") - else: - button.text = config.get_value(i,"name","") - button.size.x = 192 - button.size.y = 64 - button.connect("button_up",spawn_module.bind(button.get_tooltip_text())) - %container.add_child(button) - j = j + 1 - spawn_module(category) - -func spawn_module(text): - print("item:spawn_module:1 " + text) - remove_child(module) - active_module = text - config = ConfigFile.new() - config.load("res://02 - Configurations/campaign/categories.ini") - for i in config.get_section_keys(category): - print("item:spawn_module:2 " + i) - if i == "module" and category == text: - print("item:spawn_module:3 " + text) - module = load("res://01 - Menus/04 - Modules/modules_" + config.get_value(text,i,"") + ".tscn").instantiate() - module.item = item - module.category = category - module.module = active_module - module.position.x = 384 - add_child.call_deferred(module) - elif i.contains("modules_"): - print("item:spawn_module:4 is array" ) - if config.get_value(category,i,[]).has(text): - print("item:spawn_module:5 " + i) - module = load("res://01 - Menus/04 - Modules/" + i + ".tscn").instantiate() - module.item = item - module.category = category - module.module = active_module - module.position.x = 384 - add_child.call_deferred(module) - -func show_save(): - pass - -func save(): - module.save() diff --git a/01 - Menus/03 - Sheets/item.gd.uid b/01 - Menus/03 - Sheets/item.gd.uid deleted file mode 100644 index cb66690..0000000 --- a/01 - Menus/03 - Sheets/item.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://d1ixiojxt27x7 diff --git a/01 - Menus/03 - Sheets/item.tscn b/01 - Menus/03 - Sheets/item.tscn deleted file mode 100644 index c58d03f..0000000 --- a/01 - Menus/03 - Sheets/item.tscn +++ /dev/null @@ -1,25 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://cl4squ3cegosj"] - -[ext_resource type="Script" uid="uid://d1ixiojxt27x7" path="res://01 - Menus/03 - Sheets/item.gd" id="1_sscaq"] - -[node name="item" type="Node2D"] -script = ExtResource("1_sscaq") - -[node name="tabs" type="ColorRect" parent="."] -offset_top = -256.0 -offset_right = 384.0 -offset_bottom = 1184.0 -color = Color(0.047058824, 0.07058824, 0.09803922, 1) - -[node name="scroll" type="ScrollContainer" parent="."] -clip_contents = false -offset_left = 64.0 -offset_top = 64.0 -offset_right = 320.0 -offset_bottom = 960.0 - -[node name="container" type="VBoxContainer" parent="scroll"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 diff --git a/01 - Menus/03 - Sheets/sheet.gd b/01 - Menus/03 - Sheets/sheet.gd new file mode 100644 index 0000000..3516165 --- /dev/null +++ b/01 - Menus/03 - Sheets/sheet.gd @@ -0,0 +1,130 @@ +extends Control + +var config = ConfigFile.new() +var category = "" +var item = "" +var stats = [] + +var items = [] + +var module_scene + +# Called when the node enters the scene tree for the first time. +func _enter_tree() -> void: + config.load("res://02 - Configurations/" + category + ".ini") + %scroll.size = $".".size + create_book() + +func set_items(): + for i in %container.get_children(): + match i.tooltip_text: + "Text:long": + i.get_child(1).custom_minimum_size = Vector2(%scroll.size.x - 400,192) + "Array:int": + var count = i.get_child(1).get_child_count() + for j in count: + i.get_child(1).get_child(j).custom_minimum_size.x = (%scroll.size.x - 96) / count + + +func create_book(): + var conf_modules = ConfigFile.new() + conf_modules.load("res://02 - Configurations/campaign/modules.ini") + stats = conf_modules.get_section_keys(category) + print(str(stats)) + for i in stats: + module_scene = load("res://01 - Menus/04 - Modules/module.tscn").instantiate() + module_scene.size.x = %container.size.x + %container.add_child(module_scene) + module_scene.set_stat_text(i) + module_scene.custom_minimum_size = Vector2(256,64) + var module = conf_modules.get_value(category,i,"").split(":",true) + create_module(module,i) + +func create_module(module,i): + match module[0]: + "Array": + match module[1]: + "int": + var fixed_array = [0] + fixed_array.resize(int(module[2])) + fixed_array.fill(0) + var value = config.get_value(item,i,fixed_array) + for j in value: + module_scene.set_value(LineEdit,j) + "list": + match module[2]: + "rec": + pass + "multi": + for j in config.get_value(item,i,[]): + module_scene.set_value(LineEdit,j) + + var conf_category = ConfigFile.new() + conf_category.load("res://02 - Configurations/" + i + ".ini") + var add_stat = OptionButton.new() + add_stat.add_separator("Add " + i) + add_stat.set_item_disabled(0,true) + for j in conf_category.get_sections(): + if not config.get_value(item,i,[]).has(j): + add_stat.add_item(j) + add_stat.select(0) + "single": + var conf_category = ConfigFile.new() + conf_category.load("res://02 - Configurations/" + i + ".ini") + var add_stat = OptionButton.new() + add_stat.add_separator("Select " + i) + add_stat.set_item_disabled(0,true) + for j in conf_category.get_sections(): + add_stat.add_item(j) + add_stat.select(1 + conf_category.get_sections().find(config.get_value(item,i,[""])[0])) + "Text": + match module[1]: + "short": + var stat = LineEdit.new() + stat.text = str(config.get_value(item,i,"")) + "long": + var stat = TextEdit.new() + stat.wrap_mode = 1 + stat.clip_contents = false + stat.text = config.get_value(item,i,"") + set_items() + +#func rec(i,conf,k): + #var conff = "res://02 - Configurations/" + conf + ".ini" + #config = ConfigFile.new() + #config.load(conff) + #print("modules_list:rec:1 conff = " + conff) + #print("modules_list:rec:2 sections = " + str(config.get_section_keys(k))) + #print("modules_list:rec:3 k = " + str(k)) + #print("modules_list:rec:4 i = " + str(i)) + #if config.get_section_keys(k).has(i): + #var m = config.get_value(k,i) + #print("modules_list:rec:5 " + (k) + " has " + str(m) + " as " + str(i)) + #if module == i: + #print("modules_list:rec:6 " + str(items)) + #for b in config.get_value(k,i,[]): + #print("modules_list:rec:10 " + str(b) + str(items)) + #if not items.has(b) and b != "": + #items = items + [b] + #print("modules_list:rec:11 adding " + b + " to list") + #if item_filter == "": + #%list.add_item(str(b)) + #%list.set_item_tooltip(%list.item_count - 1, k) + #if conf != category: + #%list.set_item_custom_bg_color(%list.item_count - 1,"black") + #elif item_filter.to_lower() in b.to_lower(): + #%list.add_item(str(b)) + #else: + #%list.item_count = %list.item_count -1 + #print("modules_list:rec:12 " + i + " " + str(category)) + #if i != category: + #print("modules_list:rec:7 " + str(rec_helper.slice(rec_helper.find(i),-1))) + #print("modules_list:rec:8 " + str(m)) + #for o in rec_helper.slice(rec_helper.find(i),rec_helper.size()): + #print(str(o)) + #for j in m: + #print("modules_list:rec:9 rec " + o + " - " + i + " - " + j) + #rec(o,i,j) + +func _on_close_button_up() -> void: + queue_free() diff --git a/01 - Menus/03 - Sheets/sheet.gd.uid b/01 - Menus/03 - Sheets/sheet.gd.uid new file mode 100644 index 0000000..90cd4c7 --- /dev/null +++ b/01 - Menus/03 - Sheets/sheet.gd.uid @@ -0,0 +1 @@ +uid://bmphhxrifc4gc diff --git a/01 - Menus/03 - Sheets/sheet.tscn b/01 - Menus/03 - Sheets/sheet.tscn new file mode 100644 index 0000000..83c3fad --- /dev/null +++ b/01 - Menus/03 - Sheets/sheet.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=2 format=3 uid="uid://4q13obqp8uh8"] + +[ext_resource type="Script" uid="uid://bmphhxrifc4gc" path="res://01 - Menus/03 - Sheets/sheet.gd" id="1_v0a3n"] + +[node name="sheet" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_bottom = 8.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource("1_v0a3n") + +[node name="scroll" type="ScrollContainer" parent="."] +unique_name_in_owner = true +layout_mode = 0 +offset_right = 448.0 +offset_bottom = 256.0 + +[node name="container" type="VBoxContainer" parent="scroll"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="close" type="Button" parent="."] +unique_name_in_owner = true +visible = false +layout_mode = 0 +offset_left = 56.0 +offset_top = 360.0 +offset_right = 164.0 +offset_bottom = 402.0 +text = "Close" + +[connection signal="button_up" from="close" to="." method="_on_close_button_up"] diff --git a/01 - Menus/04 - Modules/ini_button.gd b/01 - Menus/04 - Modules/ini_button.gd new file mode 100644 index 0000000..d222e6d --- /dev/null +++ b/01 - Menus/04 - Modules/ini_button.gd @@ -0,0 +1,21 @@ +extends Control + +var size_x = 192 +var size_y = 164 +var text = "button" +var config + +# Called when the node enters the scene tree for the first time. +func _enter_tree() -> void: + %button.size = Vector2(size_x,size_y) + %button.text = text + custom_minimum_size = %button.size + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass + + +func _on_button_pressed() -> void: + pass # Replace with function body. diff --git a/01 - Menus/04 - Modules/ini_button.gd.uid b/01 - Menus/04 - Modules/ini_button.gd.uid new file mode 100644 index 0000000..a4061bc --- /dev/null +++ b/01 - Menus/04 - Modules/ini_button.gd.uid @@ -0,0 +1 @@ +uid://c5e5v6ai5yv0w diff --git a/01 - Menus/04 - Modules/ini_button.tscn b/01 - Menus/04 - Modules/ini_button.tscn new file mode 100644 index 0000000..c26130b --- /dev/null +++ b/01 - Menus/04 - Modules/ini_button.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=2 format=3 uid="uid://csa8o3aa1jxx5"] + +[ext_resource type="Script" uid="uid://c5e5v6ai5yv0w" path="res://01 - Menus/04 - Modules/ini_button.gd" id="1_jc31o"] + +[node name="ini_button" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource("1_jc31o") + +[node name="button" type="Button" parent="."] +unique_name_in_owner = true +layout_mode = 0 +offset_right = 256.0 +offset_bottom = 64.0 +text = "button" + +[connection signal="pressed" from="button" to="." method="_on_button_pressed"] diff --git a/01 - Menus/04 - Modules/module.gd b/01 - Menus/04 - Modules/module.gd new file mode 100644 index 0000000..17811cd --- /dev/null +++ b/01 - Menus/04 - Modules/module.gd @@ -0,0 +1,10 @@ +extends Control + + +func set_stat_text(text): + %stat.text = text + +func set_value(module_type,value): + var module = module_type.new() + module.text = str(value) + %value.add_child(module) diff --git a/01 - Menus/04 - Modules/module.gd.uid b/01 - Menus/04 - Modules/module.gd.uid new file mode 100644 index 0000000..7e38347 --- /dev/null +++ b/01 - Menus/04 - Modules/module.gd.uid @@ -0,0 +1 @@ +uid://b5l5ei1tt4wka diff --git a/01 - Menus/04 - Modules/module.tscn b/01 - Menus/04 - Modules/module.tscn new file mode 100644 index 0000000..b959f1c --- /dev/null +++ b/01 - Menus/04 - Modules/module.tscn @@ -0,0 +1,32 @@ +[gd_scene load_steps=2 format=3 uid="uid://j2f5hra8e7um"] + +[ext_resource type="Script" uid="uid://b5l5ei1tt4wka" path="res://01 - Menus/04 - Modules/module.gd" id="1_rxp26"] + +[node name="module" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource("1_rxp26") + +[node name="vbox" type="VBoxContainer" parent="."] +unique_name_in_owner = true +layout_mode = 0 +offset_right = 760.0 +offset_bottom = 51.0 + +[node name="stat" type="Label" parent="vbox"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +text = "stat" +horizontal_alignment = 1 + +[node name="value" type="HBoxContainer" parent="vbox"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 diff --git a/01 - Menus/04 - Modules/modules_.gd b/01 - Menus/04 - Modules/modules_.gd deleted file mode 100644 index 18157c4..0000000 --- a/01 - Menus/04 - Modules/modules_.gd +++ /dev/null @@ -1,5 +0,0 @@ -extends Control - -var item # e.g. grondir -var category # e.g. characters -var module # e.g. trait diff --git a/01 - Menus/04 - Modules/modules_.gd.uid b/01 - Menus/04 - Modules/modules_.gd.uid deleted file mode 100644 index 3925b94..0000000 --- a/01 - Menus/04 - Modules/modules_.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cj7dq6bxffndm diff --git a/01 - Menus/04 - Modules/modules_.tscn b/01 - Menus/04 - Modules/modules_.tscn deleted file mode 100644 index cd40347..0000000 --- a/01 - Menus/04 - Modules/modules_.tscn +++ /dev/null @@ -1,12 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://bf5jf67m66141"] - -[ext_resource type="Script" uid="uid://cj7dq6bxffndm" path="res://01 - Menus/04 - Modules/modules_.gd" id="1_xh6yg"] - -[node name="modules_" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_xh6yg") diff --git a/01 - Menus/04 - Modules/modules_character.gd b/01 - Menus/04 - Modules/modules_character.gd deleted file mode 100644 index 18157c4..0000000 --- a/01 - Menus/04 - Modules/modules_character.gd +++ /dev/null @@ -1,5 +0,0 @@ -extends Control - -var item # e.g. grondir -var category # e.g. characters -var module # e.g. trait diff --git a/01 - Menus/04 - Modules/modules_character.gd.uid b/01 - Menus/04 - Modules/modules_character.gd.uid deleted file mode 100644 index a7b76b0..0000000 --- a/01 - Menus/04 - Modules/modules_character.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b0g20c0f26vke diff --git a/01 - Menus/04 - Modules/modules_character.tscn b/01 - Menus/04 - Modules/modules_character.tscn deleted file mode 100644 index 19391dc..0000000 --- a/01 - Menus/04 - Modules/modules_character.tscn +++ /dev/null @@ -1,8 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://ifmshoyijckd"] - -[ext_resource type="Script" uid="uid://b0g20c0f26vke" path="res://01 - Menus/04 - Modules/modules_character.gd" id="1_ooaol"] - -[node name="character" type="Control"] -layout_mode = 3 -anchors_preset = 0 -script = ExtResource("1_ooaol") diff --git a/01 - Menus/04 - Modules/modules_list.gd b/01 - Menus/04 - Modules/modules_list.gd index 70eb4ce..4876d9b 100644 --- a/01 - Menus/04 - Modules/modules_list.gd +++ b/01 - Menus/04 - Modules/modules_list.gd @@ -32,6 +32,7 @@ func _enter_tree() -> void: %new_item_suggestions.visible = false ini = "res://02 - Configurations/" + category + ".ini" list_items() + set_menu_items() func list_items(): config = ConfigFile.new() @@ -169,3 +170,21 @@ func _on_delete_button_up() -> void: config.set_value(item,module,j) config.save(ini) list_items() + +func set_menu_items(): + var ui_scale = 1 + var pixel_x = get_viewport_rect().size[0] + var pixel_y = get_viewport_rect().size[1] + if pixel_x + pixel_y < 2900: + ui_scale = 0.7 + %background.size.y = pixel_y + if pixel_x < pixel_y: #mobile + self.position = Vector2(0,0) + %background.size.x = pixel_x + for i in [%list]: + i.scale = Vector2(ui_scale,ui_scale) + i.size.x = pixel_x/ui_scale - 128 + i.position.x = 64 * ui_scale + else: + self.position = Vector2(1020 * ui_scale,0) + %background.size.x = 256*ui_scale diff --git a/01 - Menus/04 - Modules/modules_location.gd b/01 - Menus/04 - Modules/modules_location.gd deleted file mode 100644 index 1dabbd5..0000000 --- a/01 - Menus/04 - Modules/modules_location.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends Control - -var item # e.g. grondir -var category # e.g. characters -var module # e.g. trait -var items = [] # e.g. ["Undergrounder","Tough"] diff --git a/01 - Menus/04 - Modules/modules_location.gd.uid b/01 - Menus/04 - Modules/modules_location.gd.uid deleted file mode 100644 index 1519a9b..0000000 --- a/01 - Menus/04 - Modules/modules_location.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c50oko0aci1t8 diff --git a/01 - Menus/04 - Modules/modules_location.tscn b/01 - Menus/04 - Modules/modules_location.tscn deleted file mode 100644 index 70997f0..0000000 --- a/01 - Menus/04 - Modules/modules_location.tscn +++ /dev/null @@ -1,12 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://cynrv7v87br4g"] - -[ext_resource type="Script" uid="uid://c50oko0aci1t8" path="res://01 - Menus/04 - Modules/modules_location.gd" id="1_08287"] - -[node name="modules_location" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_08287") diff --git a/01 - Menus/04 - Modules/modules_modifier.gd b/01 - Menus/04 - Modules/modules_modifier.gd deleted file mode 100644 index ee62733..0000000 --- a/01 - Menus/04 - Modules/modules_modifier.gd +++ /dev/null @@ -1,7 +0,0 @@ -extends Control - - -var item # e.g. grondir -var category # e.g. character -var module # e.g. trait -var items # e.g. ["Undergrounder","Tough"] diff --git a/01 - Menus/04 - Modules/modules_modifier.gd.uid b/01 - Menus/04 - Modules/modules_modifier.gd.uid deleted file mode 100644 index 5390988..0000000 --- a/01 - Menus/04 - Modules/modules_modifier.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bsni2icpr5xpg diff --git a/01 - Menus/04 - Modules/modules_modifier.tscn b/01 - Menus/04 - Modules/modules_modifier.tscn deleted file mode 100644 index 6db12d8..0000000 --- a/01 - Menus/04 - Modules/modules_modifier.tscn +++ /dev/null @@ -1,12 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://beaslpqen8eqr"] - -[ext_resource type="Script" uid="uid://bsni2icpr5xpg" path="res://01 - Menus/04 - Modules/modifier.gd" id="1_7leb1"] - -[node name="modifier" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_7leb1") diff --git a/01 - Menus/04 - Modules/modules_skill.gd b/01 - Menus/04 - Modules/modules_skill.gd deleted file mode 100644 index 0728218..0000000 --- a/01 - Menus/04 - Modules/modules_skill.gd +++ /dev/null @@ -1,123 +0,0 @@ -extends Control - - -var item # e.g. grondir -var category # e.g. character -var module # e.g. trait -var items # e.g. ["Undergrounder","Tough"] - -var cost:Array = [0,0,0,0] -var difficulty:int = 0 -var action:String = "" -var success:String = "" -var failure:String = "" -var duration:int = 0 -var ends_on:int = 0 -var target:Array = [] -var stat:Array = [] -var challenge:String = "" - -var config = ConfigFile.new() -var item_filter = "" -var targets1 = "" - -func _enter_tree() -> void: - config = ConfigFile.new() - config.load("res://02 - Configurations/" + category + ".ini") - #print(str(config.get_value(item,"cost"))) - cost = config.get_value(item,"cost",[0,0,0,0]) - difficulty = config.get_value(item,"difficulty",0) - action = config.get_value(item,"action","") - success = config.get_value(item,"success","") - failure = config.get_value(item,"failure","") - duration = config.get_value(item,"duration",0) - ends_on = config.get_value(item,"ends_on",0) - target = config.get_value(item,"target",[""]) - stat = config.get_value(item,"stat",[""]) - var j = 0 - for i in %cost.get_children(): - i.text = str(cost[j]) - j = j + 1 - %difficulty.text = str(difficulty) - %action.text = action - %success.text = success - %failure.text = failure - %duration.text = str(duration) - %ends_on.select(ends_on) - %target.item_count = 0 - for i in target: - %target.add_item(i) - config = ConfigFile.new() - config.load("res://02 - Configurations/stat.ini") - for i in stat: - %stat.add_item(i) - -func _on_body_text_changed(new_text: String) -> void: - cost[0] = int(new_text) - print(str(cost)) - get_parent().get_parent().show_save() - - -func _on_communication_text_changed(new_text: String) -> void: - cost[1] = int(new_text) - get_parent().get_parent().show_save() - - -func _on_mind_text_changed(new_text: String) -> void: - cost[2] = int(new_text) - get_parent().get_parent().show_save() - - -func _on_soul_text_changed(new_text: String) -> void: - cost[3] = int(new_text) - get_parent().get_parent().show_save() - -func save(): - config = ConfigFile.new() - config.load("res://02 - Configurations/" + category + ".ini") - config.set_value(item,"cost",cost) - config.set_value(item,"difficulty",difficulty) - config.set_value(item,"action",action) - config.set_value(item,"success",success) - config.set_value(item,"failure",failure) - config.set_value(item,"duration",duration) - config.set_value(item,"ends_on",ends_on) - config.set_value(item,"target",target) - config.set_value(item,"stat",stat) - config.save("res://02 - Configurations/" + category + ".ini") - %http.request("https://ttrpg.marty.tf/hi2/",["Content-Type: application/json"],HTTPClient.METHOD_PUT,"hi2") - - -func _on_difficulty_text_changed(new_text: String) -> void: - difficulty = int(new_text) - get_parent().get_parent().show_save() - - -func _on_action_text_changed() -> void: - action = %action.text - get_parent().get_parent().show_save() - - -func _on_success_text_changed() -> void: - success = %success.text - get_parent().get_parent().show_save() - - -func _on_failure_text_changed() -> void: - failure = %failure.text - get_parent().get_parent().show_save() - - -func _on_duration_text_changed(new_text) -> void: - duration = int(new_text) - print(str(duration)) - get_parent().get_parent().show_save() - - -func _on_ends_on_item_selected(index: int) -> void: - ends_on = index - get_parent().get_parent().show_save() - - -func _on_http_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void: - print(str(response_code)) diff --git a/01 - Menus/04 - Modules/modules_skill.gd.uid b/01 - Menus/04 - Modules/modules_skill.gd.uid deleted file mode 100644 index baf11a8..0000000 --- a/01 - Menus/04 - Modules/modules_skill.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cy7cil87c8jlm diff --git a/01 - Menus/04 - Modules/modules_skill.tscn b/01 - Menus/04 - Modules/modules_skill.tscn deleted file mode 100644 index e1696f1..0000000 --- a/01 - Menus/04 - Modules/modules_skill.tscn +++ /dev/null @@ -1,177 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://wvtkpsevhva0"] - -[ext_resource type="Script" uid="uid://cy7cil87c8jlm" path="res://01 - Menus/04 - Modules/modules_skill.gd" id="1_5eik8"] - -[node name="skill" type="Control"] -layout_mode = 3 -anchors_preset = 0 -script = ExtResource("1_5eik8") - -[node name="ColorRect" type="ColorRect" parent="."] -visible = false -layout_mode = 0 -offset_right = 1408.0 -offset_bottom = 1280.0 - -[node name="cost" type="Node2D" parent="."] -unique_name_in_owner = true - -[node name="body" type="LineEdit" parent="cost"] -unique_name_in_owner = true -offset_left = 64.0 -offset_top = 64.0 -offset_right = 206.0 -offset_bottom = 128.0 -theme_override_colors/font_color = Color(0.8509804, 0.29411766, 0.29411766, 1) -placeholder_text = "body" - -[node name="communication" type="LineEdit" parent="cost"] -unique_name_in_owner = true -offset_left = 256.0 -offset_top = 64.0 -offset_right = 398.0 -offset_bottom = 128.0 -placeholder_text = "communication" - -[node name="mind" type="LineEdit" parent="cost"] -unique_name_in_owner = true -offset_left = 64.0 -offset_top = 160.0 -offset_right = 206.0 -offset_bottom = 224.0 -placeholder_text = "mind" - -[node name="soul" type="LineEdit" parent="cost"] -unique_name_in_owner = true -offset_left = 256.0 -offset_top = 160.0 -offset_right = 398.0 -offset_bottom = 224.0 -placeholder_text = "soul" - -[node name="action" type="TextEdit" parent="."] -unique_name_in_owner = true -clip_contents = false -layout_mode = 0 -offset_left = 64.0 -offset_top = 320.0 -offset_right = 960.0 -offset_bottom = 576.0 -placeholder_text = "action" -wrap_mode = 1 -scroll_smooth = true -caret_blink = true - -[node name="success" type="TextEdit" parent="."] -unique_name_in_owner = true -clip_contents = false -layout_mode = 0 -offset_left = 64.0 -offset_top = 608.0 -offset_right = 960.0 -offset_bottom = 864.0 -placeholder_text = "success" -wrap_mode = 1 -scroll_smooth = true -caret_blink = true - -[node name="failure" type="TextEdit" parent="."] -unique_name_in_owner = true -clip_contents = false -layout_mode = 0 -offset_left = 64.0 -offset_top = 896.0 -offset_right = 960.0 -offset_bottom = 1152.0 -placeholder_text = "failure" -wrap_mode = 1 -scroll_smooth = true -caret_blink = true - -[node name="difficulty" type="LineEdit" parent="."] -unique_name_in_owner = true -layout_mode = 0 -offset_left = 576.0 -offset_top = 64.0 -offset_right = 718.0 -offset_bottom = 128.0 -placeholder_text = "difficulty" - -[node name="duration" type="LineEdit" parent="."] -unique_name_in_owner = true -layout_mode = 0 -offset_left = 832.0 -offset_top = 64.0 -offset_right = 974.0 -offset_bottom = 128.0 -placeholder_text = "duration" - -[node name="ends_on" type="OptionButton" parent="."] -unique_name_in_owner = true -layout_mode = 0 -offset_left = 1024.0 -offset_top = 64.0 -offset_right = 1344.0 -offset_bottom = 128.0 -selected = 0 -item_count = 3 -popup/item_0/id = 0 -popup/item_1/text = "Ends on Sleep" -popup/item_1/id = 1 -popup/item_2/text = "Ends on Rest" -popup/item_2/id = 2 - -[node name="challenge" type="OptionButton" parent="."] -unique_name_in_owner = true -layout_mode = 0 -offset_left = 512.0 -offset_top = 160.0 -offset_right = 1344.0 -offset_bottom = 224.0 -selected = 0 -item_count = 3 -popup/item_0/id = 0 -popup/item_1/text = "Throw 1 dice" -popup/item_1/id = 1 -popup/item_2/text = "Throw x dice" -popup/item_2/id = 2 - -[node name="target" type="ItemList" parent="."] -unique_name_in_owner = true -clip_contents = false -layout_mode = 0 -offset_left = 1024.0 -offset_top = 896.0 -offset_right = 1344.0 -offset_bottom = 1152.0 -mouse_filter = 2 -select_mode = 2 -item_count = 1 -item_0/text = "target" - -[node name="stat" type="ItemList" parent="."] -unique_name_in_owner = true -clip_contents = false -layout_mode = 0 -offset_left = 1024.0 -offset_top = 320.0 -offset_right = 1344.0 -offset_bottom = 864.0 -mouse_filter = 2 -select_mode = 2 - -[node name="http" type="HTTPRequest" parent="."] -unique_name_in_owner = true -use_threads = true - -[connection signal="text_changed" from="cost/body" to="." method="_on_body_text_changed"] -[connection signal="text_changed" from="cost/communication" to="." method="_on_communication_text_changed"] -[connection signal="text_changed" from="cost/mind" to="." method="_on_mind_text_changed"] -[connection signal="text_changed" from="cost/soul" to="." method="_on_soul_text_changed"] -[connection signal="text_changed" from="action" to="." method="_on_action_text_changed"] -[connection signal="text_changed" from="success" to="." method="_on_success_text_changed"] -[connection signal="text_changed" from="failure" to="." method="_on_failure_text_changed"] -[connection signal="text_changed" from="difficulty" to="." method="_on_difficulty_text_changed"] -[connection signal="text_changed" from="duration" to="." method="_on_duration_text_changed"] -[connection signal="item_selected" from="ends_on" to="." method="_on_ends_on_item_selected"] -[connection signal="request_completed" from="http" to="." method="_on_http_request_completed"] diff --git a/01 - Menus/04 - Modules/modules_stat.gd b/01 - Menus/04 - Modules/modules_stat.gd deleted file mode 100644 index ee62733..0000000 --- a/01 - Menus/04 - Modules/modules_stat.gd +++ /dev/null @@ -1,7 +0,0 @@ -extends Control - - -var item # e.g. grondir -var category # e.g. character -var module # e.g. trait -var items # e.g. ["Undergrounder","Tough"] diff --git a/01 - Menus/04 - Modules/modules_stat.gd.uid b/01 - Menus/04 - Modules/modules_stat.gd.uid deleted file mode 100644 index 4b42898..0000000 --- a/01 - Menus/04 - Modules/modules_stat.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://uych52kioaci diff --git a/01 - Menus/04 - Modules/modules_stat.tscn b/01 - Menus/04 - Modules/modules_stat.tscn deleted file mode 100644 index b172a2f..0000000 --- a/01 - Menus/04 - Modules/modules_stat.tscn +++ /dev/null @@ -1,12 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://bqswmmgfxstfw"] - -[ext_resource type="Script" uid="uid://bsni2icpr5xpg" path="res://01 - Menus/04 - Modules/modifier.gd" id="1_iafih"] - -[node name="stat" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_iafih") diff --git a/01 - Menus/04 - Modules/modules_text.gd b/01 - Menus/04 - Modules/modules_text.gd deleted file mode 100644 index ea45fe8..0000000 --- a/01 - Menus/04 - Modules/modules_text.gd +++ /dev/null @@ -1,25 +0,0 @@ -extends Control - - -var item # e.g. grondir -var category # e.g. character -var module # e.g. trait -var items # e.g. ["Undergrounder","Tough"] - -var config -var item_filter = "" - -func _enter_tree() -> void: - config = ConfigFile.new() - config.load("res://02 - Configurations/" + category + ".ini") - %text.text = config.get_value(item,"text", "") - - -func _on_backstory_text_changed() -> void: - config = ConfigFile.new() - config.load("res://02 - Configurations/" + category + ".ini") - config.set_value(item,"text",%text.text) - get_parent().get_parent().show_save() - -func save(): - config.save("res://02 - Configurations/" + category + ".ini") diff --git a/01 - Menus/04 - Modules/modules_text.gd.uid b/01 - Menus/04 - Modules/modules_text.gd.uid deleted file mode 100644 index ad4d73a..0000000 --- a/01 - Menus/04 - Modules/modules_text.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c7veejgoktxy4 diff --git a/01 - Menus/04 - Modules/modules_text.tscn b/01 - Menus/04 - Modules/modules_text.tscn deleted file mode 100644 index 60419e7..0000000 --- a/01 - Menus/04 - Modules/modules_text.tscn +++ /dev/null @@ -1,19 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://blinf0w4bd7xh"] - -[ext_resource type="Script" uid="uid://c7veejgoktxy4" path="res://01 - Menus/04 - Modules/text.gd" id="1_ed0wg"] - -[node name="text" type="Control"] -layout_mode = 3 -anchors_preset = 0 -script = ExtResource("1_ed0wg") - -[node name="text" type="TextEdit" parent="."] -unique_name_in_owner = true -clip_contents = false -layout_mode = 0 -offset_top = 320.0 -offset_right = 576.0 -offset_bottom = 768.0 -wrap_mode = 1 - -[connection signal="text_changed" from="text" to="." method="_on_backstory_text_changed"] diff --git a/01 - Menus/04 - Modules/modules_trait.gd b/01 - Menus/04 - Modules/modules_trait.gd deleted file mode 100644 index ee62733..0000000 --- a/01 - Menus/04 - Modules/modules_trait.gd +++ /dev/null @@ -1,7 +0,0 @@ -extends Control - - -var item # e.g. grondir -var category # e.g. character -var module # e.g. trait -var items # e.g. ["Undergrounder","Tough"] diff --git a/01 - Menus/04 - Modules/modules_trait.gd.uid b/01 - Menus/04 - Modules/modules_trait.gd.uid deleted file mode 100644 index 4b6a326..0000000 --- a/01 - Menus/04 - Modules/modules_trait.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://5fupt8jhtnre diff --git a/01 - Menus/04 - Modules/modules_trait.tscn b/01 - Menus/04 - Modules/modules_trait.tscn deleted file mode 100644 index 136e3da..0000000 --- a/01 - Menus/04 - Modules/modules_trait.tscn +++ /dev/null @@ -1,8 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://bbtwis5vf5pgj"] - -[ext_resource type="Script" uid="uid://5fupt8jhtnre" path="res://01 - Menus/04 - Modules/trait.gd" id="1_elj4r"] - -[node name="trait" type="Control"] -layout_mode = 3 -anchors_preset = 0 -script = ExtResource("1_elj4r") diff --git a/01 - Menus/04 - Modules/modules_xenoline.gd b/01 - Menus/04 - Modules/modules_xenoline.gd deleted file mode 100644 index ee62733..0000000 --- a/01 - Menus/04 - Modules/modules_xenoline.gd +++ /dev/null @@ -1,7 +0,0 @@ -extends Control - - -var item # e.g. grondir -var category # e.g. character -var module # e.g. trait -var items # e.g. ["Undergrounder","Tough"] diff --git a/01 - Menus/04 - Modules/modules_xenoline.gd.uid b/01 - Menus/04 - Modules/modules_xenoline.gd.uid deleted file mode 100644 index 13745f2..0000000 --- a/01 - Menus/04 - Modules/modules_xenoline.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cbbigwfdfc2l4 diff --git a/01 - Menus/04 - Modules/modules_xenoline.tscn b/01 - Menus/04 - Modules/modules_xenoline.tscn deleted file mode 100644 index 48c633a..0000000 --- a/01 - Menus/04 - Modules/modules_xenoline.tscn +++ /dev/null @@ -1,8 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://cn53vjwt1k4wq"] - -[ext_resource type="Script" uid="uid://cbbigwfdfc2l4" path="res://01 - Menus/04 - Modules/xenoline.gd" id="1_bofh8"] - -[node name="xenoline" type="Control"] -layout_mode = 3 -anchors_preset = 0 -script = ExtResource("1_bofh8") diff --git a/01 - Menus/05 - Campaign Manager/campaign_manager.tscn b/01 - Menus/05 - Campaign Manager/campaign_manager.tscn index 57e99c3..10296ca 100644 --- a/01 - Menus/05 - Campaign Manager/campaign_manager.tscn +++ b/01 - Menus/05 - Campaign Manager/campaign_manager.tscn @@ -13,10 +13,10 @@ color = Color(0.047058824, 0.07058824, 0.09803922, 1) [node name="close" type="Button" parent="."] unique_name_in_owner = true -offset_left = 96.0 -offset_top = 1280.0 -offset_right = 416.0 -offset_bottom = 1344.0 +offset_left = 104.0 +offset_top = 152.0 +offset_right = 424.0 +offset_bottom = 216.0 text = "Close" [node name="items" type="Button" parent="."] diff --git a/01 - Menus/07 - Window/window.gd b/01 - Menus/07 - Window/window.gd new file mode 100644 index 0000000..8f755b3 --- /dev/null +++ b/01 - Menus/07 - Window/window.gd @@ -0,0 +1,210 @@ +extends Control + +var pixel_x +var pixel_y +var ui_scale +var minsize +var restore_minimize + +var module +var category = "character" +var item = "Grondir" +var origin = null +var distance = null +var dragPoint = null +var dragPoint_move = null +var minimized = false +var window_size +var window_position +var resizer + +func _enter_tree() -> void: + module = load("res://01 - Menus/03 - Sheets/sheet.tscn").instantiate() + module.category = category + module.item = item + %window.position = Vector2(600,400) + %category.text = category + %item.text = item + %window.add_child(module) + ui_scale = 1 + if get_viewport_rect().size[0] + get_viewport_rect().size[1] < 3000: + ui_scale = 0.7 + pixel_x = get_viewport_rect().size[0] / ui_scale + pixel_y = get_viewport_rect().size[1] / ui_scale + module_fit_window() + #call_deferred("module_fit_window") + set_bar_items() + +func _process(_delta: float) -> void: + if pixel_x != get_viewport_rect().size[0] or pixel_y != get_viewport_rect().size[1]: + pixel_x = get_viewport_rect().size[0] + pixel_y = get_viewport_rect().size[1] + if pixel_x + pixel_y > 3000: + ui_scale = 1 + else: + ui_scale = 0.7 + module_fit_window() + + +func module_fit_window(): + if get_viewport_rect().size[0] > get_viewport_rect().size[1]: + module.get_child(0).size = %ui_background.size - Vector2(64,64) + module.get_child(0).position = %ui_background.position + Vector2(32,32) + else: + position = Vector2(0,0) + %ui_background.size = get_viewport_rect().size + module.get_child(0).size = %ui_background.size - Vector2(64,64) + module.get_child(0).position = Vector2(32,96) + %ui_bar.size.x = %ui_background.size.x + %item.position.x = 64 + %close.position.x = %ui_bar.size.x - 92 + %minimize.position.x = %close.position.x - 92 + for i in [%size_right,%size_left,%size_bottom]: + i.visible = false + module.set_items() + move_child(module,1) + +func _on_ui_bar_gui_input(ev: InputEvent) -> void: + if ev is InputEventMouseButton: + if ev.button_index == MOUSE_BUTTON_LEFT: + if ev.pressed: + dragPoint = get_global_mouse_position() - %window.get_position() + get_parent().move_child(self,get_parent().get_child_count()) + else: + dragPoint = null + if ev is InputEventMouseMotion and dragPoint != null: + %window.position = get_global_mouse_position()/ui_scale - dragPoint/ui_scale + + +func _on_minimize_button_up() -> void: + if minimized: + for i in [%ui_background,module]: + i.visible = true + minimized = false + %minimize.text = "-" + for i in [%size_left,%size_right]: + i.size.y = %ui_bar.size.y + %ui_background.size.y + %size_bottom.visible = true + else: + for i in [%ui_background,module]: + i.visible = false + module.visible = false + minimized = true + %minimize.text = "+" + for i in [%size_left,%size_right]: + i.size.y = %ui_bar.size.y + %size_bottom.visible = false + + + +func _on_close_button_up() -> void: + queue_free() + + +func _on_size_gui_input(ev: InputEvent) -> void: + match resizer: + "right": + resizer = %size_right + "left": + resizer = %size_left + "bottom": + resizer = %size_bottom + if ev is InputEventMouseButton: + if ev.button_index == MOUSE_BUTTON_LEFT: + if ev.pressed: + dragPoint = get_global_mouse_position() * ui_scale + origin = resizer.position + else: + var reset_right = %size_right.position.x - %size_left.position.x - 32 + dragPoint = null + distance = null + origin = null + for i in [%size_left,%size_right]: + i.size.y = %ui_background.size.y + 32 + i.position.y = 0 + %size_bottom.size.x = %ui_bar.size.x + %size_bottom.position.x = %ui_bar.position.x + %window.set_position(%ui_bar.global_position) + %size_left.position = Vector2(-32,0) + %size_right.position.x = reset_right + if ev is InputEventMouseMotion and dragPoint : + distance = get_global_mouse_position() - dragPoint * ui_scale + resizer.position = origin + distance + + + for i in [%ui_background,%ui_bar]: + i.size.x = %size_right.position.x - %size_left.position.x + if %ui_background.size.x >= 700: + i.position.x = %size_left.position.x + 32 + %ui_background.size.y = %size_bottom.position.y - %ui_bar.position.y - 32 + set_bar_items() + module_fit_window() + + +func set_bar_items(): + if %ui_background.size.y < 500: + %ui_background.size.y = 500 + for i in [%size_left,%size_right]: + i.size.y = 500 + %size_bottom.position.y = 532 + minsize = true + else: + minsize = false + + if %ui_bar.size.x < 700: + for i in [%ui_bar,%ui_background]: + i.size.x = 700 + %size_left.position.x = %ui_bar.position.x - 32 + elif %ui_bar.size.x < 1200: + %category.visible = false + %item.visible = true + %item.position.x = (%ui_bar.size.x - 256) / 6 + minsize = false + else: + %category.visible = true + %item.visible = true + %category.position.x = %ui_bar.size.x /6 + %item.position.x = %category.position.x + %category.size.x + 64 + minsize = false + %close.position.x = %ui_bar.size.x - 96 + %minimize.position.x = %ui_bar.size.x - 192 + %size_right.position.x = %ui_bar.position.x + %ui_bar.size.x - 32 + +func _on_size_mouse_entered() -> void: + #print("in") + Input.set_default_cursor_shape(Input.CURSOR_HSIZE) + + +func _on_size_mouse_exited() -> void: + #print("out") + Input.set_default_cursor_shape(Input.CURSOR_ARROW) + + +func _on_size_right_mouse_entered() -> void: + _on_size_mouse_entered() + resizer = "right" + + +func _on_size_right_mouse_exited() -> void: + _on_size_mouse_exited() + dragPoint = null + + +func _on_size_left_mouse_entered() -> void: + _on_size_mouse_entered() + resizer = "left" + + +func _on_size_left_mouse_exited() -> void: + _on_size_mouse_exited() + dragPoint = null + + +func _on_size_bottom_mouse_entered() -> void: + _on_size_mouse_entered() + resizer = "bottom" + + +func _on_size_bottom_mouse_exited() -> void: + _on_size_mouse_exited() + dragPoint = null diff --git a/01 - Menus/07 - Window/window.gd.uid b/01 - Menus/07 - Window/window.gd.uid new file mode 100644 index 0000000..e2de928 --- /dev/null +++ b/01 - Menus/07 - Window/window.gd.uid @@ -0,0 +1 @@ +uid://ber8skhqnnfa0 diff --git a/01 - Menus/07 - Window/window.tscn b/01 - Menus/07 - Window/window.tscn new file mode 100644 index 0000000..9f8a3a7 --- /dev/null +++ b/01 - Menus/07 - Window/window.tscn @@ -0,0 +1,116 @@ +[gd_scene load_steps=2 format=3 uid="uid://dy3yn2hesb83"] + +[ext_resource type="Script" uid="uid://ber8skhqnnfa0" path="res://01 - Menus/07 - Window/window.gd" id="1_ykjtc"] + +[node name="window" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_right = 128.0 +offset_bottom = 128.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_ykjtc") + +[node name="window" type="Control" parent="."] +unique_name_in_owner = true +anchors_preset = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="ui_background" type="ColorRect" parent="window"] +unique_name_in_owner = true +layout_mode = 0 +offset_top = 64.0 +offset_right = 1008.0 +offset_bottom = 912.0 +color = Color(0.047058824, 0.07058824, 0.09803922, 1) + +[node name="size_right" type="Control" parent="window"] +unique_name_in_owner = true +layout_mode = 1 +anchor_left = 7.8750005 +anchor_top = 3.5620003 +anchor_right = 7.8750005 +anchor_bottom = 3.5620003 +offset_left = 661.0 +offset_top = -142.48001 +offset_right = 725.0 +offset_bottom = 769.52 + +[node name="size_left" type="Control" parent="window"] +unique_name_in_owner = true +layout_mode = 1 +anchor_top = 3.5620003 +anchor_bottom = 3.5620003 +offset_left = -32.0 +offset_top = -142.48001 +offset_right = 32.0 +offset_bottom = 769.52 + +[node name="size_bottom" type="Control" parent="window"] +unique_name_in_owner = true +layout_mode = 1 +anchor_left = 3.9370003 +anchor_top = 7.0620003 +anchor_right = 3.9370003 +anchor_bottom = 7.0620003 +offset_left = -157.48001 +offset_top = 597.52 +offset_right = 850.52 +offset_bottom = 661.52 + +[node name="ui_bar" type="ColorRect" parent="window"] +unique_name_in_owner = true +layout_mode = 0 +offset_right = 1008.0 +offset_bottom = 64.0 +color = Color(0.1254902, 0.1764706, 0.22745098, 1) + +[node name="minimize" type="Button" parent="window/ui_bar"] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 808.0 +offset_top = 8.0 +offset_right = 856.0 +offset_bottom = 56.0 +text = "-" + +[node name="close" type="Button" parent="window/ui_bar"] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 904.0 +offset_top = 8.0 +offset_right = 952.0 +offset_bottom = 56.0 +text = "x" + +[node name="category" type="Label" parent="window/ui_bar"] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 32.0 +offset_top = 8.0 +offset_right = 288.0 +offset_bottom = 55.0 +horizontal_alignment = 1 + +[node name="item" type="Label" parent="window/ui_bar"] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 320.0 +offset_top = 8.0 +offset_right = 744.0 +offset_bottom = 55.0 +horizontal_alignment = 1 + +[connection signal="gui_input" from="window/size_right" to="." method="_on_size_gui_input"] +[connection signal="mouse_entered" from="window/size_right" to="." method="_on_size_right_mouse_entered"] +[connection signal="mouse_exited" from="window/size_right" to="." method="_on_size_right_mouse_exited"] +[connection signal="gui_input" from="window/size_left" to="." method="_on_size_gui_input"] +[connection signal="mouse_entered" from="window/size_left" to="." method="_on_size_left_mouse_entered"] +[connection signal="mouse_exited" from="window/size_left" to="." method="_on_size_left_mouse_exited"] +[connection signal="gui_input" from="window/size_bottom" to="." method="_on_size_gui_input"] +[connection signal="mouse_entered" from="window/size_bottom" to="." method="_on_size_bottom_mouse_entered"] +[connection signal="mouse_exited" from="window/size_bottom" to="." method="_on_size_bottom_mouse_exited"] +[connection signal="gui_input" from="window/ui_bar" to="." method="_on_ui_bar_gui_input"] +[connection signal="button_up" from="window/ui_bar/minimize" to="." method="_on_minimize_button_up"] +[connection signal="button_up" from="window/ui_bar/close" to="." method="_on_close_button_up"] diff --git a/02 - Configurations/campaign/categories.ini b/02 - Configurations/campaign/categories.ini index 085d463..60eac39 100644 --- a/02 - Configurations/campaign/categories.ini +++ b/02 - Configurations/campaign/categories.ini @@ -2,124 +2,106 @@ name="Characters" name_self="Character" -module="character" -modules_list=["xenoline", "faction", "childhood", "youth", "trait", "stat", "skill", "pet"] +modules=["xenoline","backstory", "faction", "childhood", "youth", "trait", "stat", "skill", "pet"] [xenoline] name="Xenolines" name_self="Xenoline" module="xenoline" -modules_list=["trait", "stat", "skill"] +modules=["trait", "stat", "skill"] [faction] name="Factions" name_self="Faction" -module="text" -modules_list=["character", "country", "region", "city", "location"] +modules=["character", "country", "region", "city", "location"] [trait] name="Traits" name_self="Trait" -module="trait" -modules_list=["stat", "skill"] +modules=["stat", "skill"] [skill] name="Skills" name_self="Skill" -module="skill" -modules_list=["stat", "target"] [stat] name="Stats" name_self="Stat" -module="text" -modules_list=[] +modules=[] [ranged weapon] name="Ranged Weapons" name_self="Ranged Weapon" -module="" -modules_list=["attachment"] +modules=["attachment"] [attachment] name="Attachments" name_self="Attachment" -module="" -modules_list=[] +modules=[] [modifier] name="Modifiers" name_self="Modifier" -module="" -modules_list=[] +modules=[] [target] name="Targets" name_self="Target" -module="" -modules_list=[] +modules=[] [youth] name="Youths" name_self="Youth" -module="" -modules_list=[] +modules=[] [childhood] name="Childhoods" name_self="Childhood" -module="" -modules_list=[] +modules=[] [melee weapon] name="Melee Weapons" name_self="Melee Weapon" -module="" -modules_list=[] +modules=[] [pet] name="Pets" name_self="Pet" -module="text" -modules_list=["trait", "stat", "skill"] +modules=["trait", "stat", "skill"] [country] name="Countries" name_self="Country" -module="" -modules_list=["region", "city", "location"] +modules=["region", "city", "location"] [region] name="Regions" name_self="Region" -module="" -modules_list=["city", "location"] +modules=["city", "location"] [city] name="Cities" name_self="City" -module="" -modules_list=["location"] +modules=["location"] [location] name="Locations" name_self="Location" -module="location" -modules_list=[] +modules=[] diff --git a/02 - Configurations/campaign/modules.ini b/02 - Configurations/campaign/modules.ini new file mode 100644 index 0000000..a21d257 --- /dev/null +++ b/02 - Configurations/campaign/modules.ini @@ -0,0 +1,12 @@ +[ skill ] + +action="Text:long" +duration="Number" +;ends_on="Array:list:single" +cost="Array:int:4" +cost_per_target="Toggle" +target="Array:list:multi" +difficulty="Text:short" +stat="Array:list:rec" +success="Text:long" +failure="Text:long" diff --git a/02 - Configurations/character.ini b/02 - Configurations/character.ini index cb13f77..a7a3efd 100644 --- a/02 - Configurations/character.ini +++ b/02 - Configurations/character.ini @@ -18,7 +18,7 @@ stat=[] type="character" name=["Alveus", "The First"] -xenoline=["Inhuman"] +xenoline=[] backstory="Alveus, the first Inhuman, trapped on Maveth, able to control other Inhumans." trait=["Tough"] faction=["Cultists of Campath"] diff --git a/02 - Configurations/skill.ini b/02 - Configurations/skill.ini index 66e9e76..1f8c81b 100644 --- a/02 - Configurations/skill.ini +++ b/02 - Configurations/skill.ini @@ -3,7 +3,7 @@ type="skill" action="Break a wall or object of sturdy hardness using a suitable melee weapon." duration=0 -ends_on=0 +ends_on="sleep" cost=[2, 0, 0, 0] cost_per_target=false target=["object"] @@ -75,3 +75,7 @@ stat=[""] [Detect humanoid] type="skill" + +[Calm animal] + +type="skill" diff --git a/02 - Configurations/stat.ini b/02 - Configurations/stat.ini deleted file mode 120000 index 6472ba4..0000000 --- a/02 - Configurations/stat.ini +++ /dev/null @@ -1 +0,0 @@ -/home/marty/Cultists of Campath/Godot Project/02 - Configurations/modifier.ini \ No newline at end of file diff --git a/project.godot b/project.godot index c8bec5c..b13a0cc 100644 --- a/project.godot +++ b/project.godot @@ -18,6 +18,7 @@ config/icon="res://icon.svg" [display] window/size/borderless=true +window/subwindows/embed_subwindows=false window/handheld/orientation=1 [gui] diff --git a/project.sync-conflict-20251121-170023-6PJZD52.godot b/project.sync-conflict-20251121-170023-6PJZD52.godot deleted file mode 100644 index 6403303..0000000 --- a/project.sync-conflict-20251121-170023-6PJZD52.godot +++ /dev/null @@ -1,34 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=5 - -[application] - -config/name="Cultists of Campath" -run/main_scene="uid://c1qk762funu8g" -config/features=PackedStringArray("4.5", "Forward Plus") -config/icon="res://icon.svg" - -[display] - -window/size/mode=4 -window/size/borderless=true -window/handheld/orientation=1 - -[gui] - -theme/custom="uid://lf2ixoythamg" - -[input] - -escape={ -"deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) -] -} diff --git a/project.sync-conflict-20251121-170029-6PJZD52.godot b/project.sync-conflict-20251121-170029-6PJZD52.godot deleted file mode 100644 index 6403303..0000000 --- a/project.sync-conflict-20251121-170029-6PJZD52.godot +++ /dev/null @@ -1,34 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=5 - -[application] - -config/name="Cultists of Campath" -run/main_scene="uid://c1qk762funu8g" -config/features=PackedStringArray("4.5", "Forward Plus") -config/icon="res://icon.svg" - -[display] - -window/size/mode=4 -window/size/borderless=true -window/handheld/orientation=1 - -[gui] - -theme/custom="uid://lf2ixoythamg" - -[input] - -escape={ -"deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) -] -} diff --git a/theme.tres b/theme.tres index 9ba4141..c7a3836 100644 --- a/theme.tres +++ b/theme.tres @@ -1,27 +1,6 @@ -[gd_resource type="Theme" load_steps=21 format=3 uid="uid://lf2ixoythamg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e1x85"] -content_margin_left = 30.0 -bg_color = Color(0.1254902, 0.1764706, 0.22745098, 1) -skew = Vector2(0.33, 0) -border_width_left = 15 -border_color = Color(0.9137255, 0.8980392, 0.7921569, 1) -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -expand_margin_right = 15.0 -shadow_size = 5 -shadow_offset = Vector2(5, 5) - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wvktn"] -content_margin_left = 30.0 -bg_color = Color(5.017369, 5.017369, 5.017369, 0) -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -expand_margin_right = 15.0 -shadow_offset = Vector2(5, 5) +[gd_resource type="Theme" load_steps=20 format=3 uid="uid://lf2ixoythamg"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cjfk0"] -content_margin_left = 30.0 bg_color = Color(0.047058824, 0.07058824, 0.09803922, 1) skew = Vector2(0.33, 0) border_width_left = 15 @@ -32,39 +11,35 @@ expand_margin_right = 15.0 shadow_size = 5 shadow_offset = Vector2(5, 5) -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vj6dk"] -content_margin_left = 30.0 -bg_color = Color(0.1254902, 0.1764706, 0.22745098, 1) +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vj6dk"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wvktn"] +bg_color = Color(0.047058824, 0.07058824, 0.09803922, 1) skew = Vector2(0.33, 0) border_width_left = 15 border_color = Color(0.9137255, 0.8980392, 0.7921569, 1) corner_radius_top_right = 5 corner_radius_bottom_right = 5 -expand_margin_right = 15.0 shadow_size = 5 shadow_offset = Vector2(5, 5) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_110ce"] -content_margin_left = 30.0 bg_color = Color(0.1254902, 0.1764706, 0.22745098, 1) skew = Vector2(0.33, 0) border_width_left = 15 border_color = Color(0.9137255, 0.8980392, 0.7921569, 1) corner_radius_top_right = 5 corner_radius_bottom_right = 5 -expand_margin_right = 15.0 shadow_size = 5 shadow_offset = Vector2(5, 5) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_05tig"] -content_margin_left = 30.0 bg_color = Color(0.9137255, 0.8980392, 0.7921569, 1) skew = Vector2(0.33, 0) border_width_left = 15 border_color = Color(0.9137255, 0.8980392, 0.7921569, 1) corner_radius_top_right = 5 corner_radius_bottom_right = 5 -expand_margin_right = 15.0 shadow_size = 5 shadow_offset = Vector2(5, 5) @@ -198,10 +173,10 @@ Button/colors/font_hover_pressed_color = Color(0.70980394, 0.7411765, 0.40784314 Button/colors/font_outline_color = Color(0.047058824, 0.07058824, 0.09803922, 1) Button/colors/font_pressed_color = Color(0.7411765, 0.7882353, 0.28627452, 1) Button/constants/outline_size = 10 -Button/styles/disabled = SubResource("StyleBoxFlat_e1x85") -Button/styles/focus = SubResource("StyleBoxFlat_wvktn") -Button/styles/hover = SubResource("StyleBoxFlat_cjfk0") -Button/styles/hover_pressed = SubResource("StyleBoxFlat_vj6dk") +Button/styles/disabled = SubResource("StyleBoxFlat_cjfk0") +Button/styles/focus = SubResource("StyleBoxEmpty_vj6dk") +Button/styles/hover = SubResource("StyleBoxFlat_wvktn") +Button/styles/hover_pressed = SubResource("StyleBoxFlat_110ce") Button/styles/normal = SubResource("StyleBoxFlat_110ce") Button/styles/pressed = SubResource("StyleBoxFlat_05tig") ItemList/colors/font_color = Color(0.9137255, 0.8980392, 0.7921569, 1)