More art assets and implemented names and jobs.
This commit is contained in:
@@ -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="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="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"]
|
||||
radius = 15.0
|
||||
height = 54.0
|
||||
@@ -16,6 +24,15 @@ script = ExtResource("1_8p2cu")
|
||||
[node name="Guildhall" parent="." instance=ExtResource("1_fcxuj")]
|
||||
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"]
|
||||
shape = SubResource("CapsuleShape2D_d0hfk")
|
||||
|
||||
@@ -25,6 +42,9 @@ position = Vector2(927, 33)
|
||||
[node name="CollisionShape2D" parent="Guildhall/Quest Board" index="1"]
|
||||
position = Vector2(0, -14)
|
||||
|
||||
[node name="Queue" parent="Guildhall/Quest Board" index="2"]
|
||||
position = Vector2(2, 44)
|
||||
|
||||
[node name="VisitorSpawner" type="Node2D" parent="Guildhall"]
|
||||
position = Vector2(505, 870)
|
||||
script = ExtResource("6_d0hfk")
|
||||
|
||||
@@ -13,6 +13,15 @@ var interaction_target = null
|
||||
var last_position : Vector2 = Vector2.ZERO
|
||||
var stuck : bool = false
|
||||
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
|
||||
@export var interaction_range : float = 75
|
||||
@export var stop_range : float = 25
|
||||
@@ -85,7 +94,7 @@ func _on_nav_agent_finished() -> void:
|
||||
func _on_mouse_entered() -> void:
|
||||
profile_popup = popup_template.instantiate()
|
||||
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:
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
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 max_life : int = 1
|
||||
var energy : int = 1
|
||||
var max_energy : int = 1
|
||||
var level : int = 1
|
||||
var job : String = "Adventurer"
|
||||
var job : JobData
|
||||
|
||||
var quest : Quest
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
@tool
|
||||
extends BTDecorator
|
||||
|
||||
|
||||
@export var activity : String = ""
|
||||
var prev_busy : bool
|
||||
var prev_activity : String
|
||||
|
||||
func _get_task_icon():
|
||||
return load("res://ai/icons/stopwatch.png")
|
||||
@@ -11,11 +12,15 @@ func _get_task_icon():
|
||||
func _enter() -> void:
|
||||
if agent.get("busy") != null:
|
||||
prev_busy = agent.busy
|
||||
prev_activity = agent.activity
|
||||
agent.busy = true
|
||||
if activity != "":
|
||||
agent.activity = activity
|
||||
|
||||
func _exit() -> void:
|
||||
if agent.get("busy") != null:
|
||||
agent.busy = prev_busy
|
||||
agent.activity = prev_activity
|
||||
|
||||
# Called to generate a display name for the task (requires @tool).
|
||||
func _generate_name() -> String:
|
||||
|
||||
@@ -47,6 +47,7 @@ children = [SubResource("BTSetVar_mtixs"), SubResource("BTAction_0kac8"), SubRes
|
||||
[sub_resource type="BTDecorator" id="BTDecorator_nqy1p"]
|
||||
children = [SubResource("BTSequence_s3kkm")]
|
||||
script = ExtResource("2_mtixs")
|
||||
activity = "Arriving"
|
||||
|
||||
[sub_resource type="BTRunLimit" id="BTRunLimit_1441p"]
|
||||
children = [SubResource("BTDecorator_nqy1p")]
|
||||
@@ -72,6 +73,7 @@ children = [SubResource("BTCondition_s18yy"), SubResource("BTAction_700su"), Sub
|
||||
[sub_resource type="BTDecorator" id="BTDecorator_700su"]
|
||||
children = [SubResource("BTSequence_1441p")]
|
||||
script = ExtResource("2_mtixs")
|
||||
activity = "Registering as an adventurer"
|
||||
|
||||
[sub_resource type="BTCondition" id="BTCondition_mtixs"]
|
||||
script = ExtResource("4_1441p")
|
||||
@@ -91,6 +93,7 @@ children = [SubResource("BTCondition_mtixs"), SubResource("BTAction_fe6jf"), Sub
|
||||
[sub_resource type="BTDecorator" id="BTDecorator_s18yy"]
|
||||
children = [SubResource("BTSequence_nqy1p")]
|
||||
script = ExtResource("2_mtixs")
|
||||
activity = "Getting a quest"
|
||||
|
||||
[sub_resource type="BTProbability" id="BTProbability_s3kkm"]
|
||||
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"]
|
||||
children = [SubResource("BTComment_mwsop")]
|
||||
script = ExtResource("2_mtixs")
|
||||
activity = null
|
||||
|
||||
[sub_resource type="BTCooldown" id="BTCooldown_mtixs"]
|
||||
duration = 5.0
|
||||
|
||||
8
data/jobs/farmer.tres
Normal file
8
data/jobs/farmer.tres
Normal 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
10
data/jobs/job_data.gd
Normal file
@@ -0,0 +1,10 @@
|
||||
class_name JobData extends Resource
|
||||
|
||||
enum Type {
|
||||
CIVILIAN,
|
||||
ADVENTURER,
|
||||
EMPLOYEE,
|
||||
CRAFTER
|
||||
}
|
||||
@export var name : String
|
||||
@export var type : Type
|
||||
1
data/jobs/job_data.gd.uid
Normal file
1
data/jobs/job_data.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://byr5ai03cpa5s
|
||||
9
data/jobs/rookie.tres
Normal file
9
data/jobs/rookie.tres
Normal 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
260
data/names/femme_names.txt
Normal 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
331
data/names/masc_names.txt
Normal 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
2278
data/names/surnames.txt
Normal file
File diff suppressed because it is too large
Load Diff
52
guild.gd
52
guild.gd
@@ -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 quests : Dictionary[Quest,bool] = {}
|
||||
var hall : Guildhall = 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:
|
||||
members.append(member)
|
||||
if first:
|
||||
@@ -35,8 +67,24 @@ func assign_quest(member : AdventurerData, quest : Quest) -> void:
|
||||
Game.add_quest_progress_bar(quest)
|
||||
|
||||
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()
|
||||
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)
|
||||
sprite.global_position = pos
|
||||
|
||||
@@ -2,7 +2,6 @@ class_name GuildEmployee extends Adventurer
|
||||
|
||||
@export var speech :String
|
||||
@onready var queue : GuildQueue = $Queue
|
||||
var busy : bool
|
||||
|
||||
signal service_provided()
|
||||
|
||||
|
||||
@@ -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="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://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="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(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)])
|
||||
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), 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
|
||||
agent_radius = 35.0
|
||||
|
||||
@@ -38,15 +40,25 @@ tile_map_data = PackedByteArray("AAABAAEAAAAOAAEAAAACAAEAAAAOAAEAAAADAAEAAAAOAAE
|
||||
tile_set = ExtResource("1_qel1r")
|
||||
|
||||
[node name="TileMapLayer2" type="TileMapLayer" parent="RoomRegion"]
|
||||
tile_map_data = PackedByteArray("AAAEAAEAAAASAAwAAAAFAAEAAAATAAwAAAAGAAEAAAATAAwAAAAHAAEAAAATAAwAAAAIAAEAAAATAAwAAAAJAAEAAAATAAwAAAAKAAEAAAATAAwAAAALAAEAAAAUAAwAAAANAAAAAAAKABEAAAAOAAAAAAAKABEAAAAPAAAAAAAKABEAAAAQAAAAAAAKABEAAAA=")
|
||||
tile_map_data = PackedByteArray("AAANAAAAAAAKABEAAAAOAAAAAAAKABEAAAAPAAAAAAAKABEAAAAQAAAAAAAKABEAAAA=")
|
||||
tile_set = ExtResource("1_qel1r")
|
||||
|
||||
[node name="Sprites" type="Node2D" parent="."]
|
||||
z_index = 1
|
||||
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")]
|
||||
position = Vector2(512, -27)
|
||||
position = Vector2(512, 29)
|
||||
|
||||
[node name="Queue" parent="Sprites/Receptionist" index="3"]
|
||||
position = Vector2(0, 220)
|
||||
@@ -72,7 +84,7 @@ position = Vector2(448, 600)
|
||||
navigation_polygon = SubResource("NavigationPolygon_l3mu1")
|
||||
|
||||
[node name="Quest Board" type="StaticBody2D" parent="."]
|
||||
position = Vector2(940, 33)
|
||||
position = Vector2(935, 32)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Quest Board"]
|
||||
position = Vector2(0, -64)
|
||||
|
||||
@@ -2,12 +2,15 @@ extends Control
|
||||
|
||||
@onready var name_label = %NameLabel
|
||||
@onready var level_label = %LevelLabel
|
||||
@onready var class_label = %ClassLabel
|
||||
@onready var job_label = %JobLabel
|
||||
@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
|
||||
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
|
||||
|
||||
@@ -51,7 +51,7 @@ layout_mode = 2
|
||||
text = "Lvl"
|
||||
horizontal_alignment = 2
|
||||
|
||||
[node name="ClassLabel" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
[node name="JobLabel" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Class"
|
||||
|
||||
BIN
reception-table.png
Normal file
BIN
reception-table.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
40
reception-table.png.import
Normal file
40
reception-table.png.import
Normal 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
BIN
receptionist.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
40
receptionist.png.import
Normal file
40
receptionist.png.import
Normal 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
|
||||
@@ -1,7 +1,7 @@
|
||||
[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="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="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"]
|
||||
@@ -13,7 +13,6 @@ height = 54.0
|
||||
[sub_resource type="BlackboardPlan" id="BlackboardPlan_xsrct"]
|
||||
|
||||
[node name="Receptionist" type="CharacterBody2D"]
|
||||
modulate = Color(1.7602391, 1.7602391, 1.7602391, 1)
|
||||
position = Vector2(0, -64)
|
||||
script = ExtResource("1_vwytd")
|
||||
|
||||
@@ -23,7 +22,7 @@ rotation = 1.5707964
|
||||
shape = SubResource("CapsuleShape2D_dlmqr")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
modulate = Color(0, 0.40784314, 1, 1)
|
||||
position = Vector2(0, 15)
|
||||
texture = ExtResource("2_dlmqr")
|
||||
|
||||
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
|
||||
@@ -36,7 +35,7 @@ script = ExtResource("3_wurf5")
|
||||
direction = Vector2(0, 1)
|
||||
|
||||
[node name="SpeechBubble" parent="." instance=ExtResource("4_dlmqr")]
|
||||
position = Vector2(44, -77)
|
||||
position = Vector2(44, -38)
|
||||
|
||||
[node name="BTPlayer" type="BTPlayer" parent="."]
|
||||
behavior_tree = ExtResource("7_qmbsn")
|
||||
|
||||
Reference in New Issue
Block a user