ArkSol/scripts/BuildingsList.gd
2025-11-19 22:41:57 +01:00

242 lines
6.1 KiB
GDScript

extends Node
var BUILDINGS = {
"iron_mine": {
"name": "Iron Mine",
"description": "Pozwala wydobywać żelazo z powierzchni planety.",
"resource": "iron",
"cost": {"iron": 0},
"bonuses": {
},
"build_time": 10.0,
"texture": "res://assets/buildings/iron_mine.png",
"required_tech": null
},
"water_purifier": {
"name": "Water Purifier",
"description": "Pozwala wydobywać i oczyszczać wodę do użytku kolonii.",
"resource": "water",
"cost": {"iron": 0},
"bonuses": {
},
"build_time": 8.0,
"texture": "res://assets/buildings/water_purifier.png",
"required_tech": null
},
"copper_mine": {
"name": "Copper Mine",
"description": "Pozwala wydobywać miedź.",
"resource": "copper",
"cost": {"iron": 10},
"bonuses": {
},
"build_time": 20.0,
"texture": "res://assets/buildings/copper_mine.png",
"required_tech": "advanced_mining"
},
"uran_mine": {
"name": "Uran Mine",
"description": "Pozwala wydobywać uran.",
"resource": "uranium",
"cost": {"iron": 80},
"bonuses": {
},
"build_time": 5.0,
"texture": "res://assets/buildings/uran_mine.png",
"required_tech": "advanced_mining"
},
"residential_zone": {
"name": "Residential Zone",
"description": "Zwiększa limit populacji",
"bonuses": {
"total_pop_bonus": 25
},
"resource": null,
"cost": {"iron": 10},
"build_time": 5.0,
"texture": "res://assets/buildings/residential_zone.png",
"required_tech": null
},
"terraforming_center": {
"name": "Terraforming Center",
"description": "Zwiększa limit populacji",
"bonuses": {
"biosfere": 0.5
},
"resource": null,
"cost": {"iron": 10},
"build_time": 5.0,
"texture": "res://assets/buildings/terraforming_center.png",
"required_tech": "terraforming"
},
"laboratory": {
"name": "Laboratory",
"description": "Umożliwia prace naukowe",
"bonuses": {
},
"resource": null,
"cost": {"iron": 10},
"build_time": 5.0,
"texture": "res://assets/buildings/labolatory.png",
"required_tech": null
},
"aluminium_ore_mine": {
"name": "Aluminium ore mine",
"description": "Wydobywa boksyt.",
"resource": "aluminium",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/aluminium_ore_mine.png",
"required_tech": "advanced_mining"
},
"titanium_ore_mine": {
"name": "Titanium ore mine",
"description": "Wydobywa tytan",
"resource": "titanium",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/titanium_ore_mine.png",
"required_tech": "advanced_mining"
},
"carbon_ore_mine": {
"name": "Carbon ore mine",
"description": "Wydobywa węgiel",
"resource": "carbon",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/carbon_ore_mine.png",
"required_tech": "advanced_mining"
},
"silicon_ore_mine": {
"name": "Silicon mine",
"description": "Wydobywa krzem",
"resource": "silicon",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/silicon_mine.png",
"required_tech": "advanced_mining"
},
"platinum_mine": {
"name": "Platinum mine",
"description": "Wydobywa platynę",
"resource": "platinum",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/platinum_mine.png",
"required_tech": "advanced_mining"
},
"helium_mine": {
"name": "Helium-3 mine",
"description": "Wydobywa Hel-3",
"resource": "helium-3",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/helium_mine.png",
"required_tech": "advanced_mining"
},
"neutronium_mine": {
"name": "Neutronium ore mine",
"description": "Wydobywa neutronium",
"resource": "neutronium",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/neutronium_mine.png",
"required_tech": "advanced_mining"
},
"quantium_mine": {
"name": "Quantium mine",
"description": "Wydobywa kwantynium",
"resource": "quantium",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/quantium_mine.png",
"required_tech": "advanced_mining"
},
"aetherium_mine": {
"name": "Aetherium ore mine",
"description": "Wydobywa eter",
"resource": "aetherium",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/aetherium_mine.png",
"required_tech": "advanced_mining"
},
"stardust_mine": {
"name": "Stardust mine",
"description": "Wydobywa gwiezdny pył",
"resource": "stardust",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/stardust_mine.png",
"required_tech": "advanced_mining"
},
"solarium_mine": {
"name": "Solarium mine",
"description": "Wydobywa solarium",
"resource": "solarium",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/solarium_mine.png",
"required_tech": "advanced_mining"
},
"chronite_mine": {
"name": "Chronite mine",
"description": "Wydobywa chrominium",
"resource": "chronite",
"cost": {"iron": 100, "copper": 100},
"bonuses": {},
"build_time": 15.0,
"texture": "res://assets/buildings/chronite_mine.png",
"required_tech": "advanced_mining"
}
}
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)