Starsector API
Loading...
Searching...
No Matches
RadiationConditionGenerator.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.procgen;
2
3import java.util.Set;
4
5import com.fs.starfarer.api.campaign.PlanetAPI;
6import com.fs.starfarer.api.impl.campaign.ids.Conditions;
7import com.fs.starfarer.api.impl.campaign.ids.StarTypes;
8import com.fs.starfarer.api.impl.campaign.procgen.PlanetConditionGenerator.ConditionGenerator;
9import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator.GenContext;
10
11public class RadiationConditionGenerator implements ConditionGenerator {
12
13 public void addConditions(Set<String> conditionsSoFar, GenContext context, PlanetAPI planet) {
14
15 if (conditionsSoFar.contains(Conditions.IRRADIATED)) return;
16 if (!PlanetConditionGenerator.preconditionsMet(Conditions.IRRADIATED, conditionsSoFar)) return;
17 if (!context.starData.getId().equals(StarTypes.NEUTRON_STAR)) return;
18
19 int orbitIndex = context.orbitIndex;
20 if (context.parent != null) orbitIndex = context.parentOrbitIndex;
21
22 if (orbitIndex <= 8) {
23 conditionsSoFar.add(Conditions.IRRADIATED);
24 }
25 }
26
27}
static boolean preconditionsMet(String conditionId, Set< String > conditionsSoFar)
void addConditions(Set< String > conditionsSoFar, GenContext context, PlanetAPI planet)