More art assets and implemented names and jobs.

This commit is contained in:
2025-08-01 16:10:31 -04:00
parent 697677cf86
commit 110d390755
22 changed files with 3105 additions and 21 deletions

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=7 format=3 uid="uid://dfa6ep4o53s08"] [gd_scene load_steps=8 format=3 uid="uid://dfa6ep4o53s08"]
[ext_resource type="Script" uid="uid://cci652umkym1f" path="res://test_scene.gd" id="1_8p2cu"] [ext_resource type="Script" uid="uid://cci652umkym1f" path="res://test_scene.gd" id="1_8p2cu"]
[ext_resource type="PackedScene" uid="uid://cd08dp16bixfv" path="res://guildhall.tscn" id="1_fcxuj"] [ext_resource type="PackedScene" uid="uid://cd08dp16bixfv" path="res://guildhall.tscn" id="1_fcxuj"]
@@ -6,6 +6,14 @@
[ext_resource type="PackedScene" uid="uid://dly7in8ql1fn4" path="res://quest_log.tscn" id="4_tro8a"] [ext_resource type="PackedScene" uid="uid://dly7in8ql1fn4" path="res://quest_log.tscn" id="4_tro8a"]
[ext_resource type="Script" uid="uid://bnbljf6u2d3kh" path="res://visitor_spawner.gd" id="6_d0hfk"] [ext_resource type="Script" uid="uid://bnbljf6u2d3kh" path="res://visitor_spawner.gd" id="6_d0hfk"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_eenn6"]
vertices = PackedVector2Array(682, 166.14844, 682, 71, 1053, 71, 1053, 605, 639.85156, 165.96875, 35, 605, 341.6875, 164.90625, 35, 35, 339.0625, 35, 339.67188, 64.71875, 340.96875, 128.71094, 575.8672, 165.72656, 639.85156, 165.96094, 447.8672, 165.27344, 383.85938, 165.02344, 383.85938, 165.00781)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(4, 0, 3, 5, 6), PackedInt32Array(5, 7, 8, 9, 10, 6), PackedInt32Array(11, 12, 4, 6, 13), PackedInt32Array(14, 13, 6), PackedInt32Array(14, 6, 15)])
outlines = Array[PackedVector2Array]([PackedVector2Array(373, -17, 376, 130, 647, 131, 647, 36, 1079, 36, 1074, -10)])
cell_size = 50.0
border_size = 250.0
agent_radius = 35.0
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_d0hfk"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_d0hfk"]
radius = 15.0 radius = 15.0
height = 54.0 height = 54.0
@@ -16,6 +24,15 @@ script = ExtResource("1_8p2cu")
[node name="Guildhall" parent="." instance=ExtResource("1_fcxuj")] [node name="Guildhall" parent="." instance=ExtResource("1_fcxuj")]
position = Vector2(421, 161) position = Vector2(421, 161)
[node name="RoomRegion" parent="Guildhall" index="0"]
navigation_polygon = SubResource("NavigationPolygon_eenn6")
[node name="Receptionist" parent="Guildhall/Sprites" index="1"]
position = Vector2(512, 19)
[node name="Queue" parent="Guildhall/Sprites/Receptionist" index="3"]
position = Vector2(0, 172)
[node name="CollisionShape2D" parent="Guildhall/Sprites/CharacterBody2D" index="0"] [node name="CollisionShape2D" parent="Guildhall/Sprites/CharacterBody2D" index="0"]
shape = SubResource("CapsuleShape2D_d0hfk") shape = SubResource("CapsuleShape2D_d0hfk")
@@ -25,6 +42,9 @@ position = Vector2(927, 33)
[node name="CollisionShape2D" parent="Guildhall/Quest Board" index="1"] [node name="CollisionShape2D" parent="Guildhall/Quest Board" index="1"]
position = Vector2(0, -14) position = Vector2(0, -14)
[node name="Queue" parent="Guildhall/Quest Board" index="2"]
position = Vector2(2, 44)
[node name="VisitorSpawner" type="Node2D" parent="Guildhall"] [node name="VisitorSpawner" type="Node2D" parent="Guildhall"]
position = Vector2(505, 870) position = Vector2(505, 870)
script = ExtResource("6_d0hfk") script = ExtResource("6_d0hfk")

