Starsector API
Loading...
Searching...
No Matches
HullModEffect.java
Go to the documentation of this file.
1package com.fs.starfarer.api.combat;
2
3import java.awt.Color;
4
5import com.fs.starfarer.api.campaign.CampaignUIAPI.CoreUITradeMode;
6import com.fs.starfarer.api.campaign.CargoStackAPI;
7import com.fs.starfarer.api.campaign.econ.MarketAPI;
8import com.fs.starfarer.api.combat.ShipAPI.HullSize;
9import com.fs.starfarer.api.fleet.FleetMemberAPI;
10import com.fs.starfarer.api.loading.HullModSpecAPI;
11import com.fs.starfarer.api.ui.TooltipMakerAPI;
12
21public interface HullModEffect {
22 void init(HullModSpecAPI spec);
23 void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id);
24
32 String getDescriptionParam(int index, HullSize hullSize);
33 String getDescriptionParam(int index, HullSize hullSize, ShipAPI ship);
34
35 void applyEffectsToFighterSpawnedByShip(ShipAPI fighter, ShipAPI ship, String id);
36
38
40
48 boolean canBeAddedOrRemovedNow(ShipAPI ship, MarketAPI marketOrNull, CoreUITradeMode mode);
49 String getCanNotBeInstalledNowReason(ShipAPI ship, MarketAPI marketOrNull, CoreUITradeMode mode);
50
51
60 void advanceInCampaign(FleetMemberAPI member, float amount);
61
67 void advanceInCombat(ShipAPI ship, float amount);
68
74 boolean affectsOPCosts();
75
76
84 boolean shouldAddDescriptionToTooltip(HullSize hullSize, ShipAPI ship, boolean isForModSpec);
85
94 void addPostDescriptionSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship, float width, boolean isForModSpec);
95
96
98 Color getNameColor();
99
118
119 boolean hasSModEffectSection(HullSize hullSize, ShipAPI ship, boolean isForModSpec);
120 void addSModSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship, float width, boolean isForModSpec, boolean isForBuildInList);
121 void addSModEffectSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship, float width,
122 boolean isForModSpec, boolean isForBuildInList);
123 boolean hasSModEffect();
124
125
127 FleetMemberAPI member, ShipVariantAPI currentVariant, MarketAPI dockedAt,
128 float width, boolean isForModSpec);
129
130 String getSModDescriptionParam(int index, HullSize hullSize);
131 String getSModDescriptionParam(int index, HullSize hullSize, ShipAPI ship);
132
135
137
138
140 return null;
141 }
142
146 default void applyEffectsAfterShipAddedToCombatEngine(ShipAPI ship, String id) {
147 }
148}
149
150
151
152
153
154
155
156
157
158
boolean isApplicableToShip(ShipAPI ship)
boolean canBeAddedOrRemovedNow(ShipAPI ship, MarketAPI marketOrNull, CoreUITradeMode mode)
void addRequiredItemSection(TooltipMakerAPI tooltip, FleetMemberAPI member, ShipVariantAPI currentVariant, MarketAPI dockedAt, float width, boolean isForModSpec)
boolean hasSModEffectSection(HullSize hullSize, ShipAPI ship, boolean isForModSpec)
void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id)
String getDescriptionParam(int index, HullSize hullSize)
String getUnapplicableReason(ShipAPI ship)
void applyEffectsToFighterSpawnedByShip(ShipAPI fighter, ShipAPI ship, String id)
boolean showInRefitScreenModPickerFor(ShipAPI ship)
String getSModDescriptionParam(int index, HullSize hullSize)
String getCanNotBeInstalledNowReason(ShipAPI ship, MarketAPI marketOrNull, CoreUITradeMode mode)
String getSModDescriptionParam(int index, HullSize hullSize, ShipAPI ship)
String getDescriptionParam(int index, HullSize hullSize, ShipAPI ship)
boolean shouldAddDescriptionToTooltip(HullSize hullSize, ShipAPI ship, boolean isForModSpec)
void addSModEffectSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship, float width, boolean isForModSpec, boolean isForBuildInList)
void addPostDescriptionSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship, float width, boolean isForModSpec)
void advanceInCombat(ShipAPI ship, float amount)
default void applyEffectsAfterShipAddedToCombatEngine(ShipAPI ship, String id)
void applyEffectsAfterShipCreation(ShipAPI ship, String id)
void addSModSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship, float width, boolean isForModSpec, boolean isForBuildInList)
void advanceInCampaign(FleetMemberAPI member, float amount)