diff --git a/active_scene.tscn b/active_scene.tscn index 57f5b92..945f48c 100644 --- a/active_scene.tscn +++ b/active_scene.tscn @@ -19,6 +19,12 @@ position = Vector2(421, 161) [node name="CollisionShape2D" parent="Guildhall/Sprites/CharacterBody2D" index="0"] shape = SubResource("CapsuleShape2D_d0hfk") +[node name="Quest Board" parent="Guildhall" index="3"] +position = Vector2(927, 33) + +[node name="CollisionShape2D" parent="Guildhall/Quest Board" index="1"] +position = Vector2(0, -14) + [node name="VisitorSpawner" type="Node2D" parent="Guildhall"] position = Vector2(505, 870) script = ExtResource("6_d0hfk") @@ -45,3 +51,4 @@ layout_mode = 2 [connection signal="timeout" from="Guildhall/VisitorSpawner/Timer" to="Guildhall/VisitorSpawner" method="_on_timer_timeout"] [editable path="Guildhall"] +[editable path="Guildhall/Sprites/Receptionist"] diff --git a/adventurer-profile-pic.png b/adventurer-profile-pic.png new file mode 100644 index 0000000..94dc850 Binary files /dev/null and b/adventurer-profile-pic.png differ diff --git a/adventurer-profile-pic.png.import b/adventurer-profile-pic.png.import new file mode 100644 index 0000000..5e74434 --- /dev/null +++ b/adventurer-profile-pic.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://biir7hjo6b4nl" +path="res://.godot/imported/adventurer-profile-pic.png-3ff49b3daa3ffcf150d2ee189b167ba9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://adventurer-profile-pic.png" +dest_files=["res://.godot/imported/adventurer-profile-pic.png-3ff49b3daa3ffcf150d2ee189b167ba9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/adventurer.gd b/adventurer.gd index 92ff0ce..c33feae 100644 --- a/adventurer.gd +++ b/adventurer.gd @@ -1,7 +1,10 @@ class_name Adventurer extends CharacterBody2D +const popup_template = preload("res://profile_popup.tscn") +var profile_popup + @onready var bt_player : BTPlayer = $BTPlayer -@onready var movement_speed : float = 400.0 +@export var movement_speed : float = 400.0 @onready var movement_target_position : Vector2 = global_position @onready var nav_agent : NavigationAgent2D = $NavigationAgent2D @@ -77,3 +80,13 @@ func show_speech_bubble(bubble_type : String) -> void: func _on_nav_agent_finished() -> void: navigation_finished.emit() + + +func _on_mouse_entered() -> void: + profile_popup = popup_template.instantiate() + add_child(profile_popup) + profile_popup.setup(data.name, data.level, data.job, "Nothing") + + +func _on_mouse_exited() -> void: + profile_popup.queue_free() diff --git a/adventurer_data.gd b/adventurer_data.gd index 4ce76ab..bf6091e 100644 --- a/adventurer_data.gd +++ b/adventurer_data.gd @@ -4,6 +4,9 @@ var life : int = 1 var max_life : int = 1 var energy : int = 1 var max_energy : int = 1 +var level : int = 1 +var job : String = "Adventurer" + var quest : Quest func assign_quest(quest : Quest) -> void: diff --git a/full_profile.aseprite b/full_profile.aseprite new file mode 100644 index 0000000..d8a0e70 Binary files /dev/null and b/full_profile.aseprite differ diff --git a/guildhall.tscn b/guildhall.tscn index 12241a8..b976d35 100644 --- a/guildhall.tscn +++ b/guildhall.tscn @@ -1,16 +1,18 @@ -[gd_scene load_steps=9 format=4 uid="uid://cd08dp16bixfv"] +[gd_scene load_steps=12 format=4 uid="uid://cd08dp16bixfv"] [ext_resource type="Script" uid="uid://ccorfvcfa84gf" path="res://guildhall.gd" id="1_lsinl"] [ext_resource type="TileSet" uid="uid://6im0g3eg6sr4" path="res://test_tiles.tres" id="1_qel1r"] [ext_resource type="Script" uid="uid://dolqtw1ye4ras" path="res://player.gd" id="2_5n4iw"] [ext_resource type="Texture2D" uid="uid://cg6ptmynq0aq0" path="res://basic-sprite.png" id="4_l3mu1"] [ext_resource type="PackedScene" uid="uid://cf6nnjyp8kv78" path="res://receptionist.tscn" id="5_l3mu1"] +[ext_resource type="Texture2D" uid="uid://bnt2dlv7kxw7s" path="res://questboard.png" id="6_2wofw"] +[ext_resource type="Script" uid="uid://b0q2233msdtgo" path="res://guild_queue.gd" id="7_hph4e"] [sub_resource type="NavigationPolygon" id="NavigationPolygon_w7eqs"] -vertices = PackedVector2Array(808, 168, 808, 58, 1048, 58, 1048, 600, 40, 600, 216, 168, 40, 40, 216, 40) +vertices = PackedVector2Array(803, 163, 803, 53, 1053, 53, 1053, 605, 35, 605, 221, 163, 35, 35, 221, 35) polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(0, 3, 4, 5), PackedInt32Array(5, 4, 6, 7)]) -border_size = 500.0 -agent_radius = 40.0 +border_size = 250.0 +agent_radius = 35.0 [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_l3mu1"] radius = 15.0 @@ -21,6 +23,10 @@ vertices = PackedVector2Array(117.96875, 286, 9.96875, 286, 9.03125, 0, 117.0312 polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) outlines = Array[PackedVector2Array]([PackedVector2Array(-1, -10, 127, -10, 128, 296, 0, 296)]) +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_hph4e"] +radius = 25.0 +height = 282.0 + [node name="Guildhall" type="Node2D"] script = ExtResource("1_lsinl") @@ -30,8 +36,6 @@ navigation_polygon = SubResource("NavigationPolygon_w7eqs") [node name="TileMapLayer" type="TileMapLayer" parent="RoomRegion"] tile_map_data = PackedByteArray("AAABAAEAAAAOAAEAAAACAAEAAAAOAAEAAAADAAEAAAAOAAEAAAAEAAEAAAAOAAEAAAAFAAIAAAAOAAEAAAAGAAIAAAAOAAEAAAAHAAIAAAAOAAEAAAAIAAIAAAAOAAEAAAAJAAIAAAAOAAEAAAAKAAIAAAAOAAEAAAAHAAEAAAAOAAEAAAAGAAEAAAAOAAEAAAAFAAEAAAAOAAEAAAACAAIAAAAOAAEAAAADAAIAAAAOAAEAAAAEAAIAAAAOAAEAAAABAAIAAAAOAAEAAAABAAMAAAAOAAEAAAABAAQAAAAOAAEAAAACAAQAAAAOAAEAAAADAAQAAAAOAAEAAAAEAAQAAAAOAAEAAAAFAAQAAAAOAAEAAAAGAAQAAAAOAAEAAAAHAAQAAAAOAAEAAAAIAAQAAAAOAAEAAAAJAAQAAAAOAAEAAAAJAAMAAAAOAAEAAAAKAAMAAAAOAAEAAAAKAAEAAAAOAAEAAAAJAAEAAAAOAAEAAAAIAAEAAAAOAAEAAAADAAMAAAAOAAEAAAACAAMAAAAOAAEAAAAEAAMAAAAOAAEAAAAFAAMAAAAOAAEAAAAGAAMAAAAOAAEAAAAHAAMAAAAOAAEAAAAIAAMAAAAOAAEAAAAKAAQAAAAOAAEAAAALAAQAAAAOAAEAAAALAAMAAAAOAAEAAAALAAIAAAAOAAEAAAALAAEAAAAOAAEAAAAKAAAAAAAOAAEAAAAJAAAAAAAOAAEAAAAIAAAAAAAOAAEAAAAHAAAAAAAOAAEAAAAGAAAAAAAOAAEAAAAFAAAAAAAOAAEAAAAEAAAAAAAOAAEAAAADAAAAAAAOAAEAAAACAAAAAAAOAAEAAAABAAAAAAAOAAEAAAAAAAEAAAAOAAEAAAAAAAIAAAAOAAEAAAAAAAMAAAAOAAEAAAAAAAQAAAAOAAEAAAAAAAUAAAAOAAEAAAAAAAYAAAAOAAEAAAAAAAcAAAAOAAEAAAAAAAgAAAAOAAEAAAAAAAkAAAAOAAEAAAABAAkAAAAOAAEAAAACAAkAAAAOAAEAAAADAAkAAAAOAAEAAAAEAAkAAAAOAAEAAAAFAAkAAAAOAAEAAAAGAAkAAAAOAAEAAAAHAAkAAAAOAAEAAAAIAAkAAAAOAAEAAAAJAAkAAAAOAAEAAAAKAAkAAAAOAAEAAAALAAkAAAAOAAEAAAAMAAkAAAAOAAEAAAANAAkAAAAOAAEAAAAOAAkAAAAOAAEAAAAPAAkAAAAOAAEAAAAQAAkAAAAOAAEAAAAQAAgAAAAOAAEAAAAQAAcAAAAOAAEAAAAQAAYAAAAOAAEAAAAQAAUAAAAOAAEAAAAQAAQAAAAOAAEAAAAQAAMAAAAOAAEAAAAQAAIAAAAOAAEAAAAQAAEAAAAOAAEAAAAQAAAAAAAOAAEAAAAPAAAAAAAOAAEAAAAOAAAAAAAOAAEAAAANAAAAAAAOAAEAAAAMAAAAAAAOAAEAAAALAAAAAAAOAAEAAAAPAAEAAAAOAAEAAAAOAAEAAAAOAAEAAAANAAEAAAAOAAEAAAAMAAEAAAAOAAEAAAAMAAIAAAAOAAEAAAANAAIAAAAOAAEAAAAOAAIAAAAOAAEAAAAPAAIAAAAOAAEAAAAMAAMAAAAOAAEAAAAMAAQAAAAOAAEAAAANAAQAAAAOAAEAAAAOAAQAAAAOAAEAAAAPAAQAAAAOAAEAAAAOAAUAAAAOAAEAAAANAAUAAAAOAAEAAAAMAAUAAAAOAAEAAAALAAUAAAAOAAEAAAAKAAYAAAAOAAEAAAAJAAYAAAAOAAEAAAAIAAcAAAAOAAEAAAAJAAcAAAAOAAEAAAAKAAcAAAAOAAEAAAALAAcAAAAOAAEAAAAMAAcAAAAOAAEAAAANAAYAAAAOAAEAAAAOAAYAAAAOAAEAAAAPAAYAAAAOAAEAAAAPAAcAAAAOAAEAAAAOAAgAAAAOAAEAAAAPAAgAAAAOAAEAAAAPAAUAAAAOAAEAAAAOAAMAAAAOAAEAAAAOAAcAAAAOAAEAAAAPAAMAAAAOAAEAAAAMAAYAAAAOAAEAAAALAAgAAAAOAAEAAAAMAAgAAAAOAAEAAAANAAcAAAAOAAEAAAANAAgAAAAOAAEAAAANAAMAAAAOAAEAAAAKAAUAAAAOAAEAAAAIAAgAAAAOAAEAAAAJAAgAAAAOAAEAAAALAAYAAAAOAAEAAAAKAAgAAAAOAAEAAAAHAAgAAAAOAAEAAAAGAAgAAAAOAAEAAAACAAgAAAAOAAEAAAABAAgAAAAOAAEAAAABAAcAAAAOAAEAAAABAAYAAAAOAAEAAAABAAUAAAAOAAEAAAACAAUAAAAOAAEAAAACAAYAAAAOAAEAAAADAAYAAAAOAAEAAAAEAAYAAAAOAAEAAAAFAAYAAAAOAAEAAAAGAAYAAAAOAAEAAAAHAAYAAAAOAAEAAAAIAAYAAAAOAAEAAAAFAAUAAAAOAAEAAAAGAAUAAAAOAAEAAAAHAAUAAAAOAAEAAAAIAAUAAAAOAAEAAAAJAAUAAAAOAAEAAAAEAAUAAAAOAAEAAAADAAUAAAAOAAEAAAADAAcAAAAOAAEAAAACAAcAAAAOAAEAAAAEAAcAAAAOAAEAAAAFAAcAAAAOAAEAAAAGAAcAAAAOAAEAAAAHAAcAAAAOAAEAAAAFAAgAAAAOAAEAAAAEAAgAAAAOAAEAAAADAAgAAAAOAAEAAAARAP//AAABAAQAAAARAAoAAAABAAUAAAD//woAAAAAAAUAAAD/////AAAAAAQAAAAAAP//AAACAAQAAAABAP//AAACAAQAAAACAP//AAACAAQAAAADAP//AAACAAQAAAAEAP//AAACAAQAAAAFAP//AAACAAQAAAAGAP//AAACAAQAAAAHAP//AAACAAQAAAAIAP//AAACAAQAAAAJAP//AAACAAQAAAAKAP//AAACAAQAAAALAP//AAACAAQAAAAMAP//AAACAAQAAAANAP//AAACAAQAAAAOAP//AAACAAQAAAAPAP//AAACAAQAAAAQAP//AAACAAQAAAARAAAAAAACAAUAAAARAAEAAAACAAUAAAARAAIAAAACAAUAAAARAAMAAAACAAUAAAARAAQAAAACAAUAAAARAAUAAAACAAUAAAARAAYAAAACAAUAAAARAAcAAAACAAUAAAARAAgAAAACAAUAAAARAAkAAAACAAUAAAAQAAoAAAACAAQAAAAPAAoAAAACAAQAAAAOAAoAAAACAAQAAAANAAoAAAACAAQAAAAMAAoAAAACAAQAAAALAAoAAAACAAQAAAAKAAoAAAACAAQAAAAJAAoAAAAGAAUAAAAGAAoAAAAFAAQAAAAFAAoAAAACAAQAAAAEAAoAAAACAAQAAAADAAoAAAACAAQAAAACAAoAAAACAAQAAAABAAoAAAACAAQAAAAAAAoAAAACAAQAAAD//wkAAAACAAUAAAD//wAAAAACAAUAAAD//wEAAAACAAUAAAD//wIAAAACAAUAAAD//wMAAAACAAUAAAD//wQAAAACAAUAAAD//wUAAAACAAUAAAD//wYAAAACAAUAAAD//wcAAAACAAUAAAD//wgAAAACAAUAAAAAAAAAAAAOAAEAAAA=") tile_set = ExtResource("1_qel1r") -collision_visibility_mode = 1 -navigation_visibility_mode = 1 [node name="TileMapLayer2" type="TileMapLayer" parent="RoomRegion"] tile_map_data = PackedByteArray("AAAEAAEAAAASAAwAAAAFAAEAAAATAAwAAAAGAAEAAAATAAwAAAAHAAEAAAATAAwAAAAIAAEAAAATAAwAAAAJAAEAAAATAAwAAAAKAAEAAAATAAwAAAALAAEAAAAUAAwAAAANAAAAAAAKABEAAAAOAAAAAAAKABEAAAAPAAAAAAAKABEAAAAQAAAAAAAKABEAAAA=") @@ -44,6 +48,9 @@ y_sort_enabled = true [node name="Receptionist" parent="Sprites" instance=ExtResource("5_l3mu1")] position = Vector2(512, -27) +[node name="Queue" parent="Sprites/Receptionist" index="3"] +position = Vector2(0, 220) + [node name="CharacterBody2D" type="CharacterBody2D" parent="Sprites"] position = Vector2(202, 389) script = ExtResource("2_5n4iw") @@ -63,3 +70,21 @@ avoidance_enabled = true [node name="EntranceRegion" type="NavigationRegion2D" parent="."] position = Vector2(448, 600) navigation_polygon = SubResource("NavigationPolygon_l3mu1") + +[node name="Quest Board" type="StaticBody2D" parent="."] +position = Vector2(940, 33) + +[node name="Sprite2D" type="Sprite2D" parent="Quest Board"] +position = Vector2(0, -64) +texture = ExtResource("6_2wofw") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Quest Board"] +rotation = 1.5707964 +shape = SubResource("CapsuleShape2D_hph4e") + +[node name="Queue" type="Node2D" parent="Quest Board"] +position = Vector2(-12, 44) +script = ExtResource("7_hph4e") +direction = Vector2(0, 1) + +[editable path="Sprites/Receptionist"] diff --git a/main_panel.gd b/main_panel.gd index e391367..eb57389 100644 --- a/main_panel.gd +++ b/main_panel.gd @@ -24,8 +24,8 @@ func add_quest_progress_bar(quest : Quest) -> void: func switch_panel(active : bool) -> void: - %OpenList.visible = active - %WorkingList.visible = !active + %OpenShift.visible = active + %WorkingShift.visible = !active func _on_end_shift_pressed() -> void: diff --git a/main_panel.tscn b/main_panel.tscn index 1bdc5c2..c9cfcee 100644 --- a/main_panel.tscn +++ b/main_panel.tscn @@ -29,76 +29,6 @@ script = ExtResource("1_pdekv") wait_time = 400000.0 autostart = true -[node name="OpenShift" type="PanelContainer" parent="."] -visible = false -layout_mode = 2 -theme_override_styles/panel = ExtResource("2_b7y1i") - -[node name="Margin" type="MarginContainer" parent="OpenShift"] -layout_mode = 2 -theme_override_constants/margin_top = -20 -theme_override_constants/margin_right = -80 - -[node name="OpenList" type="VBoxContainer" parent="OpenShift/Margin"] -unique_name_in_owner = true -layout_mode = 2 -alignment = 1 - -[node name="Label" type="Label" parent="OpenShift/Margin/OpenList"] -layout_mode = 2 -theme_override_font_sizes/font_size = 28 -text = "Time til Next Shift" -horizontal_alignment = 1 - -[node name="TimerLabel" type="Label" parent="OpenShift/Margin/OpenList"] -layout_mode = 2 -theme_override_font_sizes/font_size = 28 -text = "00:00:00.00" -horizontal_alignment = 1 -script = ExtResource("2_5rs2c") - -[node name="VisitorsLabel" type="Label" parent="OpenShift/Margin/OpenList"] -layout_mode = 2 -theme_override_font_sizes/font_size = 28 -text = "000:00:00.00" -script = ExtResource("2_5rs2c") - -[node name="Button" type="Button" parent="OpenShift/Margin/OpenList"] -layout_mode = 2 -theme_override_styles/normal = SubResource("StyleBoxFlat_q6wja") -text = "CLOSE GUILD" - -[node name="WorkingShift" type="PanelContainer" parent="."] -visible = false -layout_mode = 2 -theme_override_styles/panel = ExtResource("4_b7y1i") - -[node name="MarginContainer" type="MarginContainer" parent="WorkingShift"] -layout_mode = 2 -theme_override_constants/margin_left = -80 -theme_override_constants/margin_top = -20 - -[node name="WorkingList" type="VBoxContainer" parent="WorkingShift/MarginContainer"] -unique_name_in_owner = true -layout_mode = 2 - -[node name="Label" type="Label" parent="WorkingShift/MarginContainer/WorkingList"] -layout_mode = 2 -theme_override_font_sizes/font_size = 28 -text = "Time til Next Shift" -horizontal_alignment = 1 - -[node name="TimerLabel" type="Label" parent="WorkingShift/MarginContainer/WorkingList"] -layout_mode = 2 -theme_override_font_sizes/font_size = 28 -text = "000:00:00.00" -script = ExtResource("2_5rs2c") - -[node name="Button" type="Button" parent="WorkingShift/MarginContainer/WorkingList"] -layout_mode = 2 -theme_override_styles/normal = SubResource("StyleBoxFlat_q6wja") -text = "Show Quests" - [node name="QuestProgressList" type="ScrollContainer" parent="."] visible = false clip_contents = false @@ -110,10 +40,84 @@ horizontal_scroll_mode = 0 custom_minimum_size = Vector2(300, 100) layout_mode = 2 -[node name="Notices" type="VBoxContainer" parent="."] +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="OpenShift" type="PanelContainer" parent="VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_styles/panel = ExtResource("2_b7y1i") + +[node name="Margin" type="MarginContainer" parent="VBoxContainer/OpenShift"] +layout_mode = 2 +theme_override_constants/margin_top = -20 +theme_override_constants/margin_right = -80 + +[node name="OpenList" type="VBoxContainer" parent="VBoxContainer/OpenShift/Margin"] +unique_name_in_owner = true +layout_mode = 2 +alignment = 1 + +[node name="Label" type="Label" parent="VBoxContainer/OpenShift/Margin/OpenList"] +layout_mode = 2 +theme_override_font_sizes/font_size = 28 +text = "Time til Next Shift" +horizontal_alignment = 1 + +[node name="TimerLabel" type="Label" parent="VBoxContainer/OpenShift/Margin/OpenList"] +layout_mode = 2 +theme_override_font_sizes/font_size = 28 +text = "00:00:00.00" +horizontal_alignment = 1 +script = ExtResource("2_5rs2c") + +[node name="VisitorsLabel" type="Label" parent="VBoxContainer/OpenShift/Margin/OpenList"] +layout_mode = 2 +theme_override_font_sizes/font_size = 28 +text = "000:00:00.00" +script = ExtResource("2_5rs2c") + +[node name="Button" type="Button" parent="VBoxContainer/OpenShift/Margin/OpenList"] +layout_mode = 2 +theme_override_styles/normal = SubResource("StyleBoxFlat_q6wja") +text = "CLOSE GUILD" + +[node name="WorkingShift" type="PanelContainer" parent="VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +theme_override_styles/panel = ExtResource("4_b7y1i") + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/WorkingShift"] +layout_mode = 2 +theme_override_constants/margin_left = -80 +theme_override_constants/margin_top = -20 + +[node name="WorkingList" type="VBoxContainer" parent="VBoxContainer/WorkingShift/MarginContainer"] unique_name_in_owner = true layout_mode = 2 -[connection signal="time_changed" from="." to="OpenShift/Margin/OpenList/TimerLabel" method="_on_time_changed"] -[connection signal="pressed" from="OpenShift/Margin/OpenList/Button" to="OpenShift" method="_on_end_shift_pressed"] -[connection signal="pressed" from="WorkingShift/MarginContainer/WorkingList/Button" to="OpenShift" method="_on_end_shift_pressed"] +[node name="Label" type="Label" parent="VBoxContainer/WorkingShift/MarginContainer/WorkingList"] +layout_mode = 2 +theme_override_font_sizes/font_size = 28 +text = "Time til Next Shift" +horizontal_alignment = 1 + +[node name="TimerLabel" type="Label" parent="VBoxContainer/WorkingShift/MarginContainer/WorkingList"] +layout_mode = 2 +theme_override_font_sizes/font_size = 28 +text = "000:00:00.00" +script = ExtResource("2_5rs2c") + +[node name="Button" type="Button" parent="VBoxContainer/WorkingShift/MarginContainer/WorkingList"] +layout_mode = 2 +theme_override_styles/normal = SubResource("StyleBoxFlat_q6wja") +text = "Show Quests" + +[node name="Notices" type="VBoxContainer" parent="VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[connection signal="time_changed" from="." to="VBoxContainer/OpenShift/Margin/OpenList/TimerLabel" method="_on_time_changed"] +[connection signal="pressed" from="VBoxContainer/OpenShift/Margin/OpenList/Button" to="VBoxContainer/OpenShift" method="_on_end_shift_pressed"] +[connection signal="pressed" from="VBoxContainer/WorkingShift/MarginContainer/WorkingList/Button" to="VBoxContainer/OpenShift" method="_on_end_shift_pressed"] diff --git a/profile-popup.png b/profile-popup.png new file mode 100644 index 0000000..6f89ec7 Binary files /dev/null and b/profile-popup.png differ diff --git a/profile-popup.png.import b/profile-popup.png.import new file mode 100644 index 0000000..97a2790 --- /dev/null +++ b/profile-popup.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgw38ld52wu05" +path="res://.godot/imported/profile-popup.png-4b6d4e9fef550a4aaea3066cdf338a5b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://profile-popup.png" +dest_files=["res://.godot/imported/profile-popup.png-4b6d4e9fef550a4aaea3066cdf338a5b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/profile_popup.gd b/profile_popup.gd new file mode 100644 index 0000000..01eeebd --- /dev/null +++ b/profile_popup.gd @@ -0,0 +1,13 @@ +extends Control + +@onready var name_label = %NameLabel +@onready var level_label = %LevelLabel +@onready var class_label = %ClassLabel +@onready var activity_label = %ActivityLabel + + +func setup(new_name : String, level : int, clss : String, activity : String) -> void: + name_label.text = new_name + level_label.text = "Lv " + str(level) + class_label.text = clss + activity_label.text = activity diff --git a/profile_popup.gd.uid b/profile_popup.gd.uid new file mode 100644 index 0000000..06ffc1c --- /dev/null +++ b/profile_popup.gd.uid @@ -0,0 +1 @@ +uid://b0obax7efrsy1 diff --git a/profile_popup.tscn b/profile_popup.tscn new file mode 100644 index 0000000..164a10a --- /dev/null +++ b/profile_popup.tscn @@ -0,0 +1,66 @@ +[gd_scene load_steps=4 format=3 uid="uid://bex2rdi5oh5cc"] + +[ext_resource type="StyleBox" uid="uid://cra63if6tmpgy" path="res://styles/profile_panel.tres" id="1_cdssf"] +[ext_resource type="Script" uid="uid://b0obax7efrsy1" path="res://profile_popup.gd" id="1_pmp85"] +[ext_resource type="Texture2D" uid="uid://biir7hjo6b4nl" path="res://adventurer-profile-pic.png" id="2_pmp85"] + +[node name="Profile Popup" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_top = -123.0 +offset_bottom = -123.0 +mouse_filter = 2 +script = ExtResource("1_pmp85") + +[node name="PanelContainer" type="Panel" parent="."] +layout_mode = 0 +offset_left = -138.0 +offset_top = -113.0 +offset_right = 144.0 +theme_override_styles/panel = ExtResource("1_cdssf") + +[node name="TextureRect" type="TextureRect" parent="PanelContainer"] +layout_mode = 0 +offset_left = 14.0 +offset_top = 13.0 +offset_right = 78.0 +offset_bottom = 77.0 +texture = ExtResource("2_pmp85") + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +custom_minimum_size = Vector2(200, 0) +layout_mode = 0 +offset_left = 85.0 +offset_top = 11.0 +offset_right = 285.0 +offset_bottom = 61.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(200, 0) +layout_mode = 2 + +[node name="NameLabel" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(150, 0) +layout_mode = 2 +text = "Name" + +[node name="LevelLabel" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Lvl" +horizontal_alignment = 2 + +[node name="ClassLabel" type="Label" parent="PanelContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Class" + +[node name="ActivityLabel" type="Label" parent="PanelContainer"] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 11.0 +offset_top = 86.0 +offset_right = 211.0 +offset_bottom = 109.0 +text = "Class" diff --git a/questboard.png b/questboard.png new file mode 100644 index 0000000..f468936 Binary files /dev/null and b/questboard.png differ diff --git a/questboard.png.import b/questboard.png.import new file mode 100644 index 0000000..3bf3fb0 --- /dev/null +++ b/questboard.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnt2dlv7kxw7s" +path="res://.godot/imported/questboard.png-3d60627b9a6bfff5395d39ccdc6ef017.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://questboard.png" +dest_files=["res://.godot/imported/questboard.png-3d60627b9a6bfff5395d39ccdc6ef017.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/styles/profile_panel.tres b/styles/profile_panel.tres new file mode 100644 index 0000000..cac58a3 --- /dev/null +++ b/styles/profile_panel.tres @@ -0,0 +1,8 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://cra63if6tmpgy"] + +[ext_resource type="Texture2D" uid="uid://bgw38ld52wu05" path="res://profile-popup.png" id="1_8ck5k"] + +[resource] +texture = ExtResource("1_8ck5k") +texture_margin_left = 81.0 +texture_margin_top = 80.0 diff --git a/test_adventurer_sprite.tscn b/test_adventurer_sprite.tscn index 2812041..ce1def2 100644 --- a/test_adventurer_sprite.tscn +++ b/test_adventurer_sprite.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=3 uid="uid://dew8gxu55ex6q"] +[gd_scene load_steps=8 format=3 uid="uid://dew8gxu55ex6q"] [ext_resource type="Script" uid="uid://cjqumk0kw2vte" path="res://adventurer.gd" id="1_wif60"] [ext_resource type="Texture2D" uid="uid://cg6ptmynq0aq0" path="res://basic-sprite.png" id="2_aos2b"] @@ -11,8 +11,12 @@ height = 54.0 [sub_resource type="BlackboardPlan" id="BlackboardPlan_tdl5m"] +[sub_resource type="RectangleShape2D" id="RectangleShape2D_aos2b"] +size = Vector2(62, 132) + [node name="AdventurerSprite" type="CharacterBody2D"] script = ExtResource("1_wif60") +movement_speed = 200.0 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] rotation = 1.5707964 @@ -33,3 +37,12 @@ position = Vector2(44, -141) [node name="BTPlayer" type="BTPlayer" parent="."] behavior_tree = ExtResource("6_006nh") blackboard_plan = SubResource("BlackboardPlan_tdl5m") + +[node name="HoverArea" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="HoverArea"] +position = Vector2(0, -57) +shape = SubResource("RectangleShape2D_aos2b") + +[connection signal="mouse_entered" from="HoverArea" to="." method="_on_mouse_entered"] +[connection signal="mouse_exited" from="HoverArea" to="." method="_on_mouse_exited"] diff --git a/top_menu.aseprite b/top_menu.aseprite new file mode 100644 index 0000000..6ac89c0 Binary files /dev/null and b/top_menu.aseprite differ