Stellaris

Stellaris

Modify the Galaxy
Modify your Stellaris experience by checking out the many mods created and shared by the community, including tweaks to almost any aspect of the game.
Learn More
Co-Valent Binaries
It started out as a random idea... modeling molecular chemistry in Stellaris. I think the results are kind of fun and interesting, though. This system, for example, would be a covalent deuterium molecule - 2H: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3429027771

The code for it is not too complex:
deuterium_init = { name = "Deuterium Molecule" usage = misc_system_init usage_odds = @guaranteed max_instances = 1 class = sc_m planet = { name = "Atom One" count = 1 size = 10 orbit_distance = 20 orbit_angle = 0 class = star planet = { name = "Electron One" count = 1 orbit_distance = 21 orbit_angle = 163 class = pc_barren size = 4 } } planet = { name = "Atom Two" count = 1 size = 10 orbit_distance = 0 orbit_angle = 180 class = pc_barren init_effect = { change_pc = pc_m_star } planet = { name = "Electron Two" count = 1 orbit_distance = 21 orbit_angle = 343 class = pc_barren size = 4 } } }

What could you use it for? Well, science missions into quantum space leap to mind. You could for example create a little event that draws an isolated system - your quantum space pocket. I've got this code working through the console, though I also had to add " effect = { set_country_flag = encountered_first_wormhole
add_seen_bypass_type = wormhole } through the console to send my test country through the wormhole. So it's rough and ready test code, not a complete thing, but shows you the basic how-to:
namespace = dorkspace #### 100 SERIES: Drawing the map at game start planet_event = { id = dorkspace.101 hide_window = yes is_triggered_only = yes fire_only_once = yes immediate = { solar_system = { save_event_target_as = bigspace } spawn_system = { min_jumps = 1 max_jumps = 1 min_distance >= 10 max_distance <= 90 initializer = deuterium_init hyperlane = yes effect = { save_global_event_target_as = quantumspace spawn_natural_wormhole = { bypass_type = wormhole random_pos = yes } event_target:bigspace = { spawn_natural_wormhole = { bypass_type = wormhole random_pos = yes } link_wormholes = prev } } } } }

So what kind of adventures could one have in quantum space? Well, I tried to draw the largest molecule I know of - uranium oxide. The results were kind of a hot mess (shown below), but like that molecule is also known as "yellowcake" and is essential in nuclear weapons. So one cool idea could be like "quantum anthropology" - sending a miniaturized science vessel to sabotage the nuclear weapons of an atomic-age pre-FTL to avert nuclear disaster.

I also thought a "quantum ethanol" might be fun to draw, and the mission hook could be like... assassinating a foreign leader or scientist by going quantum and poisoning their food just at the moment of its ingestion. If you got the ideas and want to do the coding, feel free to work with what I've got. It's only half-finished and I'm not planning to develop it, so if you want to take it and run with it, go with my gratitude.


Here's that messy yellowcake molecule:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3429075642

It's actually quite pretty without all the labels:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3429076062

I'll post a little more code in my responses for anyone who might find use for it.
< >
Showing 1-1 of 1 comments
Geoff 16 Feb @ 10:59pm 
So here's the Methane Molecule system:
methane_init = { name = "Methane Molecule" class = sc_f usage = misc_system_init usage_odds = @guaranteed max_instances = 1 planet = { name = "Carbon Atom" count = 1 class = star orbit_distance = 0 orbit_angle = 0 size = 16 planet = { name = "Carbon Electron - s1" count = 1 class = pc_barren orbit_distance = 20 orbit_angle = 120 size = 5 } planet = { name = "Carbon Electron - s2" count = 1 class = pc_barren orbit_distance = 0 orbit_angle = 120 size = 5 } planet = { name = "Carbon Electron - p1" count = 1 class = pc_barren size = 5 orbit_distance = 40 orbit_angle = 165 } planet = { name = "Carbon Electron - p2" count = 1 class = pc_barren size = 5 orbit_distance = 0 orbit_angle = 90 } planet = { name = "Carbon Electron - p3" count = 1 class = pc_barren size = 5 orbit_distance = 0 orbit_angle = 90 } planet = { name = "Carbon Electron - p4" count = 1 class = pc_barren size = 5 orbit_distance = 0 orbit_angle = 90 } } planet = { name = "Hydrogen Atom 1" count = 1 orbit_distance = 80 orbit_angle = 0 size = 10 init_effect = { change_pc = pc_m_star } planet = { name = "Hydrogen Electron - 1a" count = 1 orbit_distance = 20 orbit_angle = 180 size = 5 class = pc_barren } } planet = { name = "Hydrogen Atom 2" count = 1 orbit_distance = 0 orbit_angle = 90 size = 10 init_effect = { change_pc = pc_m_star } planet = { name = "Hydrogen Electron - 2a" count = 1 orbit_distance = 20 orbit_angle = 270 size = 5 class = pc_barren } } planet = { name = "Hydrogen Atom 3" count = 1 orbit_distance = 0 orbit_angle = 90 size = 10 init_effect = { change_pc = pc_m_star } planet = { name = "Hydrogen Electron - 3a" count = 1 orbit_distance = 20 orbit_angle = 0 size = 5 class = pc_barren } } planet = { name = "Hydrogen Atom 4" count = 1 orbit_distance = 0 orbit_angle = 90 size = 10 init_effect = { change_pc = pc_m_star } planet = { name = "Hydrogen Electron - 4a" count = 1 orbit_distance = 20 orbit_angle = 90 size = 5 class = pc_barren } } init_effect = { create_nebula = { name = "Big Smelly Nebula" radius = 100 } } }

And then yellowcake is technically triuranium octoxide... but there's literally no way to draw the whole electron cloud inside of Stellaris. Eleven stars with 1-2 electrons apiece seemed about the maximum I could manage. I gave up trying to line up the orbit intersections after a while. At any rate, the idea was just to establish for my own knowledge the maximum complexity scope. And hehehe. I don't know where it is precisely but this molecule probably exceeds it:
uranium_oxide_init = { name = "Yellowcake Molecule" class = sc_g usage = misc_system_init usage_odds = @guaranteed max_instances = 1 planet = { name = "Oxygen Atom 1" count = 1 class = star orbit_distance = 28 size = 18 orbit_angle = 0 planet = { name = "Oxygen Electron - 1a" count = 1 orbit_distance = 40 orbit_angle = 135 size = 5 class = pc_barren } planet = { name = "Oxygen Electron - 1b" count = 1 orbit_distance = 0 orbit_angle = 180 size = 5 class = pc_barren } } planet = { name = "Oxygen Atom - 2" count = 1 orbit_distance = 0 class = pc_barren size = 18 orbit_angle = 180 init_effect = { change_pc = pc_g_star } planet = { name = "Oxygen Electron - 2a" count = 1 orbit_distance = 40 orbit_angle = 90 size = 5 class = pc_barren } planet = { name = "Oxygen Electron - 2b" count = 1 orbit_distance = 0 orbit_angle = 180 size = 5 class = pc_barren } } planet = { name = "Uranium Atom A" count = 1 size = 102 orbit_distance = 190 class = star orbit_angle = 0 init_effect = { change_pc = pc_b_star } planet = { name = "Oxygen Atom-A1" count = 1 size = 18 orbit_distance = 160 orbit_angle = 17 class = pc_barren init_effect = { change_pc = pc_g_star } planet = { name = "Oxygen Electron-A1a" count = 1 orbit_distance = 40 orbit_angle = 0 class = pc_barren size = 5 } planet = { name = "Oxygen Electron-A1b" count = 1 orbit_distance = 0 orbit_angle = 180 class = pc_barren size = 5 } } planet = { name = "Oxygen Atom-A2" count = 1 size = 18 orbit_distance = 0 orbit_angle = 332 class = pc_barren init_effect = { change_pc = pc_g_star } planet = { name = "Oxygen Electron-A2a" count = 1 orbit_distance = 40 orbit_angle = 0 class = pc_barren size = 5 } planet = { name = "Oxygen Electron-A2b" count = 1 orbit_distance = 0 orbit_angle = 180 class = pc_barren size = 5 } } planet = { name = "Uranium Electron - a1" count = 1 orbit_distance = 0 orbit_angle = 30 size = 5 class = pc_barren } planet = { name = "Uranium Electron - a2" count = 1 orbit_distance = 0 orbit_angle = 300 size = 5 class = pc_barren } } planet = { name = "Uranium Atom B" count = 1 size = 102 orbit_distance = 0 class = pc_barren orbit_angle = 105 init_effect = { change_pc = pc_b_star } planet = { name = "Oxygen Atom-B1" count = 1 size = 18 orbit_distance = 160 orbit_angle = 105 class = pc_barren init_effect = { change_pc = pc_g_star } planet = { name = "Oxygen Electron - B1a" count = 1 orbit_distance = 40 orbit_angle = 0 class = pc_barren size = 5 } planet = { name = "Oxygen Electron - B1b" count = 1 orbit_distance = 0 orbit_angle = 180 class = pc_barren size = 5 } } planet = { name = "Oxygen Atom-B2" count = 1 size = 18 orbit_distance = 0 orbit_angle = 30 class = pc_barren init_effect = { change_pc = pc_g_star } planet = { name = "Oxygen Electron - B2a" count = 1 orbit_distance = 40 orbit_angle = 0 class = pc_barren size = 5 } planet = { name = "Oxygen Electron - B2b" count = 1 orbit_distance = 0 orbit_angle = 180 class = pc_barren size = 5 } } planet = { name = "Uranium Electron -b1" count = 1 orbit_distance = 0 orbit_angle = 285 size = 5 class = pc_barren } planet = { name = "Uranium Electron - b2" count = 1 orbit_distance = 0 orbit_angle = 105 size = 5 class = pc_barren } } planet = { name = "Uranium Atom C" count = 1 size = 102 orbit_distance = 0 class = pc_barren orbit_angle = 120 init_effect = { change_pc = pc_b_star } planet = { name = "Oxygen Atom-C1" count = 1 size = 18 orbit_distance = 160 orbit_angle = 210 class = pc_barren init_effect = { change_pc = pc_g_star } planet = { name = "Oxygen Electron - C1a" count = 1 orbit_distance = 40 orbit_angle = 0 class = pc_barren size = 5 } planet = { name = "Oxygen Electron - C1b" count = 1 orbit_distance = 0 orbit_angle = 180 class = pc_barren size = 5 } } planet = { name = "Oxygen Atom-C2" count = 1 size = 18 orbit_distance = 0 orbit_angle = 30 class = pc_barren init_effect = { change_pc = pc_g_star } planet = { name = "Oxygen Electron - C2a" count = 1 orbit_distance = 40 orbit_angle = 0 class = pc_barren size = 5 } planet = { name = "Oxygen Electron - C2b" count = 1 orbit_distance = 0 orbit_angle = 180 class = pc_barren size = 5 } } planet = { name = "Uranium Electron - c1" count = 1 orbit_distance = 0 orbit_angle = 285 size = 5 class = pc_barren } planet = { name = "Uranium Electron - c2" count = 1 orbit_distance = 0 orbit_angle = 105 size = 5 class = pc_barren } } }
< >
Showing 1-1 of 1 comments
Per page: 1530 50