• 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.
MODDING FEATURE REQUEST:
Allowing us to place random strings (NOT selected in game through save_as_event_target and reusing them in a dialog) within (scripted) localizations. You can't have a random list of strings and put that in a (scripted) localization unfortunately. See below for an example:
Code:
exampletext: "You are number [number]"

number = {
     1
     2
     3
     4
     5
}
 
  • 1
Reactions:
Two hopefully-simple requests:

First, allow us to place asteroid belts around individual stars and planets, not just at the center of the system itself. This would allow the placement of asteroid belts around stars B and C in binary/trinary systems, as well as around planets of our choosing, both of which would be useful for custom solar systems.

Second, allow us to enable/disable the orbit lines on individual planets, not just planet classes. This would prevent having to duplicate entire planet classes just to get rid of the lines (such as "pc_shattered_2" in Federations).
 
Greetings,

I found out, that you can make traits for non-sentient lifeforms:

https://stellaris.paradoxwikis.com/Traits_modding

sentient = no

But that seem not to work, the error log tells me:

Code:
[01:53:33][persistent.cpp:33]: Error: "Unexpected token: sentient, near line: 14
" in file: "common/traits/plentiful_perks_hive_traits.txt" near line: 14

Code:
trait_plentiful_traditions_cocoon = {
    cost = 0
    icon = "gfx/interface/icons/traits/leader_traits/leader_trait_ruler_hive_mind.dds"
    #icon = "gfx/interface/icons/traits/trait_plentiful_traditions_cocoon.dds"
    initial = no
    randomized = no
    modification = no
    sorting_priority = 10
    allowed_archetypes = { COCOON_TYPE }
    forced_happiness = yes
    modifier = {
        pop_environment_tolerance = 2.0
    }
    sentient = no
    ai_weight = {
        weight = 0
    }
}
 
Not sure whenever this is a bug or a request. However, the "has_modifier" trigger does not currently work in the "fleer" scope:
Code:
has_modifier - Checks if the country/planet/pop/system has a certain modifier
has_modifier = <modifier>
Supported Scopes: planet country ship pop galactic_object pop_faction federation
Supported Targets: none
But it is possible to give fleets modifiers, however:
Code:
add_modifier - Adds a specific modifier to the scoped planet/pop/country/fleet/ship/pop/system/faction for a set duration
add_modifier = { modifier = <key> days = <int, -1 means it never expires> }
Supported Scopes: megastructure planet country ship pop fleet galactic_object pop_faction federation
Supported Targets: none
This seems like an oversight?
 
MODDING FEATURE REQUEST:
Please let us make our own versions of Juggernauts with functional icons for the galaxy map. My FE Juggernaut design for Apex of the Fallen Empires is totally functional beyond that issue - a rather serious issue, if one is expected to track its location and fight it when the Fallen Empire wakes up!
 
  • 1
Reactions:
Two requests:

1. Can we get a way to apply a modifier directly to technology and tradition costs? Currently, you can only indirectly modify those costs in a mod by changing the percentage increase based on the difference between empire sprawl and cap. I'd like to be able to directly change tech cost independent of the admin cap penalties, preferably with the two percentages combining additively.

2. Please change the has_building modifier to be false if the building in question is ruined or disabled. From what I've seen, the vanilla files only use this on capitals, which cannot be disabled or ruined, but if you use it on other buildings, you can still get an effect based on has_building if you disable the building. This allows players to side step any maintenance on the building while still getting the effect. (I asked elsewhere about ways to work around this, but I figured it was worth asking for has_building to work more as you'd expect on things that aren't capitals.)
 
MODDING FEATURE REQUEST:
The ability to set a planet's class based on the ideal_planet_class of a country or species, or anything else you can check ideal_planet_class against.

If you look at how the game currently handles checking and setting ideal planet class, it's a bit of a mess. Check out origin.100 (for setting up the Lost Colony homeworld) and you'll see this:

Code:
            random_country = {
                limit = {
                    has_country_flag = lost_colony_parent_of@root
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_arid } }
                    capital_scope = { change_pc = pc_arid }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_arid
                    }
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_desert } }
                    capital_scope = { change_pc = pc_desert }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_desert
                    }
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_tropical } }
                    capital_scope = { change_pc = pc_tropical }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_tropical
                    }
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_continental } }
                    capital_scope = { change_pc = pc_continental }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_continental
                    }
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_ocean } }
                    capital_scope = { change_pc = pc_ocean }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_ocean
                    }
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_tundra } }
                    capital_scope = { change_pc = pc_tundra }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_tundra
                    }
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_arctic } }
                    capital_scope = { change_pc = pc_arctic }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_arctic
                    }
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_alpine } }
                    capital_scope = { change_pc = pc_alpine }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_alpine
                    }
                }
                if = {
                    limit = { root = { ideal_planet_class = pc_savannah } }
                    capital_scope = { change_pc = pc_savannah }
                    every_owned_planet = {
                        limit = { has_planet_flag = lost_colony_planet }
                        change_pc = pc_savannah
                    }
                }
            }

