• 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.

Omniscient

Major
33 Badges
Oct 31, 2006
732
16
  • Stellaris: Apocalypse
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Jade Dragon
  • Stellaris: Humanoids Species Pack
  • Stellaris
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Crusader Kings II
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Victoria 2
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
I've been trying to mod the file "common/colony_types/00_colony_types.txt" in order to change some of the planet designation bonuses. One of my bonuses can't be implemented with static modifiers in that file and needs a trigger in worker_jobs instead (essentially the same way Repugnant and Thrifty are implemented), which means the bonus isn't visible in the autogenerated tooltip. I'd like to add a custom tooltip to the designation indicating this bonus, but I can't figure out how to do this: including a "custom_tooltip" or "tooltip" or "description" field under the planet designation consistently generates "unexpected token" in error.log. To be precise, I've been trying to implement it like this, with various keywords attempted to substitute for "tooltip":
Code:
col_fortress = {
   icon = 9
   tooltip = "fortress_planet_cap_boost" # implemented in worker_jobs
   ...
}

Does anyone know if there's a correct way to do this?
Have you tried custom_tooltip = fortress_planet_cap_boost
 

Nussor

Lt. General
55 Badges
May 17, 2016
1.277
596
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • Stellaris - Path to Destruction bundle
  • Age of Wonders III
  • Tyranny: Archon Edition
  • Stellaris: Synthetic Dawn
  • Surviving Mars
  • Europa Universalis IV: Mandate of Heaven
  • Cities: Skylines - Mass Transit
  • Steel Division: Normandy 44
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Leviathans Story Pack
  • Age of Wonders: Planetfall
  • Age of Wonders: Planetfall - Revelations
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Stellaris: Ancient Relics
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV
  • Crusader Kings III
  • Victoria 2
  • Crusader Kings III: Royal Edition
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Stellaris: Federations
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines - After Dark
  • Victoria 2: A House Divided
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Wealth of Nations
Hey there, is it possible to use triggered station modifiers, with triggered_station_modifier?
Example:
Code:
    triggered_station_modifier = {
       potential = {
           exists = owner
           owner = {
               has_tradition = tr_relations_hegemony_star_patrol
           }
       }
       starbase_trade_collection_range_add = 1
   }
 
Last edited:

Nussor

Lt. General
55 Badges
May 17, 2016
1.277
596
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • Stellaris - Path to Destruction bundle
  • Age of Wonders III
  • Tyranny: Archon Edition
  • Stellaris: Synthetic Dawn
  • Surviving Mars
  • Europa Universalis IV: Mandate of Heaven
  • Cities: Skylines - Mass Transit
  • Steel Division: Normandy 44
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Leviathans Story Pack
  • Age of Wonders: Planetfall
  • Age of Wonders: Planetfall - Revelations
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Stellaris: Ancient Relics
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV
  • Crusader Kings III
  • Victoria 2
  • Crusader Kings III: Royal Edition
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Stellaris: Federations
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines - After Dark
  • Victoria 2: A House Divided
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Wealth of Nations
Ist it possible to add
A) new type of defensive layer above or different to shields?
B) a defensive component which removes penetration from incoming hits
C) a local storage for ammo, energy or cargo which is reduced during fitefight

Thx
Ingros
All of these seem implossible to me with the tools available.
 

Omniscient

Major
33 Badges
Oct 31, 2006
732
16
  • Stellaris: Apocalypse
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Jade Dragon
  • Stellaris: Humanoids Species Pack
  • Stellaris
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Crusader Kings II
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Victoria 2
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
Unfortunately, that throws the following error in error.log:
Code:
[19:31:29][persistent.cpp:33]: Error: "Unexpected token: custom_tooltip, near line: 582
" in file: "common/colony_types/00_colony_types.txt" near line: 582
Try
planet_modifier = { custom_tooltip = fortress_planet_cap_boost }
It's a long shot, if that doesn't work than I'm not sure what else would.
 

Modulus

Private
67 Badges
Aug 10, 2013
14
10
What happened to the leader hiring base cost variable. It use to be
LEADER_HIRING_COST under NGameplay in 00_defines.txt

Also, what's the best way to locate mod variables that may not already be in the game files? Seems like every few patches something really breaks my mod and it takes me forever to find the solution.
 

Elfin

Major
80 Badges
Mar 24, 2014
507
708
  • PDXCon 2019 "King"
  • Victoria 3 Sign Up
  • Crusader Kings III
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV
  • Stellaris: Galaxy Edition
  • Stellaris Sign-up
  • Crusader Kings II
  • Victoria 2
  • Victoria 2: A House Divided
  • Magicka 2
  • Age of Wonders III
  • Surviving Mars
  • Age of Wonders: Planetfall Deluxe edition
  • Age of Wonders: Planetfall Premium edition
  • Age of Wonders: Planetfall Season pass
  • Tyranny: Archon Edition
  • Empire of Sin
  • Age of Wonders: Planetfall Sign Up
  • Surviving Mars: First Colony Edition
  • Age of Wonders: Planetfall
  • Imperator: Rome Sign Up
  • Imperator: Rome Deluxe Edition
  • Warlock: Master of the Arcane
  • Cities: Skylines
  • Pillars of Eternity
