• 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.
What software do you use to make mods? Classic notepad?

Also one good practice when you test mods is to regularly check your error log, which you can find in "Documents\Paradox Interactive\Stellaris\logs\error.log"
Sometimes the messages are not clear, but sometimes it's all you need to see where you went wrong.
 
  • 1Like
Reactions:
What software do you use to make mods? Classic notepad?

Also one good practice when you test mods is to regularly check your error log, which you can find in "Documents\Paradox Interactive\Stellaris\logs\error.log"
Sometimes the messages are not clear, but sometimes it's all you need to see where you went wrong.
Yep, just plain notepad.

Good tip on the error log to check yourelf, thank you. I’ll check it out
 
  • 1Like
Reactions:
Yep, just plain notepad.
Ah, I've been there. That doesn't help. There are better suited softwares, but if you prefer simple stuff (like me), then I recommend Notepad++

They explain it in detail over there: https://ck3.paradoxwikis.com/Modding#Tips_.26_guidelines
But I'll copy the relevant part here:

Notepad++ : Choose Perl as your language, as it will provide good highlighting and allow to fold blocks of code and comments.
To set it as default, go to Settings, Styler Configurator, find Perl in the list on the left and add "gui txt" (without quotes) to the "User ext." field at the bottom.

The more you mod, and the more this becomes useful.
 
  • 1Like
Reactions:
If you want to disable Metallurgist/Catalytic Technician jobs you'll need to add the condition to these potential blocks:

Code:
    triggered_planet_modifier = {
        potential = {
            exists = owner
            owner = {
                is_regular_empire = yes
                is_catalytic_empire = no
            }
        }
        modifier = {
            job_foundry_add = 6
        }
    }

    triggered_planet_modifier = {
        potential = {
            exists = owner
            owner = {
                is_regular_empire = yes
                is_catalytic_empire = yes
            }
        }
        modifier = {
            job_catalytic_technician_add = 6
        }
    }

    triggered_desc = {
        trigger = {
            exists = owner
            owner = {
                is_regular_empire = yes
                is_catalytic_empire = no
            }
        }
        text = job_foundry_effect_desc
    }

    triggered_desc = {
        trigger = {
            exists = owner
            owner = {
                is_regular_empire = yes
                is_catalytic_empire = yes
            }
        }
        text = job_catalytic_technician_effect_desc
    }

If you want to disable it entirely and replace it with a research arcology you'll instead need to add the condition to the potential and show_on_uncolonized blocks at the start of the arcology data:

Code:
    show_on_uncolonized = {
        uses_district_set = city_world
    }

    potential = {
        uses_district_set = city_world
    }

It would probably be cleaner to swap entire districts rather than just jobs. Though if you're doing that I would recommend replacing the fairly useless Residential Arcology (all arcologies give more housing than jobs) with a Research Arcology for everyone rather than replacing the Foundry Arcology with it just for megacorps.

Edit: After giving it a bit more thought I think it would be ideal to turn the Residential Arcology into a Commercial Arcology instead, for better compatibility. The game namely will turn City Districts into Habitation Arcologies so there would be a continuation of Clerk jobs when a planet is upgraded. And then the Research Arcology would be added as the 5th district type.

I'm actually starting to like the idea so much I'll probably make such a mod myself. :D

Edit 2: I just realized an issue with my plan, Ecumenopolises are now available to Rogue Servitors who don't produce any trade so there would be a conversion issue there.

Hey Dragatus, please excuse me for calling on your modding expertise again, I hope you have time to open my eyes yet again.


Question... How would you go about adding a research district to Machine Worlds?

I'm not even sure where to put it, since Machine Worlds are not a separate file in the common_districts as Arcologies are...

Would it be in Urban Districts?

Anyway, here's what I have for now, not sure if this will work:

