From 697677cf868437b9ca6879305bc33cb9070700a4 Mon Sep 17 00:00:00 2001 From: Bo Thompson Date: Thu, 31 Jul 2025 20:01:51 -0400 Subject: [PATCH] More UI work --- active_scene.tscn | 7 ++ adventurer-profile-pic.png | Bin 0 -> 827 bytes adventurer-profile-pic.png.import | 40 ++++++++ adventurer.gd | 15 ++- adventurer_data.gd | 3 + full_profile.aseprite | Bin 0 -> 2700 bytes guildhall.tscn | 37 ++++++-- main_panel.gd | 4 +- main_panel.tscn | 152 +++++++++++++++--------------- profile-popup.png | Bin 0 -> 643 bytes profile-popup.png.import | 40 ++++++++ profile_popup.gd | 13 +++ profile_popup.gd.uid | 1 + profile_popup.tscn | 66 +++++++++++++ questboard.png | Bin 0 -> 1518 bytes questboard.png.import | 40 ++++++++ styles/profile_panel.tres | 8 ++ test_adventurer_sprite.tscn | 15 ++- top_menu.aseprite | Bin 0 -> 952 bytes 19 files changed, 357 insertions(+), 84 deletions(-) create mode 100644 adventurer-profile-pic.png create mode 100644 adventurer-profile-pic.png.import create mode 100644 full_profile.aseprite create mode 100644 profile-popup.png create mode 100644 profile-popup.png.import create mode 100644 profile_popup.gd create mode 100644 profile_popup.gd.uid create mode 100644 profile_popup.tscn create mode 100644 questboard.png create mode 100644 questboard.png.import create mode 100644 styles/profile_panel.tres create mode 100644 top_menu.aseprite 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 0000000000000000000000000000000000000000..94dc8507c51e0cc8de608c783c569338c50e3a8f GIT binary patch literal 827 zcmV-B1H}A^P)Px%^+`lQRCt{2TfJ`EFc3Zm88T_MmW%-mIFFFRkI<<@i%dZb7%;l|DY^y-kRVfm z8tCLl5UfXNfB@OjNlSsES+b=Qi4)Bec@!n;hu@S~6m|UgeRnoVO}>16c?Skg&QCeb zTgTh4->mk>whikJe78y1_k8^JkA07b)0T)z0=hoiRlu=Vk)b7^iP?U9dS>@CpOyP@ zQ3OD>Dh>#69XuYi%V2d-`@w{`+CwGbNNq55sAIHFf;u!Y>s7$dsH+A6NdR~DcblY@ zK~vC?VM_$I!jYlv;K8xDB{$EuB#||gwr{)}>%6_p}SOx40>cDl^>)0V$fVv=L|LOB( zYr(jpjvYp?fYB46wZLwZNa=sLxR9T>odA8IDj{}W0Yy=0v%D{Ko`9xNvOt$Je^C_V zcLE!QP!)kJgV_6Bff%UiHvtFH0-*zNfzPBU3BaXq$WTk-=q(Tl2pvFZL;^ww5E?83 zvMg&TjBtnw2pvFZL;^ww5E>)_`#gtzo*#UkW!a#TVN^iq077GOb^k7p$>~;vsuo82 zxJWvmot0LEj0(`@fgxe^7N|wQ5Gq0`2MAEBLw(K%^Vt~y^l)ROX?P=`uXfN{0D#^k zvDq)^njO^AhY>Bny@C3TfYB#AkQNZA+ArX2pM|gmmH9D7ZvmqM0L;6_+>O+x)PQZb zUM;OojT-j`AFd~`-EL*4IuiDI<n04=#jIIcB|D0sz3DzpqyPjNSsQ-QkYh$> z(E_eFVmkoP6+-u=$wd`vKVsGa>b<+5wE)iiwy+_iE?ftlrYUKIXaQdx;Uo1}4FWEz zz%vfe%xgL&3z#y09q33g!RLUfiV!W()`O_mZ9*@e{0C8bP-(dW+6n*w002ovPDHLk FV1hnzbxr^P literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d8a0e7005c51bd5a7664ed5927cfcb793e0eb3e3 GIT binary patch literal 2700 zcmd^;X;4#F6vr<_%&0Lz98^XOky53y2nh&C9ucC@iVk9d6cq(QKo%oPLlO+yMhsFn zloHtmwN@IeOGic#6mW?`1V%v?lLkRROd!Z&3u<~uT?fZ+e)8PBU+&yMtD`xLy zbW<%t<`f6uGD|uz+{GSvFu)b~cicQ+^RaMXZ&em>^w}a{=HpessB$}?Q~DO5_vVGb z)!r6BD%}OhV8jFMf`10C-O>gO&DH`p$U1=4tuKID2!yhWOMttRM8M5aQNX}})j*C% zDo{eD0-IT(zz2z!fd|FQfvIdeZ4?|}!dTxaFo8qB3BW#h2jk!xEQ4P#3r@i%cm#vs z4y=JMFa?gl&X^ai7F>V@&YyeA-ql7DE6ODQ$L-i zeLC&%>9nH-7#VMk@Y|!t721BZaK`vTUG+j}y#WQbKxp;<{|Ca? zz|B!t*h3ao9vkve$KsE@O@5IR1wwSBH`Wk?*PrLOc2&7gMTmea7+~{9114DbiHpAE z=-F}ZDDl~1xGV+~ebfV2>RrQ((R9Sk8GU(MrDZP&owz{gOY@SMI&QyT<4ePfGf}b! zf1y~n6NjcE!h1VCkO%Bk*V#`)6aun;k!@SG!QS0`E=@AvLh3jCj6ajSDcMqj%?aHN zFhE3fe!Q)WRwE&Wuyj<*h&7|;ERy{NN=AUlc^XY%MV@s*nkUzFGKRIKc;AJ-b>~PbCkrHmO$|_-q ztuYK_MGJgLSYC1@_Nd~>UVh4;Q?@9QP2+VxMzVp!pjR`iqg%j@J6z$ew zQq-vzasqFWzcNFlMy~mjM%;qrI~Q?Sv(-N>`wibWWQ^tPFYak`c5A`4*Dw|TF0l1X zY=Q=Z4 z?)~)nR^yq+v9Liyck(uV3Rl`48qc}U3}E>1zP*}vslL1k3zvaDeQ#SA%b8arsy`za}{m0%>R{iA4C4>ntwfSdA-es#&`Qi?v zxK5Ybwm2IDjOfgJ;lefiaL~v}k4vLZc1c8~lI2c)e3eEMdn$%5xImA`k@Uw6^Xe*< zdU<%_qmY_*JrajZ;+`GgUK8ft!jV;Ua${0$Pw&Q)X5^bhvL-k|vkPA;#M7H{8_Jq< z=SYSttD35WeLFYG*KtRbAu9fJR>D{P!y0}{xAJRqMkUiveCMGhslJ30u_?ZGFzrXz z((PS|4_f7YeOv_xyC=Wud%3)oGh8GcO%JR;MSY$X)O?)zs=0uwRn--EIleg<{t8#0 zITY8vU)L!-I`gqkWmFKWCXyL%D5}!YX~eIR5F-*1f{-OjkS# zHo_lqK6<^vPu6xnvFtE&o=EO%nzgf`+_fUK!-lwcX4zF|)g>pZ#--Hj1+UggI{gLS zYUvM;HP!gjL5jSZ`Ze(pGensYd#X}JEbEKSF1v4~)|nReU1M(yyL&lIa77UCs;fs* z(q(DY-lk5weOlvnHY|cGD0GP-b|=_bEvzoc(z9Zjwq(_;_uw>V)+$$3Ai29~%Z@?% zvLxn|2Ar(mu-^G!oc{`pGZZBSm|ic)H^vJXgBR)*^Hr1l@Ntm?k;F7|=>W~NE{M~a z%3OOyy;k;f+O5uAcQhla4y7z2myynh>f@L4X{?Ac%q!63U}S!@xo4-uyRqxu^e3#e z8_KPtg;=JEHE{*IksQu&?Z_Qu*T$q93&a8Oq2c?s`6f&(^6^)ke%&k!;=DLJUH=q) Nne)4+8k|dM`48wax&8nE literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6f89ec72ac4a1308b653bdad521948defe1d6cb8 GIT binary patch literal 643 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58add2r2fm4^+1ZTILO_JVcj{ImkbO{ww^AI zAr*7p-U`e*CZ}~VYk@jY zG>@gpfU#kaqYX_D}7JdEc`b-sk i=1h(=7#s!g8w>#`jvjd{BIxvX 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 0000000000000000000000000000000000000000..f4689364e87a8bb9a5e1d331a29ae9dabedff4f5 GIT binary patch literal 1518 zcmZ{kc~nwa9LMhiQN&1RPDjv4EGN+xUrn1anWQ#lZXk|h%gNFDa_0L#2 za-&zRczpR$@kP75=!G%#Q&k1b%XU+Quu!AOH06W6M%?o_(mC&VivQRoFTwm`$o~D0 zRL`YZR;;Ea(h2$~8BhZUbY(WYdI_BUkU~I0-cYlu{@0Yr;4H+f|%ibL>fGTwKnE8 z3%}IKyxS@nkA|`5WW=BshiTwNIf?PIC{r!i)-=-Yv?L{c+2L5uw%uU)u5M>le;xTs z{`VE!=-8%xtVYqpM?9d=s!Lp5toSjnv`-70vn7{0LhZf$Vt00$1O)&#_LD}+zZ2#T z)1FqO6%EX1bM=n%i{6h*E_u8O>uOzEWhnWzr$7S5bg)~g!<~XRSKD3meW=c_s7`Vc zV}(2IUH-abXhmWF4yPCvDCQKmvo*qoTtQ4}0SHJ4Vi04@;ivT(&1V8P*)+DGDZG@T zC+bTzeIo%d;xE}~{h_8C4L*`8Iq)nH1`O8HTQ}=ONU;$prM$(UBShwNGjN8wc%J1z zdc-DkOdnt!sR08t*&>2%`*@*Z?WFVZaYNiWs{n(nf&ea0*sm6rt-u08ay3g?oN$mY z(lxVHYy7lb*5ddco5@ASHmkO`jjH{Rn6}818lSA>XEI&(S)s{QQ}1B&44Nz|l7e#gUR#HCS@UP<3U& zlwSh*qe7cs=-A!rf7nsJ*nkwS}mM&wasw`bmFm0_Hz z!vkIE@0Lwd3?cLR4I;8O%Q^;S?`d- zd@&!(z%7HmR->=xcI{`(N!>)%coZn;^?@>a)}4sdO|71GM%LExw+m(j%rbtbCPTN6 zjL>tOa6Uf`$M9 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6ac89c09c9609c2eb76ceb72db8465a945848920 GIT binary patch literal 952 zcmcJNZAgAzX&m-^N{-0zON=ehsy?ztvgLOwpQ zA%$c=p@#S^9*Y$0|D-+49Xh0DsBjUPm20A;rXLOo|Hx*^v=o zbhHFyoh$;m!cj0&O@q9i39xH;38Ya7QEQ)p*9%HPzCZw`r6hruVq{=Fn+*;g&jbgq zHiPoJhe4T$MGLS2JIlFK=wK7r0rcSxaacnczL13}G~ozA*g*|mkb)6(EG{$+3n(BT z;Yda-G7*S0MEO~gC>-~n0tLb#@u#kw7E_`Bo@OWFU3+TzQ+myEORTphuX;vjy(5JR z^P^b@$KP{*X*~)Fv5CQk?eUlG$VRfVS|DK(tX9#x);83kM5OBTbS&2Q&In65mv7vD zbIfr&XGxK+tne`U`giJl0(s`$JA}g(GxD7L*66Y=t#u-4m(!r%L7gVGM)ytP5;dS# z7uUDzMz~wk)zjjZ_t&bYCpx50a(BAA=~?R1+~kbWcweutXWVLCI5onP<*et0+$=eulnUshZT@_XHZ7f#z)?sV#Hr%2$;zHSu4%Jj ztl@Kw;nqZL6w@g`W0y;Z(ja@OFqu1(hZeIgekx9VHOVda)}9FN8PO!j0@|J5T@Z!O LX