1package com.fs.starfarer.api.impl.hullmods;
3import com.fs.starfarer.api.combat.BaseHullMod;
4import com.fs.starfarer.api.combat.MutableShipStatsAPI;
5import com.fs.starfarer.api.combat.ShipAPI;
6import com.fs.starfarer.api.combat.ShipAPI.HullSize;
7import com.fs.starfarer.api.fleet.FleetMemberAPI;
8import com.fs.starfarer.api.impl.campaign.ids.Tags;
9import com.fs.starfarer.api.ui.TooltipMakerAPI;
10import com.fs.starfarer.api.util.Misc;
17 stats.getMinCrewMod().modifyMult(
id, 0);
18 stats.getMaxCrewMod().modifyMult(
id, 0);
21 stats.getMaxCombatReadiness().modifyFlat(
id, -
MAX_CR_PENALTY,
"Automated ship penalty");
27 ship.setInvalidTransferCommandTarget(
true);
33 if (index == 0)
return "" + (int)Math.round(
MAX_CR_PENALTY * 100f) +
"%";
37 public void addPostDescriptionSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship,
float width,
boolean isForModSpec) {
38 if (isInPlayerFleet(ship)) {
42 if (noPenalty) usually =
"usually ";
48 tooltip.addPara(
"However, this ship was automated in a fashion that does not require special expertise "
49 +
"to maintain. Some of the techniques used are poorly understood, likely dating to "
50 +
"an earlier period.", opad, Misc.getHighlightColor(),
51 "does not require special expertise");
57 if (stats ==
null)
return false;
58 FleetMemberAPI member = stats.getFleetMember();
59 if (member ==
null)
return false;
60 return member.getHullSpec().hasTag(Tags.TAG_AUTOMATED_NO_PENALTY) ||
61 member.getVariant().hasTag(Tags.TAG_AUTOMATED_NO_PENALTY);
65 if (ship ==
null)
return false;
66 FleetMemberAPI member = ship.getFleetMember();
67 if (member ==
null)
return false;
68 return member.getHullSpec().hasTag(Tags.TAG_AUTOMATED_NO_PENALTY) ||
69 member.getVariant().hasTag(Tags.TAG_AUTOMATED_NO_PENALTY);
73 if (member ==
null)
return false;
74 return member.getHullSpec().hasTag(Tags.TAG_AUTOMATED_NO_PENALTY) ||
75 member.getVariant().hasTag(Tags.TAG_AUTOMATED_NO_PENALTY);
static float MAX_CR_PENALTY
void applyEffectsAfterShipCreation(ShipAPI ship, String id)
void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id)
static boolean isAutomatedNoPenalty(FleetMemberAPI member)
static boolean isAutomatedNoPenalty(MutableShipStatsAPI stats)
static boolean isAutomatedNoPenalty(ShipAPI ship)
void addPostDescriptionSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship, float width, boolean isForModSpec)
String getDescriptionParam(int index, HullSize hullSize)