district_science = {

base_buildtime = 480
is_capped_by_modifier = no

show_on_uncolonized = {
from = { is_machine_empire = yes }
OR = {
uses_district_set = standard
uses_district_set = hive_world
uses_district_set = machine_world
uses_district_set = shattered_ring_world
}
}

potential = {
exists = owner
owner = { is_machine_empire = yes }
OR = {
uses_district_set = standard
uses_district_set = hive_world
uses_district_set = machine_world
uses_district_set = shattered_ring_world
}
}

conversion_ratio = 1
convert_to = {
district_city
district_nexus
district_hive
district_arcology_housing
}


resources = {
category = planet_districts_cities
cost = {
minerals = @city_cost
}
upkeep = {
energy = 5
}
}

planet_modifier = {
planet_housing_add = 5
job_calculator_add = 5
planet_max_buildings_add = 1
}

triggered_desc = {
trigger = {
exists = owner
}
text = job_calculator_effect_desc
}
}



Would this work?

I mostly copied the Nexus district coding and just fiddled around. I have yet to test it.

But not sure where to put it
 
Update: I tested it and it works, it goes into the "urban districts"... But the new research districts shows on all planets for a machine empire.

I need to add a condition for machine planets only.

Not sure where to put that, triggered planet modifier? It's not really a modifier though, I want to disable it for all planets except machine worlds
 
Another update, problem solved, it now shows only on machine worlds:

district_science = {

base_buildtime = 480
is_capped_by_modifier = no
icon = district_hab_science
gridbox = district_hab_science

show_on_uncolonized = {
uses_district_set = machine_world
from = {
is_machine_empire = yes
}
}


potential = {

exists = owner

owner = { is_machine_empire = yes }

OR = {

uses_district_set = machine_world


}

}


conversion_ratio = 1

convert_to = {

district_city

district_nexus

district_hive

district_arcology_housing

}




resources = {

category = planet_districts_cities

cost = {

minerals = @city_cost

}

upkeep = {

energy = 5

}

}


planet_modifier = {

planet_housing_add = 5

job_calculator_add = 5

planet_max_buildings_add = 1

}


triggered_desc = {

trigger = {

exists = owner

}

text = job_calculator_effect_desc

}

}


Now the only problem is a localization file
 
Ok, localization problem solved too :D I guess I learned something in the end after all :D Thank you again!

l_english:
district_science_nexus:0 "Science Nexus"
district_science_nexus_plural:0 "Science Nexus"
district_science_nexus_desc:0 "Massive processing hubs where Calculators perform their function."
 
Hi all, question: does this line mean the AI will not build it under any circumstances?

Screenshot 2021-10-18 114046.jpg



Another question: how to enable a building to be dependent on origin?

Would this be correct:

has_origin_remnant

?



Thank you, as always
 
It means AI will only build it on a planet that already has Noble Estates.

As for your second question, it's:

Code:
has_origin = origin_remnants

You can find all the origin names in the file Stellaris/common/governments/civics/00_origins.txt
 
It means AI will only build it on a planet that already has Noble Estates.

As for your second question, it's:

Code:
has_origin = origin_remnants

You can find all the origin names in the file Stellaris/common/governments/civics/00_origins.txt
Thank you.

I think the best way to restrict AI from using my OP buildings (which I mod because I like to RP with one Ecumenopolis only) is to just tie it to a certain origin. Since I pre-make all species, I can control it easily.
 
Hi all, me again.

I'm back to Stellaris after a break, and I have some new modding ideas, and with it - some new questions...

I was thinking of modding the 2 industrial arcologies into bureaucratic and trade arcologies - BUT only if the ecumenopolis is the empire capital.

I hate how the capital designation description says "The capital planet of an interstellar empire is a vast complex of government buildings, bureaus and agency headquarters."... but there's no administrative districts. I also resent the lack of a trade district on an Ecumenopolis,I think they should have made it a population centre, not an industrial one... OR have a much bigger number of districts available.

Anyway, I think I can achieve this by (relatively) simply adding: (is_capital = yes/no) in the defines of the arcologies, specifically to the section where the jobs are defined...


My questions is: can one change the icon of the districts based on specific conditions?

Like, it uses the industrial icon if it's not the capitol BUT it uses another icon if it is the capitol?


ALTERNATIVE SOLUTION:

I just disable the industrial arcologies for empire capitols, and mod in brand new arcologies that are just for empire capitals?

Is this a more elegant solution? Or will there be UI issues?


As always, I thank you for any help :)
 
I'm not aware of any method to change the icon of the district based on triggers, so I would recommend the alternative solution.
 
  • 1Like
  • 1
Reactions: