Starsector API
Loading...
Searching...
No Matches
UnstableFragmentMissileEffect.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.combat.threat;
2
3import java.awt.Color;
4
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.combat.CombatEngineAPI;
7import com.fs.starfarer.api.combat.DamagingProjectileAPI;
8import com.fs.starfarer.api.combat.GuidedMissileAI;
9import com.fs.starfarer.api.combat.MissileAIPlugin;
10import com.fs.starfarer.api.combat.MissileAPI;
11import com.fs.starfarer.api.combat.WeaponAPI;
12import com.fs.starfarer.api.impl.combat.threat.RoilingSwarmEffect.RoilingSwarmParams;
13import com.fs.starfarer.api.impl.combat.threat.RoilingSwarmEffect.SwarmMember;
14
16
20
21 protected void configureMissileSwarmParams(RoilingSwarmParams params) {
22 params.flashFringeColor = new Color(255,50,50,255);
23 params.flashCoreColor = Color.white;
24 params.flashRadius = 100f;
25 //params.flashCoreRadiusMult = 0.75f;
26 }
27
29 return 0;
30 }
31
32 protected int getEMPResistance() {
33 return 0;
34 }
35
36 protected boolean explodeOnFizzling() {
37 return false; // handled by the proximity fuse AI
38 }
39
40 @Override
41 protected boolean makePrimaryFragmentGlow() {
42 return false;
43 }
44
45 @Override
46 protected SwarmMember pickPrimaryFragment() {
47 if (missile.getAI() instanceof GuidedMissileAI) {
49 if (ai.getTarget() != null) {
51 }
52 }
53 return super.pickPrimaryFragment();
54 }
55
56 @Override
57 protected void swarmAdvance(float amount, MissileAPI missile, RoilingSwarmEffect swarm) {
58 if (swarm.custom1 == null) {
60 }
61 ((MissileAIPlugin)swarm.custom1).advance(amount);
62
63 if (!swarm.members.isEmpty()) {
64 SwarmMember primary = swarm.members.get(0);
65 if (primary.flash == null) {
66 primary.flash();
67 primary.flash.setDuration(0.25f, 0.75f);
68 primary.flash.setBounce(true, true);
69 }
70 }
71 }
72
73
74
75// protected String getExplosionSoundId() {
76// return "devastator_explosion";
77// }
78
79
80}
81
82
83
84
85
86
87
88
static CombatEngineAPI getCombatEngine()
Definition Global.java:69
void advance(float amount, CombatEngineAPI engine, WeaponAPI weapon)
SwarmMember pickOuterFragmentWithinRangeClosestTo(float range, Vector2f otherLoc)
void onFire(DamagingProjectileAPI projectile, WeaponAPI weapon, CombatEngineAPI engine)
void swarmAdvance(float amount, MissileAPI missile, RoilingSwarmEffect swarm)
FaderUtil setDuration(float in, float out)
void setBounce(boolean up, boolean down)
MissileAIPlugin createProximityFuseAI(MissileAPI missile)