Hi all,
For those who are interested in the Coding:
This is the "historical" tenant generation code that I used based on actual historical Rolls used for taxes. It is varied from the original Harn Manor tables in that it grants less land to the tenants of the manor (Village). Historically, the demense (the Lord's fields) ran about 1/3rd of his total acres, with the tenants getting the remaining 2/3rds.
Virgate is by definition, 30 acres of land. Thus a half virgate is 15, a quarter virgate is about 8. Farmers are by definition, Freemen rather than serfs.
Craftsmen are also freemen. This doesn't mean necessarily that there aren't serfs who can't practice some form of craftsmanship, it simply means that these individuals are usually "guilded" craftsmen.
Villein are serfs holding 30 acres of land, etc.
Cottars are those serfs who hold less than 5 acres of land.
The last unexplained category is the "Super" version of either Villein or Farmer. Purchasing land is not exactly possible unless the Lord ratifies said "purchase". For serfs, this is a permanent change to the contract for the Serf family and the Lord. For "Farmers", the contract is usually for 7 years or less, for the use of the land. A Lord could refuse to renew the rent of his land to the freeman. By custom, rent was generally about 1/3rd of the land being farmed's production to the lord. Harn Manor does it a little differently
Over time, these land contracts could change such that a relatively wealthy individual can amass sufficient land in excess of 30 acres. In general, the land sold would be a perch or a rod rather than an acre, but over time, these add up.
If you see a mageborn with 1/4 villein as their social status, it could mean that they're the child of someone who holds about 8 acres of land. If the Mageborn is an actual head of household, then the mage himself owes the obligation. Either way, until his Lord accepts a manumission fee in exchange for his freedom, he is still a serf with obligations.
Code:
Public Function GetHistoricTenant(ByVal DieRoll As Integer, ByVal Kingdom As String) As String
Select Case DieRoll
Case 1 To 10
GetHistoricTenant = "Craftsman"
Case Is = 11
GetHistoricTenant = "Virgate Farmer Plus"
Case 12 To 13
GetHistoricTenant = "Virgate Farmer"
Case 14 To 16
GetHistoricTenant = "1/2 Virgate Farmer"
Case 17 To 18
GetHistoricTenant = "1/4 Virgate Farmer"
Case 19 To 25
GetHistoricTenant = "Small Farmer"
Case Is = 26
GetHistoricTenant = "Villien Plus"
Case 27 To 44
GetHistoricTenant = "Villien"
Case 45 To 71
GetHistoricTenant = "1/2 Villien"
Case 72 To 78
GetHistoricTenant = "1/4 Villien"
Case 79 To 90
GetHistoricTenant = "Cottar"
Case Else
If Kingdom = "Slave-owning" Then
GetHistoricTenant = "Slave"
Else
GetHistoricTenant = "Cottar"
End If
End Select
End Function