#US_lava,PLANET,cat_lava,10,-100,-2,2,,-1,around_giant_at_any_offset,0,,,100,150,220 220 220,255 255 255,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#US_volcanic,PLANET,cat_lava,10,-2,0,2,,-1,around_giant_at_any_offset,0,,,100,150,220 220 220,255 255 255,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
US_lava,PLANET,cat_toxic,10,-100,-2,2,,-1,around_giant_at_any_offset,0,,,100,150,220 220 220,255 255 255,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
US_volcanic,PLANET,cat_toxic,10,-2,0,2,,-1,around_giant_at_any_offset,0,,,100,150,220 220 220,255 255 255,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
id,group,rank,order,hazard,reqSurvey,xpMult,requiresAll,requiresAny,requiresNotAny,cat_giant,cat_barren,rocky_unstable,rocky_ice,barren-desert,lava,lava_minor,cat_frozen,cryovolcanic,irradiated,cat_toxic,toxic_cold,terran,cat_hab3,terran-eccentric,jungle,water,arid,tundra,cat_hab2,multipliers >>>,tectonic_activity,extreme_tectonic_activity,low_gravity,high_gravity,hot,very_hot,cold,very_cold,dense_atmosphere,water_surface,mild_climate,extreme_weather,poor_light,inimical_biosphere,pollution
Just to be clear - Unknown Skies doesn't have any custom cryovolcanic planets and is NOT causing this specific issue. I'm just saying that the root problem appears to be identical and since Tartiflette already has a workaround, that workaround could theoretically be applied to this issue too once the source mod is identified. Plus, if there is some sort of problem with certain planet categories and sector generation, then it's probably something Alex should know about.Decided to poke through my mod folder for any mods with a planet_gen_data.csv and... I found one in FDS
With that being said, I just glanced at Kadur and it doesn't even have a custom planet_gen_data.csv file, so I'm pretty confident it isn't causing this problem either...
id,group,rank,order,hazard,reqSurvey,xpMult,requiresAll,requiresAny,requiresNotAny,cat_giant,cat_barren,rocky_unstable,rocky_ice,cat_hab1,cat_lava,lava_minor,cat_frozen,cat_cryovolcanic,cat_irradiated,cat_toxic,toxic_cold,cat_hab4,cat_hab3,terran-eccentric,jungle,water,arid,tundra,cat_hab2,multipliers >>>,tectonic_activity,extreme_tectonic_activity,low_gravity,high_gravity,hot,very_hot,cold,very_cold,dense_atmosphere,water_surface,mild_climate,extreme_weather,poor_light,inimical_biosphere,pollution
for (Object o : Global.getSettings().getAllSpecs(CategoryGenDataSpec.class)) {
ConditionGenDataSpec spec = (ConditionGenDataSpec) o;
if (spec.getId().equals("ore_no_pick")) {
spec.getMultipliers().put("<your planet id>", 0f);
}
if (spec.getId().equals("ore_sparse")) {
spec.getMultipliers().put("<your planet id>", 4f);
}
if (spec.getId().equals("ore_moderate")) {
spec.getMultipliers().put("<your planet id>", 10f);
}
if (spec.getId().equals("ore_abundant")) {
spec.getMultipliers().put("<your planet id>", 5f);
}
if (spec.getId().equals("ore_rich")) {
spec.getMultipliers().put("<your planet id>", 2f);
}
if (spec.getId().equals("ore_ultrarich")) {
spec.getMultipliers().put("<your planet id>", 1f);
}
}
float value = 0f;
for (Object o : Global.getSettings().getAllSpecs(ConditionGenDataSpec.class)) {
ConditionGenDataSpec spec = (ConditionGenDataSpec) o;
if (spec.hasMultiplier("cryovolcanic"))
{
value = spec.getMultiplier("cyrovolcanic");
spec.getMultipliers().put("fds_cryovolcanic", value);
}
if (spec.hasMultiplier("lava"))
{
value = spec.getMultiplier("lava");
spec.getMultipliers().put("fds_lava", value);
}
}
Hummm, you've opened a pandora's box for me here...
I am still wondering why my planet was overriding all of the cryovolcanic planets though... The lava planet I added had the same issue but only my custom lava planet had no conditions, it didn't affect anything else like the cryo ones did ???
Which leads me to another question... If I apply this method I'll still need to add the planets to the planet gen data file, correct? And if so, which category do I give them? I give them an unique category like the planet's ID?
And sorry for the name, heh.
SpoilerThis definitely sounds like a much more powerful approach than simply changing the condition_gen_data.csv header row as I originally proposed. It would give modders the ability to truly customize the conditions of some of their more unique planet types.
As for the problematic custom lava/cryovolcanic planets, I believe this approach can be greatly simplified since all you're trying to do is give them the exact same conditions as the original lava/cryovolcanic worlds. If I'm understanding correctly, you would still use the cat_lava/cat_cryovolcanic category types in planet_gen_data.csv as you did originally, and then do something like this in onApplicationLoad():Codefloat value = 0f;
for (Object o : Global.getSettings().getAllSpecs(CategoryGenDataSpec.class)) {
ConditionGenDataSpec spec = (ConditionGenDataSpec) o;
if (spec.hasMultiplier("cryovolcanic"))
{
value = spec.getMultiplier("cyrovolcanic");
spec.getMultipliers().put("fds_cryovolcanic", value);
}
if (spec.hasMultiplier("lava"))
{
value = spec.getMultiplier("lava");
spec.getMultipliers().put("fds_lava", value);
}
}
Theoretically, this should give your custom planets the exact same chance of getting a specific condition that their vanilla equivalent has.
Disclaimer - I am "coding" this in the forum post editor (which makes for a remarkably bad IDE), so it may require some tweaking before it will compile... ;)[close]
I have no idea what is happening, this is VERY strange...