Hello everyone. A question from a newcomer: I try to make a mod that adds new civic. Said civic adds 12 cybernetically enhanced pops of subspecies. I managed to make this all right except for one thing. I need this subspecies to have a prefix "Cyber-" so that the resulting subspecies would have name like Cyber-Human.

So, could anyone help me with this problem, please?
 

Omniscient

Major
33 Badges
Oct 31, 2006
732
16
  • Stellaris: Apocalypse
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Jade Dragon
  • Stellaris: Humanoids Species Pack
  • Stellaris
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Crusader Kings II
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Victoria 2
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
This event is breaking the events below it in the file, and I don't understand why. Any insight?

Code:
# Check if policy change triggers a mandate
country_event = {
    id = moremandate.46
    hide_window = yes
    is_triggered_only = yes
    
    trigger = {
        OR = {
            has_event_chain = mandate_ai_outlaw_chain
            has_event_chain = mandate_ai_allow_chain
            has_event_chain = mandate_ai_emancipation_chain
            has_event_chain = mandate_emancipation_chain
            has_event_chain = mandate_allow_war_chain
        }
    }
    
    immediate = {
        if = {
            limit = {
                has_event_chain = mandate_ai_outlaw_chain
                OR = {
                    AND = {
                        last_changed_policy = artificial_intelligence_policy
                        has_policy_flag = ai_outlawed
                        has_policy_flag = robots_outlawed
                    }
                    AND = {
                        last_changed_policy = robot_pop_policy
                        has_policy_flag = robots_outlawed
                        has_policy_flag = ai_outlawed
                    }
                    AND = {
                        last_changed_policy = robot_pop_policy
                        has_policy_flag = robots_outlawed
                        can_set_ai_policy = no
                    }
                }
            }
            country_event = { id = moremandate.47 }
        }
        if = {
            limit = {
                has_event_chain = mandate_ai_allow_chain
                OR = {
                    AND = {
                        last_changed_policy = artificial_intelligence_policy
                        OR = {
                            has_policy_flag = ai_full_rights
                            has_policy_flag = ai_servitude
                        }
                        has_policy_flag = robots_allowed
                    }
                    AND = {
                        last_changed_policy = robot_pop_policy
                        has_policy_flag = robots_allowed
                        OR = {
                            has_policy_flag = ai_full_rights
                            has_policy_flag = ai_servitude
                        }
                    }
                    AND = {
                        last_changed_policy = robot_pop_policy
                        has_policy_flag = robots_allowed
                        can_set_ai_policy
                    }
                }
            }
            country_event = { id = moremandate.48 }
        }
        if = {
            limit = {
                has_event_chain = mandate_ai_emancipation_chain
                last_changed_policy = artificial_intelligence_policy
                has_policy_flag = ai_full_rights
            }
            country_event = { id = moremandate.49 }
        }
        if = {
            limit = {
                has_event_chain = mandate_emancipation_chain
                last_changed_policy = slavery
                has_policy_flag = slavery_not_allowed
            }
            country_event = { id = moremandate.50 }
        }
        if = {
            limit = {
                has_event_chain = mandate_allow_war_chain
                last_changed_policy = war_philosophy
                OR = {
                    has_policy_flag = unrestricted_wars
                    has_policy_flag = liberation_wars
                }
            }
            country_event = { id = moremandate.51 }
        }
        if = {
            limit = {
                has_event_chain = mandate_no_war_chain
                last_changed_policy = war_philosophy
                has_policy_flag = no_wars
            }
            country_event = { id = moremandate.52 }
        }
    }
}
 

YankeeCat

Recruit
10 Badges
Jun 11, 2019
1
0
  • Crusader Kings II
  • War of the Roses
  • Europa Universalis IV: El Dorado
  • Stellaris
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Europa Universalis IV
How to add set_deposit more than only one in custom_system_initializer (cause if i add them in a row,only last one works)

Code:
planet = {
class = "pc_molten"
name = "The Shaft"
orbit_angle = 30
orbit_distance = 0
init_effect = {
set_deposit = d_energy_10
 }
}
 

Mitchz95

Field Marshal
17 Badges
Feb 4, 2016
3.534
2.569
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Major Wiki Contributor
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
How to add set_deposit more than only one in custom_system_initializer (cause if i add them in a row,only last one works)

Code:
planet = {
class = "pc_molten"
name = "The Shaft"
orbit_angle = 30
orbit_distance = 0
init_effect = {
set_deposit = d_energy_10
 }
}

Try this:
Code:
init_effect = {
    while = {
        count = 3
        set_deposit = d_energy_10
    }
 }
 

Mitchz95

Field Marshal
17 Badges
Feb 4, 2016
3.534
2.569
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Major Wiki Contributor
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
Is there a way to keep the normal districts from showing up on a certain planet type without overriding the entire definition for those districts?

Write a game_start event that targets all planets of that type and removes the normal districts from them.
 

TheSilverPhantom