View File

@@ -13,6 +13,15 @@ var interaction_target = null
var last_position : Vector2 = Vector2.ZERO var last_position : Vector2 = Vector2.ZERO
var stuck : bool = false var stuck : bool = false
var stuck_time_remaining : float = 0 var stuck_time_remaining : float = 0
var busy : bool = false
var _activity : String = ""
var activity : String :
get:
return _activity
set(value):
_activity = value
if profile_popup:
profile_popup.change_activity(_activity)
@onready var bubble : SpeechBubble = $SpeechBubble @onready var bubble : SpeechBubble = $SpeechBubble
@export var interaction_range : float = 75 @export var interaction_range : float = 75
@export var stop_range : float = 25 @export var stop_range : float = 25
@@ -85,7 +94,7 @@ func _on_nav_agent_finished() -> void:
func _on_mouse_entered() -> void: func _on_mouse_entered() -> void:
profile_popup = popup_template.instantiate() profile_popup = popup_template.instantiate()
add_child(profile_popup) add_child(profile_popup)
profile_popup.setup(data.name, data.level, data.job, "Nothing") profile_popup.setup(data.name, data.level, data.job.name, activity)
func _on_mouse_exited() -> void: func _on_mouse_exited() -> void:

View File

@@ -1,11 +1,19 @@
class_name AdventurerData extends Node class_name AdventurerData extends Node
enum Gender{
MASC,
FEMME,
NONBINARY
}
var given_name : String = "Test"
var surname : String = "Testing"
var gender : Gender = Gender.MASC
var life : int = 1 var life : int = 1
var max_life : int = 1 var max_life : int = 1
var energy : int = 1 var energy : int = 1
var max_energy : int = 1 var max_energy : int = 1
var level : int = 1 var level : int = 1
var job : String = "Adventurer" var job : JobData
var quest : Quest var quest : Quest

View File

@@ -1,8 +1,9 @@
@tool @tool
extends BTDecorator extends BTDecorator
@export var activity : String = ""
var prev_busy : bool var prev_busy : bool
var prev_activity : String
func _get_task_icon(): func _get_task_icon():
return load("res://ai/icons/stopwatch.png") return load("res://ai/icons/stopwatch.png")
@@ -11,11 +12,15 @@ func _get_task_icon():
func _enter() -> void: func _enter() -> void:
if agent.get("busy") != null: if agent.get("busy") != null:
prev_busy = agent.busy prev_busy = agent.busy
prev_activity = agent.activity
agent.busy = true agent.busy = true
if activity != "":
agent.activity = activity
func _exit() -> void: func _exit() -> void:
if agent.get("busy") != null: if agent.get("busy") != null:
agent.busy = prev_busy agent.busy = prev_busy
agent.activity = prev_activity
# Called to generate a display name for the task (requires @tool). # Called to generate a display name for the task (requires @tool).
func _generate_name() -> String: func _generate_name() -> String:

View File

