How to add a new technology without fallen empire researchable?

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

excosy

Sergeant
12 Badges
Mar 11, 2020
84
20
  • Crusader Kings II
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Expansion Pass
  • Surviving Mars: Digital Deluxe Edition
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: La Resistance
  • Battle for Bosporus
  • Victoria 3 Sign Up
It seems any tech you added will be owned by fallen empire on game start. Is there anyway to prohibit that? Some powerful tech I added will make fallen empire Invincible.
 
I'm assuming you added this by modding the game, so over there we go!
 
In the potential block for your technology include these lines:

Code:
NOR = {
    is_country_type = fallen_empire #I think this is the right name, you might want to check country types to make sure
    is_country_type = awakened_fallen_empire #Ditto
}
 
In the potential block for your technology include these lines:

Code:
NOR = {
    is_country_type = fallen_empire #I think this is the right name, you might want to check country types to make sure
    is_country_type = awakened_fallen_empire #Ditto
}
I tried potential block, as "is_country_type = default" and "NOT = { is_country_type = fallen_empire }". They all don't work. Must there be none of others in potential block?
 
What does your tech look like atm? Copy-paste the whole definition.
One of them is like this:
Code:
tech_repeatable_megastructure_build_cap1 = {
    icon = tech_repeatable_megastructure_build_cap
    area = physics
    cost = @repeatableTechCost1
    tier = @repeatableTechTier
    category = { computing }
    prerequisites = { "tech_mega_engineering" }
    weight = @repeatableTechWeight
    weight_modifier = {
        factor = @repatableTechFactor
    }
    potential = {
        is_country_type = default
        has_global_flag = tech_cost_exponential
        NOT = { has_global_flag = giga_buildcap_u }
    }
    ai_weight = {
        factor = 1.0
        modifier = {
            has_policy_flag = tech_repeatable_megastructure_build_cap
            factor = 30
        }
    }
    weight_groups = {
        repeatable
    }
    mod_weight_if_group_picked = {
        repeatable = 0.01
    }
    modifier = {
        country_megastructure_build_cap_add = 1
    }
}

It will be researched by fallen empire, even the flag tech_cost_exponential is not set.
 
One of them is like this:
Code:
tech_repeatable_megastructure_build_cap1 = {
    icon = tech_repeatable_megastructure_build_cap
    area = physics
    cost = @repeatableTechCost1
    tier = @repeatableTechTier
    category = { computing }
    prerequisites = { "tech_mega_engineering" }
    weight = @repeatableTechWeight
    weight_modifier = {
        factor = @repatableTechFactor
    }
    potential = {
        is_country_type = default
        has_global_flag = tech_cost_exponential
        NOT = { has_global_flag = giga_buildcap_u }
    }
    ai_weight = {
        factor = 1.0
        modifier = {
            has_policy_flag = tech_repeatable_megastructure_build_cap
            factor = 30
        }
    }
    weight_groups = {
        repeatable
    }
    mod_weight_if_group_picked = {
        repeatable = 0.01
    }
    modifier = {
        country_megastructure_build_cap_add = 1
    }
}

It will be researched by fallen empire, even the flag tech_cost_exponential is not set.
FEs get 10 levels of each repeatable automatically. That might override the potential block in this case. You could try making a prerequisite tech that looks like, say, dragonscale armor:
Code:
tech_dragon_armor = {
    area = engineering
    cost = @guardiantechcost
    tier = @guardiantechtier #I believe this is the important part; FEs don't get guardian tech
    is_rare = yes
    category = { materials }
    ai_update_type = all #This is for ship components, don't include it
    weight = 0
    #Make mega-engineering a prereq or something
    weight_modifier = {
        factor = 0 #And obviously weight shouldn't be 0
    }
}
 
FEs get 10 levels of each repeatable automatically. That might override the potential block in this case. You could try making a prerequisite tech that looks like, say, dragonscale armor:
Code:
tech_dragon_armor = {
    area = engineering
    cost = @guardiantechcost
    tier = @guardiantechtier #I believe this is the important part; FEs don't get guardian tech
    is_rare = yes
    category = { materials }
    ai_update_type = all #This is for ship components, don't include it
    weight = 0
    #Make mega-engineering a prereq or something
    weight_modifier = {
        factor = 0 #And obviously weight shouldn't be 0
    }
}
@guardiantechtier = @repeatableTechTier = @fallentechtier = 5, why @guardiantechtier will prohibit researching? I tried writting number directly, from "tier = 5" to "tier = 10", they all didn't work.
I have tried @guardiantechtier, also did not work.
 
Last edited:
@guardiantechtier = @repeatableTechTier = @fallentechtier = 5, why @guardiantechtier will prohibit researching? I tried writting number directly, from "tier = 5" to "tier = 10", they all didn't work.
I have tried @guardiantechtier, also did not work.
I have no idea. I'm not sure if what techs FEs get are defined anywhere in the scriptable part of the game (since it's everything except Crisis/guardian techs). The only thing I know for sure is that you can forbid AEs from having the habitat tech by restricting habitat tech to void dweller empires in the potential block, since I've done that. Perhaps a massive OR block in potential? Like:

Code:
OR = {
    has_origin = origin_default
    has_origin = origin_lost_colony
    has_origin = origin_void_dwellers
    ... #Rest of normal empire origins, maybe with separatists and enlightened primitive origins too
}

Alternately, this might work:
Code:
potential = {
    NOT = {
        has_origin = origin_elder_race #I think this is the right origin name; not sure
    }
}

However, I don't know if restricting via origin will work on FEs or only AEs (definitely works on AEs), since FEs don't build habitats anyways even if they have the technology. Also don't know if repeatables play by special rules. Does the machine FE get proclamation broadcasts?
 
I have no idea. I'm not sure if what techs FEs get are defined anywhere in the scriptable part of the game (since it's everything except Crisis/guardian techs). The only thing I know for sure is that you can forbid AEs from having the habitat tech by restricting habitat tech to void dweller empires in the potential block, since I've done that. Perhaps a massive OR block in potential? Like:

Code:
OR = {
    has_origin = origin_default
    has_origin = origin_lost_colony
    has_origin = origin_void_dwellers
    ... #Rest of normal empire origins, maybe with separatists and enlightened primitive origins too
}

Alternately, this might work:
Code:
potential = {
    NOT = {
        has_origin = origin_elder_race #I think this is the right origin name; not sure
    }
}

However, I don't know if restricting via origin will work on FEs or only AEs (definitely works on AEs), since FEs don't build habitats anyways even if they have the technology. Also don't know if repeatables play by special rules. Does the machine FE get proclamation broadcasts?
I have tried it out. The effective method is setting "weight = 0"
 
  • 1
Reactions: