• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Emperor Empoleon

Sergeant
22 Badges
Jun 23, 2016
68
29
  • Stellaris: Synthetic Dawn
  • Stellaris: Leviathans Story Pack
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: El Dorado
  • Semper Fi
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
Could anyone help me in trying to solve an issue whenever I try to make a Ringworld as a starting solar system? What I initially did was use the coding of a fallen empire and used it as the basis to create a Ringworld system.

This is what I have for the starting star system. Don't worry about the "ringworld_system_initializer_NAME/DESC" thing. That's another problem for another time.
OeCfvQo.jpg



However, the Ringworld ended up looking like this:
B7yCeFS.jpg



I'm trying to turn the capital into a proper ringworld but for some reason, I can't turn a continental world into a ringworld. Could anyone help me to find out where I did it wrong for the coding?

Here is the entire coding for the ringworld system:
Code:
### Cybrex Custom Starting System
ringworld_system_initializer = {
    name = "Cybrex Custom"
    class = "rl_standard_stars"
    
    init_effect = {
        every_neighbor_system = {
            set_star_flag = empire_cluster
            every_neighbor_system = {
                set_star_flag = empire_cluster
            }
        }
        
        generate_home_system_resources = yes
    }
    
    usage = custom_empire
    
        planet = {
        class = star
        orbit_distance = 0
        orbit_angle = 0
    }

    change_orbit = 45
    
    planet = {
        class = pc_ringworld_habitable
        name = "Sector One"
        orbit_angle = 30
        orbit_distance = 0
        size = 25
        starting_planet = yes
        tile_blockers = none
        modifiers = none
        
        init_effect = {
            prevent_anomaly = yes
        }
        
        init_effect = {
            generate_start_buildings_and_blockers = yes
        }
    }
    planet = {
        class = "pc_ringworld_tech"
        name = "NAME_Ring_Section_B"
        orbit_angle = 30
        orbit_distance = 0
    }
    planet = {
        class = "pc_ringworld_seam"
        name = "NAME_Ring_Section_C"
        orbit_angle = 30
        orbit_distance = 0
    }
    planet = {
        class = "pc_ringworld_habitable"
        name = "Sector Two"
        orbit_angle = 30
        orbit_distance = 0
        tile_blockers = none
        modifiers = none
    }
    planet = {
        class = "pc_ringworld_tech"
        name = "NAME_Ring_Section_E"
        orbit_angle = 30
        orbit_distance = 0
    }
    planet = {
        class = "pc_ringworld_seam"
        name = "NAME_Ring_Section_F"
        orbit_angle = 30
        orbit_distance = 0
    }
    planet = {
        class = "pc_ringworld_habitable"
        name = "Sector Three"
        orbit_angle = 30
        orbit_distance = 0
        tile_blockers = none
        modifiers = none
    }
    planet = {
        class = "pc_ringworld_tech"
        name = "NAME_Ring_Section_H"
        orbit_angle = 30
        orbit_distance = 0
    }
    planet = {
        class = "pc_ringworld_seam"
        name = "NAME_Ring_Section_I"
        orbit_angle = 30
        orbit_distance = 0
    }
    planet = {
        class = "pc_ringworld_habitable"
        name = "Sector Four"
        orbit_angle = 30
        orbit_distance = 0
        tile_blockers = none
        modifiers = none
    }
    planet = {
        class = "pc_ringworld_tech"
        name = "NAME_Ring_Section_K"
        orbit_angle = 30
        orbit_distance = 0
    }
    planet = {
        class = "pc_ringworld_seam"
        name = "NAME_Ring_Section_L"
        orbit_angle = 30
        orbit_distance = 0
    }
}
 

Merkury90

First Lieutenant
20 Badges
Aug 3, 2016
222
2
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Stellaris: Apocalypse
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Prison Architect
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Stellaris: Distant Stars Pre-Order
  • Crusader Kings II
For the first planet in the ringworld instead of "pc_ringworld_habitable" you could use "ideal_planet_class", so the planet will spawn as the one perfect for species.
Then add init effect to change the planet class to ringworld.

Something like this:
Code:
planet = {
       class = ideal_planet_class
        name = "Sector One"
        orbit_angle = 30
        orbit_distance = 0
        size = 25
        starting_planet = yes
        tile_blockers = none
        modifiers = none
       
        init_effect = {
            change_pc = "pc_ringworld_habitable"
            prevent_anomaly = yes
            generate_start_buildings_and_blockers = yes
        }
}
Cannot test right now but it should work.
 

Emperor Empoleon

Sergeant
22 Badges
Jun 23, 2016
68
29
  • Stellaris: Synthetic Dawn
  • Stellaris: Leviathans Story Pack
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: El Dorado
  • Semper Fi
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
I got another quick question.

I'm trying to recreate the Cybrex species (the exterminator ones). I found out that choosing the Determined Exterminator or Life-Seeded traits forces a Tomb World or Gaia World respectively. I want to override it and force a ringworld start. Is there any way to do it?
 

Merkury90

First Lieutenant
20 Badges
Aug 3, 2016
222
2
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Stellaris: Apocalypse
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Prison Architect
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Stellaris: Distant Stars Pre-Order
  • Crusader Kings II
Hmm. For this you need to set a flag for your starting planet and create a special event that will change planet class of the one with flag from whatever it is to whatever you want.
In general you will need to make couple of files and either add them to Stellaris directory or create a mod for your ringworld systems.