@@ -47,6 +47,7 @@ children = [SubResource("BTSetVar_mtixs"), SubResource("BTAction_0kac8"), SubRes
[sub_resource type="BTDecorator" id="BTDecorator_nqy1p"] [sub_resource type="BTDecorator" id="BTDecorator_nqy1p"]
children = [SubResource("BTSequence_s3kkm")] children = [SubResource("BTSequence_s3kkm")]
script = ExtResource("2_mtixs") script = ExtResource("2_mtixs")
activity = "Arriving"
[sub_resource type="BTRunLimit" id="BTRunLimit_1441p"] [sub_resource type="BTRunLimit" id="BTRunLimit_1441p"]
children = [SubResource("BTDecorator_nqy1p")] children = [SubResource("BTDecorator_nqy1p")]
@@ -72,6 +73,7 @@ children = [SubResource("BTCondition_s18yy"), SubResource("BTAction_700su"), Sub
[sub_resource type="BTDecorator" id="BTDecorator_700su"] [sub_resource type="BTDecorator" id="BTDecorator_700su"]
children = [SubResource("BTSequence_1441p")] children = [SubResource("BTSequence_1441p")]
script = ExtResource("2_mtixs") script = ExtResource("2_mtixs")
activity = "Registering as an adventurer"
[sub_resource type="BTCondition" id="BTCondition_mtixs"] [sub_resource type="BTCondition" id="BTCondition_mtixs"]
script = ExtResource("4_1441p") script = ExtResource("4_1441p")
@@ -91,6 +93,7 @@ children = [SubResource("BTCondition_mtixs"), SubResource("BTAction_fe6jf"), Sub
[sub_resource type="BTDecorator" id="BTDecorator_s18yy"] [sub_resource type="BTDecorator" id="BTDecorator_s18yy"]
children = [SubResource("BTSequence_nqy1p")] children = [SubResource("BTSequence_nqy1p")]
script = ExtResource("2_mtixs") script = ExtResource("2_mtixs")
activity = "Getting a quest"
[sub_resource type="BTProbability" id="BTProbability_s3kkm"] [sub_resource type="BTProbability" id="BTProbability_s3kkm"]
children = [SubResource("BTDecorator_s18yy")] children = [SubResource("BTDecorator_s18yy")]
@@ -101,6 +104,7 @@ custom_name = "TODO: Make them talk to a random other adventurer"
[sub_resource type="BTDecorator" id="BTDecorator_jq6fo"] [sub_resource type="BTDecorator" id="BTDecorator_jq6fo"]
children = [SubResource("BTComment_mwsop")] children = [SubResource("BTComment_mwsop")]
script = ExtResource("2_mtixs") script = ExtResource("2_mtixs")
activity = null
[sub_resource type="BTCooldown" id="BTCooldown_mtixs"] [sub_resource type="BTCooldown" id="BTCooldown_mtixs"]
duration = 5.0 duration = 5.0

8
data/jobs/farmer.tres Normal file
View File

@@ -0,0 +1,8 @@
[gd_resource type="Resource" script_class="JobData" load_steps=2 format=3 uid="uid://db4xces0v3het"]
[ext_resource type="Script" uid="uid://byr5ai03cpa5s" path="res://data/jobs/job_data.gd" id="1_clwor"]
[resource]
script = ExtResource("1_clwor")
name = "Farmer"
metadata/_custom_type_script = "uid://byr5ai03cpa5s"

10
data/jobs/job_data.gd Normal file
View File

@@ -0,0 +1,10 @@
class_name JobData extends Resource
enum Type {
CIVILIAN,
ADVENTURER,
EMPLOYEE,
CRAFTER
}
@export var name : String
@export var type : Type

View File

@@ -0,0 +1 @@
uid://byr5ai03cpa5s

9
data/jobs/rookie.tres Normal file
View File

@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="JobData" load_steps=2 format=3 uid="uid://dnyd68xhgm2de"]
[ext_resource type="Script" uid="uid://byr5ai03cpa5s" path="res://data/jobs/job_data.gd" id="1_ii2bp"]
[resource]
script = ExtResource("1_ii2bp")
name = "Rookie"
type = 1
metadata/_custom_type_script = "uid://byr5ai03cpa5s"

260
data/names/femme_names.txt Normal file
View File

@@ -0,0 +1,260 @@
Abigail
Agatha
Agnes
Alice
Alison
Amabel
Amice
Amphelis
Amy
Anastasia
Andrea
Angelet
Ankret
Ann
Anne
Annabell
Annis
Anstice
Aphra
Appelin
Arabell
Argent
Armigil
Arminell
Audrey
Audriell
Aveline
Avis
Barbara
Beaton
Beatrice
Beatrix
Benedicta
Bertranne
Bethia
Blanch
Blandin
Bridget
Cassandra
Catherine
Cay
Cecily
Charity
Chesten
Christabel
Clare
Clarice
Clarimond
Clemence
Colette
Collys
Colubery
Constance
Damaris
Darnigold
Deanes
Deborah
Denance
Diana
Dinah
Dionise
Diot
Dorcas
Dorothy
Dowce
Dowsabel
Dunes
Ebbot
Edborough
Edith
Effery
Eglentyne
Eleanor
Elizabeth
Elle
Ellen
Ellis
Elsabeth
Elspeth
Em
Emm
Emlyn
Emmott
English
Epham
Ermengayle
Esther
Ethelburg
Etheldred
Eulalia
Eunice
Eupheme
Eve
Evelyn
Felice
Felicity
Fine
Flora
Fortune
Frances
Freda
Frideswide
Gartered
Gennet
Geraldine
Gertrude
Gillian
Gladys
Godeva
Goodeth
Grisel
Griselda
Grisigon
Guenevere
Guglielma
Hannabel
Hannah
Hawise
Helen
Helewise
Helysoune
Hester
Hild
Hilda
Hodierne
Huldah
Isabel
Ismay
Ismene
Isot
Jacqueline
Jacquemine
Jacquett
Jael
Jane
Janet
Jays
Jean
Jenet
Jenkin
Jennifer
Jeyes
Joan
Johanna
Judith
Julian
Katherine
Kenberry
Kerenhappuch
Kinborough
Laura
Lea
Lettice
Lillian
Lilias
Lora
Loveday
Lucy
Lydia
Mabel
Madeline
Mallyn
Margaret
Margery
Marian
Mariel
Martha
Mary
Matilda
Maud
Mehitabel
Melior
Meraud
Mercy
Merial
Michal
Milborough
Mildred
Miriam
Muriel
Naverin
Nest
Odierne
Olive
Oragge
Parnell
Pascas
Patient
Patty
Penelope
Perine
Pernell
Petronell
Philadelphia
Phillida
Phoebe
Phyllis
Pleasance
Pleasant
Priscilla
Protasia
Prudence
Quenborg
Rabbidge
Rachel
Rebecca
Richarda
Richemay
Richenda
Richenza
Richessa
Richolda
Richord
Richow
Robina
Rochele
Rosamund
Rose
Ruth
Sabine
Sanchia
Sapience
Sarah
Saxa
Scholast
Senobie
Sessley
Sexborough
Sibyl
Sidwell
Sisly
Sissot
Susan
Susannah
Tabitha
Tace
Tamar
Teffany
Temperance
Theophania
Thomasia
Thomasine
Tibbot
Tiffany
Troth
Truth
Ulaliah
Urith
Ursula
Violet
Walbrough
Warburgh
Welmot
Welthin
Werburgh
Wiborough
Wilborough
Willamine
Winifred
Yeedith

331
data/names/masc_names.txt Normal file
View File

@@ -0,0 +1,331 @@
Abednego
Abel
Abraham
Adam
Adeodatus
Adrian
Aeneas
Alan
Allen
Alban
Algernon
Aloysius
Ambrose
Amos
Amyas
Ancel
Angus
Anketil
Ansell
Anthony
Archibald
Arkulus
Armin
Arnold
Arthur
Aubrey
Augustine
Austin
Averill
Baldwin
Balthasar
Barnabas
Barnaby
Barnard
Bartholomew
Benedict
Benjamin
Bernard
Bertram
Bevis
Bonaventure
Boniface
Botolf
Brian
Bruno
Caesar
Caleb
Camillus
Caradoc
Charles
Chichester
Christopher
Ciprian
Colin
Constantine
Cornelius
Crispin
Crispian
Cuthbert
Cyriack
Daniel
David
Denzil
Deodatus
Dermot
Derrick
Dominick
Drew
Eamon
Edmund
Edward
Edwin
Elias
Elier
Elijah
Elkanah
Ellis
Emanuel
Emlyn
Emmett
Emrys
England
Enoder
Erasmus
Esdras
Esme
Ethelbert
Eubold
Eudo
Euseby
Evan
Everett
Ewen
Ezekial
Ezekias
Ezra
Fabian
Faithful
Falk
Felix
Ferdinando
Filbert
Firmin
Francis
Frank
Frederick
Fulbert
Fulk
Gabriel
Galfrid
Gamaliel
Gareth
Garret
Gavin
Gawain
Gedian
Gelbart
Gemmel
Geoffrey
George
Gerald
Gerard
German
Gerrance
Gershom
Gervase
Gilbert
Goddard
Godfrey
Godwin
Goldwin
Goronwy
Gowther
Gregory
Griffith
Griffin
Gualter
Guy
Habell
Hakon
Hamlet
Hamnet
Ham
Hamo
Hannibal
Harold
Harry
Helier
Henry
Herbert
Hercules
Herman
Hezekiah
Hierome
Hieronimus
Hippolytus
Homer
Hope
Howell
Hugh
Humphrey
Immanuel
Ingram
Ingraham
Innocent
Isaac
Ishmael
Israel
Issakhell
Jack
Jacob
Jacques
James
Jarvis
Jasper
Jeffrey
Jelbart
Jenkin
Jeremiah
Jeremy
Jerman
Jerome
Jervis
Jevan
John
Jonah, Jonas
Jonathan
Joscelin
Joseph
Joshua
Josiah
Josias
Julian
Julius
Justinian
Kenelm
Kenneth
Kenrick
Kenward
Kester
Lambert
Lancelot
Laurence Lawrence
Leonard
Levin
Lewis
Libbeus
Lionel
Llewelyn
Lucius
Luke
Macy
Madoc
Magnus
Malcolm
Manuel
Marcellus
Marion
Mark
Marmaduke
Marthias
Martin
Mathias
Maurice
Mawe
Melchior
Melchisadek
Meredith
Methuselah
Michael
Miles
Morris
Moses
Mungo
Nathan
Nathaniel
Nicholas
Ninian
Odo
Oliver
Omfrey
Original
Orlando
Osmond
Oswald
Oswin
Othniel
Otis
Ottiwell
Owen
Pagan
Pain
Pancras
Pascal
Pascoe
Patrick
Paul
Percival
Peregrine
Peter
Pethericke
Philbert
Philemon
Phythian
Pierre
Piers
Postumus
Quentin
Radulf
Ralph
Ranald
Randal
Ranulf
Raphael
Raymond
Reginald
Renatus
Renfred
Reynard
Reynold
Rhys
Richard
Robert
Roger
Roland
Ruben
Salathiel
Samson
Samuel
Savery
Sebastian
Seser
Seth
Sewall
Sidrack
Sigismond
Silas
Simeon
Simon
Solomon
Stephen
Terry
Theobald
Theodore
Theophilus
Thomas
Thurstan
Timothy
Titus
Tobias
Toby
Tristram
Udy
Umphry
Uriah
Urin, Urian
Vincent
Vivian
Vortigern
Waldeve
Walter
Warren
Wido
Wilfred
William
Wistan
Ybel
Yngerame
Zachariah
Zachary
Zachye

2278
data/names/surnames.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -9,12 +9,44 @@ const visitors = {
} }
var surnames : Array[String] = []
var masc_names : Array[String] = []
var femme_names : Array[String] = []
const job_list = [
preload("res://data/jobs/farmer.tres"),
preload("res://data/jobs/rookie.tres")
]
var jobs : Dictionary[String, JobData] = {}
var members : Array[AdventurerData] = [] var members : Array[AdventurerData] = []
var quests : Dictionary[Quest,bool] = {} var quests : Dictionary[Quest,bool] = {}
var hall : Guildhall = null var hall : Guildhall = null
var visitor_spawner : VisitorSpawner = null var visitor_spawner : VisitorSpawner = null
func _ready() -> void:
var file = FileAccess.open("res://data/names/surnames.txt", FileAccess.READ)
while !file.eof_reached():
var line = file.get_line().strip_edges()
surnames.append(line)
file.close()
file = FileAccess.open("res://data/names/masc_names.txt", FileAccess.READ)
while !file.eof_reached():
var line = file.get_line().strip_edges()
masc_names.append(line)
file.close()
file = FileAccess.open("res://data/names/femme_names.txt", FileAccess.READ)
while !file.eof_reached():
var line = file.get_line().strip_edges()
femme_names.append(line)
file.close()
for job : JobData in job_list:
jobs[job.name] = job
func register_guild_member(member : AdventurerData, first : bool = false) -> void: func register_guild_member(member : AdventurerData, first : bool = false) -> void:
members.append(member) members.append(member)
if first: if first:
@@ -35,8 +67,24 @@ func assign_quest(member : AdventurerData, quest : Quest) -> void:
Game.add_quest_progress_bar(quest) Game.add_quest_progress_bar(quest)
func spawn_visitor(pos : Vector2) -> void: func spawn_visitor(pos : Vector2) -> void:
var visitor : AdventurerData = visitors["test"].data.instantiate() var data : AdventurerData = visitors["test"].data.instantiate()
var sprite : Adventurer = visitors["test"].sprite.instantiate() var sprite : Adventurer = visitors["test"].sprite.instantiate()
sprite.data = visitor var r = randf()
if r > 0.8:
data.gender = 2 #Nonbinary
if randf() > 0.5:
data.given_name = femme_names.pick_random()
else:
data.given_name = masc_names.pick_random()
elif r > 0.4:
data.gender = 1 #Female presenting
data.given_name = femme_names.pick_random()
else:
data.gender = 0 #Male presenting
data.given_name = masc_names.pick_random()
data.surname = surnames.pick_random()
data.name = data.given_name + " " + data.surname
data.job = jobs["Farmer"]
sprite.data = data
hall.add_sprite(sprite) hall.add_sprite(sprite)
sprite.global_position = pos sprite.global_position = pos

View File

@@ -2,7 +2,6 @@ class_name GuildEmployee extends Adventurer
@export var speech :String @export var speech :String
@onready var queue : GuildQueue = $Queue @onready var queue : GuildQueue = $Queue
var busy : bool
signal service_provided() signal service_provided()

View File

@@ -1,16 +1,18 @@
[gd_scene load_steps=12 format=4 uid="uid://cd08dp16bixfv"] [gd_scene load_steps=13 format=4 uid="uid://cd08dp16bixfv"]
[ext_resource type="Script" uid="uid://ccorfvcfa84gf" path="res://guildhall.gd" id="1_lsinl"] [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="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="Script" uid="uid://dolqtw1ye4ras" path="res://player.gd" id="2_5n4iw"]
[ext_resource type="Texture2D" uid="uid://83ayd5rg7x8l" path="res://reception-table.png" id="3_13vc8"]
[ext_resource type="Texture2D" uid="uid://cg6ptmynq0aq0" path="res://basic-sprite.png" id="4_l3mu1"] [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="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="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"] [ext_resource type="Script" uid="uid://b0q2233msdtgo" path="res://guild_queue.gd" id="7_hph4e"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_w7eqs"] [sub_resource type="NavigationPolygon" id="NavigationPolygon_w7eqs"]
vertices = PackedVector2Array(803, 163, 803, 53, 1053, 53, 1053, 605, 35, 605, 221, 163, 35, 35, 221, 35) vertices = PackedVector2Array(591.3203, 170.54688, 591.3125, 170.53906, 614.1094, 159.47656, 694.9531, 80.92969, 694.9375, 80.921875, 702.6406, 67, 1053, 67, 1053, 605, 665.27344, 134.64063, 35, 605, 578.35156, 176.85938, 512.60156, 177.99219, 445.89844, 179.14063, 35, 35, 432.14063, 172.14844, 432.14063, 172.14063, 406.6172, 159.21875, 368.17188, 139.71875, 368.17188, 139.71094, 357.59375, 134.42969, 326.3125, 77.5625, 324.82813, 35, 325.8828, 65.21875)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(0, 3, 4, 5), PackedInt32Array(5, 4, 6, 7)]) polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2), PackedInt32Array(3, 4, 5), PackedInt32Array(5, 6, 7, 3), PackedInt32Array(8, 3, 7), PackedInt32Array(0, 2, 8, 7, 9, 10), PackedInt32Array(11, 10, 9), PackedInt32Array(12, 11, 9), PackedInt32Array(12, 9, 13, 14), PackedInt32Array(15, 14, 13, 16), PackedInt32Array(17, 16, 13), PackedInt32Array(18, 17, 13, 19), PackedInt32Array(20, 19, 13), PackedInt32Array(20, 13, 21, 22)])
outlines = Array[PackedVector2Array]([PackedVector2Array(358, -18, 361, 68, 383, 108, 454, 144, 570, 142, 640, 108, 682, 32, 1075, 32, 1074, -10)])
border_size = 250.0 border_size = 250.0
agent_radius = 35.0 agent_radius = 35.0
@@ -38,15 +40,25 @@ tile_map_data = PackedByteArray("AAABAAEAAAAOAAEAAAACAAEAAAAOAAEAAAADAAEAAAAOAAE
tile_set = ExtResource("1_qel1r") tile_set = ExtResource("1_qel1r")
[node name="TileMapLayer2" type="TileMapLayer" parent="RoomRegion"] [node name="TileMapLayer2" type="TileMapLayer" parent="RoomRegion"]
tile_map_data = PackedByteArray("AAAEAAEAAAASAAwAAAAFAAEAAAATAAwAAAAGAAEAAAATAAwAAAAHAAEAAAATAAwAAAAIAAEAAAATAAwAAAAJAAEAAAATAAwAAAAKAAEAAAATAAwAAAALAAEAAAAUAAwAAAANAAAAAAAKABEAAAAOAAAAAAAKABEAAAAPAAAAAAAKABEAAAAQAAAAAAAKABEAAAA=") tile_map_data = PackedByteArray("AAANAAAAAAAKABEAAAAOAAAAAAAKABEAAAAPAAAAAAAKABEAAAAQAAAAAAAKABEAAAA=")
tile_set = ExtResource("1_qel1r") tile_set = ExtResource("1_qel1r")
[node name="Sprites" type="Node2D" parent="."] [node name="Sprites" type="Node2D" parent="."]
z_index = 1 z_index = 1
y_sort_enabled = true y_sort_enabled = true
[node name="Reception Desk" type="StaticBody2D" parent="Sprites"]
position = Vector2(512, 142)
[node name="Sprite2D" type="Sprite2D" parent="Sprites/Reception Desk"]
texture = ExtResource("3_13vc8")
offset = Vector2(0, -80)
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Sprites/Reception Desk"]
polygon = PackedVector2Array(-86, -160, -152, -160, -152, -107, -148, -75, -128, -35, -57, 0, 56, 0, 127, -34, 148, -75, 152, -107, 152, -160, 86, -160, 86, -115, 75, -93, 52, -81, -51, -81, -75, -92, -86, -114)
[node name="Receptionist" parent="Sprites" instance=ExtResource("5_l3mu1")] [node name="Receptionist" parent="Sprites" instance=ExtResource("5_l3mu1")]
position = Vector2(512, -27) position = Vector2(512, 29)
[node name="Queue" parent="Sprites/Receptionist" index="3"] [node name="Queue" parent="Sprites/Receptionist" index="3"]
position = Vector2(0, 220) position = Vector2(0, 220)
@@ -72,7 +84,7 @@ position = Vector2(448, 600)
navigation_polygon = SubResource("NavigationPolygon_l3mu1") navigation_polygon = SubResource("NavigationPolygon_l3mu1")
[node name="Quest Board" type="StaticBody2D" parent="."] [node name="Quest Board" type="StaticBody2D" parent="."]
position = Vector2(940, 33) position = Vector2(935, 32)
[node name="Sprite2D" type="Sprite2D" parent="Quest Board"] [node name="Sprite2D" type="Sprite2D" parent="Quest Board"]
position = Vector2(0, -64) position = Vector2(0, -64)

View File

@@ -2,12 +2,15 @@ extends Control
@onready var name_label = %NameLabel @onready var name_label = %NameLabel
@onready var level_label = %LevelLabel @onready var level_label = %LevelLabel
@onready var class_label = %ClassLabel @onready var job_label = %JobLabel
@onready var activity_label = %ActivityLabel @onready var activity_label = %ActivityLabel
func setup(new_name : String, level : int, clss : String, activity : String) -> void: func setup(new_name : String, level : int, job : String, activity : String) -> void:
name_label.text = new_name name_label.text = new_name
level_label.text = "Lv " + str(level) level_label.text = "Lv " + str(level)
class_label.text = clss job_label.text = job
activity_label.text = activity
func change_activity(activity : String) -> void:
activity_label.text = activity activity_label.text = activity

View File

@@ -51,7 +51,7 @@ layout_mode = 2
text = "Lvl" text = "Lvl"
horizontal_alignment = 2 horizontal_alignment = 2
[node name="ClassLabel" type="Label" parent="PanelContainer/VBoxContainer"] [node name="JobLabel" type="Label" parent="PanelContainer/VBoxContainer"]
unique_name_in_owner = true unique_name_in_owner = true
layout_mode = 2 layout_mode = 2
text = "Class" text = "Class"

BIN
reception-table.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://83ayd5rg7x8l"
path="res://.godot/imported/reception-table.png-27debfc446f7f631abe84dd17f02d3ab.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://reception-table.png"
dest_files=["res://.godot/imported/reception-table.png-27debfc446f7f631abe84dd17f02d3ab.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

BIN
receptionist.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

40
receptionist.png.import Normal file
View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nrhxsevqn82"
path="res://.godot/imported/receptionist.png-b3cdffc179657aaf037ba33f75dffdb6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://receptionist.png"
dest_files=["res://.godot/imported/receptionist.png-b3cdffc179657aaf037ba33f75dffdb6.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

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=8 format=3 uid="uid://cf6nnjyp8kv78"] [gd_scene load_steps=8 format=3 uid="uid://cf6nnjyp8kv78"]
[ext_resource type="Script" uid="uid://b2unuudq5qfl" path="res://guild_employee.gd" id="1_vwytd"] [ext_resource type="Script" uid="uid://b2unuudq5qfl" path="res://guild_employee.gd" id="1_vwytd"]
[ext_resource type="Texture2D" uid="uid://cg6ptmynq0aq0" path="res://basic-sprite.png" id="2_dlmqr"] [ext_resource type="Texture2D" uid="uid://nrhxsevqn82" path="res://receptionist.png" id="2_dlmqr"]
[ext_resource type="Script" uid="uid://b0q2233msdtgo" path="res://guild_queue.gd" id="3_wurf5"] [ext_resource type="Script" uid="uid://b0q2233msdtgo" path="res://guild_queue.gd" id="3_wurf5"]
[ext_resource type="PackedScene" uid="uid://jbqw0n6dlj08" path="res://speech_bubble.tscn" id="4_dlmqr"] [ext_resource type="PackedScene" uid="uid://jbqw0n6dlj08" path="res://speech_bubble.tscn" id="4_dlmqr"]
[ext_resource type="BehaviorTree" uid="uid://dxyx7tjsd7khq" path="res://ai/trees/receptionist.tres" id="7_qmbsn"] [ext_resource type="BehaviorTree" uid="uid://dxyx7tjsd7khq" path="res://ai/trees/receptionist.tres" id="7_qmbsn"]
@@ -13,7 +13,6 @@ height = 54.0
[sub_resource type="BlackboardPlan" id="BlackboardPlan_xsrct"] [sub_resource type="BlackboardPlan" id="BlackboardPlan_xsrct"]
[node name="Receptionist" type="CharacterBody2D"] [node name="Receptionist" type="CharacterBody2D"]
modulate = Color(1.7602391, 1.7602391, 1.7602391, 1)
position = Vector2(0, -64) position = Vector2(0, -64)
script = ExtResource("1_vwytd") script = ExtResource("1_vwytd")
@@ -23,7 +22,7 @@ rotation = 1.5707964
shape = SubResource("CapsuleShape2D_dlmqr") shape = SubResource("CapsuleShape2D_dlmqr")
[node name="Sprite2D" type="Sprite2D" parent="."] [node name="Sprite2D" type="Sprite2D" parent="."]
modulate = Color(0, 0.40784314, 1, 1) position = Vector2(0, 15)
texture = ExtResource("2_dlmqr") texture = ExtResource("2_dlmqr")
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."] [node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
@@ -36,7 +35,7 @@ script = ExtResource("3_wurf5")
direction = Vector2(0, 1) direction = Vector2(0, 1)
[node name="SpeechBubble" parent="." instance=ExtResource("4_dlmqr")] [node name="SpeechBubble" parent="." instance=ExtResource("4_dlmqr")]
position = Vector2(44, -77) position = Vector2(44, -38)
[node name="BTPlayer" type="BTPlayer" parent="."] [node name="BTPlayer" type="BTPlayer" parent="."]
behavior_tree = ExtResource("7_qmbsn") behavior_tree = ExtResource("7_qmbsn")