Has anyone found a work-around for building the hypershunt rig while using Industrial Evolution? I have seen several people say that the dialogue option to build the hypershunt won't appear because of changes the IndEvo makes to star interactions. Would it be possible to add the dialogue from DiY Planets to IndEvo to resolve the issue?
Yes, took me a while but here it is.
You have 2 options, sadly not super lore friendly so youll have to fill that gap there sadly (pretend to do the project and then throw the resources at the sun literally, up to you).
Option 1 is to use the Console to spawn a Hypershunt:
This is where is starts---->
runcode import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator;
import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator.AddedEntit
y;
import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator.EntityLoca
tion;
import com.fs.starfarer.api.util.WeightedRandomPicker;
import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator.StarSystemType;
import com.fs.starfarer.api.impl.campaign.procgen.themes.MiscellaneousThemeGenerator.M
akeCoronalTapFaceNearestStar;
// set star system name here
StarSystemAPI system = Global.getSector().getStarSystem("Epsilon Bello");
String factionId = Factions.NEUTRAL;
Random random = new Random();
AddedEntity entity = null;
if (system.getType() == StarSystemType.TRINARY_2CLOSE) {
EntityLocation loc = new EntityLocation();
loc.location = new Vector2f();
entity = BaseThemeGenerator.addEntity(random, system, loc, Entities.CORONAL_TAP, factionId);
if (entity != null) {
system.addScript(new MakeCoronalTapFaceNearestStar(entity.entity));
}
} else {
WeightedRandomPicker picker = new WeightedRandomPicker();
WeightedRandomPicker fallback = new WeightedRandomPicker();
for (PlanetAPI planet : system.getPlanets()) {
if (!planet.isNormalStar()) continue;
if (planet.getTypeId().equals(StarTypes.BLUE_GIANT) ||
planet.getTypeId().equals(StarTypes.BLUE_SUPERGIANT)) {
picker.add(planet);
} else {
fallback.add(planet);
}
}
if (picker.isEmpty()) {
picker.addAll(fallback);
}
PlanetAPI star = (PlanetAPI)picker.pick();
if (star != null) {
CustomEntitySpecAPI spec = Global.getSettings().getCustomEntitySpec(Entities.CORONAL_TAP);
EntityLocation loc = new EntityLocation();
float orbitRadius = star.getRadius() + spec.getDefaultRadius() + 100f;
float orbitDays = orbitRadius / 20f;
loc.orbit = Global.getFactory().createCircularOrbitPointingDown(star, random.nextFloat() * 360f, orbitRadius, orbitDays);
entity = BaseThemeGenerator.addEntity(random, system, loc, Entities.CORONAL_TAP, factionId);
}
}
<----This is where it ends
While using this method keep in mind that you have to change the system name("Epsilon Bello" in my case), the best way to find the true name of the system is be running the "list planets" console command and then seeing what the system is called as often enough the map can trick you.
In case you find a nice system with 2 or more Stars the hypershunt might spawn on the start that you dont want, dont know if theres a way to mitigate that.
Option 2 is more lore friendly but sadly a pain in the ass... Find a hypershunt the old fashioned way... Go through all the blue Giants, if you have Ajusted sectors installed, you can get quite a few to spawn on their own.
Be warned that if you do the Project and then try to access it youll only end up salvaging some of the Hypershunt materials and the game with wrongly remember that you have a hypershunt on that star so, dont do it.
Good luck.