This is how it's changing the colony parent planet to the same class as the Lost Colony. There is nowhere I can see in the code something like:

Code:
change_pc = { ideal_planet_class = root }

The closest we get is changing pop species ideal class, like this:

Code:
            every_owned_pop = {
                limit = { is_same_species = event_target:artist_species }
                modify_species = {
                    ideal_planet_class = event_target:this_planet
                }
            }

What we need is a way to change a planet class based on country or species scope. The reason this is important is because mod-added planet classes can't be easily integrated into this kind of check. If you take Lost Colony with a mod-added home planet class, how does it know what to set the parent planet to? Well, the mod might modify the origin.100 event, but that's a potential incompatibility with anything else that modifies that event. What if you're using a mod-added origin similar in function to Lost Colony (i.e., need to set another empire's ideal planet class based on yours), and a mod-added home planet class...?

What would be good is a new command that looks like this:

Code:
set_pc_to_ideal_for = <country or species scope>

You could set it to "root" in a country event, for example, to change the planet this would be called on to the ideal for that country's primary species.
 
Last edited:
  • 3Like
  • 1
Reactions:
MODDING FEATURE REQUEST:
The ability to set a country's ethics to the opposite of another with one command.

Right now, when you create a country you can do this:
Code:
ethos = <country_scope>

To easily set the country's ethics to be the same as another. But to do "opposed" ethics, you need a complicated set of checks. What would be better is something like this:

Code:
ethos = {
    not = { <country_scope> }
}
To return the opposite ethos. E.g., if the country_scope above is a Fanatic Militarist/Egalitarian, the created country gets Fanatic Pacifist/Authoritarian. This should work with country modification as well.

An open question is what would happen if you did this with a Gestalt Consciousness country. Safest would be to just return the Gestalt Consciousness ethos, a more fun option would be a random set of non-Gestalt ethics.
 
Last edited:
Modding Feature Request

On_action on_army_landed, and a way to dynamically change some existing armies' stats, both through on_army_recruited and this new on_army_landed events..
Else, I figure that a on_planet_invaded would enable us to access those armies present on it, defenders and attackers alike.


The goal would be e.g. to give modifiers to individual armies when they land on a planet based on habitability, or planetary modifiers or pc_class (e.g. holy world).

Also, if not already the case, make armies inherit their pop's climate preference so that their current habitability (adaptation) may be dynamically modded too.
 
  • 1
Reactions:
It would be very useful to have a trigger for counting jobs that meet specific criteria, like this:

Code:
# Check if there are exactly 5 occupied roboticist jobs on the planet
count_jobs = {
    limit = {
        type = roboticist
        has_pop = yes
    }
    count = 5
}

# Check if there are any open worker stratum jobs on the planet
count_jobs = {
    limit = {
        is_stratum = worker
        has_pop = no
    }
    count > 0
}

These could be scoped for planets and maybe even empires. I would find this useful for making a smart pop resettlement mod that can take pop stratum and other capabilities into account.
 
MODDING FEATURE REQUEST:

Like on_action on_start_game, there should be on_load_game (of course for savegames): I just wondering this still doesn't exists as every higher mod just uses an inperformant workaround with MTTH or even worser a daily trigger (as just fire_only_once is not working). MTTH is just awful in performance for a fire_only_once event.

PS: even vanilla uses this workaround
 
Last edited:
  • 1
Reactions:
MODDING FEATURE REQUEST:

The copy_techs_from effect should have a count trigger (like other effects).
That seems to be the possible simple and incomprehensible reason why there is no mod that gives you a random tech from the opponent (for whatever reason)!

PS: (workaround would be a huge wasting static list comprehension, which would be also near impossible to be maintain for modding compatibility ...)
 
Last edited:
  • 1Like
Reactions:
May I request being allowed to edit the z-plane of System coordinates, for static system maps?
Like, a Z-coordinate expressed as a signed percentage, the scale of the admitted Z-offset (in galactic units) being set as a define (0% = on the galactic plane), and possibly hard-capped according to physics laws, and engine's capabilities.
This should be easier to manage for modders.