Is it possible to create a game start event with a species trait trigger?

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

Gaethan

Private
61 Badges
Apr 12, 2017
22
0
steamcommunity.com
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Lithoids
  • Cities: Skylines - Mass Transit
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Tales from the Tiers
  • Tyranny - Bastards Wound
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Tyranny: Archon Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris: Ancient Relics
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Reapers Due
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Battle for Bosporus
  • Victoria 2
  • Victoria 2: Heart of Darkness
  • Cities: Skylines
  • Mount & Blade: With Fire and Sword
  • 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
  • Cities: Skylines - Snowfall
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Cadet
  • Imperator: Rome - Magna Graecia
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Legacy of Rome
I'm trying to create a trait that gives some psionic affinity from the start and gives the Psionic Theory tech. I've been unable to make the event trigger. The test code looks like this:

Code:
country_event = {
    id = savant.1
    is_triggered_only = yes
    immediate = {
        if = {
            limit = {
                main_species = {
                    has_trait = { "trait_savant" }
                }
            }
            give_technology = { tech = "tech_solar_panel_network" }
            else = {
                give_technology = { tech = "tech_shields_1" }
            }
        }
    }
}

Currently neither outcome happens.
The on_actions bit looks like this:

Code:
on_game_start_country = {
    events = {
        #game_start.6
        savant.1
    }
}

So I don't think the problem is with on_actions, but I'm not sure.
 

Gaethan

Private
61 Badges
Apr 12, 2017
22
0
steamcommunity.com
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Lithoids
  • Cities: Skylines - Mass Transit
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Tales from the Tiers
  • Tyranny - Bastards Wound
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Tyranny: Archon Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris: Ancient Relics
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Reapers Due
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Battle for Bosporus
  • Victoria 2
  • Victoria 2: Heart of Darkness
  • Cities: Skylines
  • Mount & Blade: With Fire and Sword
  • 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
  • Cities: Skylines - Snowfall
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Cadet
  • Imperator: Rome - Magna Graecia
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Legacy of Rome
I didn't even know there was a log file, thank you!

Yes, it doesn't see it as a valid id:

Code:
[00:20:50][event.cpp:741]: Event savant.1 at  file: events/game_start.txt line: 274 has an invalid ID

Should I rename it to country.[random number that isn't taken yet]?
 

Gaethan

Private
61 Badges
Apr 12, 2017
22
0
steamcommunity.com
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Lithoids
  • Cities: Skylines - Mass Transit
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Tales from the Tiers
  • Tyranny - Bastards Wound
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Tyranny: Archon Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris: Ancient Relics
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Reapers Due
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Battle for Bosporus
  • Victoria 2
  • Victoria 2: Heart of Darkness
  • Cities: Skylines
  • Mount & Blade: With Fire and Sword
  • 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
  • Cities: Skylines - Snowfall
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Cadet
  • Imperator: Rome - Magna Graecia
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Legacy of Rome
I do not. I have to admit I don't understand half the code I'm writing but it's getting somewhere because I replaced savant.1 with game_start.0051 and it worked. Then I replaced the test placeholders with the Psionic Theory tech and it worked too. Thank you very much!
 

cray935

Second Lieutenant
65 Badges
Apr 14, 2017
182
4
  • Cities in Motion
  • Stellaris: Synthetic Dawn
  • Tyranny - Tales from the Tiers
  • Crusader Kings II: Jade Dragon
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Age of Wonders: Planetfall
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Bastards Wound
  • Age of Wonders III
  • Cities: Skylines - Green Cities
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Surviving Mars: Digital Deluxe Edition
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Surviving Mars: First Colony Edition
  • Cities: Skylines Industries
  • Cities: Skylines - Campus
  • Crusader Kings II: Holy Fury
  • Prison Architect
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - After Dark
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Wealth of Nations
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Conclave
  • Cities: Skylines - Snowfall
  • Stellaris: Nemesis
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Tyranny: Archon Edition
  • Tyranny: Gold Edition
I do not. I have to admit I don't understand half the code I'm writing but it's getting somewhere because I replaced savant.1 with game_start.0051 and it worked. Then I replaced the test placeholders with the Psionic Theory tech and it worked too. Thank you very much!

Well this is the way of learning, did start modding just the same way ^^ So good modding :)
 

Gaethan

Private
61 Badges
Apr 12, 2017
22
0
steamcommunity.com
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Lithoids
  • Cities: Skylines - Mass Transit
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Tales from the Tiers
  • Tyranny - Bastards Wound
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Tyranny: Archon Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris: Ancient Relics
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Reapers Due
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Battle for Bosporus
  • Victoria 2
  • Victoria 2: Heart of Darkness
  • Cities: Skylines
  • Mount & Blade: With Fire and Sword
  • 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
  • Cities: Skylines - Snowfall
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Cadet
  • Imperator: Rome - Magna Graecia
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Legacy of Rome
This is the code (I added another event like that):

Code:
# Savant trigger
country_event = {
    id = game_start.0050
    hide_window = yes
    is_triggered_only = yes
    immediate = {
        if = {
            random_country = {
                has_trait = { "trait_savant" }
            }
            give_technology = { tech = "tech_psionic_theory" message = no }
        }
    }
}

# Genetic Engineering trigger
country_event = {
    id = game_start.0051
    hide_window = yes
    is_triggered_only = yes
    immediate = {
        if = {
            random_country = {
                has_trait = { "trait_genetic_engineers" }
            }
            AND = {
                give_technology = { tech = "tech_genome_mapping" message = no }
                give_technology = { tech = "tech_vitality_boosters" message = no }
            }
        }
    }
}

And here's the relevant bits of the error log:

