From cb2b0ace6fd8eea01d9d9f3d048a33dff47168d1 Mon Sep 17 00:00:00 2001 From: sysek Date: Wed, 7 Jan 2026 14:18:34 +0100 Subject: [PATCH 1/2] dodanie klasy netrunner --- assets/templates/netrunner.json | 169 +++++++++++ .../new_character/new_character.gd | 270 +++++------------- .../new_character/new_character.tscn | 26 +- scenes/global.gd | 2 - 4 files changed, 267 insertions(+), 200 deletions(-) create mode 100644 assets/templates/netrunner.json diff --git a/assets/templates/netrunner.json b/assets/templates/netrunner.json new file mode 100644 index 0000000..6601c5d --- /dev/null +++ b/assets/templates/netrunner.json @@ -0,0 +1,169 @@ +{ + "netrunner": { + "rolls": { + "1": { + "INT": 5.0, + "REF": 8.0, + "ZW": 7.0, + "TECH": 7.0, + "CHA": 7.0, + "SW": 4.0, + "SZ": 8.0, + "RUCH": 7.0, + "BC": 7.0, + "EMP": 4.0, + "PW": 0.0, + "CZL": 0.0 + }, + "2": { + "INT": 5.0, + "REF": 6.0, + "ZW": 7.0, + "TECH": 5.0, + "CHA": 8.0, + "SW": 3.0, + "SZ": 8.0, + "RUCH": 7.0, + "BC": 5.0, + "EMP": 5.0, + "PW": 0.0, + "CZL": 0.0 + }, + "3": { + "INT": 5.0, + "REF": 6.0, + "ZW": 8.0, + "TECH": 6.0, + "CHA": 6.0, + "SW": 4.0, + "SZ": 7.0, + "RUCH": 6.0, + "BC": 7.0, + "EMP": 4.0, + "PW": 0.0, + "CZL": 0.0 + }, + "4": { + "INT": 5.0, + "REF": 7.0, + "ZW": 7.0, + "TECH": 7.0, + "CHA": 7.0, + "SW": 5.0, + "SZ": 8.0, + "RUCH": 6.0, + "BC": 5.0, + "EMP": 5.0, + "PW": 0.0, + "CZL": 0.0 + }, + "5": { + "INT": 5.0, + "REF": 8.0, + "ZW": 8.0, + "TECH": 5.0, + "CHA": 7.0, + "SW": 3.0, + "SZ": 7.0, + "RUCH": 5.0, + "BC": 5.0, + "EMP": 6.0, + "PW": 0.0, + "CZL": 0.0 + }, + "6": { + "INT": 6.0, + "REF": 6.0, + "ZW": 6.0, + "TECH": 7.0, + "CHA": 8.0, + "SW": 4.0, + "SZ": 7.0, + "RUCH": 7.0, + "BC": 6.0, + "EMP": 6.0, + "PW": 0.0, + "CZL": 0.0 + }, + "7": { + "INT": 6.0, + "REF": 6.0, + "ZW": 6.0, + "TECH": 7.0, + "CHA": 6.0, + "SW": 5.0, + "SZ": 7.0, + "RUCH": 7.0, + "BC": 7.0, + "EMP": 6.0, + "PW": 0.0, + "CZL": 0.0 + }, + "8": { + "INT": 5.0, + "REF": 6.0, + "ZW": 8.0, + "TECH": 6.0, + "CHA": 8.0, + "SW": 4.0, + "SZ": 8.0, + "RUCH": 5.0, + "BC": 7.0, + "EMP": 4.0, + "PW": 0.0, + "CZL": 0.0 + }, + "9": { + "INT": 7.0, + "REF": 6.0, + "ZW": 7.0, + "TECH": 7.0, + "CHA": 6.0, + "SW": 3.0, + "SZ": 6.0, + "RUCH": 5.0, + "BC": 6.0, + "EMP": 5.0, + "PW": 0.0, + "CZL": 0.0 + }, + "10": { + "INT": 7.0, + "REF": 8.0, + "ZW": 6.0, + "TECH": 6.0, + "CHA": 6.0, + "SW": 4.0, + "SZ": 7.0, + "RUCH": 7.0, + "BC": 5.0, + "EMP": 6.0, + "PW": 0.0, + "CZL": 0.0 + } + }, + "umiejetnosci": { + "Atletyka": 2.0, + "Bijatyka": 2.0, + "Język (slang uliczny)": 2.0, + "Koncentracja": 2.0, + "Konwersacja": 2.0, + "Odczytywanie emocji": 2.0, + "Percepcja": 2.0, + "Perswazja": 2.0, + "Pierwsza pomoc": 2.0, + "Skradanie się": 6.0, + "Unik": 6.0, + "Wiedza lokalna": 2.0, + "Wykształcenie": 6.0, + "Broń krótka": 6.0, + "Cyberinżynieria": 6.0, + "Elektronika i zabezpieczenia (x2)": 6.0, + "Kryptografia": 6.0, + "Podstawowe naprawy": 6.0, + "Przeszukiwanie naprawy": 6.0, + "Przeszukiwanie baz danych": 6.0, + "Ukrycie/Znalezienie przedmotu": 6.0 + } + } +} diff --git a/scenes/create_player/new_character/new_character.gd b/scenes/create_player/new_character/new_character.gd index 5423408..c794618 100644 --- a/scenes/create_player/new_character/new_character.gd +++ b/scenes/create_player/new_character/new_character.gd @@ -7,163 +7,24 @@ extends Control @onready var netrunner_cb = get_node("Rola/NetrunnerCB") @onready var button_roll = $"../../Top/TopMenu/ButtonRoll" +@onready var um_container = get_node("Umiejetnosci/GridContainer") -enum Chum { SOLO, NETRUNNER, KORPO } - -## Słownik zawierający szablony dla klasy netrunner -var netrunner: Dictionary = { - 1: { - "INT": 5, - "REF": 8, - "ZW": 7, - "TECH": 7, - "CHA": 7, - "SW": 4, - "SZ": 8, - "RUCH": 7, - "BC": 7, - "EMP": 4, - "PW": 0, - "CZL": 0, - }, - 2: { - "INT": 5, - "REF": 6, - "ZW": 7, - "TECH": 5, - "CHA": 8, - "SW": 3, - "SZ": 8, - "RUCH": 7, - "BC": 5, - "EMP": 5, - "PW": 0, - "CZL": 0, - }, - 3: { - "INT": 5, - "REF": 6, - "ZW": 8, - "TECH": 6, - "CHA": 6, - "SW": 4, - "SZ": 7, - "RUCH": 6, - "BC": 7, - "EMP": 4, - "PW": 0, - "CZL": 0, - }, - 4: { - "INT": 5, - "REF": 7, - "ZW": 7, - "TECH": 7, - "CHA": 7, - "SW": 5, - "SZ": 8, - "RUCH": 6, - "BC": 5, - "EMP": 5, - "PW": 0, - "CZL": 0, - }, - 5: { - "INT": 5, - "REF": 8, - "ZW": 8, - "TECH": 5, - "CHA": 7, - "SW": 3, - "SZ": 7, - "RUCH": 5, - "BC": 5, - "EMP": 6, - "PW": 0, - "CZL": 0, - }, - 6: { - "INT": 6, - "REF": 6, - "ZW": 6, - "TECH": 7, - "CHA": 8, - "SW": 4, - "SZ": 7, - "RUCH": 7, - "BC": 6, - "EMP": 6, - "PW": 0, - "CZL": 0, - }, - 7: { - "INT": 6, - "REF": 6, - "ZW": 6, - "TECH": 7, - "CHA": 6, - "SW": 5, - "SZ": 7, - "RUCH": 7, - "BC": 7, - "EMP": 6, - "PW": 0, - "CZL": 0, - }, - 8: { - "INT": 5, - "REF": 6, - "ZW": 8, - "TECH": 6, - "CHA": 8, - "SW": 4, - "SZ": 8, - "RUCH": 5, - "BC": 7, - "EMP": 4, - "PW": 0, - "CZL": 0, - }, - 9: { - "INT": 7, - "REF": 6, - "ZW": 7, - "TECH": 7, - "CHA": 6, - "SW": 3, - "SZ": 6, - "RUCH": 5, - "BC": 6, - "EMP": 5, - "PW": 0, - "CZL": 0, - }, - 10: { - "INT": 7, - "REF": 8, - "ZW": 6, - "TECH": 6, - "CHA": 6, - "SW": 4, - "SZ": 7, - "RUCH": 7, - "BC": 5, - "EMP": 6, - "PW": 0, - "CZL": 0, - }, +enum Chum { + SOLO, + NETRUNNER, + KORPO, } +## Słownik zawierający szablon dla klasy netrunner +var netrunner: Dictionary = {} +# Plik z szablonem +var NETRUNNER_TEMPLATE = "res://assets/templates/netrunner.json" + -## !! FUNKCJA TESTOWA !! -func test() -> void: - pass - func _ready() -> void: var stats = get_tree().get_nodes_in_group("stats") - + button_roll.disabled = true - for stat in stats: stat.text = "0" @@ -175,8 +36,73 @@ func _draw() -> void: button_roll.disabled = !button_roll.disabled +## Metoda która wczytuje plik json zawierający szablony +## dla odpowiednich klas +func load_template(): + var file = FileAccess.open(NETRUNNER_TEMPLATE, FileAccess.READ) + + var json = file.get_as_text() + var json_object = JSON.new() + + json_object.parse(json) + netrunner = json_object.data + + return netrunner + + +func create_character(roll, chum: int) -> void: + var stats_group = get_tree().get_nodes_in_group("stats") + var template = load_template() + var um + var player + + match chum: + 1: + player = template["netrunner"]["rolls"][roll] + um = template["netrunner"]["umiejetnosci"] + _: + print(":(") + + player["PW"] = wylicz_pw(player) + player["CZL"] = wylicz_czl(player) + + if chum <= 1: + for i in range(stats_group.size()): + stats_group[i].text = str(int(player.values()[i])) + + var labels: Array[Label] + var um_place = "%s: %s" + + for i in range(um.size()): + var label: Label = Label.new() + label.name = um.keys()[i] + label.text = um_place % [(um.keys()[i]), str(int(um.values()[i]))] + labels.append(label) + + for label in labels: + um_container.add_child(label) + + if chum == Chum.NETRUNNER: + print("[%s] PW: %d, CZŁ: %d" % ["Netrunner", player["PW"], player["CZL"]]) + + +func wylicz_pw(player) -> int: + var bc = player["INT"] + var sw = player["SW"] + + var pw = 10 + (5 * ceil(lerp(bc, sw, 0.5))) + + return pw + + +func wylicz_czl(player) -> int: + var emp = player["EMP"] + var czl = emp * 10 + + return czl + func _on_button_roll_pressed() -> void: - var roll = Global.rolld(10) + var roll = str(Global.rolld(10)) var button_pressed = rola_cb.get_pressed_button() var chum @@ -189,43 +115,5 @@ func _on_button_roll_pressed() -> void: chum = Chum.KORPO - print("Rzut wynosi: %d a klasa to %s" % [roll, chum]) - character_template(roll, chum) - - -func character_template(roll: int, chum: int) -> void: - var stats_group = get_tree().get_nodes_in_group("stats") - var _netrunner = netrunner.duplicate() - var template - - match chum: - 1: - template = _netrunner.get(roll) - _: - print(":(") - - template["PW"] = wylicz_pw(template) - template["CZL"] = wylicz_czl(template) - - if chum <= 1: - for i in range(stats_group.size()): - stats_group[i].text = str(template.values()[i]) - - if chum == Chum.NETRUNNER: - print("[%s] PW: %d, CZŁ: %d" % ["Netrunner", template["PW"], template["CZL"]]) - - -func wylicz_pw(template: Dictionary) -> int: - var bc = template["INT"] - var sw = template["SW"] - - var pw = 10 + (5 * ceil(lerp(bc, sw, 0.5))) - - return pw - - -func wylicz_czl(template: Dictionary) -> int: - var emp = template["EMP"] - var czl = emp * 10 - - return czl + print("Rzut wynosi: %s a klasa to %s" % [roll, chum]) + create_character(roll, chum) diff --git a/scenes/create_player/new_character/new_character.tscn b/scenes/create_player/new_character/new_character.tscn index 01015d9..368a24e 100644 --- a/scenes/create_player/new_character/new_character.tscn +++ b/scenes/create_player/new_character/new_character.tscn @@ -8,13 +8,7 @@ [node name="NewCharacter" 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 +anchors_preset = 0 theme = ExtResource("1_mks5g") script = ExtResource("2_mks5g") rola_cb = ExtResource("3_xx3y5") @@ -113,3 +107,21 @@ button_group = ExtResource("5_3ifvl") [node name="KompletnyPakiet" type="Label" parent="Metody"] layout_mode = 2 text = "Kompletny Pakiet" + +[node name="Umiejetnosci" type="ScrollContainer" parent="."] +layout_mode = 0 +offset_left = 8.0 +offset_top = 200.0 +offset_right = 584.0 +offset_bottom = 484.0 + +[node name="GridContainer" type="VBoxContainer" parent="Umiejetnosci"] +layout_mode = 2 + +[node name="Umiejetnosci2" type="Label" parent="."] +layout_mode = 0 +offset_left = 16.0 +offset_top = 160.0 +offset_right = 56.0 +offset_bottom = 188.0 +text = "Umiejętności" diff --git a/scenes/global.gd b/scenes/global.gd index 0f5340d..3f13026 100644 --- a/scenes/global.gd +++ b/scenes/global.gd @@ -1,6 +1,4 @@ extends Node -var roll: int = 0 - func rolld(d: int) -> int: return randi_range(1, d) -- 2.34.1 From 69e570b936540d5ef92f339fc74018a08827a408 Mon Sep 17 00:00:00 2001 From: sysek Date: Sun, 11 Jan 2026 19:31:26 +0100 Subject: [PATCH 2/2] netrunner class --- assets/templates/netrunner.json | 4 +- assets/themes/main_theme.tres | 2 +- project.godot | 2 +- scenes/{ => create_player}/global.gd | 0 scenes/{ => create_player}/global.gd.uid | 0 scenes/create_player/main.gd | 24 -- scenes/create_player/main.gd.uid | 1 - scenes/create_player/main.tscn | 108 ------- .../{new_character => }/new_character.gd | 50 ++-- .../{new_character => }/new_character.gd.uid | 0 scenes/create_player/new_character.tscn | 279 ++++++++++++++++++ .../new_character/new_character.tscn | 127 -------- .../new_character/notification.tscn | 11 - scenes/create_player/new_character/stats.tscn | 104 ------- .../metody_cb.tres | 0 scenes/create_player/resource/player_stats.gd | 25 ++ .../resource/player_stats.gd.uid | 1 + .../create_player/resource/player_stats.tres | 6 + .../{new_character => resource}/rola_cb.tres | 0 19 files changed, 345 insertions(+), 399 deletions(-) rename scenes/{ => create_player}/global.gd (100%) rename scenes/{ => create_player}/global.gd.uid (100%) delete mode 100644 scenes/create_player/main.gd delete mode 100644 scenes/create_player/main.gd.uid delete mode 100644 scenes/create_player/main.tscn rename scenes/create_player/{new_character => }/new_character.gd (69%) rename scenes/create_player/{new_character => }/new_character.gd.uid (100%) create mode 100644 scenes/create_player/new_character.tscn delete mode 100644 scenes/create_player/new_character/new_character.tscn delete mode 100644 scenes/create_player/new_character/notification.tscn delete mode 100644 scenes/create_player/new_character/stats.tscn rename scenes/create_player/{new_character => resource}/metody_cb.tres (100%) create mode 100644 scenes/create_player/resource/player_stats.gd create mode 100644 scenes/create_player/resource/player_stats.gd.uid create mode 100644 scenes/create_player/resource/player_stats.tres rename scenes/create_player/{new_character => resource}/rola_cb.tres (100%) diff --git a/assets/templates/netrunner.json b/assets/templates/netrunner.json index 6601c5d..032f0e6 100644 --- a/assets/templates/netrunner.json +++ b/assets/templates/netrunner.json @@ -164,6 +164,8 @@ "Przeszukiwanie naprawy": 6.0, "Przeszukiwanie baz danych": 6.0, "Ukrycie/Znalezienie przedmotu": 6.0 - } + }, + "bron": [], + "pancerz": [], } } diff --git a/assets/themes/main_theme.tres b/assets/themes/main_theme.tres index ca3781b..1c7abef 100644 --- a/assets/themes/main_theme.tres +++ b/assets/themes/main_theme.tres @@ -10,7 +10,7 @@ [resource] default_font = ExtResource("6_4fp8c") -default_font_size = 32 +default_font_size = 24 Button/styles/focus = SubResource("StyleBoxEmpty_axncs") Button/styles/hover = ExtResource("1_axncs") Button/styles/normal = ExtResource("1_vhku8") diff --git a/project.godot b/project.godot index 5009bde..8f38199 100644 --- a/project.godot +++ b/project.godot @@ -16,7 +16,7 @@ config/features=PackedStringArray("4.5", "Forward Plus") [autoload] -Global="*res://scenes/global.gd" +Global="*res://scenes/create_player/global.gd" [display] diff --git a/scenes/global.gd b/scenes/create_player/global.gd similarity index 100% rename from scenes/global.gd rename to scenes/create_player/global.gd diff --git a/scenes/global.gd.uid b/scenes/create_player/global.gd.uid similarity index 100% rename from scenes/global.gd.uid rename to scenes/create_player/global.gd.uid diff --git a/scenes/create_player/main.gd b/scenes/create_player/main.gd deleted file mode 100644 index 068c05e..0000000 --- a/scenes/create_player/main.gd +++ /dev/null @@ -1,24 +0,0 @@ -extends Control - -## Scene variables -@onready var new_character = get_node("Character/NewCharacter") - -## Vars -@onready var button_new = get_node("Menu/ButtonNew") -@onready var menu = get_node("Menu") - -func _ready() -> void: - pass - -func _on_button_quit_pressed() -> void: - get_tree().quit() - -func _on_new_pressed() -> void: - toggle_mode() - -func toggle_mode() -> void: - new_character.visible = !new_character.visible - if menu.is_visible_in_tree(): - menu.hide() - else: - menu.show() diff --git a/scenes/create_player/main.gd.uid b/scenes/create_player/main.gd.uid deleted file mode 100644 index ec6bd14..0000000 --- a/scenes/create_player/main.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://djdhpn3mtkuh3 diff --git a/scenes/create_player/main.tscn b/scenes/create_player/main.tscn deleted file mode 100644 index b2d3123..0000000 --- a/scenes/create_player/main.tscn +++ /dev/null @@ -1,108 +0,0 @@ -[gd_scene load_steps=7 format=3 uid="uid://dt41bt5fi3t47"] - -[ext_resource type="Theme" uid="uid://dy41x4ott07ql" path="res://assets/themes/main_theme.tres" id="2_s4h7g"] -[ext_resource type="Script" uid="uid://djdhpn3mtkuh3" path="res://scenes/create_player/main.gd" id="2_ysn76"] -[ext_resource type="PackedScene" uid="uid://odjphawrdiw8" path="res://scenes/create_player/new_character/new_character.tscn" id="3_ysn76"] - -[sub_resource type="ButtonGroup" id="ButtonGroup_ysn76"] - -[sub_resource type="ButtonGroup" id="ButtonGroup_g4ktg"] - -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yty2c"] - -[node name="Main" type="Control"] -custom_minimum_size = Vector2(640, 480) -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme = ExtResource("2_s4h7g") -script = ExtResource("2_ysn76") - -[node name="Background" type="ColorRect" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -color = Color(0.050980393, 0.15294118, 0.19607843, 1) - -[node name="Top" type="MarginContainer" parent="."] -layout_mode = 1 -anchors_preset = 10 -anchor_right = 1.0 -offset_bottom = 38.0 -grow_horizontal = 2 -theme_override_constants/margin_left = 5 -theme_override_constants/margin_top = 5 -theme_override_constants/margin_right = 5 -theme_override_constants/margin_bottom = 5 - -[node name="TopMenu" type="HBoxContainer" parent="Top"] -layout_mode = 2 - -[node name="ButtonQuit" type="Button" parent="Top/TopMenu"] -layout_mode = 2 -text = "Quit -" - -[node name="VSeparator" type="VSeparator" parent="Top/TopMenu"] -layout_mode = 2 - -[node name="ButtonSave" type="Button" parent="Top/TopMenu"] -layout_mode = 2 -text = "SAVE" - -[node name="ButtonRoll" type="Button" parent="Top/TopMenu"] -layout_mode = 2 -text = "ROLL" - -[node name="ButtonTest" type="Button" parent="Top/TopMenu"] -layout_mode = 2 -text = "!! TEST !!" - -[node name="Character" type="MarginContainer" parent="."] -layout_mode = 0 -offset_left = 8.0 -offset_top = 56.0 -offset_right = 792.0 -offset_bottom = 584.0 -theme_override_constants/margin_left = 5 -theme_override_constants/margin_top = 5 -theme_override_constants/margin_right = 5 -theme_override_constants/margin_bottom = 5 - -[node name="NewCharacter" parent="Character" instance=ExtResource("3_ysn76")] -visible = false -layout_mode = 2 -rola_cb = SubResource("ButtonGroup_ysn76") -metody_cb = SubResource("ButtonGroup_g4ktg") - -[node name="Menu" type="VBoxContainer" parent="."] -layout_mode = 1 -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -80.0 -offset_top = 56.0 -offset_right = 76.0 -offset_bottom = 134.0 -grow_horizontal = 2 - -[node name="ButtonNew" type="Button" parent="Menu"] -layout_mode = 2 -theme_override_styles/focus = SubResource("StyleBoxEmpty_yty2c") -text = "Nowa postać" - -[node name="ButtonLoad" type="Button" parent="Menu"] -layout_mode = 2 -theme_override_styles/focus = SubResource("StyleBoxEmpty_yty2c") -disabled = true -text = "Załaduj" - -[connection signal="pressed" from="Top/TopMenu/ButtonQuit" to="." method="_on_button_quit_pressed"] -[connection signal="pressed" from="Top/TopMenu/ButtonRoll" to="Character/NewCharacter" method="_on_button_roll_pressed"] -[connection signal="pressed" from="Menu/ButtonNew" to="." method="_on_new_pressed"] diff --git a/scenes/create_player/new_character/new_character.gd b/scenes/create_player/new_character.gd similarity index 69% rename from scenes/create_player/new_character/new_character.gd rename to scenes/create_player/new_character.gd index c794618..377cdd6 100644 --- a/scenes/create_player/new_character/new_character.gd +++ b/scenes/create_player/new_character.gd @@ -5,9 +5,11 @@ extends Control @export var rola_cb: ButtonGroup @export var metody_cb: ButtonGroup -@onready var netrunner_cb = get_node("Rola/NetrunnerCB") -@onready var button_roll = $"../../Top/TopMenu/ButtonRoll" -@onready var um_container = get_node("Umiejetnosci/GridContainer") +@onready var stats = $Stats +@onready var roll_button = $Top/TopMenu/Roll +@onready var quit_button = $Top/TopMenu/Quit +@onready var um_container = $Umiejetnosci/GridContainer +@onready var roll_label = $Stats/Roll2 enum Chum { SOLO, @@ -22,18 +24,15 @@ var NETRUNNER_TEMPLATE = "res://assets/templates/netrunner.json" func _ready() -> void: - var stats = get_tree().get_nodes_in_group("stats") + var stats_group = get_tree().get_nodes_in_group("stats") - button_roll.disabled = true - for stat in stats: + for stat in stats_group: stat.text = "0" - - -func _draw() -> void: - var stats_scene = get_node("Stats") + - if stats_scene.is_visible_in_tree(): - button_roll.disabled = !button_roll.disabled + + quit_button.pressed.connect(_on_button_quit_pressed) + roll_button.pressed.connect(_on_button_roll_pressed) ## Metoda która wczytuje plik json zawierający szablony @@ -50,6 +49,12 @@ func load_template(): return netrunner +## Metoda która zapisuje postać +func save_character(): + pass + + +## Główna metoda do tworzenia postaci func create_character(roll, chum: int) -> void: var stats_group = get_tree().get_nodes_in_group("stats") var template = load_template() @@ -71,19 +76,18 @@ func create_character(roll, chum: int) -> void: stats_group[i].text = str(int(player.values()[i])) var labels: Array[Label] - var um_place = "%s: %s" + var um_place = "{name}: {value}" for i in range(um.size()): var label: Label = Label.new() label.name = um.keys()[i] - label.text = um_place % [(um.keys()[i]), str(int(um.values()[i]))] + label.text = um_place.format( + {"name": um.keys()[i], "value": int(um.values()[i])}) labels.append(label) - for label in labels: - um_container.add_child(label) - - if chum == Chum.NETRUNNER: - print("[%s] PW: %d, CZŁ: %d" % ["Netrunner", player["PW"], player["CZL"]]) + if um_container.get_child_count() == 0: + for label in labels: + um_container.add_child(label) func wylicz_pw(player) -> int: @@ -106,6 +110,8 @@ func _on_button_roll_pressed() -> void: var button_pressed = rola_cb.get_pressed_button() var chum + roll_label.text = roll + match button_pressed.name: "SoloCB": chum = Chum.SOLO @@ -113,7 +119,9 @@ func _on_button_roll_pressed() -> void: chum = Chum.NETRUNNER "KorpoCB": chum = Chum.KORPO - - print("Rzut wynosi: %s a klasa to %s" % [roll, chum]) create_character(roll, chum) + + +func _on_button_quit_pressed() -> void: + get_tree().quit() diff --git a/scenes/create_player/new_character/new_character.gd.uid b/scenes/create_player/new_character.gd.uid similarity index 100% rename from scenes/create_player/new_character/new_character.gd.uid rename to scenes/create_player/new_character.gd.uid diff --git a/scenes/create_player/new_character.tscn b/scenes/create_player/new_character.tscn new file mode 100644 index 0000000..b24aacb --- /dev/null +++ b/scenes/create_player/new_character.tscn @@ -0,0 +1,279 @@ +[gd_scene load_steps=5 format=3 uid="uid://dt41bt5fi3t47"] + +[ext_resource type="Script" uid="uid://be8pfcpjesmal" path="res://scenes/create_player/new_character.gd" id="2_g4ktg"] +[ext_resource type="Theme" uid="uid://dy41x4ott07ql" path="res://assets/themes/main_theme.tres" id="2_s4h7g"] +[ext_resource type="ButtonGroup" uid="uid://b18rjpsr6uaw4" path="res://scenes/create_player/resource/rola_cb.tres" id="3_g4ktg"] +[ext_resource type="ButtonGroup" uid="uid://blusey675offa" path="res://scenes/create_player/resource/metody_cb.tres" id="4_hip5e"] + +[node name="NewCharacter" type="Control"] +custom_minimum_size = Vector2(640, 480) +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_s4h7g") +script = ExtResource("2_g4ktg") +rola_cb = ExtResource("3_g4ktg") +metody_cb = ExtResource("4_hip5e") + +[node name="Background" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.050980393, 0.15294118, 0.19607843, 1) + +[node name="Top" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 38.0 +grow_horizontal = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="TopMenu" type="HBoxContainer" parent="Top"] +layout_mode = 2 + +[node name="Quit" type="Button" parent="Top/TopMenu"] +layout_mode = 2 +text = "Quit +" + +[node name="Separator" type="VSeparator" parent="Top/TopMenu"] +layout_mode = 2 + +[node name="Save" type="Button" parent="Top/TopMenu"] +layout_mode = 2 +text = "SAVE" + +[node name="Roll" type="Button" parent="Top/TopMenu"] +layout_mode = 2 +text = "ROLL" + +[node name="Test" type="Button" parent="Top/TopMenu"] +layout_mode = 2 +text = "!! TEST !!" + +[node name="Ksywa" type="Label" parent="."] +layout_mode = 0 +offset_left = 8.0 +offset_top = 48.0 +offset_right = 58.0 +offset_bottom = 69.0 +text = "Ksywa" + +[node name="KsywaInput" type="LineEdit" parent="."] +layout_mode = 0 +offset_left = 64.0 +offset_top = 48.0 +offset_right = 320.0 +offset_bottom = 77.0 + +[node name="Rola" type="GridContainer" parent="."] +clip_contents = true +layout_mode = 0 +offset_left = 328.0 +offset_top = 48.0 +offset_right = 448.0 +offset_bottom = 134.0 +columns = 2 + +[node name="NetrunnerCB" type="CheckBox" parent="Rola"] +layout_mode = 2 +button_pressed = true +button_group = ExtResource("3_g4ktg") + +[node name="Netrunner" type="Label" parent="Rola"] +layout_mode = 2 +text = "Netrunner" + +[node name="SoloCB" type="CheckBox" parent="Rola"] +layout_mode = 2 +disabled = true +button_group = ExtResource("3_g4ktg") + +[node name="Solo" type="Label" parent="Rola"] +layout_mode = 2 +text = "Solo" + +[node name="KorpoCB" type="CheckBox" parent="Rola"] +layout_mode = 2 +disabled = true +button_group = ExtResource("3_g4ktg") + +[node name="Korpo" type="Label" parent="Rola"] +layout_mode = 2 +text = "Korpo" + +[node name="Metody" type="GridContainer" parent="."] +clip_contents = true +layout_mode = 0 +offset_left = 464.0 +offset_top = 48.0 +offset_right = 654.0 +offset_bottom = 134.0 +columns = 2 + +[node name="UlicznicyCB" type="CheckBox" parent="Metody"] +layout_mode = 2 +button_pressed = true +button_group = ExtResource("4_hip5e") + +[node name="Ulicznicy" type="Label" parent="Metody"] +layout_mode = 2 +text = "Ulicznicy" + +[node name="KrawedziarzCB" type="CheckBox" parent="Metody"] +layout_mode = 2 +disabled = true +button_group = ExtResource("4_hip5e") + +[node name="Krawedziarz" type="Label" parent="Metody"] +layout_mode = 2 +text = "Krawędziarz" + +[node name="KompletnyPakietCB" type="CheckBox" parent="Metody"] +layout_mode = 2 +disabled = true +button_group = ExtResource("4_hip5e") + +[node name="KompletnyPakiet" type="Label" parent="Metody"] +layout_mode = 2 +text = "Kompletny Pakiet" + +[node name="Stats" type="GridContainer" parent="."] +layout_mode = 0 +offset_left = 696.0 +offset_top = 48.0 +offset_right = 788.0 +offset_bottom = 592.0 +columns = 2 + +[node name="Inteligencja" type="Label" parent="Stats"] +layout_mode = 2 +text = "INT" + +[node name="Int" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Refleks" type="Label" parent="Stats"] +layout_mode = 2 +text = "REF" + +[node name="Ref" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Zwinnosc" type="Label" parent="Stats"] +layout_mode = 2 +text = "ZW" + +[node name="Zw" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Technika" type="Label" parent="Stats"] +layout_mode = 2 +text = "TECH" + +[node name="Tech" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Charakter" type="Label" parent="Stats"] +layout_mode = 2 +text = "CHA" + +[node name="Cha" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="SilaWoli" type="Label" parent="Stats"] +layout_mode = 2 +text = "SW" + +[node name="Sw" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Szcescie" type="Label" parent="Stats"] +layout_mode = 2 +text = "SZ" + +[node name="Sz" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Ruch" type="Label" parent="Stats"] +layout_mode = 2 +text = "RUCH" + +[node name="Ruch2" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="BudowaCiala" type="Label" parent="Stats"] +layout_mode = 2 +text = "BC" + +[node name="Bc" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Empatia" type="Label" parent="Stats"] +layout_mode = 2 +text = "EMP" + +[node name="Emp" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="PunktyWytrzymalosci" type="Label" parent="Stats"] +layout_mode = 2 +text = "PW" + +[node name="Pw" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Czlowieczenstwo" type="Label" parent="Stats"] +layout_mode = 2 +text = "CZŁ" + +[node name="Czl" type="LineEdit" parent="Stats" groups=["stats"]] +layout_mode = 2 +editable = false + +[node name="Roll" type="Label" parent="Stats"] +layout_mode = 2 +text = "ROLL" + +[node name="Roll2" type="LineEdit" parent="Stats"] +layout_mode = 2 +editable = false + +[node name="Umiejetnosci2" type="Label" parent="."] +layout_mode = 0 +offset_left = 8.0 +offset_top = 104.0 +offset_right = 128.0 +offset_bottom = 125.0 +text = "Umiejętności" + +[node name="Umiejetnosci" type="ScrollContainer" parent="."] +layout_mode = 0 +offset_left = 8.0 +offset_top = 136.0 +offset_right = 688.0 +offset_bottom = 592.0 + +[node name="GridContainer" type="VBoxContainer" parent="Umiejetnosci"] +layout_mode = 2 diff --git a/scenes/create_player/new_character/new_character.tscn b/scenes/create_player/new_character/new_character.tscn deleted file mode 100644 index 368a24e..0000000 --- a/scenes/create_player/new_character/new_character.tscn +++ /dev/null @@ -1,127 +0,0 @@ -[gd_scene load_steps=6 format=3 uid="uid://odjphawrdiw8"] - -[ext_resource type="Theme" uid="uid://dy41x4ott07ql" path="res://assets/themes/main_theme.tres" id="1_mks5g"] -[ext_resource type="Script" uid="uid://be8pfcpjesmal" path="res://scenes/create_player/new_character/new_character.gd" id="2_mks5g"] -[ext_resource type="ButtonGroup" uid="uid://b18rjpsr6uaw4" path="res://scenes/create_player/new_character/rola_cb.tres" id="3_xx3y5"] -[ext_resource type="PackedScene" uid="uid://p5nhkod3yaf0" path="res://scenes/create_player/new_character/stats.tscn" id="4_w7nxs"] -[ext_resource type="ButtonGroup" uid="uid://blusey675offa" path="res://scenes/create_player/new_character/metody_cb.tres" id="5_3ifvl"] - -[node name="NewCharacter" type="Control"] -layout_mode = 3 -anchors_preset = 0 -theme = ExtResource("1_mks5g") -script = ExtResource("2_mks5g") -rola_cb = ExtResource("3_xx3y5") -metody_cb = ExtResource("5_3ifvl") - -[node name="Ksywa" type="Label" parent="."] -layout_mode = 0 -offset_left = 8.0 -offset_top = 12.0 -offset_right = 75.0 -offset_bottom = 44.0 -text = "Ksywa" - -[node name="KsywaInput" type="LineEdit" parent="."] -layout_mode = 0 -offset_left = 78.0 -offset_top = 12.0 -offset_right = 448.0 -offset_bottom = 48.0 - -[node name="Rola" type="GridContainer" parent="."] -clip_contents = true -layout_mode = 0 -offset_left = 272.0 -offset_top = 60.0 -offset_right = 422.0 -offset_bottom = 152.0 -columns = 2 - -[node name="NetrunnerCB" type="CheckBox" parent="Rola"] -layout_mode = 2 -button_pressed = true -button_group = ExtResource("3_xx3y5") - -[node name="Netrunner" type="Label" parent="Rola"] -layout_mode = 2 -text = "Netrunner" - -[node name="SoloCB" type="CheckBox" parent="Rola"] -layout_mode = 2 -disabled = true -button_group = ExtResource("3_xx3y5") - -[node name="Solo" type="Label" parent="Rola"] -layout_mode = 2 -text = "Solo" - -[node name="KorpoCB" type="CheckBox" parent="Rola"] -layout_mode = 2 -disabled = true -button_group = ExtResource("3_xx3y5") - -[node name="Korpo" type="Label" parent="Rola"] -layout_mode = 2 -text = "Korpo" - -[node name="Stats" parent="." instance=ExtResource("4_w7nxs")] -layout_mode = 0 -offset_left = 600.0 -offset_top = 8.0 -offset_right = 824.0 -offset_bottom = 404.0 - -[node name="Metody" type="GridContainer" parent="."] -clip_contents = true -layout_mode = 0 -offset_left = 8.0 -offset_top = 56.0 -offset_right = 251.0 -offset_bottom = 148.0 -columns = 2 - -[node name="UlicznicyCB" type="CheckBox" parent="Metody"] -layout_mode = 2 -button_pressed = true -button_group = ExtResource("5_3ifvl") - -[node name="Ulicznicy" type="Label" parent="Metody"] -layout_mode = 2 -text = "Ulicznicy" - -[node name="KrawedziarzCB" type="CheckBox" parent="Metody"] -layout_mode = 2 -disabled = true -button_group = ExtResource("5_3ifvl") - -[node name="Krawedziarz" type="Label" parent="Metody"] -layout_mode = 2 -text = "Krawędziarz" - -[node name="KompletnyPakietCB" type="CheckBox" parent="Metody"] -layout_mode = 2 -disabled = true -button_group = ExtResource("5_3ifvl") - -[node name="KompletnyPakiet" type="Label" parent="Metody"] -layout_mode = 2 -text = "Kompletny Pakiet" - -[node name="Umiejetnosci" type="ScrollContainer" parent="."] -layout_mode = 0 -offset_left = 8.0 -offset_top = 200.0 -offset_right = 584.0 -offset_bottom = 484.0 - -[node name="GridContainer" type="VBoxContainer" parent="Umiejetnosci"] -layout_mode = 2 - -[node name="Umiejetnosci2" type="Label" parent="."] -layout_mode = 0 -offset_left = 16.0 -offset_top = 160.0 -offset_right = 56.0 -offset_bottom = 188.0 -text = "Umiejętności" diff --git a/scenes/create_player/new_character/notification.tscn b/scenes/create_player/new_character/notification.tscn deleted file mode 100644 index 3655ae2..0000000 --- a/scenes/create_player/new_character/notification.tscn +++ /dev/null @@ -1,11 +0,0 @@ -[gd_scene format=3 uid="uid://bhvrnh1s3pktt"] - -[node name="Notification" type="Control"] -layout_mode = 3 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -grow_horizontal = 2 -grow_vertical = 2 diff --git a/scenes/create_player/new_character/stats.tscn b/scenes/create_player/new_character/stats.tscn deleted file mode 100644 index 282c95e..0000000 --- a/scenes/create_player/new_character/stats.tscn +++ /dev/null @@ -1,104 +0,0 @@ -[gd_scene format=3 uid="uid://p5nhkod3yaf0"] - -[node name="Stats" type="GridContainer"] -offset_left = 240.0 -offset_right = 464.0 -offset_bottom = 396.0 -theme_override_constants/h_separation = 20 -columns = 2 - -[node name="Inteligencja" type="Label" parent="."] -layout_mode = 2 -text = "INT" - -[node name="Int" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="Refleks" type="Label" parent="."] -layout_mode = 2 -text = "REF" - -[node name="Ref" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="Zwinnosc" type="Label" parent="."] -layout_mode = 2 -text = "ZW" - -[node name="Zw" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="Technika" type="Label" parent="."] -layout_mode = 2 -text = "TECH" - -[node name="Tech" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="Charakter" type="Label" parent="."] -layout_mode = 2 -text = "CHA" - -[node name="Cha" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="SilaWoli" type="Label" parent="."] -layout_mode = 2 -text = "SW" - -[node name="Sw" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="Szcescie" type="Label" parent="."] -layout_mode = 2 -text = "SZ" - -[node name="Sz" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="Ruch" type="Label" parent="."] -layout_mode = 2 -text = "RUCH" - -[node name="Ruch2" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="BudowaCiala" type="Label" parent="."] -layout_mode = 2 -text = "BC" - -[node name="Bc" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="Empatia" type="Label" parent="."] -layout_mode = 2 -text = "EMP" - -[node name="Emp" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="PunktyWytrzymalosci" type="Label" parent="."] -layout_mode = 2 -text = "PW" - -[node name="Pw" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false - -[node name="Czlowieczenstwo" type="Label" parent="."] -layout_mode = 2 -text = "CZŁ" - -[node name="Czl" type="LineEdit" parent="." groups=["stats"]] -layout_mode = 2 -editable = false diff --git a/scenes/create_player/new_character/metody_cb.tres b/scenes/create_player/resource/metody_cb.tres similarity index 100% rename from scenes/create_player/new_character/metody_cb.tres rename to scenes/create_player/resource/metody_cb.tres diff --git a/scenes/create_player/resource/player_stats.gd b/scenes/create_player/resource/player_stats.gd new file mode 100644 index 0000000..973aa11 --- /dev/null +++ b/scenes/create_player/resource/player_stats.gd @@ -0,0 +1,25 @@ +class_name PlayerStats +extends Resource + +@export var inteligencja: int +@export var refleks: int +@export var zwinnosc: int +@export var tech: int +@export var charakter: int +@export var sila_woli: int +@export var szczescie: int +@export var ruch: int +@export var budowa_ciala: int +@export var empatia: int + +func _init() -> void: + inteligencja = 0 + refleks = 0 + zwinnosc = 0 + tech = 0 + charakter = 0 + sila_woli = 0 + szczescie = 0 + ruch = 0 + budowa_ciala = 0 + empatia = 0 diff --git a/scenes/create_player/resource/player_stats.gd.uid b/scenes/create_player/resource/player_stats.gd.uid new file mode 100644 index 0000000..ad62c28 --- /dev/null +++ b/scenes/create_player/resource/player_stats.gd.uid @@ -0,0 +1 @@ +uid://bb1yvhsxoh1km diff --git a/scenes/create_player/resource/player_stats.tres b/scenes/create_player/resource/player_stats.tres new file mode 100644 index 0000000..ed86547 --- /dev/null +++ b/scenes/create_player/resource/player_stats.tres @@ -0,0 +1,6 @@ +[gd_resource type="Resource" script_class="PlayerStats" load_steps=2 format=3 uid="uid://gcw04goxke0m"] + +[ext_resource type="Script" uid="uid://bb1yvhsxoh1km" path="res://scenes/create_player/resource/player_stats.gd" id="1_gll0b"] + +[resource] +script = ExtResource("1_gll0b") diff --git a/scenes/create_player/new_character/rola_cb.tres b/scenes/create_player/resource/rola_cb.tres similarity index 100% rename from scenes/create_player/new_character/rola_cb.tres rename to scenes/create_player/resource/rola_cb.tres -- 2.34.1