diff --git a/crafting/recipe book/recipe_card.gd b/crafting/recipe book/recipe_card.gd index 24513b7..720def4 100644 --- a/crafting/recipe book/recipe_card.gd +++ b/crafting/recipe book/recipe_card.gd @@ -25,6 +25,9 @@ func show_recipe(recipe : CraftRecipe): ingredient_slots[x].update_ui() ingredient_slots[x].block_taking = true output_slot.item = recipe.output + if (PlayerInventory.power_values.has(recipe.output)): + output_slot.extra_data = "Botnet Power: " + str(PlayerInventory.power_values.get(recipe.output)) + output_slot.update_ui() output_slot.block_taking = true output_label.text = recipe.output.item_name diff --git a/inv_system/botnet/botnet_panel.gd b/inv_system/botnet/botnet_panel.gd index 5920ee5..ed5ea95 100644 --- a/inv_system/botnet/botnet_panel.gd +++ b/inv_system/botnet/botnet_panel.gd @@ -2,6 +2,8 @@ extends Inventory @export var install_button : Button @export var score_label : Label +#@export var power_values : Dictionary[ItemData,int] +@export var power_predict : RichTextLabel # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -24,16 +26,23 @@ func _notification(what: int) -> void: func check_server(): if slots[0].item: - if slots[0].item.item_name == "Server": + if PlayerInventory.power_values.has(slots[0].item): install_button.disabled = false + power_predict.text = "[color=green][wave]Device Power: " + str(PlayerInventory.power_values.get(slots[0].item)) else: install_button.disabled = true + power_predict.text = "[pulse]Insert a device to predict power" else: install_button.disabled = true + power_predict.text = "[pulse]Insert a device to predict power" func _on_button_pressed() -> void: + PlayerInventory.botnet_servers += PlayerInventory.power_values.get(slots[0].item) + PlayerInventory.botnet.append(slots[0].item) + install_button.disabled = true + power_predict.text = "[pulse]Insert a device to predict power" slots[0].item = null slots[0].update_ui() - PlayerInventory.botnet_servers += 1 + diff --git a/inv_system/botnet/botnet_panel.tscn b/inv_system/botnet/botnet_panel.tscn index 0c62f88..cc95883 100644 --- a/inv_system/botnet/botnet_panel.tscn +++ b/inv_system/botnet/botnet_panel.tscn @@ -1,19 +1,17 @@ -[gd_scene load_steps=4 format=3 uid="uid://nfd41hcidmju"] +[gd_scene load_steps=3 format=3 uid="uid://nfd41hcidmju"] [ext_resource type="Script" uid="uid://du0kijn4lh5kb" path="res://inv_system/botnet/botnet_panel.gd" id="1_m02i1"] [ext_resource type="PackedScene" uid="uid://dgqs20xf7l8c" path="res://inv_system/item_slot.tscn" id="2_ngfss"] -[sub_resource type="LabelSettings" id="LabelSettings_ti0ti"] -font_color = Color(1, 0.75686276, 0, 0.4745098) - -[node name="InventoryPanel" type="PanelContainer" node_paths=PackedStringArray("install_button", "score_label", "slots", "grid", "inv_label")] +[node name="InventoryPanel" type="PanelContainer" node_paths=PackedStringArray("install_button", "score_label", "power_predict", "slots", "grid", "inv_label")] offset_left = 51.0 offset_top = 67.0 offset_right = 403.0 offset_bottom = 259.0 script = ExtResource("1_m02i1") install_button = NodePath("MarginContainer/VBoxContainer/Button") -score_label = NodePath("MarginContainer/VBoxContainer/HBoxContainer2/Label2") +score_label = NodePath("MarginContainer/VBoxContainer/HBoxContainer2/score") +power_predict = NodePath("MarginContainer/VBoxContainer/predict") inventory_name = "Install in Botnet" slots = [NodePath("MarginContainer/VBoxContainer/HBoxContainer/GridContainer/ItemSlot")] type = "Install" @@ -49,18 +47,20 @@ layout_mode = 2 [node name="Label" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 -text = "Add a completed server to your botnet, (your main goal!)" +text = "Add a completed device to your botnet, (your main goal!)" autowrap_mode = 2 -[node name="Label2" type="Label" parent="MarginContainer/VBoxContainer"] +[node name="predict" type="RichTextLabel" parent="MarginContainer/VBoxContainer"] +modulate = Color(1, 1, 1, 0.5921569) layout_mode = 2 -text = "(this action cannot be undone)" -label_settings = SubResource("LabelSettings_ti0ti") +bbcode_enabled = true +text = "[pulse]Insert a device to predict power" +fit_content = true horizontal_alignment = 1 [node name="Button" type="Button" parent="MarginContainer/VBoxContainer"] layout_mode = 2 -text = "Install completed server" +text = "Install Device" [node name="HBoxContainer2" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] layout_mode = 2 @@ -68,9 +68,9 @@ alignment = 1 [node name="Label" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"] layout_mode = 2 -text = "Servers in your botnet:" +text = "Total Botnet Power:" -[node name="Label2" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"] +[node name="score" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"] layout_mode = 2 text = "0" diff --git a/inv_system/player_inventory.gd b/inv_system/player_inventory.gd index 445010a..a94428f 100644 --- a/inv_system/player_inventory.gd +++ b/inv_system/player_inventory.gd @@ -5,6 +5,8 @@ extends Node @export var money : int = 0 @export var money_label : Label @export var botnet_servers : int = 0 +@export var botnet : Array[ItemData] = [] +@export var power_values : Dictionary[ItemData,int] # Called when the node enters the scene tree for the first time. func _ready() -> void: diff --git a/inv_system/player_inventory.tscn b/inv_system/player_inventory.tscn index a756d9d..c6b05d4 100644 --- a/inv_system/player_inventory.tscn +++ b/inv_system/player_inventory.tscn @@ -1,10 +1,16 @@ -[gd_scene load_steps=9 format=3 uid="uid://bkhg56q71vsjv"] +[gd_scene load_steps=15 format=3 uid="uid://bkhg56q71vsjv"] [ext_resource type="Script" uid="uid://jxkjnscuxcyi" path="res://inv_system/player_inventory.gd" id="1_vk2kx"] [ext_resource type="Script" uid="uid://c6oycdae5wvjf" path="res://inv_system/inventory.gd" id="2_hk4hx"] +[ext_resource type="Script" uid="uid://dccraom7a7e8d" path="res://inv_system/item_data.gd" id="2_l456l"] [ext_resource type="PackedScene" uid="uid://dgqs20xf7l8c" path="res://inv_system/item_slot.tscn" id="3_8qgtd"] +[ext_resource type="Resource" uid="uid://be540abaa08ox" path="res://items/server.tres" id="3_77dmv"] [ext_resource type="Script" uid="uid://chxgum3v3d1o7" path="res://crafting/recipe book/recipie_book.gd" id="4_bdgfq"] +[ext_resource type="Resource" uid="uid://b3uytlkfvj67f" path="res://items/gaming_computer.tres" id="4_txpda"] [ext_resource type="Script" uid="uid://drm5jfhadys7l" path="res://crafting/recipe book/scavengeBook.gd" id="5_bdgfq"] +[ext_resource type="Resource" uid="uid://8vw85c1qrypm" path="res://items/computer.tres" id="5_klg10"] +[ext_resource type="Resource" uid="uid://bvcquf4e43r6r" path="res://items/laptop.tres" id="6_xr7r7"] +[ext_resource type="Resource" uid="uid://3afonee3dw7" path="res://items/nas_item.tres" id="7_g2557"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_icm48"] content_margin_left = 0.0 @@ -47,6 +53,13 @@ script = ExtResource("1_vk2kx") inventory_panel = NodePath("Inventory") button = NodePath("Button") money_label = NodePath("PanelContainer/Label") +power_values = Dictionary[ExtResource("2_l456l"), int]({ +ExtResource("3_77dmv"): 10, +ExtResource("4_txpda"): 4, +ExtResource("5_klg10"): 2, +ExtResource("6_xr7r7"): 3, +ExtResource("7_g2557"): 2 +}) [node name="Button" type="Button" parent="."] visible = false diff --git a/scenes/ending.gd b/scenes/ending.gd index 341dd5a..511e2d1 100644 --- a/scenes/ending.gd +++ b/scenes/ending.gd @@ -1,6 +1,6 @@ extends Control -@export var server_box : HBoxContainer +@export var server_box : HFlowContainer @export var score_label : Label # Called when the node enters the scene tree for the first time. @@ -11,15 +11,16 @@ func _ready() -> void: if slot.item: inv_sell_value += floori(slot.item.buy_value/float(2)) - var server_item : ItemData = load("res://items/server.tres") - for x in range(PlayerInventory.botnet_servers): + #var server_item : ItemData = load("res://items/server.tres") + for device in PlayerInventory.botnet: var new_slot : ItemSlot = load("res://inv_system/item_slot.tscn").instantiate() - new_slot.item = server_item + new_slot.item = device + new_slot.extra_data = "Power: " + str(PlayerInventory.power_values.get(device)) new_slot.update_ui() new_slot.block_taking = true server_box.add_child(new_slot) - score_label.text = str(PlayerInventory.botnet_servers) + " machines + $" + str(PlayerInventory.money + inv_sell_value) + score_label.text = str(PlayerInventory.botnet_servers) + " GHz + $" + str(PlayerInventory.money + inv_sell_value) pass # Replace with function body. @@ -36,6 +37,7 @@ func _on_reset_button_pressed() -> void: PlayerInventory.inventory_panel.empty_grid() Clock.days_left = 7 Clock.time_left = 200 + PlayerInventory.botnet.clear() PlayerInventory.show() Clock.show() get_tree().change_scene_to_file("res://scenes/workshop.tscn") diff --git a/scenes/ending.tscn b/scenes/ending.tscn index 2b05993..2b34617 100644 --- a/scenes/ending.tscn +++ b/scenes/ending.tscn @@ -12,7 +12,7 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 script = ExtResource("1_2x1jc") -server_box = NodePath("MarginContainer/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer") +server_box = NodePath("MarginContainer/PanelContainer/MarginContainer/VBoxContainer/botnet display") score_label = NodePath("MarginContainer/PanelContainer/MarginContainer/VBoxContainer/ScoreL") [node name="TextureRect" type="TextureRect" parent="."] @@ -64,8 +64,10 @@ layout_mode = 2 text = "You launch your botnet filling the internet with catgirls!" horizontal_alignment = 1 -[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/PanelContainer/MarginContainer/VBoxContainer"] +[node name="botnet display" type="HFlowContainer" parent="MarginContainer/PanelContainer/MarginContainer/VBoxContainer"] layout_mode = 2 +theme_override_constants/h_separation = 8 +theme_override_constants/v_separation = 8 alignment = 1 [node name="ScoreL" type="Label" parent="MarginContainer/PanelContainer/MarginContainer/VBoxContainer"]