Ok had to create functions to allow a small chance of having "New" or "Old" in front of the name generated for the landmass. And translate those words for 32 languages.....because Hammer makes my life difficult.
Example showing it generate "New" in some language for the name:
<planet>
<name>Adhara (Trip 3040+)</name>
<xcood>-123.314</xcood>
<ycood>-468.96</ycood>
<spectralClass>K</spectralClass>
<subtype>3</subtype>
<luminosity>V</luminosity>
<spectralType>K3V</spectralType>
<sysPos>3</sysPos>
<axis>Tilted</axis>
<orbit>Elliptical</orbit>
<pressure>3</pressure>
<gravity>1.2</gravity>
<lifeForm>5</lifeForm>
<climate>SUPERTROPCIAL</climate>
<percentWater>10</percentWater>
<temperature>40</temperature>
<landMass>Nuovo Lucetti</landMass>
<landMass>Vasiliou</landMass>
<faction>UND</faction>
<factionChange>
<date>2750-01-01</date>
<faction>MOC</faction>
</factionChange>
<desc>[Tainted Atmosphere] </desc>
</planet>
New code:
Private Function getName(planet) As String
Dim l As Integer = getLanguage(planet)
Dim pre As String = getPre(l)
Dim expression As String = "Language = " & l
Dim selectRows As DataRow()
selectRows = table.Select(expression)
Dim r As Integer = rollX(selectRows.Length - 1)
Dim name As String = ""
If String.IsNullOrEmpty(pre) = True Then
name = selectRows(r)(0)
ElseIf String.IsNullOrEmpty(pre) = False Then
name = pre & " " & selectRows(r)(0)
Else
End If
Return name
End Function
Private Function getLanguage(planet) As Integer
Dim d As String
If planet.factionChange() Is Nothing Then
d = planet.faction()
Else
d = planet.factionChange(0).faction()
End If
Select Case d
Case "CC", "FR", "NCR", "NIOPS"
Return getCCLanguage()
Case "SLIE", "CBS", "CB", "CCC", "CCO", "CDS", "CFM", "CGB", "CGS", "CHH", "CIH", "CJF", "CMG", "CNC", "CSJ", "CSR", "CSA", "CSV", "CWI", "CW", "CWOV"
Return getClanLanguage()
Case "DC"
Return getDCLanguage()
Case "FRR", "EF", "JF"
Return getFRRLanguage()
Case "FS", "THW", "TC", "OA", "CDP", "TD", "FOR", "MM"
Return getFSLanguage()
Case "FWL", "MOC", "IP", "LL", "MH"
Return getFWLLanguage()
Case "LA", "RWR", "CIR", "GV", "HL", "MV", "BoS", "OC", "RIM", "RCM", "RT", "TB"
Return getLALanguage()
Case Else
Return rollX(31) + 1
End Select
End Function
Private Function getCCLanguage() As Integer
Dim r As Integer = rollX(44)
Select Case r
Case 0 To 9
Return 1
Case 10 To 24
Return 12
Case 25 To 44
Return 20
Case Else
Return 0
End Select
End Function
Private Function getClanLanguage() As Integer
Dim r As Integer = rollX(59)
Select Case r
Case 0 To 14
Return 1
Case 15 To 24
Return 9
Case 25 To 44
Return 19
Case 45 To 59
Return 20
Case Else
Return 0
End Select
End Function
Private Function getDCLanguage() As Integer
Dim r As Integer = rollX(54)
Select Case r
Case 0 To 9
Return 1
Case 10 To 24
Return 7
Case 25 To 34
Return 22
Case 35 To 54
Return 26
Case Else
Return 0
End Select
End Function
Private Function getFRRLanguage() As Integer
Dim r As Integer = rollX(74)
Select Case r
Case 0 To 9
Return 1
Case 10 To 24
Return 5
Case 25 To 54
Return 7
Case 55 To 74
Return 26
Case Else
Return 0
End Select
End Function
Private Function getFSLanguage() As Integer
Dim r As Integer = rollX(84)
Select Case r
Case 0 To 9
Return 1
Case 10 To 29
Return 2
Case 30 To 44
Return 3
Case 45 To 59
Return 4
Case 60 To 69
Return 8
Case 70 To 84
Return 25
Case Else
Return 0
End Select
End Function
Private Function getFWLLanguage() As Integer
Dim r As Integer = rollX(144)
Select Case r
Case 0 To 9
Return 1
Case 10 To 29
Return 9
Case 30 To 44
Return 10
Case 45 To 54
Return 13
Case 55 To 64
Return 14
Case 65 To 74
Return 15
Case 75 To 84
Return 18
Case 85 To 104
Return 19
Case 105 To 114
Return 20
Case 115 To 124
Return 24
Case 125 To 144
Return 25
Case Else
Return 0
End Select
End Function
Private Function getLALanguage() As Integer
Dim r As Integer = rollX(79)
Select Case r
Case 0 To 9
Return 1
Case 10 To 24
Return 3
Case 25 To 39
Return 4
Case 40 To 59
Return 5
Case 60 To 79
Return 7
Case Else
Return 0
End Select
End Function
Private Function getNew(l As Integer) As String
Select Case l
Case 1 To 3
Return "New"
Case 4
Return "Nua"
Case 5
Return "Neu"
Case 6
Return "Nieuwe"
Case 7
Return "Nýtt"
Case 8
Return "Nouveau"
Case 9
Return "Nuovo"
Case 10
Return "Nuevo"
Case 11
Return "Novo"
Case 12
Return "Novyy"
Case 13
Return "Nový"
Case 14
Return "Nowy"
Case 15
Return "Nou"
Case 16
Return "Uusi"
Case 17
Return "I Ri"
Case 18
Return "Novi"
Case 19
Return "Néos"
Case 20
Return "Yeni"
Case 21
Return "Nor"
Case 22
Return "Aljadid"
Case 23
Return "Nuwe"
Case 24
Return "Nya"
Case 25
Return "Naya"
Case 26
Return "Atarashī"
Case 27
Return "Saeloun"
Case 28
Return "Xīn"
Case 29
Return "Mới"
Case 30
Return "Baru"
Case 31
Return "Fou"
Case 32
Return "Bago"
Case Else
Return "Error"
End Select
End Function
Private Function getOld(l As Integer) As String
Select Case l
Case 1 To 3
Return "Old"
Case 4
Return "Sean"
Case 5
Return "Alt"
Case 6
Return "Oud"
Case 7
Return "Gamall"
Case 8
Return "Vieux"
Case 9
Return "Vecchio"
Case 10
Return "Antiguo"
Case 11
Return "Velho"
Case 12
Return "Staryy"
Case 13
Return "Starý"
Case 14
Return "Stary"
Case 15
Return "Vechi"
Case 16
Return "Vanha"
Case 17
Return "I Vjetër"
Case 18
Return "Stari"
Case 19
Return "Palaiós"
Case 20
Return "Eski"
Case 21
Return "Hin"
Case 22
Return "Qadim"
Case 23
Return "Ou"
Case 24
Return "Puraana"
Case 25
Return "Puraana"
Case 26
Return "Furui"
Case 27
Return "Neulg-eun"
Case 28
Return "Jiù"
Case 29
Return "Cũ"
Case 30
Return "Tua"
Case 31
Return "Tuai"
Case 32
Return "Matanda"
Case Else
Return "Error"
End Select
End Function
Private Function getPre(l As Integer) As String
Dim r As Integer = roll2D6()
Select Case r
Case 2
Return getOld(l)
Case 3
Return getNew(l)
Case Else
Return ""
End Select
End Function