Best way to bulk add custom properties?

I'm looking to, in a somewhat bulk fashion, add custom properties and to populate the political fields for populated planets/moons/stations and to their root bodies.

Example of fields I would like to add:

i) Populate the existing political field
ii) Add custom fields
a) Sector Capital
b) Capital
c) Major World
d) Minor World
e) Settlement
f) Outpost
h) Trade Codes (this one tracks rich, poor, desert world, water world, ice world, hot world, garden world, etc)
g) Resource Codes (this one tracks key resources - metals, organics, hydrocarbons, radioactives, fresh water, etc)
h) Port Codes (major and minor starports/downports/highports, restricted spatial volumes, beacons, local SAR capabilities, etc)
i) Legal Codes (this one is used for quarantines or interdictions)
j) Industrial Codes (like resources, but with finished products - information, software, weapons, ship systems, vehicles, consumer products, etc)
k) Military Codes (bases present and their nature and size, planetary defenses)
l) Gross Trade Index (rating like the water rating that gives a broad notion of how much trade flows in and out)

I could have all of them always appear or ones that are not populated could be hidden.

I can do all this by hand per system which is time consuming. I'm at 26 systems now and expect a whole whack of little stations and outposts so times about a dozen fields is... yeah, longer than one would prefer.

What I'd like to know is whether a script could reasonably manage this faster?

In my ignorance, I imagine a process like:

a) Get a list of all populated bodies' ID strings and the ID strings of their root bodies (with these, I should be able to pull any other planetary data to determine trade index or various codes that derive from the physical planetography)
b) Iterate this list
b1) Update political for each
b2) add each of the above fields in a sensible order and with an appropriate value
b2a) Fetch any required info for calculations using the object's ID as a reference
b2b) calculate any values that are calculable
b2c) set the field and value

Does what I want to do seem to be something scripting could fully enable? (I'm looking more to 'is this possible' than 'how do I do this/please do it for me')


Leave a Comment