Formulae in Python for those interested...
By the way I thought I'd share the ValueFormula class I came up with in Python for these formulae. This is what Captain's Log uses...
Code:
[FONT=lucida console][COLOR=#CC7832]from [/COLOR][COLOR=#A9B7C6]math [/COLOR][COLOR=#CC7832]import [/COLOR][COLOR=#A9B7C6]ceil
[/COLOR]
[COLOR=#cc7832]class [/COLOR]ValueFormula([COLOR=#8888c6]object[/COLOR]):
[COLOR=#808080]# Both forumlae taken from MattG's forum post, see
[/COLOR][COLOR=#808080] # https://forums.frontier.co.uk/showthread.php/232000-Exploration-value-formulae
[/COLOR][COLOR=#8888c6]
@[/COLOR][COLOR=#bbb529]staticmethod
[/COLOR][COLOR=#cc7832] def [/COLOR][COLOR=#ffc66d]calc_star_value[/COLOR](bodytype[COLOR=#cc7832], [/COLOR]mass):
k = [COLOR=#6897bb]2880 [/COLOR][COLOR=#808080]# All other star types (and failsafe to that anyway) except...
[/COLOR][COLOR=#cc7832]
if [/COLOR][COLOR=#6a8759]'N' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype [COLOR=#cc7832]or [/COLOR][COLOR=#6a8759]'H' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype: [COLOR=#808080]# Neutron star or black hole
[/COLOR] k = [COLOR=#6897bb]54309
[/COLOR][COLOR=#cc7832] elif [/COLOR][COLOR=#6a8759]'D' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype: [COLOR=#808080]# White Dwarf
[/COLOR] k = [COLOR=#6897bb]33737
[/COLOR][COLOR=#6897bb]
[/COLOR][COLOR=#cc7832] return [/COLOR][COLOR=#8888c6]int[/COLOR](ceil(k + (mass * k/[COLOR=#6897bb]66.25[/COLOR])))
[COLOR=#8888c6]@[/COLOR][COLOR=#bbb529]staticmethod
[/COLOR][COLOR=#cc7832] def [/COLOR][COLOR=#ffc66d]calc_planet_value[/COLOR](bodytype[COLOR=#cc7832], [/COLOR]terraformable[COLOR=#cc7832], [/COLOR]mass):
bodytype = [COLOR=#8888c6]str[/COLOR](bodytype).lower()
k = [COLOR=#6897bb]720 [/COLOR][COLOR=#808080]# default k value for all planet types except...
[/COLOR][COLOR=#cc7832]
if [/COLOR][COLOR=#6a8759]'metal rich body' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype:
k = [COLOR=#6897bb]52292
[/COLOR][COLOR=#cc7832] elif [/COLOR][COLOR=#6a8759]'ammonia world' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype:
k = [COLOR=#6897bb]232619
[/COLOR][COLOR=#cc7832] elif [/COLOR][COLOR=#6a8759]'sudarsky class i gas giant' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype:
k = [COLOR=#6897bb]3974
[/COLOR][COLOR=#cc7832] elif [/COLOR][COLOR=#6a8759]'sudarsky class ii gas giant' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype [COLOR=#cc7832]or [/COLOR][COLOR=#6a8759]'high metal content body' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype:
[COLOR=#cc7832]if [/COLOR]terraformable:
k = [COLOR=#6897bb]241607
[/COLOR][COLOR=#cc7832] else[/COLOR]:
k = [COLOR=#6897bb]23168
[/COLOR][COLOR=#cc7832] elif [/COLOR][COLOR=#6a8759]'water world' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype [COLOR=#cc7832]or [/COLOR][COLOR=#6a8759]'earthlike body' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype:
[COLOR=#cc7832]if [/COLOR]terraformable:
k = [COLOR=#6897bb]279088
[/COLOR][COLOR=#cc7832] else[/COLOR]:
k = [COLOR=#6897bb]155581
[/COLOR][COLOR=#cc7832] elif [/COLOR][COLOR=#6a8759]'rocky body' [/COLOR][COLOR=#cc7832]in [/COLOR]bodytype:
[COLOR=#cc7832]if [/COLOR]terraformable:
k = [COLOR=#6897bb]223971
[/COLOR][COLOR=#6897bb]
[/COLOR][COLOR=#CC7832] return [/COLOR][COLOR=#8888C6]int[/COLOR][COLOR=#A9B7C6](ceil(k + ([/COLOR][COLOR=#6897BB]3 [/COLOR][COLOR=#A9B7C6]* k * (mass ** [/COLOR][COLOR=#6897BB]0.199977[/COLOR][COLOR=#A9B7C6]) / [/COLOR][COLOR=#6897BB]5.3[/COLOR][COLOR=#A9B7C6])))[/COLOR][/FONT]
Should be self-explanatory.
calc_star_value() takes two arguments:
bodytype : Star class as given from the Player Journal.
mass : Star mass as supplied from the Player Journal
A rounded up integer is returned as the result.
calc_planet_value() takes 3 arguments:
bodytype : The full name planet type as supplied by the Player Journal
terraformable : True or False (python), depending on whether the planet is terraformable or not (note: planets can also be in a state of being terraformed or have been terraformed - in those two additional cases I treat that as False)
mass : planet mass in Earth masses
It might seem cumbersome to use the full name body type, but CL2 doesn't have a hard-coded table of planet types. It adds a table of body types as and when new ones are encountered and then uses that table for its other functions. I could have chosen to make a shorthand, but that'd be a redundant/needless operation just for the purposes of code brevity
Also, the supplied body type is converted to lower case for the purpose of comparison, as the Player Journal has a mixture of caps and lower case.
Hope this is helpful for those who want a version of the formulae in code form

, it shouldn't take too much effort to port to your language of choice I don't think.