From 658f68365d6d6f75464efccb5a5b1f6e074598e0 Mon Sep 17 00:00:00 2001 From: Tirith Date: Thu, 6 Nov 2025 11:10:44 +0100 Subject: [PATCH] =?UTF-8?q?Obs=C5=82uga=20mod=C3=B3w?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- default_bus_layout.tres | 18 ++++++++++++++++++ mods/buildings.json | 12 ++++++++++++ scripts/BuildingsList.gd | 34 +++++++++++++++++++++++++++++++++- scripts/galaxy.gd | 2 +- scripts/planet.gd | 2 +- scripts/time_label.gd | 2 +- 6 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 mods/buildings.json diff --git a/default_bus_layout.tres b/default_bus_layout.tres index 305b0c5..5e8f932 100644 --- a/default_bus_layout.tres +++ b/default_bus_layout.tres @@ -2,3 +2,21 @@ [resource] bus/0/volume_db = 0.46499825 +bus/1/name = &"Music" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.0 +bus/1/send = &"Master" +bus/2/name = &"SFX" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"Master" +bus/3/name = &"Voices" +bus/3/solo = false +bus/3/mute = false +bus/3/bypass_fx = false +bus/3/volume_db = 0.0 +bus/3/send = &"Master" diff --git a/mods/buildings.json b/mods/buildings.json new file mode 100644 index 0000000..d87aff9 --- /dev/null +++ b/mods/buildings.json @@ -0,0 +1,12 @@ +{ + "aluminium_ore_mine": { + "name": "Kopalnia rudy aluminium", + "description": "Wydobywa boksyt.", + "resource": "aluminium", + "cost": {"iron": 500, "carbon": 200, "uranium": 50}, + "bonuses": {"biosfere": 0.1}, + "build_time": 15.0, + "texture": "res://assets/buildings/fusion_plant.png", + "required_tech": "fusion_power" + } +} diff --git a/scripts/BuildingsList.gd b/scripts/BuildingsList.gd index b6b633f..a8cc72b 100644 --- a/scripts/BuildingsList.gd +++ b/scripts/BuildingsList.gd @@ -1,6 +1,6 @@ extends Node -const BUILDINGS = { +var BUILDINGS = { "iron_mine": { "name": "Iron Mine", "description": "Pozwala wydobywać żelazo z powierzchni planety.", @@ -74,3 +74,35 @@ const BUILDINGS = { "required_tech": null } } + + +func _ready(): + _load_mod_buildings() + + +func _load_mod_buildings(): + var mod_path = "res://mods/buildings.json" + + if not FileAccess.file_exists(mod_path): + print("Brak pliku modów: ", mod_path) + return + + var file = FileAccess.open(mod_path, FileAccess.READ) + if file == null: + print("Nie można otworzyć pliku modów:", mod_path) + return + + var content = file.get_as_text() + file.close() + + var parsed = JSON.parse_string(content) + if parsed == null or typeof(parsed) != TYPE_DICTIONARY: + print("Błąd: niepoprawny format JSON w", mod_path) + return + + for key in parsed.keys(): + if not BUILDINGS.has(key): + BUILDINGS[key] = parsed[key] + print("Dodano budynek z moda:", key) + else: + print("Pominięto (już istnieje):", key) diff --git a/scripts/galaxy.gd b/scripts/galaxy.gd index 834d09f..32c3b84 100644 --- a/scripts/galaxy.gd +++ b/scripts/galaxy.gd @@ -41,7 +41,7 @@ func _generate_galaxy(count: int): print("Zatrzymano generowanie po znalezieniu %s systemów." % i) break star.get_node("Sprite2D").texture = load("res://assets/stars/s%d.png" % randi_range(1,8)) - add_child(star) + #add_child(star) # generowanie planet dla danej gwiazdy for j in range(star.planet_count): diff --git a/scripts/planet.gd b/scripts/planet.gd index 12a8080..e61247c 100644 --- a/scripts/planet.gd +++ b/scripts/planet.gd @@ -89,7 +89,7 @@ func colonize(): add_building("iron_mine") add_building("water_purifier") add_building("terraforming_center") - add_building("residential_zone") + add_building("aluminium_ore_mine") population = 100 print_data() diff --git a/scripts/time_label.gd b/scripts/time_label.gd index 567301c..18aeedc 100644 --- a/scripts/time_label.gd +++ b/scripts/time_label.gd @@ -13,7 +13,7 @@ func _ready(): func _process(delta): var total_days = int(GameData.game_time) - var numer_roku = 3980 + total_days / 365 + var numer_roku = 2980 + total_days / 365 var day_of_year = total_days % 365 var dzien_cykliczny: int