Starsector API
Loading...
Searching...
No Matches
BaseDwellerShipCreator.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.combat.dweller;
2
3import java.awt.Color;
4
5import com.fs.starfarer.api.combat.MutableShipStatsAPI;
6import com.fs.starfarer.api.combat.ShipAPI;
7import com.fs.starfarer.api.combat.ShipAPI.HullSize;
8import com.fs.starfarer.api.impl.campaign.ids.Stats;
9import com.fs.starfarer.api.impl.combat.dweller.DwellerShroud.DwellerShroudParams;
10import com.fs.starfarer.api.util.Misc;
11
13
14 public static float IMPACT_VOLUME_MULT = 0.33f;
15
16 public static float AIM_BONUS = 1f;
17 public static float MISSILE_GUIDANCE_BONUS = 1f;
18 public static float CR_BONUS = 30f;
19 public static float SENSOR_PROFILE_MULT = 0f;
20 public static float EW_PENALTY_MULT = 0.5f;
21
22 public static float FLAT_RANGE_BONUS = 200f;
23
24 public static float FLAT_ARMOR_BONUS = 50f;
25
26
27// public static String STANDARD_SWARM_EXCHANGE_CLASS = "dweller_exchange_class";
28// public static String STANDARD_SWARM_FLOCKING_CLASS = "dweller_flocking_class";
29
30 @Override
45
46 @Override
47 public void initAfterShipCreation(ShipAPI ship, String id) {
48 ship.setDoNotRenderWeapons(true);
49 ship.setNoMuzzleFlash(true);
50 ship.setRenderEngines(false);
52 }
53
54 @Override
55 public void initAfterShipAddedToCombatEngine(ShipAPI ship, String id) {
56 ship.setDoNotRenderSprite(true);
57 }
58
59
60 @Override
61 public void initInCombat(ShipAPI ship) {
63
64 DwellerShroud shroud = createShroud(ship);
65 DwellerCombatPlugin plugin = createPlugin(ship);
66
67 setOverloadColorAndText(ship, shroud);
68 }
69
72 if (shroud == null) {
73 shroud = new DwellerShroud(ship, createShroudParams(ship));
74
75 }
76 return shroud;
77 }
78
79 protected DwellerShroudParams createShroudParams(ShipAPI ship) {
80 DwellerShroudParams params = DwellerShroud.createBaselineParams(ship);
81 modifyBaselineShroudParams(ship, params);
82 return params;
83 }
84
85 protected void modifyBaselineShroudParams(ShipAPI ship, DwellerShroudParams params) {
86 }
87
90 if (plugin == null) {
91 plugin = new DwellerCombatPlugin(ship);
92 }
93 return plugin;
94 }
95
96 protected void initBasicShipProperties(ShipAPI ship) {
97 //ship.setDoNotRender(true);
98
99 //ship.setExplosionScale(0.75f);
100 ship.setExplosionScale(0.001f); // no 0 so the explosion sound plays
101 ship.setHulkChanceOverride(0f);
103 ship.getArmorGrid().clearComponentMap(); // no damage to weapons/engines
104 ship.setNoDamagedExplosions(true);
105 ship.setSpawnDebris(false);
106
107 ship.setShipCollisionSoundOverride("dweller_collision_ships");
108 ship.setAsteroidCollisionSoundOverride("dweller_collision_asteroid_ship");
109 }
110
111 protected void setOverloadColorAndText(ShipAPI ship, DwellerShroud shroud) {
112 Color color = Misc.setAlpha(Misc.setBrightness(shroud.getParams().flashFringeColor, 255), 255);
113 ship.getFluxTracker().setOverloadColor(color);
114 ship.getFluxTracker().setOverloadText("Stunned!");
115 }
116
117
118}
119
120
121
122
123
124
125
126
void modifyFlat(String source, float value)
void modifyMult(String source, float value)
void modifyMult(String source, float value)
void modifyFlat(String source, float value)
static final String ELECTRONIC_WARFARE_PENALTY_MOD
Definition Stats.java:192
void modifyBaselineShroudParams(ShipAPI ship, DwellerShroudParams params)
void initBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id)
static DwellerCombatPlugin getDwellerPluginFor(CombatEntityAPI entity)
static DwellerShroud getShroudFor(CombatEntityAPI entity)
static DwellerShroudParams createBaselineParams(CombatEntityAPI attachedTo)
static Color setAlpha(Color color, int alpha)
Definition Misc.java:1316
static Color setBrightness(Color color, int brightness)
Definition Misc.java:5196
void setOverloadColor(Color overloadColor)
void setOverloadText(String overloadText)
void setRenderEngines(boolean renderEngines)
void setAsteroidCollisionSoundOverride(String asteroidCollisionSoundOverride)
void setDoNotRenderSprite(boolean doNotRenderSprite)
void setSpawnDebris(boolean spawnDebris)
void setNoMuzzleFlash(boolean noMuzzleFlash)
void setImpactVolumeMult(float impactVolumeMult)
void setExplosionScale(float explosionScale)
void setHulkChanceOverride(float hulkChanceOverride)
void setNoDamagedExplosions(boolean noDamagedExplosions)
void setShipCollisionSoundOverride(String shipCollisionSoundOverride)
void setDoNotRenderVentingAnimation(boolean doNotRenderVentingAnimation)
void setDoNotRenderWeapons(boolean doNotRenderWeapons)