1package com.fs.starfarer.api.impl.campaign.ghosts.types;
3import java.util.Random;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CampaignFleetAPI;
7import com.fs.starfarer.api.impl.campaign.abilities.EmergencyBurnAbility;
8import com.fs.starfarer.api.impl.campaign.ghosts.BaseSensorGhost;
9import com.fs.starfarer.api.impl.campaign.ghosts.GBIPlaySound;
10import com.fs.starfarer.api.impl.campaign.ghosts.GBIntercept;
11import com.fs.starfarer.api.impl.campaign.ghosts.SensorGhostManager;
12import com.fs.starfarer.api.impl.campaign.ids.Abilities;
13import com.fs.starfarer.api.loading.AbilitySpecAPI;
14import com.fs.starfarer.api.util.Misc;
22 float r = random.nextFloat();
26 maxBurn = 9 + random.nextInt(3);
27 }
else if (r < 0.6f) {
29 maxBurn = 8 + random.nextInt(3);
32 maxBurn = 7 + random.nextInt(3);
42 String soundId =
null;
45 soundId = spec.getWorldOn();
48 float speed = Misc.getSpeedForBurnLevel(maxBurn);
49 float accelMult = speed / Misc.getSpeedForBurnLevel(20f);
53 float eBurnRange = 800f + random.nextFloat() * 200f;
56 maxBurn + (
int)Math.round(EmergencyBurnAbility.MAX_BURN_MOD),
58 if (soundId !=
null) {
static SettingsAPI getSettings()
void addBehavior(GhostBehavior b)
float genLargeSensorProfile()
void setDespawnRange(float despawnRange)
float genMediumSensorProfile()
void setAccelMult(float accelMult)
boolean placeNearPlayer()
void initEntity(float sensorProfile, float radius)
void addInterrupt(GhostBehaviorInterrupt interrupt)
SensorGhostManager manager
ChargerGhost(SensorGhostManager manager, CampaignFleetAPI fleet)
AbilitySpecAPI getAbilitySpec(String abilityId)