Private
14 Badges
Nov 23, 2018
11
0
  • Crusader Kings II: Sons of Abraham
  • Stellaris
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Crusader Kings II
  • Stellaris: Synthetic Dawn
So, I have an event and put it in on_monthly_pulse, so that every month it will do the event. But, no matter how long I wait for, the event won't happen, when I use the console to fire it, it works.
Here the code
Code:
country_event = {
    id = ls.2
    hide_window = yes

    is_triggered_only = yes

    trigger = {
        has_global_flag = testing
    }

    immediate = {
        code goes here
    }
}
The global flag is set on on_game_start_country through another event. I really don't know what I did wrong.

Edit: I found the problem, I should put the event in on _monthly_pulse_country instead.
 
Last edited:

neptunehs

First Lieutenant
1 Badges
May 28, 2018
204
61
  • Stellaris
So, I have an event and put it in on_monthly_pulse, so that every month it will do the event. But, no matter how long I wait for, the event won't happen, when I use the console to fire it, it works.
Here the code
Code:
country_event = {
    id = ls.2
    hide_window = yes

    is_triggered_only = yes

    trigger = {
        has_global_flag = testing
    }

    immediate = {
        code goes here
    }
}
The global flag is set on on_game_start_country through another event. I really don't know what I did wrong.

Edit: I found the problem, I should put the event in on _monthly_pulse_country instead.

Or you can just delete country_,use event = {

}

On_XXX_pulse always using no_scope scope,so you must use event = { } instead of country_event,planet_event or so on.
(But you can use event = { id = } in no_scope = { })

if you wants to use on_xxx_country,don't forget fire_only_once =yes,or limit countries in triggers,or use is_country_type = global.If not,it may fire this event for all countries(means >10 times).
 
Last edited:
  • 1Like
Reactions:

neptunehs

First Lieutenant
1 Badges
May 28, 2018
204
61
  • Stellaris
This event is breaking the events below it in the file, and I don't understand why. Any insight?

Code:
# Check if policy change triggers a mandate
country_event = {
    id = moremandate.46
    hide_window = yes
    is_triggered_only = yes
 
    trigger = {
        OR = {
            has_event_chain = mandate_ai_outlaw_chain
            has_event_chain = mandate_ai_allow_chain
            has_event_chain = mandate_ai_emancipation_chain
            has_event_chain = mandate_emancipation_chain
            has_event_chain = mandate_allow_war_chain
        }
    }
 
    immediate = {
        if = {
            limit = {
                has_event_chain = mandate_ai_outlaw_chain
                OR = {
                    AND = {
                        last_changed_policy = artificial_intelligence_policy
                        has_policy_flag = ai_outlawed
                        has_policy_flag = robots_outlawed
                    }
                    AND = {
                        last_changed_policy = robot_pop_policy
                        has_policy_flag = robots_outlawed
                        has_policy_flag = ai_outlawed
                    }
                    AND = {
                        last_changed_policy = robot_pop_policy
                        has_policy_flag = robots_outlawed
                        can_set_ai_policy = no
                    }
                }
            }
            country_event = { id = moremandate.47 }
        }
        if = {
            limit = {
                has_event_chain = mandate_ai_allow_chain
                OR = {
                    AND = {
                        last_changed_policy = artificial_intelligence_policy
                        OR = {
                            has_policy_flag = ai_full_rights
                            has_policy_flag = ai_servitude
                        }
                        has_policy_flag = robots_allowed
                    }
                    AND = {
                        last_changed_policy = robot_pop_policy
                        has_policy_flag = robots_allowed
                        OR = {
                            has_policy_flag = ai_full_rights
                            has_policy_flag = ai_servitude
                        }
                    }
                    AND = {
                        last_changed_policy = robot_pop_policy
                        has_policy_flag = robots_allowed
                        can_set_ai_policy
                    }
                }
            }
            country_event = { id = moremandate.48 }
        }
        if = {
            limit = {
                has_event_chain = mandate_ai_emancipation_chain
                last_changed_policy = artificial_intelligence_policy
                has_policy_flag = ai_full_rights
            }
            country_event = { id = moremandate.49 }
        }
        if = {
            limit = {
                has_event_chain = mandate_emancipation_chain
                last_changed_policy = slavery
                has_policy_flag = slavery_not_allowed
            }
            country_event = { id = moremandate.50 }
        }
        if = {
            limit = {
                has_event_chain = mandate_allow_war_chain
                last_changed_policy = war_philosophy
                OR = {
                    has_policy_flag = unrestricted_wars
                    has_policy_flag = liberation_wars
                }
            }
            country_event = { id = moremandate.51 }
        }
        if = {
            limit = {
                has_event_chain = mandate_no_war_chain
                last_changed_policy = war_philosophy
                has_policy_flag = no_wars
            }
            country_event = { id = moremandate.52 }
        }
    }
}
AND = {
last_changed_policy = robot_pop_policy
has_policy_flag = robots_allowed
→ can_set_ai_policy
}

what is this?
You can find it in error.log,finding errors like effect   can always yes or no.
 
  • 1Like
Reactions: