diff --git a/BrothelSource/brothel.blend b/BrothelSource/brothel.blend
index 4d61107..08e2f97 100644
Binary files a/BrothelSource/brothel.blend and b/BrothelSource/brothel.blend differ
diff --git a/BrothelSystem/mod.lua b/BrothelSystem/mod.lua
index 59d3bce..375fd7b 100644
--- a/BrothelSystem/mod.lua
+++ b/BrothelSystem/mod.lua
@@ -1,47 +1,26 @@
local BrothelSystemMod = foundation.createMod();
-BrothelSystemMod:registerAssetId("models/brothel.fbx/Prefab/Brothel", "PREFAB_BROTHEL")
+
+
+-- Monuments (brothel)
+BrothelSystemMod:dofile("scripts/brothel/monument.lua")
-- Jobs
BrothelSystemMod:dofile("scripts/jobs.lua")
-BrothelSystemMod:register({
- DataType = "BUILDING",
- Id = "BROTHEL",
- Name = "BROTHEL_NAME",
- Description = "BROTHEL_DESC",
- BuildingType = "GENERAL",
- BuildingPartSetList = {
- {
- Name = "BROTHEL_NAME",
- BuildingPartList = { "BROTHEL" }
- }
- }
-})
-BrothelSystemMod:register({
- DataType = "BUILDING_PART",
- Id = "BROTHEL",
- Name = "BROTHEL_NAME",
- Description = "BROTHEL_DESC",
- Category = "GENERAL",
- ConstructorData = {
- DataType = "BUILDING_CONSTRUCTOR_DEFAULT",
- CoreObjectPrefab = "PREFAB_BROTHEL"
- }
-})
- Override default Labour estate
+-- Override default Labour estate
BrothelSystemMod:override({
Id = "LABOUR",
EstateProgressList = { -- Add a new estate progress tier
Action = "APPEND",
{
DataType = "ESTATE_PROGRESS_TIER",
- SplendorRequired = 10,
- VillagerStatusRequired = { Status = "SERF", Quantity = 20 },
+ SplendorRequired = 0,
+ VillagerStatusRequired = { Status = "SERF", Quantity = 0 },
UpgradeList = {
- "UNLOCKABLE_MITHRIL_FACTORY"
+ "UNLOCKABLE_BROTHEL"
}
}
}
diff --git a/BrothelSystem/models/brothel.fbx b/BrothelSystem/models/brothel.fbx
index 7eac42a..50139d1 100644
Binary files a/BrothelSystem/models/brothel.fbx and b/BrothelSystem/models/brothel.fbx differ
diff --git a/BrothelSystem/models/brothel.fbx.meta b/BrothelSystem/models/brothel.fbx.meta
index 3564c89..d24f4f0 100644
--- a/BrothelSystem/models/brothel.fbx.meta
+++ b/BrothelSystem/models/brothel.fbx.meta
@@ -1,36 +1,858 @@
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -51,38 +873,2303 @@
-
-
-
+
+
-
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
-
-
-
-
- -
-
-
-
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
+
+
+
+
+
@@ -90,28 +3177,20 @@
-
-
-
+
+
-
-
-
+
+
-
-
-
+
+
-
-
-
-
- -
-
-
-
- -
-
-
+
+
diff --git a/BrothelSystem/models/brothelSource.fbx b/BrothelSystem/models/brothelSource.fbx
new file mode 100644
index 0000000..7eac42a
Binary files /dev/null and b/BrothelSystem/models/brothelSource.fbx differ
diff --git a/BrothelSystem/models/brothelSource.fbx.meta b/BrothelSystem/models/brothelSource.fbx.meta
new file mode 100644
index 0000000..23c015f
--- /dev/null
+++ b/BrothelSystem/models/brothelSource.fbx.meta
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
-
+
+
+
-
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ -
+
+
+
+ -
+
+
+
+ -
+
+
+
+ -
+
+
+
+ -
+
+
+
+
+
+
diff --git a/BrothelSystem/scripts/brothel/building_parts.lua b/BrothelSystem/scripts/brothel/building_parts.lua
new file mode 100644
index 0000000..d3c854d
--- /dev/null
+++ b/BrothelSystem/scripts/brothel/building_parts.lua
@@ -0,0 +1,106 @@
+local BrothelSystemMod = ...
+
+
+------------------------------BROTHEL---------------------------------
+
+-- Register core prefab nodes
+BrothelSystemMod:registerAssetId("models/brothel.fbx/Prefab/Brothel/Core/RootPart", "BROTHEL_CORE_ROOT_PREFAB")
+BrothelSystemMod:registerAssetId("models/brothel.fbx/Prefab/Brothel/Core/TopPart", "BROTHEL_CORE_TOP_PREFAB")
+BrothelSystemMod:registerAssetId("models/brothel.fbx/Prefab/Brothel/Core/Tiling1Part", "BROTHEL_CORE_TILING1_PREFAB")
+BrothelSystemMod:registerAssetId("models/brothel.fbx/Prefab/Brothel/Core/Tiling2Part", "BROTHEL_CORE_TILING2_PREFAB")
+BrothelSystemMod:registerAssetId("models/brothel.fbx/Prefab/Brothel/Core/Tiling3Part", "BROTHEL_CORE_TILING3_PREFAB")
+
+-- Register door prefab nodes
+BrothelSystemMod:registerAssetId("models/brothel.fbx/Prefab/Brothel/DoorAPart", "BROTHEL_DOOR_A_PREFAB")
+
+--------------------------------------------------------------------------
+
+-- Create default building part registering function
+function registerDefaultBuildingPart(_nodePrefix)
+ BrothelSystemMod:register({
+ DataType = "BUILDING_PART",
+ Id = _nodePrefix .. "_PART",
+ Mover = { DataType = "BUILDING_PART_MOVER" },
+ ConstructorData = { DataType = "BUILDING_CONSTRUCTOR_DEFAULT", CoreObjectPrefab = _nodePrefix .. "_PREFAB" }
+ })
+end
+
+local defaultNodePrefixList = {
+ "BROTHEL_CORE_TOP",
+ "BROTHEL_CORE_TILING1",
+ "BROTHEL_CORE_TILING2",
+ "BROTHEL_CORE_TILING3"
+}
+
+-- Register simple building part assets
+for i, nodePrefix in ipairs(defaultNodePrefixList) do
+ registerDefaultBuildingPart(nodePrefix)
+end
+
+--------------------------------------------------------------------------
+
+BrothelSystemMod:register({
+ DataType = "BUILDING_FUNCTION_WORKPLACE",
+ Id = "BROTHEL_CORE_FUNCTION",
+ WorkerCapacity = 4,
+ RelatedJob = { Job = "TRANSPORTER", Behavior = "WORK_BEHAVIOR" },
+ ResourceProduced = { -- Necessarily a list of 'RESOURCE_QUANTITY_PAIR', no need to specify the DataType
+ { Resource = "BARREL", Quantity = 5 }
+ }
+})
+
+-- Register the brothel core part
+BrothelSystemMod:register({
+ DataType = "BUILDING_PART",
+ Id = "BROTHEL",
+ Name = "BROTHEL_NAME",
+ Description = "BROTHEL_DESC",
+ Category = "CORE",
+ Mover = { DataType = "BUILDING_PART_MOVER_INSTANCE" },
+ ConstructorData = {
+ DataType = "BUILDING_CONSTRUCTOR_SCALER", -- Since there are different types of building constructor, 'DataType' is necessary here
+ CoreObjectPrefab = "BROTHEL_CORE_ROOT_PREFAB",
+ EndPart = "BROTHEL_CORE_TOP_PART",
+ FillerList = {
+ "BROTHEL_CORE_TILING1_PART",
+ "BROTHEL_CORE_TILING2_PART",
+ "BROTHEL_CORE_TILING3_PART"
+ },
+ BasementFillerList = {
+ "BROTHEL_CORE_TILING1_PART",
+ "BROTHEL_CORE_TILING2_PART",
+ "BROTHEL_CORE_TILING3_PART"
+ },
+ },
+ BuildingFunction = "BROTHEL_CORE_FUNCTION",
+ Cost = {
+ UpkeepCost = { -- List of RESOURCE_QUANTITY_PAIR
+ { Resource = "GOLD", Quantity = 3 }
+ },
+ RessourcesNeeded = { -- List of RESOURCE_QUANTITY_PAIR
+ { Resource = "WOOD", Quantity = 30 },
+ { Resource = "STONE", Quantity = 20 }
+ }
+ }
+})
+
+-- Register the brothel door A part
+BrothelSystemMod:register({
+ DataType = "BUILDING_PART",
+ Id = "BROTHEL_DOOR_A_PART",
+ Name = "BROTHEL_DOOR_A_NAME",
+ Description = "BROTHEL_DOOR_A_DESC",
+ Category = "DOOR",
+ Mover = { DataType = "BUILDING_PART_MOVER_INSTANCE" },
+ ConstructorData = {
+ DataType = "BUILDING_CONSTRUCTOR_DEFAULT",
+ CoreObjectPrefab = "BROTHEL_DOOR_A_PREFAB"
+ },
+ Cost = {
+ RessourcesNeeded = { -- List of RESOURCE_QUANTITY_PAIR
+ { Resource = "WOOD", Quantity = 5 }
+ }
+ }
+})
+
+
diff --git a/BrothelSystem/scripts/brothel/monument.lua b/BrothelSystem/scripts/brothel/monument.lua
new file mode 100644
index 0000000..1dc3f13
--- /dev/null
+++ b/BrothelSystem/scripts/brothel/monument.lua
@@ -0,0 +1,56 @@
+local BrothelSystemMod = ...
+
+---------------------
+
+-- Apply building asset processor
+BrothelSystemMod:registerAssetProcessor("models/brothel.fbx", {
+ DataType = "BUILDING_ASSET_PROCESSOR"
+})
+
+-- Register all mithril factory building parts and their properties
+BrothelSystemMod:dofile("scripts/brothel/building_parts.lua")
+
+
+-- Register the brothel monument
+BrothelSystemMod:register({
+ DataType = "MONUMENT",
+ Id = "BROTHEL",
+ Name = "BROTHEL_NAME",
+ Description = "BROTHEL_DESC",
+ BuildingType = BUILDING_TYPE.MONUMENT,
+ BuildingPartSetList = {
+ {
+ Name = "BROTHEL_CORE",
+ BuildingPartList = { "BROTHEL" }
+ },
+ {
+ Name = "ENTRANCE",
+ BuildingPartList = {
+ "BROTHEL_DOOR_A_PART"
+ }
+ }
+ },
+ RequiredPartList = {
+ -- Necessarily a list of 'MONUMENT_REQUIRED_PART_PAIR', no need to specify the DataType of each element of the list
+ { Category = "CORE", Quantity = 1 },
+ { Category = "DOOR", Quantity = 1 }
+ },
+ IsManuallyUnlocked = true,
+ IsDestructible = true,
+ IsEditable = true,
+ IsClearTrees = true
+})
+
+BrothelSystemMod:register({
+ DataType = "UNLOCKABLE_BUILDING",
+ Id = "UNLOCKABLE_BROTHEL",
+ Name = "UNLOCKABLE_BROTHEL_NAME",
+ Description = "UNLOCKABLE_BROTHEL_DESC",
+ EstateInfluenceCostList = {
+ { Estate = "LABOUR", Quantity = 0 }
+ },
+ RelatedProp = "BROTHEL"
+})
+
+------------- LIMIT ------
+