[12:31:44][effect_impl.cpp:305]: has_trait effect at file: events/game_start.txt line: 493 accepts only yes or no as values
[12:31:44][effect_impl.cpp:305]: effect at file: events/game_start.txt line: 493 accepts only yes or no as values
[12:31:44][effect_impl.cpp:305]: has_trait effect at file: events/game_start.txt line: 508 accepts only yes or no as values
[12:31:44][effect_impl.cpp:305]: effect at file: events/game_start.txt line: 508 accepts only yes or no as values
[12:31:44][effect_impl.cpp:305]: and effect at file: events/game_start.txt line: 510 accepts only yes or no as values
[12:31:44][eventmanager.cpp:222]: Corrupt Event Table Entry - } in events/game_start.txtline: 516

Line 516 is the final closing bracket of the second event, I have no idea why it's corrupt.
I've also tried running the code with the
Code:
limit = {
   main_species = {
      has_trait = { "trait_savant" }
trigger that I had earlier, that resulted in the same thing.
 

cray935

Second Lieutenant
65 Badges
Apr 14, 2017
182
4
  • Cities in Motion
  • Stellaris: Synthetic Dawn
  • Tyranny - Tales from the Tiers
  • Crusader Kings II: Jade Dragon
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Age of Wonders: Planetfall
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Bastards Wound
  • Age of Wonders III
  • Cities: Skylines - Green Cities
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Surviving Mars: Digital Deluxe Edition
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Surviving Mars: First Colony Edition
  • Cities: Skylines Industries
  • Cities: Skylines - Campus
  • Crusader Kings II: Holy Fury
  • Prison Architect
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - After Dark
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Wealth of Nations
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Conclave
  • Cities: Skylines - Snowfall
  • Stellaris: Nemesis
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Tyranny: Archon Edition
  • Tyranny: Gold Edition
As the logs say you formed a wrong condition in line 493 and 508. Is it the random_country? I usually use following structure for if statements
Code:
if = {
    limit = {
        ....
    }
}
I'd use every_country instead of random_country because it will go for every empire with the trait.

I think the has_trait condition has to be: has_trait = trait_savant
 

Gaethan

Private
61 Badges
Apr 12, 2017
22
0
steamcommunity.com
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Lithoids
  • Cities: Skylines - Mass Transit
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Tales from the Tiers
  • Tyranny - Bastards Wound
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Tyranny: Archon Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris: Ancient Relics
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Reapers Due
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Battle for Bosporus
  • Victoria 2
  • Victoria 2: Heart of Darkness
  • Cities: Skylines
  • Mount & Blade: With Fire and Sword
  • 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
  • Cities: Skylines - Snowfall
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Cadet
  • Imperator: Rome - Magna Graecia
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Legacy of Rome
No effect. The error log did get slightly shorter though:

[12:46:55][effect_impl.cpp:305]: has_trait effect at file: events/game_start.txt line: 493 accepts only yes or no as values
[12:46:55][effect_impl.cpp:305]: has_trait effect at file: events/game_start.txt line: 508 accepts only yes or no as values
[12:46:55][effect_impl.cpp:305]: and effect at file: events/game_start.txt line: 510 accepts only yes or no as values
[12:46:55][eventmanager.cpp:222]: Corrupt Event Table Entry - } in events/game_start.txtline: 516

I used random_country because that's what someone in the quick questions thread suggested. It doesn't work with limit either.
 

cray935

Second Lieutenant
65 Badges
Apr 14, 2017
182
4
  • Cities in Motion
  • Stellaris: Synthetic Dawn
  • Tyranny - Tales from the Tiers
  • Crusader Kings II: Jade Dragon
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Age of Wonders: Planetfall
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Bastards Wound
  • Age of Wonders III
  • Cities: Skylines - Green Cities
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Surviving Mars: Digital Deluxe Edition
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Surviving Mars: First Colony Edition
  • Cities: Skylines Industries
  • Cities: Skylines - Campus
  • Crusader Kings II: Holy Fury
  • Prison Architect
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - After Dark
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Wealth of Nations
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Conclave
  • Cities: Skylines - Snowfall
  • Stellaris: Nemesis
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Tyranny: Archon Edition
  • Tyranny: Gold Edition
Well, then I must reference to the wiki page: http://www.stellariswiki.com/Conditions

The descriptions there should help you with the problems in lines 493, 508 and 510.
The "Corrupt Event Table Entry" error is just a result of the other three issues I think.
According to the wiki page you cannot have effects inside logical operators, only conditions.
 

Gaethan

Private
61 Badges
Apr 12, 2017
22
0
steamcommunity.com
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Lithoids
  • Cities: Skylines - Mass Transit
  • Hearts of Iron IV: Death or Dishonor
  • Tyranny - Tales from the Tiers
  • Tyranny - Bastards Wound
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Tyranny: Archon Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Stellaris: Ancient Relics
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Reapers Due
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Battle for Bosporus
  • Victoria 2
  • Victoria 2: Heart of Darkness
  • Cities: Skylines
  • Mount & Blade: With Fire and Sword
  • 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
  • Cities: Skylines - Snowfall
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Cadet
  • Imperator: Rome - Magna Graecia
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Legacy of Rome
I managed to merge them into a single event and make it work, somehow.

Code:
country_event = {
    id = game_start.0051
    hide_window = yes
    is_triggered_only = yes
    immediate = {
        if = { limit = { species = { has_trait = trait_savant } }
            give_technology = { tech = "tech_psionic_theory" message = no }
        }
        if = { limit = { species = { has_trait = trait_genetic_engineers } }
            AND = {
                give_technology = { tech = "tech_genome_mapping" message = no }
                give_technology = { tech = "tech_vitality_boosters" message = no }
            }
        }
    }
}

E: Looks like I don't need the AND part either, removed that.