Code:
planet = {
      class = ideal_planet_class
        name = "Sector One"
        orbit_angle = 30
        orbit_distance = 0
        size = 25
        starting_planet = yes
        tile_blockers = none
        modifiers = none
        flags = { my_ringworld_flag }
       
        init_effect = {
            change_pc = "pc_ringworld_habitable"
            prevent_anomaly = yes
            generate_start_buildings_and_blockers = yes
        }
}

You have to make sure to fire up your event at the start of the game, so in on_action directory you need to add new file with this code:
Code:
on_game_start = {
    events = {
        ringworld_systems.1
    }
}

As for events:
Code:
namespace = ringworld_systems

event = {
    id = ringworld_systems.1

    hide_window = yes
    is_triggered_only = yes

    immediate = {
        every_country = {
            limit = {
                capital_scope = { has_planet_flag = my_ringworld_flag}
            }
            country_event = { id = ringworld_systems.2 days = 1 }
              }
    }
}

country_event = {
    id = ringworld_systems.2

    hide_window = yes
    is_triggered_only = yes

    immediate = {
        every_planet = {
            limit = { has_planet_flag = my_ringworld_flag }
            change_pc = pc_ringworld_habitable
        }
    }
}

Should work, but again, cannot really check it without the game :p Let me know how it went.
 

Emperor Empoleon

Sergeant
22 Badges
Jun 23, 2016
68
29
  • Stellaris: Synthetic Dawn
  • Stellaris: Leviathans Story Pack
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: El Dorado
  • Semper Fi
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
It didn't work, but I don't think it's the coding.

Do I have to put in a localization in a localization file? If so, how would I do it? By the way, I just simply copy and paste the coding at the very bottom of the "game_start" file and the "on_action_events" file.
 

Merkury90

First Lieutenant
20 Badges
Aug 3, 2016
222
2
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Stellaris: Apocalypse
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Prison Architect
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Stellaris: Distant Stars Pre-Order
  • Crusader Kings II
No, no, no.

Create new file, ringworld_systems.txt for example, paste the code from my previous post and put the file into on_action game directory.
Then create new file (ringworld_systems_events.txt or whatever) and put the file into events directory.

Like I said before, it would be easier to create your own mod for the system/systems you want to make.
Then the directory structure would look like this:
  • ringworldsystems (or whatever different folder name)
    • common
      • on_action
        • file with on_game_start code
      • solar_system_initializers
        • file with your prescripted system
    • events
      • file with these two events I posted before
    • localisation (if you want to have it)
How to make your own mod you can check on wiki page.
 

Emperor Empoleon

Sergeant
22 Badges
Jun 23, 2016
68
29
  • Stellaris: Synthetic Dawn
  • Stellaris: Leviathans Story Pack
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: El Dorado
  • Semper Fi
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
I finally got it to work. This means that no matter if a government chooses a Post Apocalyptic or Life Seeded trait or if a machine empire chooses a Determined Exterminator trait, the ringworld will stay as a ringworld and not turn into a Gaia world or a Tomb world.

But before I got my mod to actually work, I didn't fully understand where it failed no matter how much I tried to see what's wrong. So I decided to see if I can block the "event" from ever changing the starting planet to a Gaia or Tomb world.

And it turns out that I can! Here's the comparison between the vanilla and my ringworld mod.

Code:
### Change homeworld to Tombworld if have Post-Apocalyptic civic on Game Start
country_event = {
    id = game_start.32
    hide_window = yes
    is_triggered_only = yes

    trigger = {
        OR = {
            has_civic = civic_post_apocalyptic
            has_civic = civic_machine_terminator
        }
    }

### Change homeworld to Gaia World if have Life-Seeded civic on Game Start
country_event = {
    id = game_start.34
    hide_window = yes
    is_triggered_only = yes

    trigger = { has_civic = civic_life_seeded }

Code:
### Change homeworld to Tombworld if have Post-Apocalyptic civic on Game Start
country_event = {
    id = game_start.32
    hide_window = yes
    is_triggered_only = yes

    trigger = {
        OR = {
            has_civic = civic_post_apocalyptic
            has_civic = civic_machine_terminator
            AND = {
                NOT = { has_planet_flag = my_ringworld_flag }
        }
    }

### Change homeworld to Gaia World if have Life-Seeded civic on Game Start
country_event = {
    id = game_start.34
    hide_window = yes
    is_triggered_only = yes

    trigger = { has_civic = civic_life_seeded
        AND = { NOT = { has_planet_flag = my_ringworld_flag }
        }

Now for a completely different question... does anyone know how to get rid of "ringworld_system_NAME/DESC" or somewhere along those lines and properly show it as the "Cybrex System"? I even did all of the localization right, but for some reason it would show as that.

Reference same from my first post but I'm going to show the pic again
OeCfvQo.jpg
 

Emperor Empoleon

Sergeant
22 Badges
Jun 23, 2016
68
29
  • Stellaris: Synthetic Dawn
  • Stellaris: Leviathans Story Pack
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: El Dorado
  • Semper Fi
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
I finally got it fixed! Apparently, there's more to it on the localization than I thought. I didn't know what to name the localization file for all the name lists. So I just guessed and typed in name_list_I_english and apparently it works.

Thanks!